diff --git a/Cargo.lock b/Cargo.lock index c311de0b5fa..46d787905b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -599,7 +599,7 @@ dependencies = [ [[package]] name = "tree-sitter-ruby" version = "0.17.0" -source = "git+https://github.com/tree-sitter/tree-sitter-ruby.git?rev=add8cb36d5fc0a00d4499ba2e8eedc04a38a2488#add8cb36d5fc0a00d4499ba2e8eedc04a38a2488" +source = "git+https://github.com/tree-sitter/tree-sitter-ruby.git?rev=2503f005d917c7aa4726dfe19398dc1a4a299d94#2503f005d917c7aa4726dfe19398dc1a4a299d94" dependencies = [ "cc", "tree-sitter", diff --git a/extractor/Cargo.toml b/extractor/Cargo.toml index dedc2732551..b60822c8602 100644 --- a/extractor/Cargo.toml +++ b/extractor/Cargo.toml @@ -11,7 +11,7 @@ flate2 = "1.0" node-types = { path = "../node-types" } tree-sitter = "0.17" tree-sitter-embedded-template = { git = "https://github.com/aibaars/tree-sitter-embedded-template", rev = "d4aac29c08aa7c596633d00b5ec2dd2d247eafe4" } -tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "add8cb36d5fc0a00d4499ba2e8eedc04a38a2488" } +tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "2503f005d917c7aa4726dfe19398dc1a4a299d94" } clap = "2.33" tracing = "0.1" tracing-subscriber = { version = "0.2", features = ["env-filter"] } diff --git a/generator/Cargo.toml b/generator/Cargo.toml index 9dec281ff61..099a2ef83dc 100644 --- a/generator/Cargo.toml +++ b/generator/Cargo.toml @@ -10,4 +10,4 @@ edition = "2018" node-types = { path = "../node-types" } tracing = "0.1" tracing-subscriber = { version = "0.2", features = ["env-filter"] } -tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "add8cb36d5fc0a00d4499ba2e8eedc04a38a2488" } +tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "2503f005d917c7aa4726dfe19398dc1a4a299d94" } diff --git a/prepare-db-upgrade.md b/prepare-db-upgrade.md new file mode 100644 index 00000000000..f0ddfd4f708 --- /dev/null +++ b/prepare-db-upgrade.md @@ -0,0 +1,91 @@ +# Upgrading the Ruby database schema + +The schema (`ql/src/ruby.dbscheme`) is automatically generated from tree-sitter's `node-types.json`. When the tree-sitter grammar changes, the database schema is likely to change as well, and we need to write an upgrade script. This document explains how to do that. + +## Process Overview + + 1. Commit the change to `ruby.dbscheme` (along with any library updates required to work with the change). + 2. Run `prepare-db-upgrade.sh`. + 3. Fill in the details in `upgrade.properties`, and add any required upgrade queries. + +It may be helpful to look at some of the existing upgrade scripts, to see how they work. + +## Details + +### Generating a Ruby database upgrade script + +Schema changes need to be accompanied by scripts that allow us to upgrade databases that were generated with older versions of the tools, so they can use new query functionality (albeit with possibly degraded results). + +#### The easy (mostly automatic) way + +The easy way to generate an upgrade script is to run the `prepare-db-upgrade.sh` script. This will generate a skeleton upgrade directory, leaving you to fill out the details in the `upgrade.properties` file. + +#### upgrade.properties + +It will look something like: + +``` +description: what it does +compatibility: partial +some_relation.rel: run some_relation.qlo +``` + +The `description` field is a textual description of the aim of the upgrade. + +The `compatibility` field takes one of four values: + + * **full**: results from the upgraded snapshot will be identical to results from a snapshot built with the new version of the toolchain. + + * **backwards**: the step is safe and preserves the meaning of the old database, but new features may not work correctly on the upgraded snapshot. + + * **partial**: the step is safe and preserves the meaning of the old database, but you would get better results if you rebuilt the snapshot with the new version of the toolchain. + + * **breaking**: the step is unsafe and will prevent certain queries from working. + +The `some_relation.rel` line(s) are the actions required to do the database upgrade. Do a diff on the the new vs old `.dbscheme` file to get an idea of what they have to achieve. Sometimes you won't need any upgrade commands – this happens when the dbscheme has changed in "cosmetic" ways, for example by adding/removing comments or changing union type relationships, but still retains the same on-disk format for all tables; the purpose of the upgrade script is then to document the fact that it's safe to replace the old dbscheme with the new one). + +Some typical upgrade commands look like this: + +``` +// Delete a relation that has been replaced in the new scheme +obsolete.rel: delete + +// Create a new version of a table by applying a simple RA expression to an +// existing table. The example duplicates the 'id' column of input.rel as +// the last column of etended.rel, perhaps to record our best guess at +// newly-populated "source declaration" information. +extended.rel: reorder input.rel (int id, string name, int parent) id name parent id + +// Create relationname.rel by running relationname.qlo and writing the query +// results as a .rel file. The query file should be named relationname.ql and +// should be placed in the upgrade directory. It should avoid using the default +// QLL library, and will run in the context of the *old* dbscheme. +relationname.rel: run relationname.qlo +``` + +#### Testing your upgrade script + +Upgrade scripts can be a little bit fiddly, so it's essential that you test them. You might do so as follows: + + 1. Create a snapshot of your favourite project using the old version of the code. + + 2. Switch to the new version of the code. + + 3. Try to run some queries that will depend on your upgrade script working correctly. + + 4. Observe the upgrade being performed in the query server log. + + 5. Verify that your queries produced sensible results. + +#### Doing the upgrade manually + +To create the upgrade directory manually, without using `prepare-db-upgrade.sh`: + +1. Get a hash of the old `.dbscheme` file, from just before your changes. You can do this by checking out the code prior to your changes and running `git hash-object ql/src/ruby.dbscheme` + +2. Go back to your branch and create an upgrade directory with that hash as its name, for example: `mkdir upgrades/454f1e15151422355049dc4f1f0486a03baeffef` + +3. Copy the old `.dbscheme` file to that directory, using the name old.dbscheme. + `cp ql/src/ruby.dbscheme upgrades/454f1e15151422355049dc4f1f0486a03baeffef/old.dbscheme` + +4. Put a copy of your new `.dbscheme` file in that directory and create an `upgrade.properties` file (as described above). \ No newline at end of file diff --git a/prepare-db-upgrade.sh b/prepare-db-upgrade.sh new file mode 100755 index 00000000000..9e41e4e2a11 --- /dev/null +++ b/prepare-db-upgrade.sh @@ -0,0 +1,106 @@ +#!/bin/sh +# +# Prepare the upgrade script directory for a Ruby database schema upgrade. + +set -e +set -u + +app_name="$(basename "$0")" + +usage() +{ + exit_code="$1" + shift + + cat >&2 <]" + +--prev-hash + Hash/branch to use to get SHA1 for previous DB scheme. + Default: origin/main + +Must be run within the git repo needing an update. +EOF + exit "${exit_code}" +} + +prev_hash="origin/main" + +while [ $# -gt 0 ]; do + case "$1" in + -x) + set -x + ;; + -h | --help) + usage 0 + ;; + --prev-hash) + if [ $# -eq 1 ]; then + usage 2 "--prev-hash requires Commit/Branch option" + fi + shift + prev_hash="$1" + ;; + --) + shift + break + ;; + -*) + usage 2 "Unrecognised option: $1" + ;; + *) + break + ;; + esac + shift +done + +if [ $# -gt 0 ]; then + usage 2 "Unrecognised operand: $1" +fi + +scheme_file="ql/src/ruby.dbscheme" +upgrade_root="upgrades" + +check_hash_valid() +{ + if [ ${#2} -ne 40 ]; then + echo "Did not get expected $1 hash: $2" >&2 + exit 2 + fi +} + +# Get the hash of the previous and current DB Schema files +prev_hash="$(git show "${prev_hash}:${scheme_file}" | git hash-object --stdin)" +check_hash_valid previous "${prev_hash}" +current_hash="$(git hash-object "${scheme_file}")" +check_hash_valid current "${current_hash}" +if [ "${current_hash}" = "${prev_hash}" ]; then + echo "No work to be done." + exit +fi + +# Copy current and new dbscheme into the upgrade dir +upgradedir="${upgrade_root}/${prev_hash}" +mkdir -p "${upgradedir}" + +cp "${scheme_file}" "${upgradedir}" +git cat-file blob "${prev_hash}" > "${upgradedir}/old.dbscheme" + +# Create the template upgrade.properties file. +cat < "${upgradedir}/upgrade.properties" +description: +compatibility: full|backwards|partial|breaking +EOF + +# Tell user what we've done +cat < "" + * /foo/i # => "i" + * /foo/imxo # => "imxo" + */ + final string getFlagString() { result = range.getFlagString() } + + /** + * Holds if the regex was specified using the `i` flag to indicate case + * insensitivity, as in the following example: + * + * ```rb + * /foo/i + * ``` + */ + final predicate hasCaseInsensitiveFlag() { this.getFlagString().charAt(_) = "i" } +} + +/** + * A symbol literal. + * + * ```rb + * :foo + * :"foo bar" + * :"foo bar #{baz}" + * ``` + */ +class SymbolLiteral extends StringlikeLiteral { + final override SymbolLiteral::Range range; + + SymbolLiteral() { + not any(UndefStmt u).getAMethodName() = this and + not any(AliasStmt a).getNewName() = this and + not any(AliasStmt a).getOldName() = this + } + + final override string getAPrimaryQlClass() { result = "SymbolLiteral" } +} + +/** + * A subshell literal. + * + * ```rb + * `ls -l` + * %x(/bin/sh foo.sh) + * ``` + */ +class SubshellLiteral extends StringlikeLiteral, @subshell { + final override SubshellLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "SubshellLiteral" } +} + +/** + * A character literal. + * + * ```rb + * ?a + * ?\u{61} + * ``` + */ +class CharacterLiteral extends Literal, @token_character { + final override CharacterLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "CharacterLiteral" } +} + +/** + * An array literal. + * + * ```rb + * [123, 'foo', bar()] + * %w(foo bar) + * %i(foo bar) + * ``` + */ +class ArrayLiteral extends Literal { + final override ArrayLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "ArrayLiteral" } + + /** Gets the `n`th element in this array literal. */ + final Expr getElement(int n) { result = range.getElement(n) } + + /** Gets an element in this array literal. */ + final Expr getAnElement() { result = range.getElement(_) } + + /** Gets the number of elements in this array literal. */ + final int getNumberOfElements() { result = count(range.getElement(_)) } +} + +/** + * A hash literal. + * + * ```rb + * { foo: 123, bar: 456 } + * ``` + */ +class HashLiteral extends Literal, @hash { + final override HashLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "HashLiteral" } + + /** + * Gets the `n`th element in this array literal. + * + * In the following example, the 0th element is a `Pair`, and the 1st element + * is a `HashSplatArgument`. + * + * ```rb + * { foo: 123, **bar } + * ``` + */ + final Expr getElement(int n) { result = range.getElement(n) } + + /** Gets an element in this array literal. */ + final Expr getAnElement() { result = range.getElement(_) } + + /** Gets a key-value `Pair` in this hash literal. */ + final Pair getAKeyValuePair() { result = this.getAnElement() } + + /** Gets the number of elements in this hash literal. */ + final int getNumberOfElements() { result = count(range.getElement(_)) } +} + +/** + * A range literal. + * + * ```rb + * (1..10) + * (1024...2048) + * ``` + */ +class RangeLiteral extends Literal, @range { + final override RangeLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "RangeLiteral" } + + /** Gets the begin expression of this range, if any. */ + final Expr getBegin() { result = range.getBegin() } + + /** Gets the end expression of this range, if any. */ + final Expr getEnd() { result = range.getEnd() } + + /** + * Holds if the range is inclusive of the end value, i.e. uses the `..` + * operator. + */ + final predicate isInclusive() { range.isInclusive() } + + /** + * Holds if the range is exclusive of the end value, i.e. uses the `...` + * operator. + */ + final predicate isExclusive() { range.isExclusive() } +} + +/** + * A method name literal. For example: + * ```rb + * method_name # a normal name + * + # an operator + * :method_name # a symbol + * :"eval_#{name}" # a complex symbol + * ``` + */ +class MethodName extends Literal { + final override MethodName::Range range; + + final override string getAPrimaryQlClass() { result = "MethodName" } +} diff --git a/ql/src/codeql_ruby/ast/internal/AST.qll b/ql/src/codeql_ruby/ast/internal/AST.qll index 8a8c1a2c168..406622d85e6 100644 --- a/ql/src/codeql_ruby/ast/internal/AST.qll +++ b/ql/src/codeql_ruby/ast/internal/AST.qll @@ -29,37 +29,13 @@ module AstNode { or this instanceof Generated::RestAssignment or - this instanceof Generated::SymbolArray - or - this instanceof Generated::Interpolation - or - this instanceof Generated::StringArray - or - this instanceof Generated::BareString - or - this instanceof Generated::Float - or this instanceof Generated::Superclass or - this instanceof Generated::Hash - or - this instanceof Generated::Array - or - this instanceof Generated::Complex - or - this instanceof Generated::Character - or this instanceof Generated::HeredocBody or this instanceof Generated::HeredocBeginning or this instanceof Generated::HeredocEnd - or - this instanceof Generated::Range - or - this instanceof Generated::Rational - or - this instanceof Generated::Subshell } override string toString() { result = "AstNode" } diff --git a/ql/src/codeql_ruby/ast/internal/Expr.qll b/ql/src/codeql_ruby/ast/internal/Expr.qll index ab295e94f33..fabab40880c 100644 --- a/ql/src/codeql_ruby/ast/internal/Expr.qll +++ b/ql/src/codeql_ruby/ast/internal/Expr.qll @@ -1,4 +1,5 @@ private import codeql_ruby.AST +private import codeql_ruby.ast.internal.Literal private import codeql_ruby.ast.internal.Statement private import codeql_ruby.ast.internal.TreeSitter @@ -14,194 +15,6 @@ module Self { } } -module Literal { - abstract class Range extends Expr::Range { - abstract string getValueText(); - - override string toString() { result = this.getValueText() } - } -} - -module IntegerLiteral { - class Range extends Literal::Range, @token_integer { - final override Generated::Integer generated; - - final override string getValueText() { result = generated.getValue() } - - final override string toString() { result = this.getValueText() } - } -} - -module NilLiteral { - class Range extends Literal::Range, @token_nil { - final override Generated::Nil generated; - - final override string getValueText() { result = generated.getValue() } - - final override string toString() { result = this.getValueText() } - } -} - -module BooleanLiteral { - class DbUnion = @token_true or @token_false; - - class Range extends Literal::Range, DbUnion { - final override Generated::Token generated; - - final override string getValueText() { result = generated.getValue() } - - final override string toString() { result = this.getValueText() } - - predicate isTrue() { this instanceof @token_true } - - predicate isFalse() { this instanceof @token_false } - } -} - -// TODO: expand this. It's a minimal placeholder so we can test `=~` and `!~`. -module RegexLiteral { - class Range extends Literal::Range, @regex { - final override Generated::Regex generated; - - final override string getValueText() { - forall(AstNode n | n = generated.getChild(_) | n instanceof Generated::Token) and - result = - concat(int i, string s | - s = generated.getChild(i).(Generated::Token).getValue() - | - s order by i - ) - } - - final override string toString() { - result = - concat(Generated::AstNode c, int i, string s | - c = generated.getChild(i) and - if c instanceof Generated::Token - then s = c.(Generated::Token).getValue() - else s = "#{...}" - | - s order by i - ) - } - } -} - -// TODO: expand this minimal placeholder. -module StringLiteral { - class Range extends Literal::Range, @string__ { - final override Generated::String generated; - - final override string getValueText() { - strictcount(generated.getChild(_)) = 1 and - result = generated.getChild(0).(Generated::Token).getValue() - } - - final override string toString() { - result = - concat(Generated::AstNode c, int i, string s | - c = generated.getChild(i) and - if c instanceof Generated::Token - then s = c.(Generated::Token).getValue() - else s = "#{...}" - | - s order by i - ) - } - } -} - -// TODO: expand this minimal placeholder. -module SymbolLiteral { - abstract class Range extends Literal::Range { } - - class SimpleSymbolRange extends SymbolLiteral::Range { - final override Generated::SimpleSymbol generated; - - // Tree-sitter gives us value text including the colon, which we skip. - final override string getValueText() { result = generated.getValue().suffix(1) } - - final override string toString() { result = generated.getValue() } - } - - abstract private class ComplexSymbolRange extends SymbolLiteral::Range { - abstract Generated::AstNode getChild(int i); - - final override string getValueText() { - strictcount(this.getChild(_)) = 1 and - result = this.getChild(0).(Generated::Token).getValue() - } - - private string summaryString() { - result = - concat(Generated::AstNode c, int i, string s | - c = this.getChild(i) and - if c instanceof Generated::Token - then s = c.(Generated::Token).getValue() - else s = "#{...}" - | - s order by i - ) - } - - final override string toString() { - if summaryString().regexpMatch("[a-zA-z_][a-zA-Z_0-9]*") - then result = ":" + summaryString() - else result = ":\"" + summaryString() + "\"" - } - } - - class DelimitedSymbolRange extends ComplexSymbolRange, @delimited_symbol { - final override Generated::DelimitedSymbol generated; - - final override Generated::AstNode getChild(int i) { result = generated.getChild(i) } - } - - class BareSymbolRange extends ComplexSymbolRange, @bare_symbol { - final override Generated::BareSymbol generated; - - final override Generated::AstNode getChild(int i) { result = generated.getChild(i) } - } - - class HashKeySymbolRange extends SymbolLiteral::Range, @token_hash_key_symbol { - final override Generated::HashKeySymbol generated; - - final override string getValueText() { result = generated.getValue() } - - final override string toString() { result = ":" + this.getValueText() } - } -} - -module MethodName { - private class TokenTypes = - @setter or @token_class_variable or @token_constant or @token_global_variable or - @token_identifier or @token_instance_variable or @token_operator; - - abstract class Range extends Literal::Range, @underscore_method_name { - Range() { - exists(Generated::Undef u | u.getChild(_) = generated) - or - exists(Generated::Alias a | a.getName() = generated or a.getAlias() = generated) - } - } - - private class TokenMethodName extends MethodName::Range, TokenTypes { - final override Generated::UnderscoreMethodName generated; - - final override string getValueText() { - result = generated.(Generated::Token).getValue() - or - result = generated.(Generated::Setter).getName().getValue() + "=" - } - } - - private class SimpleSymbolMethodName extends MethodName::Range, SymbolLiteral::SimpleSymbolRange, - @token_simple_symbol { } - - private class DelimitedSymbolMethodName extends MethodName::Range, - SymbolLiteral::DelimitedSymbolRange, @delimited_symbol { } -} - module StmtSequence { abstract class Range extends Expr::Range { abstract Stmt getStmt(int n); @@ -343,3 +156,13 @@ module Pair { final override string toString() { result = "Pair" } } } + +module StringConcatenation { + class Range extends Expr::Range, @chained_string { + final override Generated::ChainedString generated; + + final StringLiteral::Range getString(int i) { result = generated.getChild(i) } + + final override string toString() { result = "\"...\" \"...\"" } + } +} diff --git a/ql/src/codeql_ruby/ast/internal/Literal.qll b/ql/src/codeql_ruby/ast/internal/Literal.qll new file mode 100644 index 00000000000..b8ef438b70b --- /dev/null +++ b/ql/src/codeql_ruby/ast/internal/Literal.qll @@ -0,0 +1,380 @@ +private import codeql_ruby.AST +private import codeql_ruby.ast.internal.AST +private import codeql_ruby.ast.internal.Expr +private import codeql_ruby.ast.internal.TreeSitter + +module Literal { + abstract class Range extends Expr::Range { + abstract string getValueText(); + + override string toString() { result = this.getValueText() } + } +} + +module NumericLiteral { + abstract class Range extends Literal::Range { } +} + +module IntegerLiteral { + class Range extends NumericLiteral::Range, @token_integer { + final override Generated::Integer generated; + + Range() { not any(Generated::Rational r).getChild() = this } + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = this.getValueText() } + } +} + +module FloatLiteral { + class Range extends NumericLiteral::Range, @token_float { + final override Generated::Float generated; + + Range() { not any(Generated::Rational r).getChild() = this } + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = this.getValueText() } + } +} + +module RationalLiteral { + class Range extends NumericLiteral::Range, @rational { + final override Generated::Rational generated; + + final override string getValueText() { + result = generated.getChild().(Generated::Token).getValue() + "r" + } + + final override string toString() { result = this.getValueText() } + } +} + +module ComplexLiteral { + class Range extends NumericLiteral::Range, @token_complex { + final override Generated::Complex generated; + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = this.getValueText() } + } +} + +module NilLiteral { + class Range extends Literal::Range, @token_nil { + final override Generated::Nil generated; + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = this.getValueText() } + } +} + +module BooleanLiteral { + class DbUnion = @token_true or @token_false; + + class Range extends Literal::Range, DbUnion { + final override Generated::Token generated; + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = this.getValueText() } + + predicate isTrue() { this instanceof @token_true } + + predicate isFalse() { this instanceof @token_false } + } +} + +module StringComponent { + abstract class Range extends AstNode::Range { + abstract string getValueText(); + } +} + +module StringTextComponent { + class Range extends StringComponent::Range, @token_string_content { + final override Generated::StringContent generated; + + final override string toString() { result = generated.getValue() } + + final override string getValueText() { result = generated.getValue() } + } +} + +module StringEscapeSequenceComponent { + class Range extends StringComponent::Range, @token_escape_sequence { + final override Generated::EscapeSequence generated; + + final override string toString() { result = generated.getValue() } + + final override string getValueText() { result = generated.getValue() } + } +} + +module StringInterpolationComponent { + class Range extends StringComponent::Range, StmtSequence::Range, @interpolation { + final override Generated::Interpolation generated; + + final override string toString() { result = "#{...}" } + + final override Stmt getStmt(int n) { + // Generated AST can currently only represent a single statement in an interpolation. + n = 0 and + result = generated.getChild() + } + + final override string getValueText() { none() } + } +} + +module StringlikeLiteral { + abstract class Range extends Literal::Range { + abstract StringComponent::Range getComponent(int i); + + string getStartDelimiter() { result = "" } + + string getEndDelimiter() { result = "" } + + final predicate isSimple() { count(this.getComponent(_)) <= 1 } + + override string getValueText() { + // 0 components should result in the empty string + // if there are any interpolations, there should be no result + // otherwise, concatenate all the components + forall(StringComponent c | c = this.getComponent(_) | + not c instanceof StringInterpolationComponent::Range + ) and + result = + concat(StringComponent::Range c, int i | + c = this.getComponent(i) + | + c.getValueText() order by i + ) + } + + override string toString() { + exists(string full, string summary | + full = + concat(StringComponent::Range c, int i, string s | + c = this.getComponent(i) and + if c instanceof Generated::Token + then s = c.(Generated::Token).getValue() + else s = "#{...}" + | + s order by i + ) and + ( + // summary should be 32 chars max (incl. ellipsis) + full.length() > 32 and summary = full.substring(0, 29) + "..." + or + full.length() <= 32 and summary = full + ) and + result = this.getStartDelimiter() + summary + this.getEndDelimiter() + ) + } + } +} + +module StringLiteral { + abstract class Range extends StringlikeLiteral::Range { + final override string getStartDelimiter() { result = "\"" } + + final override string getEndDelimiter() { result = "\"" } + } + + private class RegularStringRange extends StringLiteral::Range, @string__ { + final override Generated::String generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + } + + private class BareStringRange extends StringLiteral::Range, @bare_string { + final override Generated::BareString generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + } +} + +module RegexLiteral { + class Range extends StringlikeLiteral::Range, @regex { + final override Generated::Regex generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + + final override string getStartDelimiter() { result = "/" } + + final override string getEndDelimiter() { result = "/" } + + final string getFlagString() { + // For `/foo/i`, there should be an `/i` token in the database with `this` + // as its parents. Strip the delimiter, which can vary. + result = + max(Generated::Token t | + t.getParent() = this + | + t.getValue().suffix(1) order by t.getParentIndex() + ) + } + } +} + +module SymbolLiteral { + abstract class Range extends StringlikeLiteral::Range { } + + class SimpleSymbolRange extends SymbolLiteral::Range { + final override Generated::SimpleSymbol generated; + + final override StringComponent::Range getComponent(int i) { none() } + + final override string getStartDelimiter() { result = ":" } + + // Tree-sitter gives us value text including the colon, which we skip. + final override string getValueText() { result = generated.getValue().suffix(1) } + + final override string toString() { result = generated.getValue() } + } + + abstract private class ComplexSymbolRange extends SymbolLiteral::Range { + final override string getStartDelimiter() { result = ":\"" } + + final override string getEndDelimiter() { result = "\"" } + } + + class DelimitedSymbolRange extends ComplexSymbolRange, @delimited_symbol { + final override Generated::DelimitedSymbol generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + } + + class BareSymbolRange extends ComplexSymbolRange, @bare_symbol { + final override Generated::BareSymbol generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + } + + class HashKeySymbolRange extends SymbolLiteral::Range, @token_hash_key_symbol { + final override Generated::HashKeySymbol generated; + + final override StringComponent::Range getComponent(int i) { none() } + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = ":" + this.getValueText() } + } +} + +module SubshellLiteral { + class Range extends StringlikeLiteral::Range, @subshell { + final override Generated::Subshell generated; + + final override StringComponent::Range getComponent(int i) { result = generated.getChild(i) } + + final override string getStartDelimiter() { result = "`" } + + final override string getEndDelimiter() { result = "`" } + } +} + +module CharacterLiteral { + class Range extends Literal::Range, @token_character { + final override Generated::Character generated; + + final override string getValueText() { result = generated.getValue() } + + final override string toString() { result = generated.getValue() } + } +} + +module ArrayLiteral { + abstract class Range extends Literal::Range { + final override string getValueText() { none() } + + abstract Expr getElement(int i); + } + + private class RegularArrayRange extends ArrayLiteral::Range, @array { + final override Generated::Array generated; + + final override Expr getElement(int i) { result = generated.getChild(i) } + + final override string toString() { result = "[...]" } + } + + private class StringArrayRange extends ArrayLiteral::Range, @string_array { + final override Generated::StringArray generated; + + final override Expr getElement(int i) { result = generated.getChild(i) } + + final override string toString() { result = "%w(...)" } + } + + private class SymbolArrayRange extends ArrayLiteral::Range, @symbol_array { + final override Generated::SymbolArray generated; + + final override Expr getElement(int i) { result = generated.getChild(i) } + + final override string toString() { result = "%i(...)" } + } +} + +module HashLiteral { + class Range extends Literal::Range, @hash { + final override Generated::Hash generated; + + final override string getValueText() { none() } + + final Expr getElement(int i) { result = generated.getChild(i) } + + final override string toString() { result = "{...}" } + } +} + +module RangeLiteral { + class Range extends Literal::Range, @range { + final override Generated::Range generated; + + final override string getValueText() { none() } + + final override string toString() { result = "_ " + generated.getOperator() + " _" } + + final Expr getBegin() { result = generated.getBegin() } + + final Expr getEnd() { result = generated.getEnd() } + + final predicate isInclusive() { this instanceof @range_dotdot } + + final predicate isExclusive() { this instanceof @range_dotdotdot } + } +} + +module MethodName { + private class TokenTypes = + @setter or @token_class_variable or @token_constant or @token_global_variable or + @token_identifier or @token_instance_variable or @token_operator; + + abstract class Range extends Literal::Range, @underscore_method_name { + Range() { + exists(Generated::Undef u | u.getChild(_) = generated) + or + exists(Generated::Alias a | a.getName() = generated or a.getAlias() = generated) + } + } + + private class TokenMethodName extends MethodName::Range, TokenTypes { + final override Generated::UnderscoreMethodName generated; + + final override string getValueText() { + result = generated.(Generated::Token).getValue() + or + result = generated.(Generated::Setter).getName().getValue() + "=" + } + } + + private class SimpleSymbolMethodName extends MethodName::Range, SymbolLiteral::SimpleSymbolRange, + @token_simple_symbol { } + + private class DelimitedSymbolMethodName extends MethodName::Range, + SymbolLiteral::DelimitedSymbolRange, @delimited_symbol { } +} diff --git a/ql/src/codeql_ruby/ast/internal/TreeSitter.qll b/ql/src/codeql_ruby/ast/internal/TreeSitter.qll index 170e9c25e6a..b33abbdbdc3 100644 --- a/ql/src/codeql_ruby/ast/internal/TreeSitter.qll +++ b/ql/src/codeql_ruby/ast/internal/TreeSitter.qll @@ -1083,15 +1083,25 @@ module Generated { class Range extends @range, AstNode { override string getAPrimaryQlClass() { result = "Range" } - override Location getLocation() { range_def(this, _, _, result) } + override Location getLocation() { range_def(this, _, _, _, result) } - UnderscoreArg getChild(int i) { range_child(this, i, result) } + UnderscoreArg getBegin() { range_begin(this, result) } - override AstNode getParent() { range_def(this, result, _, _) } + UnderscoreArg getEnd() { range_end(this, result) } - override int getParentIndex() { range_def(this, _, result, _) } + string getOperator() { + exists(int value | range_def(this, _, _, value, _) | + result = ".." and value = 0 + or + result = "..." and value = 1 + ) + } - override AstNode getAFieldOrChild() { range_child(this, _, result) } + override AstNode getParent() { range_def(this, result, _, _, _) } + + override int getParentIndex() { range_def(this, _, result, _, _) } + + override AstNode getAFieldOrChild() { range_begin(this, result) or range_end(this, result) } } class Rational extends @rational, AstNode { diff --git a/ql/src/codeql_ruby/ast/internal/Variable.qll b/ql/src/codeql_ruby/ast/internal/Variable.qll index da2066b7024..a3d5391cf1f 100644 --- a/ql/src/codeql_ruby/ast/internal/Variable.qll +++ b/ql/src/codeql_ruby/ast/internal/Variable.qll @@ -264,7 +264,9 @@ private module Cached { or i = any(Generated::Program x).getChild(_) or - i = any(Generated::Range x).getChild(_) + i = any(Generated::Range x).getBegin() + or + i = any(Generated::Range x).getEnd() or i = any(Generated::RescueModifier x).getBody() or diff --git a/ql/src/ruby.dbscheme b/ql/src/ruby.dbscheme index 880faf3235f..932cb23dbc1 100644 --- a/ql/src/ruby.dbscheme +++ b/ql/src/ruby.dbscheme @@ -965,18 +965,28 @@ program_def( int loc: @location ref ); -#keyset[range, index] -range_child( - int range: @range ref, - int index: int ref, - unique int child: @underscore_arg ref +range_begin( + unique int range: @range ref, + unique int begin: @underscore_arg ref ); +range_end( + unique int range: @range ref, + unique int end: @underscore_arg ref +); + +case @range.operator of + 0 = @range_dotdot +| 1 = @range_dotdotdot +; + + #keyset[parent, parent_index] range_def( unique int id: @range, int parent: @ast_node_parent ref, int parent_index: int ref, + int operator: int ref, int loc: @location ref ); diff --git a/ql/src/ruby.dbscheme.stats b/ql/src/ruby.dbscheme.stats index 34ec1108708..56164f945c5 100644 --- a/ql/src/ruby.dbscheme.stats +++ b/ql/src/ruby.dbscheme.stats @@ -1,640 +1,8862 @@ - @begin - 595 - - - @parenthesized_statements - 1628 - - - @hash - 8261 - - - @token_hash_key_symbol - 52999 - - - @hash_splat_parameter - 395 - - - @binary_langlelangle - 3248 - - - @token_self - 3887 - - - @binary_slash - 158 - - - @right_assignment_list - 399 - - - @do_block - 43039 - - - @token_empty_statement - 0 - - - @yield - 728 - - - @while - 105 - - - @block_argument - 1670 - - - @exceptions - 410 - - - @block - 22537 - - - @lambda - 642 - - - @rescue_modifier - 169 - - - @binary_pipe - 41 - - - @binary_plus - 1458 - - - @conditional - 1049 - - - @singleton_class - 182 - - - @module - 4471 - - - @scope_resolution - 23533 - - - @superclass - 4021 - - - @in - 1 - - - @if_modifier - 4150 - - - @token_simple_symbol - 78437 - - - @token_class_variable - 277 - - - @element_reference - 24881 - - - @if - 5404 - - - @operator_assignment_pipeequal - 42 - - - @reserved_word - 981714 - - - @token_heredoc_content - 3526 - - - @keyword_parameter - 977 - - - @lambda_parameters - 184 + @alias + 442 @argument_list - 216777 + 212261 - @unary_tilde - 5 - - - @do - 116 - - - @binary_rangleequal - 128 - - - @return - 2537 + @array + 10181 @assignment - 38405 + 38635 - @binary_or - 3 + @bare_string + 2973 - @binary_langleequal - 85 + @bare_symbol + 665 - @break - 208 + @begin + 596 - @pair - 54288 - - - @binary_percent - 130 - - - @location_default - 2536270 - - - @while_modifier - 8 - - - @block_parameters - 6994 - - - @unary_not - 10 - - - @alias - 441 - - - @elsif - 454 - - - @operator_assignment_starequal - 2 - - - @token_super - 1521 - - - @token_operator - 189 - - - @binary_caret - 29 - - - @destructured_left_assignment - 1 - - - @binary_rangle - 746 - - - @singleton_method - 2016 - - - @method - 29761 - - - @file - 5301 - - - @unary_definedquestion - 302 - - - @unary_plus - 435 - - - @token_heredoc_beginning - 1553 - - - @operator_assignment_caretequal + @begin_block 0 - @for - 1 + @binary_ampersand + 40 - @heredoc_body - 1553 + @binary_ampersandampersand + 2753 - @exception_variable - 293 + @binary_and + 87 - @token_escape_sequence - 19822 - - - @method_parameters - 8674 - - - @token_constant - 84129 - - - @token_character - 11 - - - @token_global_variable - 717 - - - @delimited_symbol - 377 - - - @rational - 2 - - - @binary_pipepipe - 2473 - - - @case__ - 370 - - - @symbol_array - 137 - - - @else - 2082 - - - @token_true - 7144 - - - @string__ - 89110 - - - @token_identifier - 456275 - - - @rescue - 610 + @binary_bangequal + 479 @binary_bangtilde 36 - @token_string_content - 112817 + @binary_caret + 29 - @operator_assignment_slashequal + @binary_equalequal + 2455 + + + @binary_equalequalequal + 172 + + + @binary_equaltilde + 241 + + + @binary_langle + 425 + + + @binary_langleequal + 86 + + + @binary_langleequalrangle + 82 + + + @binary_langlelangle + 3252 + + + @binary_minus + 618 + + + @binary_or 3 - @operator_assignment_ampersandequal - 5 + @binary_percent + 130 - @string_array - 927 + @binary_pipe + 41 - @unless_modifier - 1403 + @binary_pipepipe + 2494 - @range - 530 + @binary_plus + 1469 - @subshell - 108 + @binary_rangle + 768 - @setter - 180 + @binary_rangleequal + 127 + + + @binary_ranglerangle + 6 + + + @binary_slash + 140 @binary_star - 350 + 353 - @token_comment - 55085 + @binary_starstar + 32 - @unary_bang - 1611 + @block + 20494 + + + @block_argument + 1685 + + + @block_parameter + 648 + + + @block_parameters + 7059 + + + @break + 209 + + + @call + 299244 + + + @case__ + 371 @chained_string 261 - @binary_equalequal - 2442 + @class + 5112 - @undef - 13 + @conditional + 1102 + + + @delimited_symbol + 378 + + + @destructured_left_assignment + 1 + + + @destructured_parameter + 60 + + + @do + 116 + + + @do_block + 41041 + + + @element_reference + 25001 + + + @else + 2063 + + + @elsif + 471 + + + @end_block + 0 + + + @ensure + 1143 + + + @exception_variable + 297 + + + @exceptions + 412 + + + @file + 6189 + + + @folder + 1449 + + + @for + 1 + + + @hash + 8033 + + + @hash_splat_argument + 368 + + + @hash_splat_parameter + 400 + + + @heredoc_body + 1560 + + + @if + 5600 + + + @if_modifier + 4159 + + + @in + 1 + + + @interpolation + 11519 + + + @keyword_parameter + 997 + + + @lambda + 637 + + + @lambda_parameters + 185 + + + @left_assignment_list + 756 + + + @location_default + 2550093 + + + @method + 29894 + + + @method_parameters + 8698 + + + @module + 4013 + + + @next + 616 + + + @operator_assignment_ampersandampersandequal + 5 + + + @operator_assignment_ampersandequal + 5 + + + @operator_assignment_caretequal + 0 + + + @operator_assignment_langlelangleequal + 0 + + + @operator_assignment_minusequal + 62 + + + @operator_assignment_percentequal + 2 + + + @operator_assignment_pipeequal + 42 + + + @operator_assignment_pipepipeequal + 1414 + + + @operator_assignment_plusequal + 482 @operator_assignment_ranglerangleequal 0 + + @operator_assignment_slashequal + 3 + + + @operator_assignment_starequal + 2 + @operator_assignment_starstarequal 0 + + @optional_parameter + 2027 + + + @pair + 59696 + + + @parenthesized_statements + 1651 + + + @pattern + 1172 + + + @program + 6189 + + + @range_dotdot + 415 + + + @range_dotdotdot + 122 + + + @rational + 2 + @redo 0 @regex - 3918 + 3947 - @token_uninterpreted - 0 - - - @program - 5301 + @rescue + 613 - @token_instance_variable - 24243 + @rescue_modifier + 169 - @when - 968 - - - @next - 620 - - - @operator_assignment_ampersandampersandequal - 5 - - - @until - 14 - - - @folder - 1222 - - - @interpolation - 11453 - - - @splat_argument - 692 + @reserved_word + 988530 @rest_assignment 17 + + @retry + 9 + + + @return + 2537 + + + @right_assignment_list + 403 + + + @scope_resolution + 22136 + + + @setter + 181 + + + @singleton_class + 184 + + + @singleton_method + 2013 + + + @splat_argument + 693 + + + @splat_parameter + 934 + + + @string__ + 89716 + + + @string_array + 929 + + + @subshell + 129 + + + @superclass + 4035 + + + @symbol_array + 137 + @then - 7224 + 7443 - @end_block - 0 + @token_character + 11 - @unless - 431 + @token_class_variable + 245 + + + @token_comment + 55218 @token_complex 0 - @binary_bangequal - 473 + @token_constant + 84656 - @binary_ampersand - 40 - - - @operator_assignment_langlelangleequal + @token_empty_statement 0 - @token_float - 3571 + @token_escape_sequence + 19846 @token_false 5064 - @class - 5092 + @token_float + 3192 - @splat_parameter - 931 + @token_global_variable + 728 - @hash_splat_argument - 364 + @token_hash_key_symbol + 58240 - @bare_symbol - 667 + @token_heredoc_beginning + 1560 - @binary_langle - 423 - - - @ensure - 1106 - - - @binary_starstar - 35 - - - @binary_langleequalrangle - 82 - - - @block_parameter - 651 - - - @token_integer - 31794 - - - @binary_equalequalequal - 172 - - - @bare_string - 2958 + @token_heredoc_content + 3537 @token_heredoc_end - 1553 + 1560 - @binary_ampersandampersand - 2718 + @token_identifier + 449300 - @destructured_parameter - 59 + @token_instance_variable + 24539 - @left_assignment_list - 752 - - - @optional_parameter - 2022 - - - @array - 10143 + @token_integer + 31979 @token_nil - 3970 + 3968 - @binary_equaltilde - 239 + @token_operator + 189 - @retry - 9 + @token_self + 3925 - @begin_block + @token_simple_symbol + 81113 + + + @token_string_content + 113518 + + + @token_super + 1523 + + + @token_true + 7136 + + + @token_uninterpreted 0 - - @pattern - 1169 + + @unary_bang + 1627 - @operator_assignment_plusequal - 481 - - - @until_modifier - 15 - - - @binary_minus - 615 - - - @call - 303968 - - - @binary_and - 75 - - - @operator_assignment_pipepipeequal - 1414 - - - @operator_assignment_minusequal - 62 + @unary_definedquestion + 311 @unary_minus - 632 + 629 - @operator_assignment_percentequal - 2 + @unary_not + 10 - @binary_ranglerangle - 6 + @unary_plus + 435 + + + @unary_tilde + 5 + + + @undef + 13 + + + @unless + 480 + + + @unless_modifier + 1394 + + + @until + 14 + + + @until_modifier + 14 + + + @when + 970 + + + @while + 105 + + + @while_modifier + 8 + + + @yield + 836 + alias_def + 442 + + + id + 442 + + + parent + 191 + + + parent_index + 103 + + + alias + 442 + + + name + 442 + + + loc + 442 + + + + + id + parent + + + 12 + + + 1 + 2 + 442 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 442 + + + + + + + id + alias + + + 12 + + + 1 + 2 + 442 + + + + + + + id + name + + + 12 + + + 1 + 2 + 442 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 442 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 121 + + + 2 + 3 + 35 + + + 3 + 4 + 16 + + + 4 + 15 + 17 + + + 17 + 67 + 2 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 121 + + + 2 + 3 + 35 + + + 3 + 4 + 16 + + + 4 + 15 + 17 + + + 17 + 67 + 2 + + + + + + + parent + alias + + + 12 + + + 1 + 2 + 121 + + + 2 + 3 + 35 + + + 3 + 4 + 16 + + + 4 + 15 + 17 + + + 17 + 67 + 2 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 121 + + + 2 + 3 + 35 + + + 3 + 4 + 16 + + + 4 + 15 + 17 + + + 17 + 67 + 2 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 121 + + + 2 + 3 + 35 + + + 3 + 4 + 16 + + + 4 + 15 + 17 + + + 17 + 67 + 2 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 51 + + + 2 + 3 + 15 + + + 3 + 4 + 8 + + + 4 + 7 + 9 + + + 7 + 13 + 9 + + + 13 + 23 + 8 + + + 25 + 31 + 3 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 51 + + + 2 + 3 + 15 + + + 3 + 4 + 8 + + + 4 + 7 + 9 + + + 7 + 13 + 9 + + + 13 + 23 + 8 + + + 25 + 31 + 3 + + + + + + + parent_index + alias + + + 12 + + + 1 + 2 + 51 + + + 2 + 3 + 15 + + + 3 + 4 + 8 + + + 4 + 7 + 9 + + + 7 + 13 + 9 + + + 13 + 23 + 8 + + + 25 + 31 + 3 + + + + + + + parent_index + name + + + 12 + + + 1 + 2 + 51 + + + 2 + 3 + 15 + + + 3 + 4 + 8 + + + 4 + 7 + 9 + + + 7 + 13 + 9 + + + 13 + 23 + 8 + + + 25 + 31 + 3 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 51 + + + 2 + 3 + 15 + + + 3 + 4 + 8 + + + 4 + 7 + 9 + + + 7 + 13 + 9 + + + 13 + 23 + 8 + + + 25 + 31 + 3 + + + + + + + alias + id + + + 12 + + + 1 + 2 + 442 + + + + + + + alias + parent + + + 12 + + + 1 + 2 + 442 + + + + + + + alias + parent_index + + + 12 + + + 1 + 2 + 442 + + + + + + + alias + name + + + 12 + + + 1 + 2 + 442 + + + + + + + alias + loc + + + 12 + + + 1 + 2 + 442 + + + + + + + name + id + + + 12 + + + 1 + 2 + 442 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 442 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 442 + + + + + + + name + alias + + + 12 + + + 1 + 2 + 442 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 442 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 442 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 442 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 442 + + + + + + + loc + alias + + + 12 + + + 1 + 2 + 442 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 442 + + + + + + + + + argument_list_child + 271491 + + + argument_list + 212190 + + + index + 112 + + + child + 271491 + + + + + argument_list + index + + + 12 + + + 1 + 2 + 173339 + + + 2 + 3 + 26262 + + + 3 + 33 + 12589 + + + + + + + argument_list + child + + + 12 + + + 1 + 2 + 173339 + + + 2 + 3 + 26262 + + + 3 + 33 + 12589 + + + + + + + index + argument_list + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 10 + + + 3 + 4 + 3 + + + 4 + 5 + 7 + + + 5 + 6 + 7 + + + 8 + 11 + 7 + + + 13 + 16 + 7 + + + 19 + 37 + 7 + + + 93 + 219 + 7 + + + 482 + 1309 + 7 + + + 3588 + 11074 + 7 + + + 60476 + 60477 + 3 + + + + + + + index + child + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 10 + + + 3 + 4 + 3 + + + 4 + 5 + 7 + + + 5 + 6 + 7 + + + 8 + 11 + 7 + + + 13 + 16 + 7 + + + 19 + 37 + 7 + + + 93 + 219 + 7 + + + 482 + 1309 + 7 + + + 3588 + 11074 + 7 + + + 60476 + 60477 + 3 + + + + + + + child + argument_list + + + 12 + + + 1 + 2 + 271491 + + + + + + + child + index + + + 12 + + + 1 + 2 + 271491 + + + + + + + + + argument_list_def + 212261 + + + id + 212261 + + + parent + 212261 + + + parent_index + 7 + + + loc + 212261 + + + + + id + parent + + + 12 + + + 1 + 2 + 212261 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 212261 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 212261 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 212261 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 212261 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 212261 + + + + + + + parent_index + id + + + 12 + + + 19735 + 19736 + 3 + + + 40761 + 40762 + 3 + + + + + + + parent_index + parent + + + 12 + + + 19735 + 19736 + 3 + + + 40761 + 40762 + 3 + + + + + + + parent_index + loc + + + 12 + + + 19735 + 19736 + 3 + + + 40761 + 40762 + 3 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 212261 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 212261 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 212261 + + + + + + + + + array_child + 19283 + + + array + 8600 + + + index + 92 + + + child + 19283 + + + + + array + index + + + 12 + + + 1 + 2 + 2845 + + + 2 + 3 + 3718 + + + 3 + 4 + 1249 + + + 4 + 9 + 655 + + + 9 + 93 + 133 + + + + + + + array + child + + + 12 + + + 1 + 2 + 2845 + + + 2 + 3 + 3718 + + + 3 + 4 + 1249 + + + 4 + 9 + 655 + + + 9 + 93 + 133 + + + + + + + index + array + + + 12 + + + 1 + 2 + 8 + + + 2 + 3 + 27 + + + 3 + 4 + 13 + + + 4 + 6 + 8 + + + 6 + 11 + 7 + + + 12 + 21 + 7 + + + 23 + 35 + 7 + + + 36 + 134 + 7 + + + 168 + 5756 + 7 + + + 8600 + 8601 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 8 + + + 2 + 3 + 27 + + + 3 + 4 + 13 + + + 4 + 6 + 8 + + + 6 + 11 + 7 + + + 12 + 21 + 7 + + + 23 + 35 + 7 + + + 36 + 134 + 7 + + + 168 + 5756 + 7 + + + 8600 + 8601 + 1 + + + + + + + child + array + + + 12 + + + 1 + 2 + 19283 + + + + + + + child + index + + + 12 + + + 1 + 2 + 19283 + + + + + + + + + array_def + 10181 + + + id + 10181 + + + parent + 9297 + + + parent_index + 90 + + + loc + 10181 + + + + + id + parent + + + 12 + + + 1 + 2 + 10181 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 10181 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 10181 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 8951 + + + 2 + 85 + 346 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 8951 + + + 2 + 85 + 346 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 8951 + + + 2 + 85 + 346 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 48 + + + 2 + 4 + 6 + + + 4 + 5 + 8 + + + 6 + 9 + 8 + + + 9 + 14 + 7 + + + 15 + 124 + 7 + + + 207 + 3569 + 6 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 48 + + + 2 + 4 + 6 + + + 4 + 5 + 8 + + + 6 + 9 + 8 + + + 9 + 14 + 7 + + + 15 + 124 + 7 + + + 207 + 3569 + 6 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 48 + + + 2 + 4 + 6 + + + 4 + 5 + 8 + + + 6 + 9 + 8 + + + 9 + 14 + 7 + + + 15 + 124 + 7 + + + 207 + 3569 + 6 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 10181 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 10181 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 10181 + + + + + + + + + assignment_def + 38635 + + + id + 38635 + + + parent + 22911 + + + parent_index + 88 + + + left + 38635 + + + right + 38635 + + + loc + 38635 + + + + + id + parent + + + 12 + + + 1 + 2 + 38635 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 38635 + + + + + + + id + left + + + 12 + + + 1 + 2 + 38635 + + + + + + + id + right + + + 12 + + + 1 + 2 + 38635 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 38635 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 14401 + + + 2 + 3 + 5104 + + + 3 + 4 + 1844 + + + 4 + 48 + 1562 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 14401 + + + 2 + 3 + 5104 + + + 3 + 4 + 1844 + + + 4 + 48 + 1562 + + + + + + + parent + left + + + 12 + + + 1 + 2 + 14401 + + + 2 + 3 + 5104 + + + 3 + 4 + 1844 + + + 4 + 48 + 1562 + + + + + + + parent + right + + + 12 + + + 1 + 2 + 14401 + + + 2 + 3 + 5104 + + + 3 + 4 + 1844 + + + 4 + 48 + 1562 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 14401 + + + 2 + 3 + 5104 + + + 3 + 4 + 1844 + + + 4 + 48 + 1562 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 15 + + + 3 + 4 + 7 + + + 4 + 8 + 7 + + + 8 + 22 + 8 + + + 25 + 104 + 7 + + + 120 + 870 + 7 + + + 1387 + 11342 + 7 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 15 + + + 3 + 4 + 7 + + + 4 + 8 + 7 + + + 8 + 22 + 8 + + + 25 + 104 + 7 + + + 120 + 870 + 7 + + + 1387 + 11342 + 7 + + + + + + + parent_index + left + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 15 + + + 3 + 4 + 7 + + + 4 + 8 + 7 + + + 8 + 22 + 8 + + + 25 + 104 + 7 + + + 120 + 870 + 7 + + + 1387 + 11342 + 7 + + + + + + + parent_index + right + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 15 + + + 3 + 4 + 7 + + + 4 + 8 + 7 + + + 8 + 22 + 8 + + + 25 + 104 + 7 + + + 120 + 870 + 7 + + + 1387 + 11342 + 7 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 15 + + + 3 + 4 + 7 + + + 4 + 8 + 7 + + + 8 + 22 + 8 + + + 25 + 104 + 7 + + + 120 + 870 + 7 + + + 1387 + 11342 + 7 + + + + + + + left + id + + + 12 + + + 1 + 2 + 38635 + + + + + + + left + parent + + + 12 + + + 1 + 2 + 38635 + + + + + + + left + parent_index + + + 12 + + + 1 + 2 + 38635 + + + + + + + left + right + + + 12 + + + 1 + 2 + 38635 + + + + + + + left + loc + + + 12 + + + 1 + 2 + 38635 + + + + + + + right + id + + + 12 + + + 1 + 2 + 38635 + + + + + + + right + parent + + + 12 + + + 1 + 2 + 38635 + + + + + + + right + parent_index + + + 12 + + + 1 + 2 + 38635 + + + + + + + right + left + + + 12 + + + 1 + 2 + 38635 + + + + + + + right + loc + + + 12 + + + 1 + 2 + 38635 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 38635 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 38635 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 38635 + + + + + + + loc + left + + + 12 + + + 1 + 2 + 38635 + + + + + + + loc + right + + + 12 + + + 1 + 2 + 38635 + + + + + + + + + bare_string_child + 2980 + + + bare_string + 2973 + + + index + 2 + + + child + 2980 + + + + + bare_string + index + + + 12 + + + 1 + 2 + 2966 + + + 2 + 3 + 7 + + + + + + + bare_string + child + + + 12 + + + 1 + 2 + 2966 + + + 2 + 3 + 7 + + + + + + + index + bare_string + + + 12 + + + 7 + 8 + 1 + + + 2973 + 2974 + 1 + + + + + + + index + child + + + 12 + + + 7 + 8 + 1 + + + 2973 + 2974 + 1 + + + + + + + child + bare_string + + + 12 + + + 1 + 2 + 2980 + + + + + + + child + index + + + 12 + + + 1 + 2 + 2980 + + + + + + + + + bare_string_def + 2973 + + + id + 2973 + + + parent + 923 + + + parent_index + 88 + + + loc + 2973 + + + + + id + parent + + + 12 + + + 1 + 2 + 2973 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 2973 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 2973 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 199 + + + 2 + 3 + 297 + + + 3 + 4 + 239 + + + 4 + 5 + 66 + + + 5 + 8 + 70 + + + 8 + 89 + 52 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 199 + + + 2 + 3 + 297 + + + 3 + 4 + 239 + + + 4 + 5 + 66 + + + 5 + 8 + 70 + + + 8 + 89 + 52 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 199 + + + 2 + 3 + 297 + + + 3 + 4 + 239 + + + 4 + 5 + 66 + + + 5 + 8 + 70 + + + 8 + 89 + 52 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 6 + + + 3 + 4 + 6 + + + 4 + 5 + 12 + + + 5 + 8 + 8 + + + 11 + 29 + 7 + + + 33 + 123 + 7 + + + 188 + 924 + 4 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 6 + + + 3 + 4 + 6 + + + 4 + 5 + 12 + + + 5 + 8 + 8 + + + 11 + 29 + 7 + + + 33 + 123 + 7 + + + 188 + 924 + 4 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 6 + + + 3 + 4 + 6 + + + 4 + 5 + 12 + + + 5 + 8 + 8 + + + 11 + 29 + 7 + + + 33 + 123 + 7 + + + 188 + 924 + 4 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 2973 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 2973 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 2973 + + + + + + + + + bare_symbol_child + 665 + + + bare_symbol + 665 + + + index + 1 + + + child + 665 + + + + + bare_symbol + index + + + 12 + + + 1 + 2 + 665 + + + + + + + bare_symbol + child + + + 12 + + + 1 + 2 + 665 + + + + + + + index + bare_symbol + + + 12 + + + 646 + 647 + 1 + + + + + + + index + child + + + 12 + + + 646 + 647 + 1 + + + + + + + child + bare_symbol + + + 12 + + + 1 + 2 + 665 + + + + + + + child + index + + + 12 + + + 1 + 2 + 665 + + + + + + + + + bare_symbol_def + 665 + + + id + 665 + + + parent + 137 + + + parent_index + 32 + + + loc + 665 + + + + + id + parent + + + 12 + + + 1 + 2 + 665 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 665 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 665 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 50 + + + 2 + 3 + 25 + + + 3 + 4 + 11 + + + 4 + 6 + 12 + + + 6 + 8 + 11 + + + 8 + 15 + 12 + + + 15 + 22 + 10 + + + 24 + 33 + 3 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 50 + + + 2 + 3 + 25 + + + 3 + 4 + 11 + + + 4 + 6 + 12 + + + 6 + 8 + 11 + + + 8 + 15 + 12 + + + 15 + 22 + 10 + + + 24 + 33 + 3 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 50 + + + 2 + 3 + 25 + + + 3 + 4 + 11 + + + 4 + 6 + 12 + + + 6 + 8 + 11 + + + 8 + 15 + 12 + + + 15 + 22 + 10 + + + 24 + 33 + 3 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 3 + + + 4 + 6 + 2 + + + 6 + 7 + 2 + + + 9 + 11 + 2 + + + 13 + 14 + 1 + + + 16 + 17 + 2 + + + 19 + 22 + 2 + + + 22 + 24 + 2 + + + 25 + 32 + 2 + + + 36 + 42 + 2 + + + 48 + 60 + 2 + + + 84 + 134 + 2 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 3 + + + 4 + 6 + 2 + + + 6 + 7 + 2 + + + 9 + 11 + 2 + + + 13 + 14 + 1 + + + 16 + 17 + 2 + + + 19 + 22 + 2 + + + 22 + 24 + 2 + + + 25 + 32 + 2 + + + 36 + 42 + 2 + + + 48 + 60 + 2 + + + 84 + 134 + 2 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 3 + + + 4 + 6 + 2 + + + 6 + 7 + 2 + + + 9 + 11 + 2 + + + 13 + 14 + 1 + + + 16 + 17 + 2 + + + 19 + 22 + 2 + + + 22 + 24 + 2 + + + 25 + 32 + 2 + + + 36 + 42 + 2 + + + 48 + 60 + 2 + + + 84 + 134 + 2 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 665 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 665 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 665 + + + + + + + + + begin_block_child + 0 + + + begin_block + 0 + + + index + 0 + + + child + 0 + + + + + begin_block + index + + + 12 + + + + + + begin_block + child + + + 12 + + + + + + index + begin_block + + + 12 + + + + + + index + child + + + 12 + + + + + + child + begin_block + + + 12 + + + 1 + 2 + 1 + + + + + + + child + index + + + 12 + + + 1 + 2 + 1 + + + + + + + + + begin_block_def + 0 + + + id + 0 + + + parent + 0 + + + parent_index + 0 + + + loc + 0 + + + + + id + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + id + + + 12 + + + + + + parent + parent_index + + + 12 + + + + + + parent + loc + + + 12 + + + + + + parent_index + id + + + 12 + + + + + + parent_index + parent + + + 12 + + + + + + parent_index + loc + + + 12 + + + + + + loc + id + + + 12 + + + + + + loc + parent + + + 12 + + + + + + loc + parent_index + + + 12 + + + + + + + + begin_child + 2036 + + + begin + 596 + + + index + 35 + + + child + 2036 + + + + + begin + index + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 267 + + + 3 + 4 + 127 + + + 4 + 5 + 65 + + + 5 + 7 + 52 + + + 7 + 14 + 46 + + + 14 + 35 + 5 + + + + + + + begin + child + + + 12 + + + 1 + 2 + 30 + + + 2 + 3 + 267 + + + 3 + 4 + 127 + + + 4 + 5 + 65 + + + 5 + 7 + 52 + + + 7 + 14 + 46 + + + 14 + 35 + 5 + + + + + + + index + begin + + + 12 + + + 1 + 2 + 6 + + + 4 + 5 + 14 + + + 5 + 10 + 3 + + + 12 + 27 + 3 + + + 35 + 72 + 3 + + + 101 + 290 + 3 + + + 549 + 580 + 2 + + + + + + + index + child + + + 12 + + + 1 + 2 + 6 + + + 4 + 5 + 14 + + + 5 + 10 + 3 + + + 12 + 27 + 3 + + + 35 + 72 + 3 + + + 101 + 290 + 3 + + + 549 + 580 + 2 + + + + + + + child + begin + + + 12 + + + 1 + 2 + 2036 + + + + + + + child + index + + + 12 + + + 1 + 2 + 2036 + + + + + + + + + begin_def + 596 + + + id + 596 + + + parent + 585 + + + parent_index + 21 + + + loc + 596 + + + + + id + parent + + + 12 + + + 1 + 2 + 596 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 596 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 596 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 576 + + + 2 + 4 + 8 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 576 + + + 2 + 4 + 8 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 576 + + + 2 + 4 + 8 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 2 + + + 11 + 12 + 1 + + + 16 + 17 + 1 + + + 18 + 19 + 1 + + + 25 + 26 + 1 + + + 32 + 33 + 1 + + + 50 + 51 + 1 + + + 67 + 68 + 1 + + + 90 + 91 + 1 + + + 234 + 235 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 2 + + + 11 + 12 + 1 + + + 16 + 17 + 1 + + + 18 + 19 + 1 + + + 25 + 26 + 1 + + + 32 + 33 + 1 + + + 50 + 51 + 1 + + + 67 + 68 + 1 + + + 90 + 91 + 1 + + + 234 + 235 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 2 + + + 11 + 12 + 1 + + + 16 + 17 + 1 + + + 18 + 19 + 1 + + + 25 + 26 + 1 + + + 32 + 33 + 1 + + + 50 + 51 + 1 + + + 67 + 68 + 1 + + + 90 + 91 + 1 + + + 234 + 235 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 596 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 596 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 596 + + + + + + + + + binary_def + 13794 + + + id + 13794 + + + parent + 13001 + + + parent_index + 25 + + + left + 13794 + + + operator + 23 + + + right + 13794 + + + loc + 13794 + + + + + id + parent + + + 12 + + + 1 + 2 + 13794 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 13794 + + + + + + + id + left + + + 12 + + + 1 + 2 + 13794 + + + + + + + id + operator + + + 12 + + + 1 + 2 + 13794 + + + + + + + id + right + + + 12 + + + 1 + 2 + 13794 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 13794 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 12276 + + + 2 + 9 + 725 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 12276 + + + 2 + 9 + 725 + + + + + + + parent + left + + + 12 + + + 1 + 2 + 12276 + + + 2 + 9 + 725 + + + + + + + parent + operator + + + 12 + + + 1 + 2 + 12605 + + + 2 + 3 + 396 + + + + + + + parent + right + + + 12 + + + 1 + 2 + 12276 + + + 2 + 9 + 725 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 12276 + + + 2 + 9 + 725 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 1 + + + 4 + 5 + 2 + + + 5 + 7 + 2 + + + 10 + 12 + 2 + + + 18 + 30 + 2 + + + 31 + 49 + 2 + + + 55 + 167 + 2 + + + 176 + 466 + 2 + + + 2527 + 4430 + 2 + + + 5396 + 5397 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 1 + + + 4 + 5 + 2 + + + 5 + 7 + 2 + + + 10 + 12 + 2 + + + 18 + 30 + 2 + + + 31 + 49 + 2 + + + 55 + 167 + 2 + + + 176 + 466 + 2 + + + 2527 + 4430 + 2 + + + 5396 + 5397 + 1 + + + + + + + parent_index + left + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 1 + + + 4 + 5 + 2 + + + 5 + 7 + 2 + + + 10 + 12 + 2 + + + 18 + 30 + 2 + + + 31 + 49 + 2 + + + 55 + 167 + 2 + + + 176 + 466 + 2 + + + 2527 + 4430 + 2 + + + 5396 + 5397 + 1 + + + + + + + parent_index + operator + + + 12 + + + 1 + 2 + 9 + + + 3 + 4 + 3 + + + 4 + 5 + 3 + + + 6 + 8 + 2 + + + 11 + 12 + 2 + + + 12 + 13 + 2 + + + 17 + 18 + 1 + + + 21 + 22 + 2 + + + 22 + 23 + 1 + + + + + + + parent_index + right + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 1 + + + 4 + 5 + 2 + + + 5 + 7 + 2 + + + 10 + 12 + 2 + + + 18 + 30 + 2 + + + 31 + 49 + 2 + + + 55 + 167 + 2 + + + 176 + 466 + 2 + + + 2527 + 4430 + 2 + + + 5396 + 5397 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 1 + + + 4 + 5 + 2 + + + 5 + 7 + 2 + + + 10 + 12 + 2 + + + 18 + 30 + 2 + + + 31 + 49 + 2 + + + 55 + 167 + 2 + + + 176 + 466 + 2 + + + 2527 + 4430 + 2 + + + 5396 + 5397 + 1 + + + + + + + left + id + + + 12 + + + 1 + 2 + 13794 + + + + + + + left + parent + + + 12 + + + 1 + 2 + 13794 + + + + + + + left + parent_index + + + 12 + + + 1 + 2 + 13794 + + + + + + + left + operator + + + 12 + + + 1 + 2 + 13794 + + + + + + + left + right + + + 12 + + + 1 + 2 + 13794 + + + + + + + left + loc + + + 12 + + + 1 + 2 + 13794 + + + + + + + operator + id + + + 12 + + + 1 + 2 + 2 + + + 7 + 16 + 2 + + + 22 + 23 + 1 + + + 35 + 36 + 2 + + + 84 + 97 + 2 + + + 112 + 122 + 2 + + + 124 + 235 + 2 + + + 301 + 414 + 2 + + + 465 + 601 + 2 + + + 746 + 1131 + 2 + + + 1370 + 2384 + 2 + + + 2421 + 2674 + 2 + + + + + + + operator + parent + + + 12 + + + 1 + 2 + 2 + + + 7 + 16 + 2 + + + 22 + 33 + 2 + + + 35 + 80 + 2 + + + 93 + 111 + 2 + + + 117 + 124 + 2 + + + 225 + 299 + 2 + + + 404 + 452 + 2 + + + 592 + 729 + 2 + + + 1125 + 1200 + 2 + + + 2259 + 2417 + 2 + + + 2673 + 2674 + 1 + + + + + + + operator + parent_index + + + 12 + + + 1 + 2 + 2 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 3 + + + 5 + 7 + 2 + + + 7 + 8 + 4 + + + 8 + 9 + 2 + + + 9 + 10 + 1 + + + 11 + 12 + 2 + + + 13 + 14 + 2 + + + 14 + 23 + 2 + + + + + + + operator + left + + + 12 + + + 1 + 2 + 2 + + + 7 + 16 + 2 + + + 22 + 23 + 1 + + + 35 + 36 + 2 + + + 84 + 97 + 2 + + + 112 + 122 + 2 + + + 124 + 235 + 2 + + + 301 + 414 + 2 + + + 465 + 601 + 2 + + + 746 + 1131 + 2 + + + 1370 + 2384 + 2 + + + 2421 + 2674 + 2 + + + + + + + operator + right + + + 12 + + + 1 + 2 + 2 + + + 7 + 16 + 2 + + + 22 + 23 + 1 + + + 35 + 36 + 2 + + + 84 + 97 + 2 + + + 112 + 122 + 2 + + + 124 + 235 + 2 + + + 301 + 414 + 2 + + + 465 + 601 + 2 + + + 746 + 1131 + 2 + + + 1370 + 2384 + 2 + + + 2421 + 2674 + 2 + + + + + + + operator + loc + + + 12 + + + 1 + 2 + 2 + + + 7 + 16 + 2 + + + 22 + 23 + 1 + + + 35 + 36 + 2 + + + 84 + 97 + 2 + + + 112 + 122 + 2 + + + 124 + 235 + 2 + + + 301 + 414 + 2 + + + 465 + 601 + 2 + + + 746 + 1131 + 2 + + + 1370 + 2384 + 2 + + + 2421 + 2674 + 2 + + + + + + + right + id + + + 12 + + + 1 + 2 + 13794 + + + + + + + right + parent + + + 12 + + + 1 + 2 + 13794 + + + + + + + right + parent_index + + + 12 + + + 1 + 2 + 13794 + + + + + + + right + left + + + 12 + + + 1 + 2 + 13794 + + + + + + + right + operator + + + 12 + + + 1 + 2 + 13794 + + + + + + + right + loc + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + left + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + operator + + + 12 + + + 1 + 2 + 13794 + + + + + + + loc + right + + + 12 + + + 1 + 2 + 13794 + + + + + + + + + block_argument_def + 1685 + + + id + 1685 + + + parent + 1685 + + + parent_index + 14 + + + child + 1685 + + + loc + 1685 + + + + + id + parent + + + 12 + + + 1 + 2 + 1685 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1685 + + + + + + + id + child + + + 12 + + + 1 + 2 + 1685 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1685 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 1685 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 1685 + + + + + + + parent + child + + + 12 + + + 1 + 2 + 1685 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 1685 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 10 + 11 + 1 + + + 13 + 14 + 1 + + + 15 + 16 + 1 + + + 18 + 19 + 1 + + + 77 + 78 + 1 + + + 108 + 109 + 1 + + + 222 + 223 + 1 + + + 1207 + 1208 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 10 + 11 + 1 + + + 13 + 14 + 1 + + + 15 + 16 + 1 + + + 18 + 19 + 1 + + + 77 + 78 + 1 + + + 108 + 109 + 1 + + + 222 + 223 + 1 + + + 1207 + 1208 + 1 + + + + + + + parent_index + child + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 10 + 11 + 1 + + + 13 + 14 + 1 + + + 15 + 16 + 1 + + + 18 + 19 + 1 + + + 77 + 78 + 1 + + + 108 + 109 + 1 + + + 222 + 223 + 1 + + + 1207 + 1208 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 10 + 11 + 1 + + + 13 + 14 + 1 + + + 15 + 16 + 1 + + + 18 + 19 + 1 + + + 77 + 78 + 1 + + + 108 + 109 + 1 + + + 222 + 223 + 1 + + + 1207 + 1208 + 1 + + + + + + + child + id + + + 12 + + + 1 + 2 + 1685 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 1685 + + + + + + + child + parent_index + + + 12 + + + 1 + 2 + 1685 + + + + + + + child + loc + + + 12 + + + 1 + 2 + 1685 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1685 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1685 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1685 + + + + + + + loc + child + + + 12 + + + 1 + 2 + 1685 + + + + + + + + + block_child + 20483 + + + block + 20445 + + + index + 14 + + + child + 20483 + + + + + block + index + + + 12 + + + 1 + 2 + 20420 + + + 2 + 5 + 24 + + + + + + + block + child + + + 12 + + + 1 + 2 + 20420 + + + 2 + 5 + 24 + + + + + + + index + block + + + 12 + + + 1 + 2 + 3 + + + 3 + 4 + 3 + + + 7 + 8 + 3 + + + 5827 + 5828 + 3 + + + + + + + index + child + + + 12 + + + 1 + 2 + 3 + + + 3 + 4 + 3 + + + 7 + 8 + 3 + + + 5827 + 5828 + 3 + + + + + + + child + block + + + 12 + + + 1 + 2 + 20483 + + + + + + + child + index + + + 12 + + + 1 + 2 + 20483 + + + + + + + + + block_def + 20494 + + + id + 20494 + + + parent + 20494 + + + parent_index + 14 + + + loc + 20494 + + + + + id + parent + + + 12 + + + 1 + 2 + 20494 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 20494 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 20494 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 20494 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 20494 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 20494 + + + + + + + parent_index + id + + + 12 + + + 41 + 42 + 3 + + + 312 + 313 + 3 + + + 2171 + 2172 + 3 + + + 3317 + 3318 + 3 + + + + + + + parent_index + parent + + + 12 + + + 41 + 42 + 3 + + + 312 + 313 + 3 + + + 2171 + 2172 + 3 + + + 3317 + 3318 + 3 + + + + + + + parent_index + loc + + + 12 + + + 41 + 42 + 3 + + + 312 + 313 + 3 + + + 2171 + 2172 + 3 + + + 3317 + 3318 + 3 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 20494 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 20494 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 20494 + + + + + + + + + block_parameter_def + 648 + + + id + 648 + + + parent + 648 + + + parent_index + 8 + + + name + 648 + + + loc + 648 + + + + + id + parent + + + 12 + + + 1 + 2 + 648 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 648 + + + + + + + id + name + + + 12 + + + 1 + 2 + 648 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 648 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 648 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 648 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 648 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 648 + + + + + + + parent_index + id + + + 12 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 21 + 22 + 1 + + + 48 + 49 + 1 + + + 139 + 140 + 1 + + + 174 + 175 + 1 + + + 258 + 259 + 1 + + + + + + + parent_index + parent + + + 12 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 21 + 22 + 1 + + + 48 + 49 + 1 + + + 139 + 140 + 1 + + + 174 + 175 + 1 + + + 258 + 259 + 1 + + + + + + + parent_index + name + + + 12 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 21 + 22 + 1 + + + 48 + 49 + 1 + + + 139 + 140 + 1 + + + 174 + 175 + 1 + + + 258 + 259 + 1 + + + + + + + parent_index + loc + + + 12 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 21 + 22 + 1 + + + 48 + 49 + 1 + + + 139 + 140 + 1 + + + 174 + 175 + 1 + + + 258 + 259 + 1 + + + + + + + name + id + + + 12 + + + 1 + 2 + 648 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 648 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 648 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 648 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 648 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 648 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 648 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 648 + + + + + + + + + block_parameters + 2626 + + + block + 2626 + + + parameters + 2626 + + + + + block + parameters + + + 12 + + + 1 + 2 + 2626 + + + + + + + parameters + block + + + 12 + + + 1 + 2 + 2626 + + + + + + + + + block_parameters_child + 8241 + + + block_parameters + 7059 + + + index + 5 + + + child + 8241 + + + + + block_parameters + index + + + 12 + + + 1 + 2 + 6018 + + + 2 + 3 + 942 + + + 3 + 6 + 99 + + + + + + + block_parameters + child + + + 12 + + + 1 + 2 + 6018 + + + 2 + 3 + 942 + + + 3 + 6 + 99 + + + + + + + index + block_parameters + + + 12 + + + 9 + 10 + 1 + + + 33 + 34 + 1 + + + 99 + 100 + 1 + + + 1041 + 1042 + 1 + + + 7059 + 7060 + 1 + + + + + + + index + child + + + 12 + + + 9 + 10 + 1 + + + 33 + 34 + 1 + + + 99 + 100 + 1 + + + 1041 + 1042 + 1 + + + 7059 + 7060 + 1 + + + + + + + child + block_parameters + + + 12 + + + 1 + 2 + 8241 + + + + + + + child + index + + + 12 + + + 1 + 2 + 8241 + + + + + + + + + block_parameters_def + 7059 + + + id + 7059 + + + parent + 7059 + + + parent_index + 1 + + + loc + 7059 + + + + + id + parent + + + 12 + + + 1 + 2 + 7059 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 7059 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 7059 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 7059 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 7059 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 7059 + + + + + + + parent_index + id + + + 12 + + + 7059 + 7060 + 1 + + + + + + + parent_index + parent + + + 12 + + + 7059 + 7060 + 1 + + + + + + + parent_index + loc + + + 12 + + + 7059 + 7060 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 7059 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 7059 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 7059 + + + + + + + + + break_child + 10 + + + break + 10 + + + child + 10 + + + + + break + child + + + 12 + + + 1 + 2 + 10 + + + + + + + child + break + + + 12 + + + 1 + 2 + 10 + + + + + + + + + break_def + 209 + + + id + 209 + + + parent + 209 + + + parent_index + 6 + + + loc + 209 + + + + + id + parent + + + 12 + + + 1 + 2 + 209 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 209 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 209 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 209 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 209 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 209 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 4 + 5 + 1 + + + 12 + 13 + 1 + + + 184 + 185 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 4 + 5 + 1 + + + 12 + 13 + 1 + + + 184 + 185 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 4 + 5 + 1 + + + 12 + 13 + 1 + + + 184 + 185 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 209 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 209 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 209 + + + + + + + + call_arguments - 215999 + 211464 call - 215999 + 211464 arguments - 215999 + 211464 @@ -648,7 +8870,7 @@ 1 2 - 215999 + 211464 @@ -664,7 +8886,7 @@ 1 2 - 215999 + 211464 @@ -673,26 +8895,22 @@ - then_child - 12270 + call_block + 60966 - then - 7224 + call + 60966 - index - 20 - - - child - 12270 + block + 60966 - then - index + call + block 12 @@ -700,30 +8918,15 @@ 1 2 - 4455 - - - 2 - 3 - 1649 - - - 3 - 4 - 620 - - - 4 - 21 - 498 + 60966 - then - child + block + call 12 @@ -731,236 +8934,7 @@ 1 2 - 4455 - - - 2 - 3 - 1649 - - - 3 - 4 - 620 - - - 4 - 21 - 498 - - - - - - - index - then - - - 12 - - - 2 - 3 - 5 - - - 4 - 5 - 1 - - - 5 - 6 - 1 - - - 6 - 7 - 1 - - - 7 - 8 - 1 - - - 15 - 16 - 1 - - - 21 - 22 - 1 - - - 33 - 34 - 1 - - - 51 - 52 - 1 - - - 76 - 77 - 1 - - - 143 - 144 - 1 - - - 267 - 268 - 1 - - - 483 - 484 - 1 - - - 1084 - 1085 - 1 - - - 2682 - 2683 - 1 - - - 6997 - 6998 - 1 - - - - - - - index - child - - - 12 - - - 2 - 3 - 5 - - - 4 - 5 - 1 - - - 5 - 6 - 1 - - - 6 - 7 - 1 - - - 7 - 8 - 1 - - - 15 - 16 - 1 - - - 21 - 22 - 1 - - - 33 - 34 - 1 - - - 51 - 52 - 1 - - - 76 - 77 - 1 - - - 143 - 144 - 1 - - - 267 - 268 - 1 - - - 483 - 484 - 1 - - - 1084 - 1085 - 1 - - - 2682 - 2683 - 1 - - - 6997 - 6998 - 1 - - - - - - - child - then - - - 12 - - - 1 - 2 - 12270 - - - - - - - child - index - - - 12 - - - 1 - 2 - 12270 + 60966 @@ -969,2412 +8943,34 @@ - bare_symbol_child - 667 - - - bare_symbol - 667 - - - index - 1 - - - child - 667 - - - - - bare_symbol - index - - - 12 - - - 1 - 2 - 667 - - - - - - - bare_symbol - child - - - 12 - - - 1 - 2 - 667 - - - - - - - index - bare_symbol - - - 12 - - - 646 - 647 - 1 - - - - - - - index - child - - - 12 - - - 646 - 647 - 1 - - - - - - - child - bare_symbol - - - 12 - - - 1 - 2 - 667 - - - - - - - child - index - - - 12 - - - 1 - 2 - 667 - - - - - - - - - module_def - 4471 + call_def + 299244 id - 4471 + 299244 parent - 4444 + 213889 parent_index - 39 + 277 - - name - 4471 - - - loc - 4471 - - - - - id - parent - - - 12 - - - 1 - 2 - 4471 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 4471 - - - - - - - id - name - - - 12 - - - 1 - 2 - 4471 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 4471 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 4420 - - - 2 - 4 - 23 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 4420 - - - 2 - 4 - 23 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 4420 - - - 2 - 4 - 23 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 4420 - - - 2 - 4 - 23 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 19 - - - 3 - 4 - 3 - - - 17 - 18 - 3 - - - 137 - 138 - 3 - - - 433 - 434 - 3 - - - 532 - 533 - 3 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 19 - - - 3 - 4 - 3 - - - 17 - 18 - 3 - - - 137 - 138 - 3 - - - 433 - 434 - 3 - - - 532 - 533 - 3 - - - - - - - parent_index - name - - - 12 - - - 1 - 2 - 19 - - - 3 - 4 - 3 - - - 17 - 18 - 3 - - - 137 - 138 - 3 - - - 433 - 434 - 3 - - - 532 - 533 - 3 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 19 - - - 3 - 4 - 3 - - - 17 - 18 - 3 - - - 137 - 138 - 3 - - - 433 - 434 - 3 - - - 532 - 533 - 3 - - - - - - - name - id - - - 12 - - - 1 - 2 - 4471 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 4471 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 4471 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 4471 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 4471 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 4471 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 4471 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 4471 - - - - - - - - - method_parameters_child - 14196 - - - method_parameters - 8605 - - - index - 11 - - - child - 14196 - - - - - method_parameters - index - - - 12 - - - 1 - 2 - 5177 - - - 2 - 3 - 2122 - - - 3 - 4 - 822 - - - 4 - 12 - 484 - - - - - - - method_parameters - child - - - 12 - - - 1 - 2 - 5177 - - - 2 - 3 - 2122 - - - 3 - 4 - 822 - - - 4 - 12 - 484 - - - - - - - index - method_parameters - - - 12 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 9 - 10 - 1 - - - 24 - 25 - 1 - - - 40 - 41 - 1 - - - 89 - 90 - 1 - - - 203 - 204 - 1 - - - 484 - 485 - 1 - - - 1306 - 1307 - 1 - - - 3428 - 3429 - 1 - - - 8605 - 8606 - 1 - - - - - - - index - child - - - 12 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 9 - 10 - 1 - - - 24 - 25 - 1 - - - 40 - 41 - 1 - - - 89 - 90 - 1 - - - 203 - 204 - 1 - - - 484 - 485 - 1 - - - 1306 - 1307 - 1 - - - 3428 - 3429 - 1 - - - 8605 - 8606 - 1 - - - - - - - child - method_parameters - - - 12 - - - 1 - 2 - 14196 - - - - - - - child - index - - - 12 - - - 1 - 2 - 14196 - - - - - - - - - parenthesized_statements_def - 1628 - - - id - 1628 - - - parent - 1582 - - - parent_index - 9 - - - loc - 1628 - - - - - id - parent - - - 12 - - - 1 - 2 - 1628 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1628 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1628 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 1539 - - - 2 - 5 - 43 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 1539 - - - 2 - 5 - 43 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1539 - - - 2 - 5 - 43 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 7 - 8 - 1 - - - 203 - 204 - 1 - - - 616 - 617 - 1 - - - 743 - 744 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 7 - 8 - 1 - - - 203 - 204 - 1 - - - 616 - 617 - 1 - - - 743 - 744 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 7 - 8 - 1 - - - 203 - 204 - 1 - - - 616 - 617 - 1 - - - 743 - 744 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1628 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1628 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1628 - - - - - - - - - array_def - 10143 - - - id - 10143 - - - parent - 9263 - - - parent_index - 90 - - - loc - 10143 - - - - - id - parent - - - 12 - - - 1 - 2 - 10143 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 10143 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 10143 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 8917 - - - 2 - 85 - 346 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 8917 - - - 2 - 85 - 346 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 8917 - - - 2 - 85 - 346 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 48 - - - 2 - 4 - 6 - - - 4 - 5 - 8 - - - 6 - 9 - 8 - - - 9 - 14 - 7 - - - 15 - 123 - 7 - - - 228 - 3550 - 6 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 48 - - - 2 - 4 - 6 - - - 4 - 5 - 8 - - - 6 - 9 - 8 - - - 9 - 14 - 7 - - - 15 - 123 - 7 - - - 228 - 3550 - 6 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 48 - - - 2 - 4 - 6 - - - 4 - 5 - 8 - - - 6 - 9 - 8 - - - 9 - 14 - 7 - - - 15 - 123 - 7 - - - 228 - 3550 - 6 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 10143 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 10143 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 10143 - - - - - - - - - symbol_array_child - 667 - - - symbol_array - 137 - - - index - 33 - - - child - 667 - - - - - symbol_array - index - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 25 - - - 3 - 4 - 11 - - - 4 - 6 - 12 - - - 6 - 8 - 11 - - - 8 - 15 - 12 - - - 15 - 22 - 10 - - - 24 - 33 - 3 - - - - - - - symbol_array - child - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 25 - - - 3 - 4 - 11 - - - 4 - 6 - 12 - - - 6 - 8 - 11 - - - 8 - 15 - 12 - - - 15 - 22 - 10 - - - 24 - 33 - 3 - - - - - - - index - symbol_array - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 3 - - - 4 - 6 - 2 - - - 6 - 7 - 2 - - - 9 - 11 - 2 - - - 13 - 14 - 1 - - - 16 - 17 - 2 - - - 19 - 22 - 2 - - - 22 - 24 - 2 - - - 25 - 32 - 2 - - - 36 - 42 - 2 - - - 48 - 60 - 2 - - - 84 - 134 - 2 - - - - - - - index - child - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 3 - - - 4 - 6 - 2 - - - 6 - 7 - 2 - - - 9 - 11 - 2 - - - 13 - 14 - 1 - - - 16 - 17 - 2 - - - 19 - 22 - 2 - - - 22 - 24 - 2 - - - 25 - 32 - 2 - - - 36 - 42 - 2 - - - 48 - 60 - 2 - - - 84 - 134 - 2 - - - - - - - child - symbol_array - - - 12 - - - 1 - 2 - 667 - - - - - - - child - index - - - 12 - - - 1 - 2 - 667 - - - - - - - - - regex_child - 13283 - - - regex - 3913 - - - index - 43 - - - child - 13283 - - - - - regex - index - - - 12 - - - 1 - 2 - 1990 - - - 2 - 3 - 218 - - - 3 - 4 - 528 - - - 4 - 5 - 149 - - - 5 - 6 - 332 - - - 6 - 8 - 316 - - - 8 - 16 - 306 - - - 16 - 44 - 74 - - - - - - - regex - child - - - 12 - - - 1 - 2 - 1990 - - - 2 - 3 - 218 - - - 3 - 4 - 528 - - - 4 - 5 - 149 - - - 5 - 6 - 332 - - - 6 - 8 - 316 - - - 8 - 16 - 306 - - - 16 - 44 - 74 - - - - - - - index - regex - - - 12 - - - 2 - 3 - 4 - - - 4 - 7 - 3 - - - 7 - 11 - 3 - - - 12 - 17 - 3 - - - 17 - 18 - 2 - - - 20 - 22 - 3 - - - 23 - 26 - 2 - - - 26 - 32 - 3 - - - 33 - 41 - 3 - - - 56 - 95 - 3 - - - 106 - 162 - 3 - - - 219 - 322 - 3 - - - 380 - 697 - 3 - - - 1028 - 1706 - 3 - - - 1923 - 3914 - 2 - - - - - - - index - child - - - 12 - - - 2 - 3 - 4 - - - 4 - 7 - 3 - - - 7 - 11 - 3 - - - 12 - 17 - 3 - - - 17 - 18 - 2 - - - 20 - 22 - 3 - - - 23 - 26 - 2 - - - 26 - 32 - 3 - - - 33 - 41 - 3 - - - 56 - 95 - 3 - - - 106 - 162 - 3 - - - 219 - 322 - 3 - - - 380 - 697 - 3 - - - 1028 - 1706 - 3 - - - 1923 - 3914 - 2 - - - - - - - child - regex - - - 12 - - - 1 - 2 - 13283 - - - - - - - child - index - - - 12 - - - 1 - 2 - 13283 - - - - - - - - - singleton_method_child - 5003 - - - singleton_method - 2016 - - - index - 27 - - - child - 5003 - - - - - singleton_method - index - - - 12 - - - 1 - 2 - 1139 - - - 2 - 3 - 300 - - - 3 - 4 - 178 - - - 4 - 5 - 127 - - - 5 - 8 - 152 - - - 8 - 28 - 117 - - - - - - - singleton_method - child - - - 12 - - - 1 - 2 - 1139 - - - 2 - 3 - 300 - - - 3 - 4 - 178 - - - 4 - 5 - 127 - - - 5 - 8 - 152 - - - 8 - 28 - 117 - - - - - - - index - singleton_method - - - 12 - - - 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 7 - 5 - - - 7 - 11 - 2 - - - 14 - 22 - 2 - - - 25 - 32 - 2 - - - 39 - 50 - 2 - - - 65 - 90 - 2 - - - 114 - 142 - 2 - - - 191 - 263 - 2 - - - 385 - 559 - 2 - - - 849 - 1954 - 2 - - - - - - - index - child - - - 12 - - - 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 7 - 5 - - - 7 - 11 - 2 - - - 14 - 22 - 2 - - - 25 - 32 - 2 - - - 39 - 50 - 2 - - - 65 - 90 - 2 - - - 114 - 142 - 2 - - - 191 - 263 - 2 - - - 385 - 559 - 2 - - - 849 - 1954 - 2 - - - - - - - child - singleton_method - - - 12 - - - 1 - 2 - 5003 - - - - - - - child - index - - - 12 - - - 1 - 2 - 5003 - - - - - - - - - method_parameters - 8154 - method - 8154 + 299244 - parameters - 8154 + loc + 299244 - method - parameters + id + parent 12 @@ -3382,14 +8978,30 @@ 1 2 - 8154 + 299244 - parameters + id + parent_index + + + 12 + + + 1 + 2 + 299244 + + + + + + + id method @@ -3398,63 +9010,7 @@ 1 2 - 8154 - - - - - - - - - next_def - 620 - - - id - 620 - - - parent - 620 - - - parent_index - 7 - - - loc - 620 - - - - - id - parent - - - 12 - - - 1 - 2 - 620 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 620 + 299244 @@ -3470,7 +9026,7 @@ 1 2 - 620 + 299244 @@ -3486,7 +9042,22 @@ 1 2 - 620 + 179058 + + + 2 + 3 + 18595 + + + 3 + 20 + 16048 + + + 20 + 77 + 185 @@ -3502,7 +9073,53 @@ 1 2 - 620 + 179058 + + + 2 + 3 + 18595 + + + 3 + 20 + 16048 + + + 20 + 77 + 185 + + + + + + + parent + method + + + 12 + + + 1 + 2 + 179058 + + + 2 + 3 + 18595 + + + 3 + 20 + 16048 + + + 20 + 77 + 185 @@ -3518,7 +9135,22 @@ 1 2 - 620 + 179058 + + + 2 + 3 + 18595 + + + 3 + 20 + 16048 + + + 20 + 77 + 185 @@ -3534,37 +9166,67 @@ 1 2 - 1 + 7 2 3 - 1 + 42 3 4 - 1 + 24 4 5 - 1 + 10 - 24 - 25 - 1 + 5 + 6 + 21 - 39 - 40 - 1 + 6 + 10 + 24 - 528 - 529 - 1 + 10 + 14 + 21 + + + 15 + 26 + 24 + + + 30 + 49 + 21 + + + 52 + 108 + 21 + + + 131 + 345 + 21 + + + 439 + 2213 + 21 + + + 3549 + 29789 + 17 @@ -3580,37 +9242,67 @@ 1 2 - 1 + 7 2 3 - 1 + 42 3 4 - 1 + 24 4 5 - 1 + 10 - 24 - 25 - 1 + 5 + 6 + 21 - 39 - 40 - 1 + 6 + 10 + 24 - 528 - 529 - 1 + 10 + 14 + 21 + + + 15 + 26 + 24 + + + 30 + 49 + 21 + + + 52 + 108 + 21 + + + 131 + 345 + 21 + + + 439 + 2213 + 21 + + + 3549 + 29789 + 17 @@ -3618,7 +9310,7 @@ parent_index - loc + method 12 @@ -3626,37 +9318,207 @@ 1 2 - 1 + 7 2 3 - 1 + 42 3 4 - 1 + 24 4 5 - 1 + 10 - 24 - 25 - 1 + 5 + 6 + 21 - 39 - 40 - 1 + 6 + 10 + 24 - 528 - 529 - 1 + 10 + 14 + 21 + + + 15 + 26 + 24 + + + 30 + 49 + 21 + + + 52 + 108 + 21 + + + 131 + 345 + 21 + + + 439 + 2213 + 21 + + + 3549 + 29789 + 17 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 42 + + + 3 + 4 + 24 + + + 4 + 5 + 10 + + + 5 + 6 + 21 + + + 6 + 10 + 24 + + + 10 + 14 + 21 + + + 15 + 26 + 24 + + + 30 + 49 + 21 + + + 52 + 108 + 21 + + + 131 + 345 + 21 + + + 439 + 2213 + 21 + + + 3549 + 29789 + 17 + + + + + + + method + id + + + 12 + + + 1 + 2 + 299244 + + + + + + + method + parent + + + 12 + + + 1 + 2 + 299244 + + + + + + + method + parent_index + + + 12 + + + 1 + 2 + 299244 + + + + + + + method + loc + + + 12 + + + 1 + 2 + 299244 @@ -3672,7 +9534,7 @@ 1 2 - 620 + 299244 @@ -3688,7 +9550,7 @@ 1 2 - 620 + 299244 @@ -3704,7 +9566,23 @@ 1 2 - 620 + 299244 + + + + + + + loc + method + + + 12 + + + 1 + 2 + 299244 @@ -3713,22 +9591,22 @@ - if_consequence - 5399 + call_receiver + 162626 - if - 5399 + call + 162626 - consequence - 5399 + receiver + 162626 - if - consequence + call + receiver 12 @@ -3736,15 +9614,15 @@ 1 2 - 5399 + 162626 - consequence - if + receiver + call 12 @@ -3752,7 +9630,7 @@ 1 2 - 5399 + 162626 @@ -3761,1273 +9639,25 @@ - string_array_def - 927 + case_child + 1248 - id - 927 - - - parent - 896 - - - parent_index - 10 - - - loc - 927 - - - - - id - parent - - - 12 - - - 1 - 2 - 927 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 927 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 927 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 875 - - - 2 - 7 - 21 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 875 - - - 2 - 7 - 21 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 875 - - - 2 - 7 - 21 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 44 - 45 - 1 - - - 63 - 64 - 1 - - - 88 - 89 - 1 - - - 283 - 284 - 1 - - - 406 - 407 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 44 - 45 - 1 - - - 63 - 64 - 1 - - - 88 - 89 - 1 - - - 283 - 284 - 1 - - - 406 - 407 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 44 - 45 - 1 - - - 63 - 64 - 1 - - - 88 - 89 - 1 - - - 283 - 284 - 1 - - - 406 - 407 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 927 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 927 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 927 - - - - - - - - - unless_modifier_def - 1403 - - - id - 1403 - - - parent - 1198 - - - parent_index - 20 - - - body - 1403 - - - condition - 1403 - - - loc - 1403 - - - - - id - parent - - - 12 - - - 1 - 2 - 1403 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1403 - - - - - - - id - body - - - 12 - - - 1 - 2 - 1403 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 1403 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1403 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 1048 - - - 2 - 3 - 118 - - - 3 - 9 - 32 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 1048 - - - 2 - 3 - 118 - - - 3 - 9 - 32 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 1048 - - - 2 - 3 - 118 - - - 3 - 9 - 32 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 1048 - - - 2 - 3 - 118 - - - 3 - 9 - 32 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1048 - - - 2 - 3 - 118 - - - 3 - 9 - 32 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 5 - 6 - 2 - - - 11 - 12 - 2 - - - 19 - 20 - 1 - - - 27 - 28 - 1 - - - 43 - 44 - 1 - - - 63 - 64 - 1 - - - 64 - 65 - 1 - - - 69 - 70 - 1 - - - 140 - 141 - 1 - - - 172 - 173 - 1 - - - 333 - 334 - 1 - - - 386 - 387 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 5 - 6 - 2 - - - 11 - 12 - 2 - - - 19 - 20 - 1 - - - 27 - 28 - 1 - - - 43 - 44 - 1 - - - 63 - 64 - 1 - - - 64 - 65 - 1 - - - 69 - 70 - 1 - - - 140 - 141 - 1 - - - 172 - 173 - 1 - - - 333 - 334 - 1 - - - 386 - 387 - 1 - - - - - - - parent_index - body - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 5 - 6 - 2 - - - 11 - 12 - 2 - - - 19 - 20 - 1 - - - 27 - 28 - 1 - - - 43 - 44 - 1 - - - 63 - 64 - 1 - - - 64 - 65 - 1 - - - 69 - 70 - 1 - - - 140 - 141 - 1 - - - 172 - 173 - 1 - - - 333 - 334 - 1 - - - 386 - 387 - 1 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 5 - 6 - 2 - - - 11 - 12 - 2 - - - 19 - 20 - 1 - - - 27 - 28 - 1 - - - 43 - 44 - 1 - - - 63 - 64 - 1 - - - 64 - 65 - 1 - - - 69 - 70 - 1 - - - 140 - 141 - 1 - - - 172 - 173 - 1 - - - 333 - 334 - 1 - - - 386 - 387 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 5 - 6 - 2 - - - 11 - 12 - 2 - - - 19 - 20 - 1 - - - 27 - 28 - 1 - - - 43 - 44 - 1 - - - 63 - 64 - 1 - - - 64 - 65 - 1 - - - 69 - 70 - 1 - - - 140 - 141 - 1 - - - 172 - 173 - 1 - - - 333 - 334 - 1 - - - 386 - 387 - 1 - - - - - - - body - id - - - 12 - - - 1 - 2 - 1403 - - - - - - - body - parent - - - 12 - - - 1 - 2 - 1403 - - - - - - - body - parent_index - - - 12 - - - 1 - 2 - 1403 - - - - - - - body - condition - - - 12 - - - 1 - 2 - 1403 - - - - - - - body - loc - - - 12 - - - 1 - 2 - 1403 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 1403 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 1403 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 1403 - - - - - - - condition - body - - - 12 - - - 1 - 2 - 1403 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 1403 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1403 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1403 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1403 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 1403 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 1403 - - - - - - - - - hash_child - 15063 - - - hash - 6820 + case__ + 371 index - 114 + 23 child - 15063 + 1248 - hash + case__ index @@ -5036,34 +9666,39 @@ 1 2 - 3491 + 10 2 3 - 1819 + 100 3 4 - 688 + 156 4 + 5 + 57 + + + 5 7 - 591 + 28 7 - 112 - 230 + 24 + 20 - hash + case__ child @@ -5072,27 +9707,32 @@ 1 2 - 3491 + 10 2 3 - 1819 + 100 3 4 - 688 + 156 4 + 5 + 57 + + + 5 7 - 591 + 28 7 - 112 - 230 + 24 + 20 @@ -5100,7 +9740,7 @@ index - hash + case__ 12 @@ -5108,47 +9748,42 @@ 1 2 - 43 + 9 2 3 - 20 + 2 3 - 14 - 6 + 6 + 2 - 14 - 18 - 9 + 8 + 11 + 2 - 21 - 29 - 7 + 13 + 21 + 2 - 29 - 38 - 8 + 30 + 49 + 2 - 39 - 74 - 9 + 105 + 262 + 2 - 84 - 3226 - 9 - - - 6606 - 6607 - 1 + 361 + 372 + 2 @@ -5164,47 +9799,42 @@ 1 2 - 43 + 9 2 3 - 20 + 2 3 - 14 - 6 + 6 + 2 - 14 - 18 - 9 + 8 + 11 + 2 - 21 - 29 - 7 + 13 + 21 + 2 - 29 - 38 - 8 + 30 + 49 + 2 - 39 - 74 - 9 + 105 + 262 + 2 - 84 - 3226 - 9 - - - 6606 - 6607 - 1 + 361 + 372 + 2 @@ -5212,7 +9842,7 @@ child - hash + case__ 12 @@ -5220,7 +9850,7 @@ 1 2 - 15063 + 1248 @@ -5236,7 +9866,7 @@ 1 2 - 15063 + 1248 @@ -5245,24 +9875,24 @@ - block_parameters_def - 6994 + case_def + 371 id - 6994 + 371 parent - 6994 + 370 parent_index - 1 + 9 loc - 6994 + 371 @@ -5276,7 +9906,7 @@ 1 2 - 6994 + 371 @@ -5292,7 +9922,7 @@ 1 2 - 6994 + 371 @@ -5308,7 +9938,7 @@ 1 2 - 6994 + 371 @@ -5324,7 +9954,12 @@ 1 2 - 6994 + 369 + + + 2 + 3 + 1 @@ -5340,7 +9975,12 @@ 1 2 - 6994 + 369 + + + 2 + 3 + 1 @@ -5356,7 +9996,12 @@ 1 2 - 6994 + 369 + + + 2 + 3 + 1 @@ -5370,8 +10015,43 @@ 12 - 6994 - 6995 + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 1 + + + 19 + 20 + 2 + + + 23 + 24 + 1 + + + 38 + 39 + 1 + + + 92 + 93 + 1 + + + 167 + 168 1 @@ -5386,8 +10066,43 @@ 12 - 6994 - 6995 + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 1 + + + 19 + 20 + 2 + + + 23 + 24 + 1 + + + 38 + 39 + 1 + + + 92 + 93 + 1 + + + 167 + 168 1 @@ -5402,8 +10117,43 @@ 12 - 6994 - 6995 + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 7 + 8 + 1 + + + 19 + 20 + 2 + + + 23 + 24 + 1 + + + 38 + 39 + 1 + + + 92 + 93 + 1 + + + 167 + 168 1 @@ -5420,7 +10170,7 @@ 1 2 - 6994 + 371 @@ -5436,7 +10186,7 @@ 1 2 - 6994 + 371 @@ -5452,7 +10202,1554 @@ 1 2 - 6994 + 371 + + + + + + + + + case_value + 359 + + + case__ + 359 + + + value + 359 + + + + + case__ + value + + + 12 + + + 1 + 2 + 359 + + + + + + + value + case__ + + + 12 + + + 1 + 2 + 359 + + + + + + + + + chained_string_child + 1009 + + + chained_string + 261 + + + index + 12 + + + child + 1009 + + + + + chained_string + index + + + 12 + + + 2 + 3 + 81 + + + 3 + 4 + 62 + + + 4 + 5 + 42 + + + 5 + 6 + 36 + + + 6 + 8 + 20 + + + 8 + 13 + 20 + + + + + + + chained_string + child + + + 12 + + + 2 + 3 + 81 + + + 3 + 4 + 62 + + + 4 + 5 + 42 + + + 5 + 6 + 36 + + + 6 + 8 + 20 + + + 8 + 13 + 20 + + + + + + + index + chained_string + + + 12 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 7 + 8 + 1 + + + 8 + 9 + 1 + + + 20 + 21 + 1 + + + 32 + 33 + 1 + + + 40 + 41 + 1 + + + 76 + 77 + 1 + + + 118 + 119 + 1 + + + 180 + 181 + 1 + + + 261 + 262 + 2 + + + + + + + index + child + + + 12 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 7 + 8 + 1 + + + 8 + 9 + 1 + + + 20 + 21 + 1 + + + 32 + 33 + 1 + + + 40 + 41 + 1 + + + 76 + 77 + 1 + + + 118 + 119 + 1 + + + 180 + 181 + 1 + + + 261 + 262 + 2 + + + + + + + child + chained_string + + + 12 + + + 1 + 2 + 1009 + + + + + + + child + index + + + 12 + + + 1 + 2 + 1009 + + + + + + + + + chained_string_def + 261 + + + id + 261 + + + parent + 261 + + + parent_index + 5 + + + loc + 261 + + + + + id + parent + + + 12 + + + 1 + 2 + 261 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 261 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 261 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 261 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 261 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 261 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 2 + + + 56 + 57 + 1 + + + 73 + 74 + 1 + + + 130 + 131 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 2 + + + 56 + 57 + 1 + + + 73 + 74 + 1 + + + 130 + 131 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 2 + + + 56 + 57 + 1 + + + 73 + 74 + 1 + + + 130 + 131 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 261 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 261 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 261 + + + + + + + + + class_child + 39727 + + + class + 4569 + + + index + 305 + + + child + 39727 + + + + + class + index + + + 12 + + + 1 + 2 + 1008 + + + 2 + 3 + 712 + + + 3 + 4 + 451 + + + 4 + 5 + 377 + + + 5 + 6 + 289 + + + 6 + 8 + 423 + + + 8 + 11 + 395 + + + 11 + 16 + 362 + + + 16 + 33 + 344 + + + 33 + 306 + 208 + + + + + + + class + child + + + 12 + + + 1 + 2 + 1008 + + + 2 + 3 + 712 + + + 3 + 4 + 451 + + + 4 + 5 + 377 + + + 5 + 6 + 289 + + + 6 + 8 + 423 + + + 8 + 11 + 395 + + + 11 + 16 + 362 + + + 16 + 33 + 344 + + + 33 + 306 + 208 + + + + + + + index + class + + + 12 + + + 1 + 2 + 8 + + + 2 + 3 + 33 + + + 3 + 5 + 24 + + + 5 + 7 + 24 + + + 7 + 8 + 23 + + + 8 + 10 + 13 + + + 10 + 12 + 24 + + + 12 + 16 + 24 + + + 16 + 30 + 25 + + + 30 + 49 + 24 + + + 53 + 87 + 23 + + + 88 + 175 + 23 + + + 180 + 622 + 23 + + + 688 + 4570 + 14 + + + + + + + index + child + + + 12 + + + 1 + 2 + 8 + + + 2 + 3 + 33 + + + 3 + 5 + 24 + + + 5 + 7 + 24 + + + 7 + 8 + 23 + + + 8 + 10 + 13 + + + 10 + 12 + 24 + + + 12 + 16 + 24 + + + 16 + 30 + 25 + + + 30 + 49 + 24 + + + 53 + 87 + 23 + + + 88 + 175 + 23 + + + 180 + 622 + 23 + + + 688 + 4570 + 14 + + + + + + + child + class + + + 12 + + + 1 + 2 + 39727 + + + + + + + child + index + + + 12 + + + 1 + 2 + 39727 + + + + + + + + + class_def + 5112 + + + id + 5112 + + + parent + 3016 + + + parent_index + 97 + + + name + 5112 + + + loc + 5112 + + + + + id + parent + + + 12 + + + 1 + 2 + 5112 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 5112 + + + + + + + id + name + + + 12 + + + 1 + 2 + 5112 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 5112 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 2418 + + + 2 + 3 + 275 + + + 3 + 7 + 240 + + + 7 + 56 + 83 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 2418 + + + 2 + 3 + 275 + + + 3 + 7 + 240 + + + 7 + 56 + 83 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 2418 + + + 2 + 3 + 275 + + + 3 + 7 + 240 + + + 7 + 56 + 83 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 2418 + + + 2 + 3 + 275 + + + 3 + 7 + 240 + + + 7 + 56 + 83 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 36 + + + 2 + 4 + 6 + + + 5 + 6 + 7 + + + 6 + 11 + 8 + + + 11 + 14 + 8 + + + 14 + 18 + 7 + + + 18 + 37 + 8 + + + 38 + 97 + 8 + + + 118 + 594 + 8 + + + 1588 + 1589 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 36 + + + 2 + 4 + 6 + + + 5 + 6 + 7 + + + 6 + 11 + 8 + + + 11 + 14 + 8 + + + 14 + 18 + 7 + + + 18 + 37 + 8 + + + 38 + 97 + 8 + + + 118 + 594 + 8 + + + 1588 + 1589 + 1 + + + + + + + parent_index + name + + + 12 + + + 1 + 2 + 36 + + + 2 + 4 + 6 + + + 5 + 6 + 7 + + + 6 + 11 + 8 + + + 11 + 14 + 8 + + + 14 + 18 + 7 + + + 18 + 37 + 8 + + + 38 + 97 + 8 + + + 118 + 594 + 8 + + + 1588 + 1589 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 36 + + + 2 + 4 + 6 + + + 5 + 6 + 7 + + + 6 + 11 + 8 + + + 11 + 14 + 8 + + + 14 + 18 + 7 + + + 18 + 37 + 8 + + + 38 + 97 + 8 + + + 118 + 594 + 8 + + + 1588 + 1589 + 1 + + + + + + + name + id + + + 12 + + + 1 + 2 + 5112 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 5112 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 5112 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 5112 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 5112 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 5112 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 5112 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 5112 + + + + + + + + + class_superclass + 4035 + + + class + 4035 + + + superclass + 4035 + + + + + class + superclass + + + 12 + + + 1 + 2 + 4035 + + + + + + + superclass + class + + + 12 + + + 1 + 2 + 4035 @@ -5462,35 +11759,35 @@ conditional_def - 1049 + 1102 id - 1049 + 1102 parent - 1049 + 1079 parent_index - 17 + 26 alternative - 1049 + 1102 condition - 1049 + 1102 consequence - 1049 + 1102 loc - 1049 + 1102 @@ -5504,7 +11801,7 @@ 1 2 - 1049 + 1102 @@ -5520,7 +11817,7 @@ 1 2 - 1049 + 1102 @@ -5536,7 +11833,7 @@ 1 2 - 1049 + 1102 @@ -5552,7 +11849,7 @@ 1 2 - 1049 + 1102 @@ -5568,7 +11865,7 @@ 1 2 - 1049 + 1102 @@ -5584,7 +11881,7 @@ 1 2 - 1049 + 1102 @@ -5600,7 +11897,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5616,7 +11918,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5632,7 +11939,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5648,7 +11960,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5664,7 +11981,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5680,7 +12002,12 @@ 1 2 - 1049 + 1071 + + + 2 + 14 + 8 @@ -5696,12 +12023,12 @@ 1 2 - 3 + 10 2 3 - 2 + 1 3 @@ -5709,53 +12036,1192 @@ 2 - 7 - 8 + 4 + 5 1 - 10 - 11 + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 1 + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + parent_index + alternative + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + parent_index + consequence + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + + + 7 + 12 + 2 + + + 12 + 15 + 2 + + + 26 + 35 + 2 + + + 61 + 80 + 2 + + + 161 + 634 + 2 + + + + + + + alternative + id + + + 12 + + + 1 + 2 + 1102 + + + + + + + alternative + parent + + + 12 + + + 1 + 2 + 1102 + + + + + + + alternative + parent_index + + + 12 + + + 1 + 2 + 1102 + + + + + + + alternative + condition + + + 12 + + + 1 + 2 + 1102 + + + + + + + alternative + consequence + + + 12 + + + 1 + 2 + 1102 + + + + + + + alternative + loc + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + alternative + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + consequence + + + 12 + + + 1 + 2 + 1102 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + id + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + parent + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + parent_index + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + alternative + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + condition + + + 12 + + + 1 + 2 + 1102 + + + + + + + consequence + loc + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + alternative + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 1102 + + + + + + + loc + consequence + + + 12 + + + 1 + 2 + 1102 + + + + + + + + + containerparent + 7634 + + + parent + 1449 + + + child + 7634 + + + + + parent + child + + + 12 + + + 1 + 2 + 522 + + + 2 + 3 + 298 + + + 3 + 4 + 119 + + + 4 + 5 + 150 + + + 5 + 7 + 133 + + + 7 + 11 + 108 + 11 - 12 + 84 + 108 + + + 105 + 290 + 7 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 7634 + + + + + + + + + delimited_symbol_child + 522 + + + delimited_symbol + 378 + + + index + 8 + + + child + 522 + + + + + delimited_symbol + index + + + 12 + + + 1 + 2 + 285 + + + 2 + 3 + 71 + + + 3 + 9 + 22 + + + + + + + delimited_symbol + child + + + 12 + + + 1 + 2 + 285 + + + 2 + 3 + 71 + + + 3 + 9 + 22 + + + + + + + index + delimited_symbol + + + 12 + + + 1 + 2 1 - 13 - 14 + 3 + 4 1 - 25 - 26 + 5 + 6 1 + + 8 + 9 + 1 + + + 12 + 13 + 1 + + + 22 + 23 + 1 + + + 93 + 94 + 1 + + + 378 + 379 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 1 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + 8 + 9 + 1 + + + 12 + 13 + 1 + + + 22 + 23 + 1 + + + 93 + 94 + 1 + + + 378 + 379 + 1 + + + + + + + child + delimited_symbol + + + 12 + + + 1 + 2 + 522 + + + + + + + child + index + + + 12 + + + 1 + 2 + 522 + + + + + + + + + delimited_symbol_def + 378 + + + id + 378 + + + parent + 357 + + + parent_index + 10 + + + loc + 378 + + + + + id + parent + + + 12 + + + 1 + 2 + 378 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 378 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 378 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 336 + + + 2 + 3 + 21 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 336 + + + 2 + 3 + 21 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 336 + + + 2 + 3 + 21 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 2 + 30 31 1 - 59 - 60 + 35 + 36 1 - 78 - 79 + 86 + 87 1 - 145 - 146 - 1 - - - 625 - 626 + 219 + 220 1 @@ -5772,294 +13238,31 @@ 1 2 - 3 + 4 2 3 2 - - 3 - 4 - 2 - - - 7 - 8 - 1 - - - 10 - 11 - 1 - - - 11 - 12 - 1 - - - 13 - 14 - 1 - - - 25 - 26 - 1 - 30 31 1 - 59 - 60 + 35 + 36 1 - 78 - 79 + 86 + 87 1 - 145 - 146 - 1 - - - 625 - 626 - 1 - - - - - - - parent_index - alternative - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 7 - 8 - 1 - - - 10 - 11 - 1 - - - 11 - 12 - 1 - - - 13 - 14 - 1 - - - 25 - 26 - 1 - - - 30 - 31 - 1 - - - 59 - 60 - 1 - - - 78 - 79 - 1 - - - 145 - 146 - 1 - - - 625 - 626 - 1 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 7 - 8 - 1 - - - 10 - 11 - 1 - - - 11 - 12 - 1 - - - 13 - 14 - 1 - - - 25 - 26 - 1 - - - 30 - 31 - 1 - - - 59 - 60 - 1 - - - 78 - 79 - 1 - - - 145 - 146 - 1 - - - 625 - 626 - 1 - - - - - - - parent_index - consequence - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 7 - 8 - 1 - - - 10 - 11 - 1 - - - 11 - 12 - 1 - - - 13 - 14 - 1 - - - 25 - 26 - 1 - - - 30 - 31 - 1 - - - 59 - 60 - 1 - - - 78 - 79 - 1 - - - 145 - 146 - 1 - - - 625 - 626 + 219 + 220 1 @@ -6076,13 +13279,2873 @@ 1 2 - 3 + 4 2 3 2 + + 30 + 31 + 1 + + + 35 + 36 + 1 + + + 86 + 87 + 1 + + + 219 + 220 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 378 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 378 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 378 + + + + + + + + + destructured_left_assignment_child + 2 + + + destructured_left_assignment + 1 + + + index + 2 + + + child + 2 + + + + + destructured_left_assignment + index + + + 12 + + + 2 + 3 + 1 + + + + + + + destructured_left_assignment + child + + + 12 + + + 2 + 3 + 1 + + + + + + + index + destructured_left_assignment + + + 12 + + + 1 + 2 + 2 + + + + + + + index + child + + + 12 + + + 1 + 2 + 2 + + + + + + + child + destructured_left_assignment + + + 12 + + + 1 + 2 + 2 + + + + + + + child + index + + + 12 + + + 1 + 2 + 2 + + + + + + + + + destructured_left_assignment_def + 1 + + + id + 1 + + + parent + 1 + + + parent_index + 1 + + + loc + 1 + + + + + id + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + + + destructured_parameter_child + 123 + + + destructured_parameter + 60 + + + index + 4 + + + child + 123 + + + + + destructured_parameter + index + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 52 + + + 3 + 5 + 5 + + + + + + + destructured_parameter + child + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 52 + + + 3 + 5 + 5 + + + + + + + index + destructured_parameter + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 57 + 58 + 1 + + + 60 + 61 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 57 + 58 + 1 + + + 60 + 61 + 1 + + + + + + + child + destructured_parameter + + + 12 + + + 1 + 2 + 123 + + + + + + + child + index + + + 12 + + + 1 + 2 + 123 + + + + + + + + + destructured_parameter_def + 60 + + + id + 60 + + + parent + 60 + + + parent_index + 2 + + + loc + 60 + + + + + id + parent + + + 12 + + + 1 + 2 + 60 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 60 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 60 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 60 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 60 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 60 + + + + + + + parent_index + id + + + 12 + + + 16 + 17 + 1 + + + 44 + 45 + 1 + + + + + + + parent_index + parent + + + 12 + + + 16 + 17 + 1 + + + 44 + 45 + 1 + + + + + + + parent_index + loc + + + 12 + + + 16 + 17 + 1 + + + 44 + 45 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 60 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 60 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 60 + + + + + + + + + do_block_child + 119179 + + + do_block + 41023 + + + index + 199 + + + child + 119179 + + + + + do_block + index + + + 12 + + + 1 + 2 + 13115 + + + 2 + 3 + 11511 + + + 3 + 4 + 6610 + + + 4 + 5 + 3550 + + + 5 + 7 + 3284 + + + 7 + 58 + 2950 + + + + + + + do_block + child + + + 12 + + + 1 + 2 + 13115 + + + 2 + 3 + 11511 + + + 3 + 4 + 6610 + + + 4 + 5 + 3550 + + + 5 + 7 + 3284 + + + 7 + 58 + 2950 + + + + + + + index + do_block + + + 12 + + + 1 + 2 + 35 + + + 2 + 3 + 21 + + + 3 + 4 + 7 + + + 5 + 7 + 17 + + + 10 + 14 + 17 + + + 15 + 26 + 17 + + + 29 + 46 + 17 + + + 54 + 117 + 17 + + + 138 + 358 + 17 + + + 457 + 1778 + 17 + + + 2789 + 11693 + 14 + + + + + + + index + child + + + 12 + + + 1 + 2 + 35 + + + 2 + 3 + 21 + + + 3 + 4 + 7 + + + 5 + 7 + 17 + + + 10 + 14 + 17 + + + 15 + 26 + 17 + + + 29 + 46 + 17 + + + 54 + 117 + 17 + + + 138 + 358 + 17 + + + 457 + 1778 + 17 + + + 2789 + 11693 + 14 + + + + + + + child + do_block + + + 12 + + + 1 + 2 + 119179 + + + + + + + child + index + + + 12 + + + 1 + 2 + 119179 + + + + + + + + + do_block_def + 41041 + + + id + 41041 + + + parent + 41041 + + + parent_index + 14 + + + loc + 41041 + + + + + id + parent + + + 12 + + + 1 + 2 + 41041 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 41041 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 41041 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 41041 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 41041 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 41041 + + + + + + + parent_index + id + + + 12 + + + 241 + 242 + 3 + + + 781 + 782 + 3 + + + 1466 + 1467 + 3 + + + 9209 + 9210 + 3 + + + + + + + parent_index + parent + + + 12 + + + 241 + 242 + 3 + + + 781 + 782 + 3 + + + 1466 + 1467 + 3 + + + 9209 + 9210 + 3 + + + + + + + parent_index + loc + + + 12 + + + 241 + 242 + 3 + + + 781 + 782 + 3 + + + 1466 + 1467 + 3 + + + 9209 + 9210 + 3 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 41041 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 41041 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 41041 + + + + + + + + + do_block_parameters + 4433 + + + do_block + 4433 + + + parameters + 4433 + + + + + do_block + parameters + + + 12 + + + 1 + 2 + 4433 + + + + + + + parameters + do_block + + + 12 + + + 1 + 2 + 4433 + + + + + + + + + do_child + 267 + + + do + 113 + + + index + 18 + + + child + 267 + + + + + do + index + + + 12 + + + 1 + 2 + 32 + + + 2 + 3 + 48 + + + 3 + 4 + 17 + + + 4 + 6 + 9 + + + 6 + 19 + 5 + + + + + + + do + child + + + 12 + + + 1 + 2 + 32 + + + 2 + 3 + 48 + + + 3 + 4 + 17 + + + 4 + 6 + 9 + + + 6 + 19 + 5 + + + + + + + index + do + + + 12 + + + 1 + 2 + 9 + + + 2 + 3 + 3 + + + 5 + 6 + 1 + + + 7 + 8 + 1 + + + 14 + 15 + 1 + + + 31 + 32 + 1 + + + 78 + 79 + 1 + + + 110 + 111 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 9 + + + 2 + 3 + 3 + + + 5 + 6 + 1 + + + 7 + 8 + 1 + + + 14 + 15 + 1 + + + 31 + 32 + 1 + + + 78 + 79 + 1 + + + 110 + 111 + 1 + + + + + + + child + do + + + 12 + + + 1 + 2 + 267 + + + + + + + child + index + + + 12 + + + 1 + 2 + 267 + + + + + + + + + do_def + 116 + + + id + 116 + + + parent + 116 + + + parent_index + 2 + + + loc + 116 + + + + + id + parent + + + 12 + + + 1 + 2 + 116 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 116 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 116 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 116 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 116 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 116 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + 112 + 113 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + 112 + 113 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 112 + 113 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 116 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 116 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 116 + + + + + + + + + element_reference_child + 25045 + + + element_reference + 24999 + + + index + 2 + + + child + 25045 + + + + + element_reference + index + + + 12 + + + 1 + 2 + 24952 + + + 2 + 3 + 46 + + + + + + + element_reference + child + + + 12 + + + 1 + 2 + 24952 + + + 2 + 3 + 46 + + + + + + + index + element_reference + + + 12 + + + 45 + 46 + 1 + + + 24265 + 24266 + 1 + + + + + + + index + child + + + 12 + + + 45 + 46 + 1 + + + 24265 + 24266 + 1 + + + + + + + child + element_reference + + + 12 + + + 1 + 2 + 25045 + + + + + + + child + index + + + 12 + + + 1 + 2 + 25045 + + + + + + + + + element_reference_def + 25001 + + + id + 25001 + + + parent + 24210 + + + parent_index + 26 + + + object + 25001 + + + loc + 25001 + + + + + id + parent + + + 12 + + + 1 + 2 + 25001 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 25001 + + + + + + + id + object + + + 12 + + + 1 + 2 + 25001 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 25001 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 23473 + + + 2 + 15 + 737 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 23473 + + + 2 + 15 + 737 + + + + + + + parent + object + + + 12 + + + 1 + 2 + 23473 + + + 2 + 15 + 737 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 23473 + + + 2 + 15 + 737 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 4 + + + 3 + 4 + 2 + + + 4 + 8 + 2 + + + 9 + 39 + 2 + + + 47 + 124 + 2 + + + 479 + 6657 + 2 + + + 7699 + 9182 + 2 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 4 + + + 3 + 4 + 2 + + + 4 + 8 + 2 + + + 9 + 39 + 2 + + + 47 + 124 + 2 + + + 479 + 6657 + 2 + + + 7699 + 9182 + 2 + + + + + + + parent_index + object + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 4 + + + 3 + 4 + 2 + + + 4 + 8 + 2 + + + 9 + 39 + 2 + + + 47 + 124 + 2 + + + 479 + 6657 + 2 + + + 7699 + 9182 + 2 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 4 + + + 3 + 4 + 2 + + + 4 + 8 + 2 + + + 9 + 39 + 2 + + + 47 + 124 + 2 + + + 479 + 6657 + 2 + + + 7699 + 9182 + 2 + + + + + + + object + id + + + 12 + + + 1 + 2 + 25001 + + + + + + + object + parent + + + 12 + + + 1 + 2 + 25001 + + + + + + + object + parent_index + + + 12 + + + 1 + 2 + 25001 + + + + + + + object + loc + + + 12 + + + 1 + 2 + 25001 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 25001 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 25001 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 25001 + + + + + + + loc + object + + + 12 + + + 1 + 2 + 25001 + + + + + + + + + else_child + 2633 + + + else + 2060 + + + index + 12 + + + child + 2633 + + + + + else + index + + + 12 + + + 1 + 2 + 1737 + + + 2 + 3 + 198 + + + 3 + 13 + 125 + + + + + + + else + child + + + 12 + + + 1 + 2 + 1737 + + + 2 + 3 + 198 + + + 3 + 13 + 125 + + + + + + + index + else + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 9 + 10 + 1 + + + 16 + 17 + 1 + + + 28 + 29 + 1 + + + 56 + 57 + 1 + + + 125 + 126 + 1 + + + 323 + 324 + 1 + + + 2060 + 2061 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 6 + 7 + 1 + + + 9 + 10 + 1 + + + 16 + 17 + 1 + + + 28 + 29 + 1 + + + 56 + 57 + 1 + + + 125 + 126 + 1 + + + 323 + 324 + 1 + + + 2060 + 2061 + 1 + + + + + + + child + else + + + 12 + + + 1 + 2 + 2633 + + + + + + + child + index + + + 12 + + + 1 + 2 + 2633 + + + + + + + + + else_def + 2063 + + + id + 2063 + + + parent + 2063 + + + parent_index + 14 + + + loc + 2063 + + + + + id + parent + + + 12 + + + 1 + 2 + 2063 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 2063 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 2063 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 2063 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 2063 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 2063 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + 3 4 @@ -6093,49 +16156,1950 @@ 8 1 + + 9 + 10 + 1 + + + 16 + 17 + 1 + + + 51 + 52 + 1 + + + 126 + 127 + 1 + + + 1841 + 1842 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 7 + 8 + 1 + + + 9 + 10 + 1 + + + 16 + 17 + 1 + + + 51 + 52 + 1 + + + 126 + 127 + 1 + + + 1841 + 1842 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 7 + 8 + 1 + + + 9 + 10 + 1 + + + 16 + 17 + 1 + + + 51 + 52 + 1 + + + 126 + 127 + 1 + + + 1841 + 1842 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 2063 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 2063 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 2063 + + + + + + + + + elsif_alternative + 255 + + + elsif + 255 + + + alternative + 255 + + + + + elsif + alternative + + + 12 + + + 1 + 2 + 255 + + + + + + + alternative + elsif + + + 12 + + + 1 + 2 + 255 + + + + + + + + + elsif_consequence + 470 + + + elsif + 470 + + + consequence + 470 + + + + + elsif + consequence + + + 12 + + + 1 + 2 + 470 + + + + + + + consequence + elsif + + + 12 + + + 1 + 2 + 470 + + + + + + + + + elsif_def + 471 + + + id + 471 + + + parent + 471 + + + parent_index + 2 + + + condition + 471 + + + loc + 471 + + + + + id + parent + + + 12 + + + 1 + 2 + 471 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 471 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 471 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 471 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 471 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 471 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 471 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 471 + + + + + + + parent_index + id + + + 12 + + + 2 + 3 + 1 + + + 456 + 457 + 1 + + + + + + + parent_index + parent + + + 12 + + + 2 + 3 + 1 + + + 456 + 457 + 1 + + + + + + + parent_index + condition + + + 12 + + + 2 + 3 + 1 + + + 456 + 457 + 1 + + + + + + + parent_index + loc + + + 12 + + + 2 + 3 + 1 + + + 456 + 457 + 1 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 471 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 471 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 471 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 471 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 471 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 471 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 471 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 471 + + + + + + + + + end_block_child + 0 + + + end_block + 0 + + + index + 0 + + + child + 0 + + + + + end_block + index + + + 12 + + + + + + end_block + child + + + 12 + + + + + + index + end_block + + + 12 + + + + + + index + child + + + 12 + + + + + + child + end_block + + + 12 + + + 1 + 2 + 1 + + + + + + + child + index + + + 12 + + + 1 + 2 + 1 + + + + + + + + + end_block_def + 0 + + + id + 0 + + + parent + 0 + + + parent_index + 0 + + + loc + 0 + + + + + id + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + id + + + 12 + + + + + + parent + parent_index + + + 12 + + + + + + parent + loc + + + 12 + + + + + + parent_index + id + + + 12 + + + + + + parent_index + parent + + + 12 + + + + + + parent_index + loc + + + 12 + + + + + + loc + id + + + 12 + + + + + + loc + parent + + + 12 + + + + + + loc + parent_index + + + 12 + + + + + + + + ensure_child + 1537 + + + ensure + 1143 + + + index + 16 + + + child + 1537 + + + + + ensure + index + + + 12 + + + 1 + 2 + 893 + + + 2 + 3 + 161 + + + 3 + 9 + 87 + + + 16 + 17 + 2 + + + + + + + ensure + child + + + 12 + + + 1 + 2 + 893 + + + 2 + 3 + 161 + + + 3 + 9 + 87 + + + 16 + 17 + 2 + + + + + + + index + ensure + + + 12 + + + 2 + 3 + 8 + + + 5 + 6 + 2 + + + 6 + 7 + 1 + + + 7 + 8 + 1 + + + 16 + 17 + 1 + + + 89 + 90 + 1 + + + 250 + 251 + 1 + + + 1143 + 1144 + 1 + + + + + + + index + child + + + 12 + + + 2 + 3 + 8 + + + 5 + 6 + 2 + + + 6 + 7 + 1 + + + 7 + 8 + 1 + + + 16 + 17 + 1 + + + 89 + 90 + 1 + + + 250 + 251 + 1 + + + 1143 + 1144 + 1 + + + + + + + child + ensure + + + 12 + + + 1 + 2 + 1537 + + + + + + + child + index + + + 12 + + + 1 + 2 + 1537 + + + + + + + + + ensure_def + 1143 + + + id + 1143 + + + parent + 1143 + + + parent_index + 23 + + + loc + 1143 + + + + + id + parent + + + 12 + + + 1 + 2 + 1143 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1143 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1143 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 1143 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 1143 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 1143 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 4 + + + 3 + 13 + 2 + + + 15 + 21 + 2 + + + 26 + 38 + 2 + + + 40 + 46 + 2 + + + 74 + 96 + 2 + + + 100 + 109 + 2 + + + 138 + 207 + 2 + + + 212 + 213 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 4 + + + 3 + 13 + 2 + + + 15 + 21 + 2 + + + 26 + 38 + 2 + + + 40 + 46 + 2 + + + 74 + 96 + 2 + + + 100 + 109 + 2 + + + 138 + 207 + 2 + + + 212 + 213 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 4 + + + 3 + 13 + 2 + + + 15 + 21 + 2 + + + 26 + 38 + 2 + + + 40 + 46 + 2 + + + 74 + 96 + 2 + + + 100 + 109 + 2 + + + 138 + 207 + 2 + + + 212 + 213 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1143 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1143 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1143 + + + + + + + + + exception_variable_def + 297 + + + id + 297 + + + parent + 297 + + + parent_index + 2 + + + child + 297 + + + loc + 297 + + + + + id + parent + + + 12 + + + 1 + 2 + 297 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 297 + + + + + + + id + child + + + 12 + + + 1 + 2 + 297 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 297 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 297 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 297 + + + + + + + parent + child + + + 12 + + + 1 + 2 + 297 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 297 + + + + + + + parent_index + id + + + 12 + + + 138 + 139 + 1 + + + 151 + 152 + 1 + + + + + + + parent_index + parent + + + 12 + + + 138 + 139 + 1 + + + 151 + 152 + 1 + + + + + + + parent_index + child + + + 12 + + + 138 + 139 + 1 + + + 151 + 152 + 1 + + + + + + + parent_index + loc + + + 12 + + + 138 + 139 + 1 + + + 151 + 152 + 1 + + + + + + + child + id + + + 12 + + + 1 + 2 + 297 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 297 + + + + + + + child + parent_index + + + 12 + + + 1 + 2 + 297 + + + + + + + child + loc + + + 12 + + + 1 + 2 + 297 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 297 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 297 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 297 + + + + + + + loc + child + + + 12 + + + 1 + 2 + 297 + + + + + + + + + exceptions_child + 469 + + + exceptions + 412 + + + index + 8 + + + child + 469 + + + + + exceptions + index + + + 12 + + + 1 + 2 + 370 + + + 2 + 3 + 30 + + + 3 + 9 + 10 + + + + + + + exceptions + child + + + 12 + + + 1 + 2 + 370 + + + 2 + 3 + 30 + + + 3 + 9 + 10 + + + + + + + index + exceptions + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 1 + 10 11 1 - 11 - 12 + 40 + 41 1 - 13 - 14 - 1 - - - 25 - 26 - 1 - - - 30 - 31 - 1 - - - 59 - 60 - 1 - - - 78 - 79 - 1 - - - 145 - 146 - 1 - - - 625 - 626 + 400 + 401 1 @@ -6143,8 +18107,8 @@ - alternative - id + index + child 12 @@ -6152,14 +18116,90 @@ 1 2 - 1049 + 4 + + + 2 + 3 + 1 + + + 10 + 11 + 1 + + + 40 + 41 + 1 + + + 400 + 401 + 1 - alternative + child + exceptions + + + 12 + + + 1 + 2 + 469 + + + + + + + child + index + + + 12 + + + 1 + 2 + 469 + + + + + + + + + exceptions_def + 412 + + + id + 412 + + + parent + 412 + + + parent_index + 1 + + + loc + 412 + + + + + id parent @@ -6168,14 +18208,14 @@ 1 2 - 1049 + 412 - alternative + id parent_index @@ -6184,46 +18224,14 @@ 1 2 - 1049 + 412 - alternative - condition - - - 12 - - - 1 - 2 - 1049 - - - - - - - alternative - consequence - - - 12 - - - 1 - 2 - 1049 - - - - - - - alternative + id loc @@ -6232,14 +18240,14 @@ 1 2 - 1049 + 412 - condition + parent id @@ -6248,30 +18256,14 @@ 1 2 - 1049 + 412 - condition - parent - - - 12 - - - 1 - 2 - 1049 - - - - - - - condition + parent parent_index @@ -6280,46 +18272,14 @@ 1 2 - 1049 + 412 - condition - alternative - - - 12 - - - 1 - 2 - 1049 - - - - - - - condition - consequence - - - 12 - - - 1 - 2 - 1049 - - - - - - - condition + parent loc @@ -6328,103 +18288,55 @@ 1 2 - 1049 + 412 - consequence + parent_index id 12 - 1 - 2 - 1049 + 400 + 401 + 1 - consequence + parent_index parent 12 - 1 - 2 - 1049 + 400 + 401 + 1 - consequence - parent_index - - - 12 - - - 1 - 2 - 1049 - - - - - - - consequence - alternative - - - 12 - - - 1 - 2 - 1049 - - - - - - - consequence - condition - - - 12 - - - 1 - 2 - 1049 - - - - - - - consequence + parent_index loc 12 - 1 - 2 - 1049 + 400 + 401 + 1 @@ -6440,7 +18352,7 @@ 1 2 - 1049 + 412 @@ -6456,7 +18368,7 @@ 1 2 - 1049 + 412 @@ -6472,15 +18384,43 @@ 1 2 - 1049 + 412 + + + + files + 6189 + + + id + 6189 + + + name + 6189 + + + simple + 4817 + + + ext + 7 + + + fromSource + 3 + + + - loc - alternative + id + name 12 @@ -6488,15 +18428,15 @@ 1 2 - 1049 + 6189 - loc - condition + id + simple 12 @@ -6504,15 +18444,15 @@ 1 2 - 1049 + 6189 - loc - consequence + id + ext 12 @@ -6520,7 +18460,470 @@ 1 2 - 1049 + 6189 + + + + + + + id + fromSource + + + 12 + + + 1 + 2 + 6189 + + + + + + + name + id + + + 12 + + + 1 + 2 + 6189 + + + + + + + name + simple + + + 12 + + + 1 + 2 + 6189 + + + + + + + name + ext + + + 12 + + + 1 + 2 + 6189 + + + + + + + name + fromSource + + + 12 + + + 1 + 2 + 6189 + + + + + + + simple + id + + + 12 + + + 1 + 2 + 4259 + + + 2 + 3 + 378 + + + 3 + 44 + 178 + + + + + + + simple + name + + + 12 + + + 1 + 2 + 4259 + + + 2 + 3 + 378 + + + 3 + 44 + 178 + + + + + + + simple + ext + + + 12 + + + 1 + 2 + 4817 + + + + + + + simple + fromSource + + + 12 + + + 1 + 2 + 4817 + + + + + + + ext + id + + + 12 + + + 414 + 415 + 3 + + + 1350 + 1351 + 3 + + + + + + + ext + name + + + 12 + + + 414 + 415 + 3 + + + 1350 + 1351 + 3 + + + + + + + ext + simple + + + 12 + + + 213 + 214 + 3 + + + 1160 + 1161 + 3 + + + + + + + ext + fromSource + + + 12 + + + 1 + 2 + 7 + + + + + + + fromSource + id + + + 12 + + + 1764 + 1765 + 3 + + + + + + + fromSource + name + + + 12 + + + 1764 + 1765 + 3 + + + + + + + fromSource + simple + + + 12 + + + 1373 + 1374 + 3 + + + + + + + fromSource + ext + + + 12 + + + 2 + 3 + 3 + + + + + + + + + folders + 1449 + + + id + 1449 + + + name + 1449 + + + simple + 624 + + + + + id + name + + + 12 + + + 1 + 2 + 1449 + + + + + + + id + simple + + + 12 + + + 1 + 2 + 1449 + + + + + + + name + id + + + 12 + + + 1 + 2 + 1449 + + + + + + + name + simple + + + 12 + + + 1 + 2 + 1449 + + + + + + + simple + id + + + 12 + + + 1 + 2 + 340 + + + 2 + 3 + 147 + + + 3 + 4 + 49 + + + 4 + 7 + 56 + + + 7 + 53 + 31 + + + + + + + simple + name + + + 12 + + + 1 + 2 + 340 + + + 2 + 3 + 147 + + + 3 + 4 + 49 + + + 4 + 7 + 56 + + + 7 + 53 + 31 @@ -7237,25 +19640,25 @@ - element_reference_child - 24925 + hash_child + 14549 - element_reference - 24879 + hash + 6597 index - 2 + 114 child - 24925 + 14549 - element_reference + hash index @@ -7264,970 +19667,35 @@ 1 2 - 24832 + 3358 2 3 - 46 - - - - - - - element_reference - child - - - 12 - - - 1 - 2 - 24832 - - - 2 - 3 - 46 - - - - - - - index - element_reference - - - 12 - - - 45 - 46 - 1 - - - 24095 - 24096 - 1 - - - - - - - index - child - - - 12 - - - 45 - 46 - 1 - - - 24095 - 24096 - 1 - - - - - - - child - element_reference - - - 12 - - - 1 - 2 - 24925 - - - - - - - child - index - - - 12 - - - 1 - 2 - 24925 - - - - - - - - - parenthesized_statements_child - 1629 - - - parenthesized_statements - 1628 - - - index - 2 - - - child - 1629 - - - - - parenthesized_statements - index - - - 12 - - - 1 - 2 - 1627 - - - 2 - 3 - 1 - - - - - - - parenthesized_statements - child - - - 12 - - - 1 - 2 - 1627 - - - 2 - 3 - 1 - - - - - - - index - parenthesized_statements - - - 12 - - - 1 - 2 - 1 - - - 1577 - 1578 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 1 - - - 1577 - 1578 - 1 - - - - - - - child - parenthesized_statements - - - 12 - - - 1 - 2 - 1629 - - - - - - - child - index - - - 12 - - - 1 - 2 - 1629 - - - - - - - - - if_def - 5404 - - - id - 5404 - - - parent - 4153 - - - parent_index - 45 - - - condition - 5404 - - - loc - 5404 - - - - - id - parent - - - 12 - - - 1 - 2 - 5404 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 5404 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 5404 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 5404 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 3446 - - - 2 - 3 - 441 - - - 3 - 14 - 265 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 3446 - - - 2 - 3 - 441 - - - 3 - 14 - 265 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 3446 - - - 2 - 3 - 441 - - - 3 - 14 - 265 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 3446 - - - 2 - 3 - 441 - - - 3 - 14 - 265 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 11 + 1731 3 4 - 4 - - - 5 - 8 - 3 - - - 8 - 10 - 4 - - - 11 - 19 - 4 - - - 34 - 45 - 4 - - - 52 - 119 - 4 - - - 141 - 322 - 4 - - - 400 - 538 - 4 - - - 814 - 1002 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 11 - - - 3 - 4 - 4 - - - 5 - 8 - 3 - - - 8 - 10 - 4 - - - 11 - 19 - 4 - - - 34 - 45 - 4 - - - 52 - 119 - 4 - - - 141 - 322 - 4 - - - 400 - 538 - 4 - - - 814 - 1002 - 2 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 11 - - - 3 - 4 - 4 - - - 5 - 8 - 3 - - - 8 - 10 - 4 - - - 11 - 19 - 4 - - - 34 - 45 - 4 - - - 52 - 119 - 4 - - - 141 - 322 - 4 - - - 400 - 538 - 4 - - - 814 - 1002 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 11 - - - 3 - 4 - 4 - - - 5 - 8 - 3 - - - 8 - 10 - 4 - - - 11 - 19 - 4 - - - 34 - 45 - 4 - - - 52 - 119 - 4 - - - 141 - 322 - 4 - - - 400 - 538 - 4 - - - 814 - 1002 - 2 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 5404 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 5404 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 5404 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 5404 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 5404 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 5404 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 5404 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 5404 - - - - - - - - - break_def - 208 - - - id - 208 - - - parent - 208 - - - parent_index - 6 - - - loc - 208 - - - - - id - parent - - - 12 - - - 1 - 2 - 208 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 208 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 208 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 208 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 208 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 208 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 + 689 4 - 5 - 1 + 6 + 504 - 12 - 13 - 1 - - - 183 - 184 - 1 + 6 + 112 + 313 - parent_index - parent + hash + child 12 @@ -8235,1344 +19703,27 @@ 1 2 - 3 + 3358 + + + 2 + 3 + 1731 + + + 3 + 4 + 689 4 - 5 - 1 - - - 12 - 13 - 1 - - - 183 - 184 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 4 - 5 - 1 - - - 12 - 13 - 1 - - - 183 - 184 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 208 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 208 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 208 - - - - - - - - - right_assignment_list_def - 399 - - - id - 399 - - - parent - 399 - - - parent_index - 1 - - - loc - 399 - - - - - id - parent - - - 12 - - - 1 - 2 - 399 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 399 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 399 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 399 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 399 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 399 - - - - - - - parent_index - id - - - 12 - - - 399 - 400 - 1 - - - - - - - parent_index - parent - - - 12 - - - 399 - 400 - 1 - - - - - - - parent_index - loc - - - 12 - - - 399 - 400 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 399 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 399 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 399 - - - - - - - - - element_reference_def - 24881 - - - id - 24881 - - - parent - 24116 - - - parent_index - 14 - - - object - 24881 - - - loc - 24881 - - - - - id - parent - - - 12 - - - 1 - 2 - 24881 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 24881 - - - - - - - id - object - - - 12 - - - 1 - 2 - 24881 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 24881 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 23386 - - - 2 6 - 730 + 504 - - - - - - parent - parent_index - - - 12 - - 1 - 2 - 23386 - - - 2 - 6 - 730 - - - - - - - parent - object - - - 12 - - - 1 - 2 - 23386 - - - 2 - 6 - 730 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 23386 - - - 2 - 6 - 730 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 38 - 39 - 1 - - - 46 - 47 - 1 - - - 122 - 123 - 1 - - - 475 - 476 - 1 - - - 6614 - 6615 - 1 - - - 7664 - 7665 - 1 - - - 9117 - 9118 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 38 - 39 - 1 - - - 46 - 47 - 1 - - - 122 - 123 - 1 - - - 475 - 476 - 1 - - - 6614 - 6615 - 1 - - - 7664 - 7665 - 1 - - - 9117 - 9118 - 1 - - - - - - - parent_index - object - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 38 - 39 - 1 - - - 46 - 47 - 1 - - - 122 - 123 - 1 - - - 475 - 476 - 1 - - - 6614 - 6615 - 1 - - - 7664 - 7665 - 1 - - - 9117 - 9118 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 38 - 39 - 1 - - - 46 - 47 - 1 - - - 122 - 123 - 1 - - - 475 - 476 - 1 - - - 6614 - 6615 - 1 - - - 7664 - 7665 - 1 - - - 9117 - 9118 - 1 - - - - - - - object - id - - - 12 - - - 1 - 2 - 24881 - - - - - - - object - parent - - - 12 - - - 1 - 2 - 24881 - - - - - - - object - parent_index - - - 12 - - - 1 - 2 - 24881 - - - - - - - object - loc - - - 12 - - - 1 - 2 - 24881 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 24881 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 24881 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 24881 - - - - - - - loc - object - - - 12 - - - 1 - 2 - 24881 - - - - - - - - - yield_child - 331 - - - yield - 331 - - - child - 331 - - - - - yield - child - - - 12 - - - 1 - 2 - 331 - - - - - - - child - yield - - - 12 - - - 1 - 2 - 331 - - - - - - - - - redo_child - 0 - - - redo - 0 - - - child - 0 - - - - - redo - child - - - 12 - - - 1 - 2 - 3 - - - - - - - child - redo - - - 12 - - - 1 - 2 - 3 - - - - - - - - - block_def - 22537 - - - id - 22537 - - - parent - 22537 - - - parent_index - 15 - - - loc - 22537 - - - - - id - parent - - - 12 - - - 1 - 2 - 22537 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 22537 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 22537 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 22537 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 22537 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 22537 - - - - - - - parent_index - id - - - 12 - - - 41 - 42 - 3 - - - 276 - 277 - 3 - - - 2094 - 2095 - 3 - - - 3269 - 3270 - 3 - - - - - - - parent_index - parent - - - 12 - - - 41 - 42 - 3 - - - 276 - 277 - 3 - - - 2094 - 2095 - 3 - - - 3269 - 3270 - 3 - - - - - - - parent_index - loc - - - 12 - - - 41 - 42 - 3 - - - 276 - 277 - 3 - - - 2094 - 2095 - 3 - - - 3269 - 3270 - 3 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 22537 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 22537 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 22537 - - - - - - - - - do_block_child - 125079 - - - do_block - 43019 - - - index - 226 - - - child - 125079 - - - - - do_block - index - - - 12 - - - 1 - 2 - 13879 - - - 2 - 3 - 11879 - - - 3 - 4 - 6860 - - - 4 - 5 - 3781 - - - 5 - 7 - 3571 - - - 7 - 58 - 3047 - - - - - - - do_block - child - - - 12 - - - 1 - 2 - 13879 - - - 2 - 3 - 11879 - - - 3 - 4 - 6860 - - - 4 - 5 - 3781 - - - 5 - 7 - 3571 - - - 7 - 58 - 3047 + 6 + 112 + 313 @@ -9580,7 +19731,7 @@ index - do_block + hash 12 @@ -9588,1370 +19739,47 @@ 1 2 - 39 + 43 2 3 - 23 + 20 3 - 4 - 7 - - - 5 - 7 - 19 - - - 9 - 13 - 19 - - - 14 - 24 - 19 - - - 28 - 44 - 19 - - - 50 - 111 - 19 - - - 126 - 329 - 19 - - - 418 - 1669 - 19 - - - 2621 - 10843 - 15 - - - - - - - index - child - - - 12 - - - 1 - 2 - 39 - - - 2 - 3 - 23 - - - 3 - 4 - 7 - - - 5 - 7 - 19 - - - 9 - 13 - 19 - - - 14 - 24 - 19 - - - 28 - 44 - 19 - - - 50 - 111 - 19 - - - 126 - 329 - 19 - - - 418 - 1669 - 19 - - - 2621 - 10843 - 15 - - - - - - - child - do_block - - - 12 - - - 1 - 2 - 125079 - - - - - - - child - index - - - 12 - - - 1 - 2 - 125079 - - - - - - - - - delimited_symbol_child - 520 - - - delimited_symbol - 377 - - - index - 8 - - - child - 520 - - - - - delimited_symbol - index - - - 12 - - - 1 - 2 - 285 - - - 2 - 3 - 70 - - - 3 - 9 - 22 - - - - - - - delimited_symbol - child - - - 12 - - - 1 - 2 - 285 - - - 2 - 3 - 70 - - - 3 - 9 - 22 - - - - - - - index - delimited_symbol - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 12 - 13 - 1 - - - 22 - 23 - 1 - - - 92 - 93 - 1 - - - 377 - 378 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 12 - 13 - 1 - - - 22 - 23 - 1 - - - 92 - 93 - 1 - - - 377 - 378 - 1 - - - - - - - child - delimited_symbol - - - 12 - - - 1 - 2 - 520 - - - - - - - child - index - - - 12 - - - 1 - 2 - 520 - - - - - - - - - symbol_array_def - 137 - - - id - 137 - - - parent - 137 - - - parent_index - 4 - - - loc - 137 - - - - - id - parent - - - 12 - - - 1 - 2 - 137 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 137 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 137 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 137 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 137 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 137 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 2 - - - 37 - 38 - 1 - - - 94 - 95 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 2 - - - 37 - 38 - 1 - - - 94 - 95 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 2 - - - 37 - 38 - 1 - - - 94 - 95 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 137 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 137 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 137 - - - - - - - - - rest_assignment_def - 17 - - - id - 17 - - - parent - 17 - - - parent_index - 3 - - - loc - 17 - - - - - id - parent - - - 12 - - - 1 - 2 - 17 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 17 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 17 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 17 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 17 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 17 - - - - - - - parent_index - id - - - 12 - - - 3 - 4 - 2 - - - 11 - 12 - 1 - - - - - - - parent_index - parent - - - 12 - - - 3 - 4 - 2 - - - 11 - 12 - 1 - - - - - - - parent_index - loc - - - 12 - - - 3 - 4 - 2 - - - 11 - 12 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 17 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 17 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 17 - - - - - - - - - unless_alternative - 10 - - - unless - 10 - - - alternative - 10 - - - - - unless - alternative - - - 12 - - - 1 - 2 - 10 - - - - - - - alternative - unless - - - 12 - - - 1 - 2 - 10 - - - - - - - - - yield_def - 728 - - - id - 728 - - - parent - 722 - - - parent_index - 12 - - - loc - 728 - - - - - id - parent - - - 12 - - - 1 - 2 - 728 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 728 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 728 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 717 - - - 2 - 4 - 5 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 717 - - - 2 - 4 - 5 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 717 - - - 2 - 4 - 5 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 2 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 16 - 17 - 1 - - - 19 - 20 - 1 - - - 64 - 65 - 1 - - - 70 - 71 - 1 - - - 79 - 80 - 1 - - - 121 - 122 - 1 - - - 171 - 172 - 1 - - - 181 - 182 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 2 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 16 - 17 - 1 - - - 19 - 20 - 1 - - - 64 - 65 - 1 - - - 70 - 71 - 1 - - - 79 - 80 - 1 - - - 121 - 122 - 1 - - - 171 - 172 - 1 - - - 181 - 182 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 2 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 16 - 17 - 1 - - - 19 - 20 - 1 - - - 64 - 65 - 1 - - - 70 - 71 - 1 - - - 79 - 80 - 1 - - - 121 - 122 - 1 - - - 171 - 172 - 1 - - - 181 - 182 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 728 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 728 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 728 - - - - - - - - - right_assignment_list_child - 845 - - - right_assignment_list - 399 - - - index - 5 - - - child - 845 - - - - - right_assignment_list - index - - - 12 - - - 2 - 3 - 364 - - - 3 - 5 - 33 - - - 5 - 6 - 2 - - - - - - - right_assignment_list - child - - - 12 - - - 2 - 3 - 364 - - - 3 - 5 - 33 - - - 5 - 6 - 2 - - - - - - - index - right_assignment_list - - - 12 - - - 2 - 3 - 1 - - - 10 11 - 1 + 4 - 35 - 36 - 1 + 11 + 12 + 9 - 399 - 400 - 2 + 12 + 24 + 9 + + + 24 + 33 + 8 + + + 34 + 69 + 9 + + + 79 + 3145 + 9 + + + 6404 + 6405 + 1 @@ -10964,25 +19792,50 @@ 12 + + 1 + 2 + 43 + 2 3 - 1 + 20 - 10 + 3 11 - 1 + 4 - 35 - 36 - 1 + 11 + 12 + 9 - 399 - 400 - 2 + 12 + 24 + 9 + + + 24 + 33 + 8 + + + 34 + 69 + 9 + + + 79 + 3145 + 9 + + + 6404 + 6405 + 1 @@ -10990,7 +19843,7 @@ child - right_assignment_list + hash 12 @@ -10998,7 +19851,7 @@ 1 2 - 845 + 14549 @@ -11014,792 +19867,7 @@ 1 2 - 845 - - - - - - - - - hash_splat_parameter_def - 395 - - - id - 395 - - - parent - 395 - - - parent_index - 8 - - - loc - 395 - - - - - id - parent - - - 12 - - - 1 - 2 - 395 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 395 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 395 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 395 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 395 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 395 - - - - - - - parent_index - id - - - 12 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 1 - - - 12 - 13 - 1 - - - 43 - 44 - 1 - - - 48 - 49 - 1 - - - 109 - 110 - 1 - - - 165 - 166 - 1 - - - - - - - parent_index - parent - - - 12 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 1 - - - 12 - 13 - 1 - - - 43 - 44 - 1 - - - 48 - 49 - 1 - - - 109 - 110 - 1 - - - 165 - 166 - 1 - - - - - - - parent_index - loc - - - 12 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 1 - - - 12 - 13 - 1 - - - 43 - 44 - 1 - - - 48 - 49 - 1 - - - 109 - 110 - 1 - - - 165 - 166 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 395 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 395 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 395 - - - - - - - - - elsif_def - 454 - - - id - 454 - - - parent - 454 - - - parent_index - 2 - - - condition - 454 - - - loc - 454 - - - - - id - parent - - - 12 - - - 1 - 2 - 454 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 454 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 454 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 454 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 454 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 454 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 454 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 454 - - - - - - - parent_index - id - - - 12 - - - 2 - 3 - 1 - - - 438 - 439 - 1 - - - - - - - parent_index - parent - - - 12 - - - 2 - 3 - 1 - - - 438 - 439 - 1 - - - - - - - parent_index - condition - - - 12 - - - 2 - 3 - 1 - - - 438 - 439 - 1 - - - - - - - parent_index - loc - - - 12 - - - 2 - 3 - 1 - - - 438 - 439 - 1 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 454 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 454 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 454 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 454 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 454 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 454 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 454 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 454 - - - - - - - - - keyword_parameter_value - 718 - - - keyword_parameter - 718 - - - value - 718 - - - - - keyword_parameter - value - - - 12 - - - 1 - 2 - 718 - - - - - - - value - keyword_parameter - - - 12 - - - 1 - 2 - 718 - - - - - - - - - rest_assignment_child - 7 - - - rest_assignment - 7 - - - child - 7 - - - - - rest_assignment - child - - - 12 - - - 1 - 2 - 7 - - - - - - - child - rest_assignment - - - 12 - - - 1 - 2 - 7 + 14549 @@ -11809,15 +19877,15 @@ hash_def - 8261 + 8033 id - 8261 + 8033 parent - 8034 + 7806 parent_index @@ -11825,7 +19893,7 @@ loc - 8261 + 8033 @@ -11839,7 +19907,7 @@ 1 2 - 8261 + 8033 @@ -11855,7 +19923,7 @@ 1 2 - 8261 + 8033 @@ -11871,7 +19939,7 @@ 1 2 - 8261 + 8033 @@ -11887,12 +19955,12 @@ 1 2 - 7914 + 7685 2 15 - 119 + 120 @@ -11908,12 +19976,12 @@ 1 2 - 7914 + 7685 2 15 - 119 + 120 @@ -11929,12 +19997,12 @@ 1 2 - 7914 + 7685 2 15 - 119 + 120 @@ -11959,7 +20027,7 @@ 4 - 7 + 8 2 @@ -11968,13 +20036,13 @@ 2 - 17 + 18 19 2 41 - 57 + 56 2 @@ -11983,13 +20051,13 @@ 2 - 332 - 607 + 337 + 625 2 - 6600 - 6601 + 6373 + 6374 1 @@ -12015,7 +20083,7 @@ 4 - 7 + 8 2 @@ -12024,13 +20092,13 @@ 2 - 17 + 18 19 2 41 - 57 + 56 2 @@ -12039,13 +20107,13 @@ 2 - 332 - 607 + 337 + 625 2 - 6600 - 6601 + 6373 + 6374 1 @@ -12071,7 +20139,7 @@ 4 - 7 + 8 2 @@ -12080,13 +20148,13 @@ 2 - 17 + 18 19 2 41 - 57 + 56 2 @@ -12095,13 +20163,13 @@ 2 - 332 - 607 + 337 + 625 2 - 6600 - 6601 + 6373 + 6374 1 @@ -12118,7 +20186,7 @@ 1 2 - 8261 + 8033 @@ -12134,7 +20202,7 @@ 1 2 - 8261 + 8033 @@ -12150,7 +20218,7 @@ 1 2 - 8261 + 8033 @@ -12159,24 +20227,28 @@ - undef_def - 13 + hash_splat_argument_def + 368 id - 13 + 368 parent + 368 + + + parent_index 12 - parent_index - 6 + child + 368 loc - 13 + 368 @@ -12190,7 +20262,7 @@ 1 2 - 13 + 368 @@ -12206,7 +20278,23 @@ 1 2 - 13 + 368 + + + + + + + id + child + + + 12 + + + 1 + 2 + 368 @@ -12222,7 +20310,7 @@ 1 2 - 13 + 368 @@ -12238,12 +20326,7 @@ 1 2 - 11 - - - 2 - 3 - 1 + 368 @@ -12259,12 +20342,23 @@ 1 2 - 11 + 368 + + + + + + parent + child + + + 12 + - 2 - 3 - 1 + 1 + 2 + 368 @@ -12280,12 +20374,7 @@ 1 2 - 11 - - - 2 - 3 - 1 + 368 @@ -12303,11 +20392,6 @@ 2 3 - - 2 - 3 - 1 - 3 4 @@ -12318,6 +20402,36 @@ 6 1 + + 12 + 13 + 1 + + + 13 + 14 + 1 + + + 26 + 27 + 2 + + + 37 + 38 + 1 + + + 121 + 122 + 1 + + + 122 + 123 + 1 + @@ -12335,10 +20449,61 @@ 3 - 2 - 3 + 3 + 4 1 + + 5 + 6 + 1 + + + 12 + 13 + 1 + + + 13 + 14 + 1 + + + 26 + 27 + 2 + + + 37 + 38 + 1 + + + 121 + 122 + 1 + + + 122 + 123 + 1 + + + + + + + parent_index + child + + + 12 + + + 1 + 2 + 3 + 3 4 @@ -12349,6 +20514,36 @@ 6 1 + + 12 + 13 + 1 + + + 13 + 14 + 1 + + + 26 + 27 + 2 + + + 37 + 38 + 1 + + + 121 + 122 + 1 + + + 122 + 123 + 1 + @@ -12365,11 +20560,6 @@ 2 3 - - 2 - 3 - 1 - 3 4 @@ -12380,6 +20570,100 @@ 6 1 + + 12 + 13 + 1 + + + 13 + 14 + 1 + + + 26 + 27 + 2 + + + 37 + 38 + 1 + + + 121 + 122 + 1 + + + 122 + 123 + 1 + + + + + + + child + id + + + 12 + + + 1 + 2 + 368 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 368 + + + + + + + child + parent_index + + + 12 + + + 1 + 2 + 368 + + + + + + + child + loc + + + 12 + + + 1 + 2 + 368 + @@ -12394,7 +20678,7 @@ 1 2 - 13 + 368 @@ -12410,7 +20694,7 @@ 1 2 - 13 + 368 @@ -12426,7 +20710,23 @@ 1 2 - 13 + 368 + + + + + + + loc + child + + + 12 + + + 1 + 2 + 368 @@ -12435,24 +20735,24 @@ - bare_symbol_def - 667 + hash_splat_parameter_def + 400 id - 667 + 400 parent - 137 + 400 parent_index - 33 + 8 loc - 667 + 400 @@ -12466,7 +20766,7 @@ 1 2 - 667 + 400 @@ -12482,7 +20782,7 @@ 1 2 - 667 + 400 @@ -12498,7 +20798,7 @@ 1 2 - 667 + 400 @@ -12514,42 +20814,7 @@ 1 2 - 50 - - - 2 - 3 - 25 - - - 3 - 4 - 11 - - - 4 - 6 - 12 - - - 6 - 8 - 11 - - - 8 - 15 - 12 - - - 15 - 22 - 10 - - - 24 - 33 - 3 + 400 @@ -12565,42 +20830,7 @@ 1 2 - 50 - - - 2 - 3 - 25 - - - 3 - 4 - 11 - - - 4 - 6 - 12 - - - 6 - 8 - 11 - - - 8 - 15 - 12 - - - 15 - 22 - 10 - - - 24 - 33 - 3 + 400 @@ -12616,42 +20846,7 @@ 1 2 - 50 - - - 2 - 3 - 25 - - - 3 - 4 - 11 - - - 4 - 6 - 12 - - - 6 - 8 - 11 - - - 8 - 15 - 12 - - - 15 - 22 - 10 - - - 24 - 33 - 3 + 400 @@ -12664,35 +20859,20 @@ 12 - - 1 - 2 - 6 - - - 2 - 3 - 2 - 3 4 - 3 + 1 4 - 6 - 2 + 5 + 1 - 6 - 7 - 2 - - - 9 - 11 - 2 + 11 + 12 + 1 13 @@ -12700,39 +20880,24 @@ 1 - 16 - 17 - 2 - - - 19 - 22 - 2 - - - 22 - 24 - 2 - - - 25 - 32 - 2 - - - 36 - 42 - 2 + 43 + 44 + 1 48 - 60 - 2 + 49 + 1 - 84 - 134 - 2 + 111 + 112 + 1 + + + 167 + 168 + 1 @@ -12745,35 +20910,20 @@ 12 - - 1 - 2 - 6 - - - 2 - 3 - 2 - 3 4 - 3 + 1 4 - 6 - 2 + 5 + 1 - 6 - 7 - 2 - - - 9 - 11 - 2 + 11 + 12 + 1 13 @@ -12781,39 +20931,24 @@ 1 - 16 - 17 - 2 - - - 19 - 22 - 2 - - - 22 - 24 - 2 - - - 25 - 32 - 2 - - - 36 - 42 - 2 + 43 + 44 + 1 48 - 60 - 2 + 49 + 1 - 84 - 134 - 2 + 111 + 112 + 1 + + + 167 + 168 + 1 @@ -12826,35 +20961,20 @@ 12 - - 1 - 2 - 6 - - - 2 - 3 - 2 - 3 4 - 3 + 1 4 - 6 - 2 + 5 + 1 - 6 - 7 - 2 - - - 9 - 11 - 2 + 11 + 12 + 1 13 @@ -12862,39 +20982,24 @@ 1 - 16 - 17 - 2 - - - 19 - 22 - 2 - - - 22 - 24 - 2 - - - 25 - 32 - 2 - - - 36 - 42 - 2 + 43 + 44 + 1 48 - 60 - 2 + 49 + 1 - 84 - 134 - 2 + 111 + 112 + 1 + + + 167 + 168 + 1 @@ -12910,7 +21015,7 @@ 1 2 - 667 + 400 @@ -12926,7 +21031,7 @@ 1 2 - 667 + 400 @@ -12942,7 +21047,7 @@ 1 2 - 667 + 400 @@ -12951,21 +21056,21 @@ - splat_parameter_name - 757 + hash_splat_parameter_name + 336 - splat_parameter - 757 + hash_splat_parameter + 336 name - 757 + 336 - splat_parameter + hash_splat_parameter name @@ -12974,7 +21079,7 @@ 1 2 - 757 + 336 @@ -12982,7 +21087,7 @@ name - splat_parameter + hash_splat_parameter 12 @@ -12990,7 +21095,283 @@ 1 2 - 757 + 336 + + + + + + + + + heredoc_body_child + 7155 + + + heredoc_body + 1560 + + + index + 72 + + + child + 7155 + + + + + heredoc_body + index + + + 12 + + + 2 + 3 + 878 + + + 4 + 5 + 183 + + + 5 + 6 + 1 + + + 6 + 7 + 235 + + + 7 + 9 + 93 + + + 10 + 15 + 119 + + + 16 + 71 + 48 + + + + + + + heredoc_body + child + + + 12 + + + 2 + 3 + 878 + + + 4 + 5 + 183 + + + 5 + 6 + 1 + + + 6 + 7 + 235 + + + 7 + 9 + 93 + + + 10 + 15 + 119 + + + 16 + 71 + 48 + + + + + + + index + heredoc_body + + + 12 + + + 1 + 2 + 20 + + + 2 + 3 + 6 + + + 3 + 4 + 4 + + + 4 + 7 + 5 + + + 7 + 8 + 3 + + + 9 + 12 + 6 + + + 12 + 22 + 6 + + + 24 + 48 + 6 + + + 72 + 164 + 6 + + + 250 + 663 + 6 + + + 1515 + 1516 + 2 + + + + + + + index + child + + + 12 + + + 1 + 2 + 20 + + + 2 + 3 + 6 + + + 3 + 4 + 4 + + + 4 + 7 + 5 + + + 7 + 8 + 3 + + + 9 + 12 + 6 + + + 12 + 22 + 6 + + + 24 + 48 + 6 + + + 72 + 164 + 6 + + + 250 + 663 + 6 + + + 1515 + 1516 + 2 + + + + + + + child + heredoc_body + + + 12 + + + 1 + 2 + 7155 + + + + + + + child + index + + + 12 + + + 1 + 2 + 7155 @@ -13000,23 +21381,23 @@ heredoc_body_def - 1553 + 1560 id - 1553 + 1560 parent - 436 + 441 parent_index - 82 + 84 loc - 1553 + 1560 @@ -13030,7 +21411,7 @@ 1 2 - 1553 + 1560 @@ -13046,7 +21427,7 @@ 1 2 - 1553 + 1560 @@ -13062,7 +21443,7 @@ 1 2 - 1553 + 1560 @@ -13078,12 +21459,12 @@ 1 2 - 220 + 223 2 3 - 80 + 83 3 @@ -13093,7 +21474,7 @@ 4 6 - 34 + 33 6 @@ -13102,13 +21483,13 @@ 10 - 57 + 59 33 - 58 + 62 63 - 2 + 1 @@ -13124,12 +21505,12 @@ 1 2 - 220 + 223 2 3 - 80 + 83 3 @@ -13139,7 +21520,7 @@ 4 6 - 34 + 33 6 @@ -13148,13 +21529,13 @@ 10 - 57 + 59 33 - 58 + 62 63 - 2 + 1 @@ -13170,12 +21551,12 @@ 1 2 - 220 + 223 2 3 - 80 + 83 3 @@ -13185,7 +21566,7 @@ 4 6 - 34 + 33 6 @@ -13194,13 +21575,13 @@ 10 - 57 + 59 33 - 58 + 62 63 - 2 + 1 @@ -13216,7 +21597,7 @@ 1 2 - 13 + 16 2 @@ -13225,13 +21606,8 @@ 3 - 4 - 4 - - - 4 5 - 4 + 7 5 @@ -13241,12 +21617,12 @@ 6 7 - 6 + 5 7 8 - 5 + 6 8 @@ -13265,23 +21641,18 @@ 19 - 27 - 6 - - - 28 - 44 + 28 7 - 55 - 158 - 6 + 29 + 56 + 7 - 233 - 234 - 1 + 61 + 238 + 6 @@ -13297,7 +21668,7 @@ 1 2 - 13 + 16 2 @@ -13306,13 +21677,8 @@ 3 - 4 - 4 - - - 4 5 - 4 + 7 5 @@ -13322,12 +21688,12 @@ 6 7 - 6 + 5 7 8 - 5 + 6 8 @@ -13346,23 +21712,18 @@ 19 - 27 - 6 - - - 28 - 44 + 28 7 - 55 - 158 - 6 + 29 + 56 + 7 - 233 - 234 - 1 + 61 + 238 + 6 @@ -13378,7 +21739,7 @@ 1 2 - 13 + 16 2 @@ -13387,13 +21748,8 @@ 3 - 4 - 4 - - - 4 5 - 4 + 7 5 @@ -13403,12 +21759,12 @@ 6 7 - 6 + 5 7 8 - 5 + 6 8 @@ -13427,24 +21783,19 @@ 19 - 27 - 6 - - - 28 - 44 + 28 7 - 55 - 158 + 29 + 56 + 7 + + + 61 + 238 6 - - 233 - 234 - 1 - @@ -13459,7 +21810,7 @@ 1 2 - 1553 + 1560 @@ -13475,7 +21826,7 @@ 1 2 - 1553 + 1560 @@ -13491,7 +21842,7 @@ 1 2 - 1553 + 1560 @@ -13500,24 +21851,124 @@ - else_def - 2082 + if_alternative + 1902 + + + if + 1902 + + + alternative + 1902 + + + + + if + alternative + + + 12 + + + 1 + 2 + 1902 + + + + + + + alternative + if + + + 12 + + + 1 + 2 + 1902 + + + + + + + + + if_consequence + 5585 + + + if + 5585 + + + consequence + 5585 + + + + + if + consequence + + + 12 + + + 1 + 2 + 5585 + + + + + + + consequence + if + + + 12 + + + 1 + 2 + 5585 + + + + + + + + + if_def + 5600 id - 2082 + 5600 parent - 2082 + 4280 parent_index - 14 + 45 + + + condition + 5600 loc - 2082 + 5600 @@ -13531,7 +21982,7 @@ 1 2 - 2082 + 5600 @@ -13547,7 +21998,23 @@ 1 2 - 2082 + 5600 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 5600 @@ -13563,7 +22030,7 @@ 1 2 - 2082 + 5600 @@ -13579,7 +22046,17 @@ 1 2 - 2082 + 3534 + + + 2 + 3 + 463 + + + 3 + 14 + 282 @@ -13595,7 +22072,43 @@ 1 2 - 2082 + 3534 + + + 2 + 3 + 463 + + + 3 + 14 + 282 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 3534 + + + 2 + 3 + 463 + + + 3 + 14 + 282 @@ -13611,7 +22124,17 @@ 1 2 - 2082 + 3534 + + + 2 + 3 + 463 + + + 3 + 14 + 282 @@ -13627,46 +22150,51 @@ 1 2 - 5 - - - 2 - 3 - 1 + 11 3 - 4 - 2 + 5 + 4 - 7 - 8 - 1 + 5 + 9 + 4 9 - 10 - 1 + 12 + 4 - 16 - 17 - 1 + 12 + 37 + 4 - 51 + 37 52 - 1 + 4 - 125 - 126 - 1 + 54 + 147 + 4 - 1861 - 1862 + 199 + 442 + 4 + + + 496 + 837 + 4 + + + 1037 + 1038 1 @@ -13683,46 +22211,112 @@ 1 2 - 5 - - - 2 - 3 - 1 + 11 3 - 4 - 2 + 5 + 4 - 7 - 8 - 1 + 5 + 9 + 4 9 - 10 - 1 + 12 + 4 - 16 - 17 - 1 + 12 + 37 + 4 - 51 + 37 52 - 1 + 4 - 125 - 126 - 1 + 54 + 147 + 4 - 1861 - 1862 + 199 + 442 + 4 + + + 496 + 837 + 4 + + + 1037 + 1038 + 1 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 11 + + + 3 + 5 + 4 + + + 5 + 9 + 4 + + + 9 + 12 + 4 + + + 12 + 37 + 4 + + + 37 + 52 + 4 + + + 54 + 147 + 4 + + + 199 + 442 + 4 + + + 496 + 837 + 4 + + + 1037 + 1038 1 @@ -13739,52 +22333,121 @@ 1 2 - 5 - - - 2 - 3 - 1 + 11 3 - 4 - 2 + 5 + 4 - 7 - 8 - 1 + 5 + 9 + 4 9 - 10 - 1 + 12 + 4 - 16 - 17 - 1 + 12 + 37 + 4 - 51 + 37 52 - 1 + 4 - 125 - 126 - 1 + 54 + 147 + 4 - 1861 - 1862 + 199 + 442 + 4 + + + 496 + 837 + 4 + + + 1037 + 1038 1 + + condition + id + + + 12 + + + 1 + 2 + 5600 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 5600 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 5600 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 5600 + + + + + loc id @@ -13795,7 +22458,7 @@ 1 2 - 2082 + 5600 @@ -13811,7 +22474,7 @@ 1 2 - 2082 + 5600 @@ -13827,7 +22490,23 @@ 1 2 - 2082 + 5600 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 5600 @@ -13836,28 +22515,32 @@ - keyword_parameter_def - 977 + if_modifier_def + 4159 id - 977 + 4159 parent - 475 + 2955 parent_index - 11 + 37 - name - 977 + body + 4159 + + + condition + 4159 loc - 977 + 4159 @@ -13871,7 +22554,7 @@ 1 2 - 977 + 4159 @@ -13887,7 +22570,7 @@ 1 2 - 977 + 4159 @@ -13895,7 +22578,7 @@ id - name + body 12 @@ -13903,7 +22586,23 @@ 1 2 - 977 + 4159 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 4159 @@ -13919,7 +22618,7 @@ 1 2 - 977 + 4159 @@ -13935,27 +22634,22 @@ 1 2 - 258 + 2223 2 3 - 79 + 489 3 - 4 - 63 + 8 + 232 - 4 - 5 - 48 - - - 5 - 12 - 27 + 8 + 13 + 10 @@ -13971,27 +22665,22 @@ 1 2 - 258 + 2223 2 3 - 79 + 489 3 - 4 - 63 + 8 + 232 - 4 - 5 - 48 - - - 5 - 12 - 27 + 8 + 13 + 10 @@ -13999,7 +22688,7 @@ parent - name + body 12 @@ -14007,27 +22696,53 @@ 1 2 - 258 + 2223 2 3 - 79 + 489 3 - 4 - 63 + 8 + 232 - 4 - 5 - 48 + 8 + 13 + 10 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 2223 - 5 - 12 - 27 + 2 + 3 + 489 + + + 3 + 8 + 232 + + + 8 + 13 + 10 @@ -14043,554 +22758,22 @@ 1 2 - 258 + 2223 2 3 - 79 + 489 3 - 4 - 63 + 8 + 232 - 4 - 5 - 48 - - - 5 - 12 - 27 - - - - - - - parent_index - id - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 9 - 10 - 1 - - - 18 - 19 - 1 - - - 31 - 32 - 1 - - - 73 - 74 - 1 - - - 148 - 149 - 1 - - - 153 - 154 - 1 - - - 228 - 229 - 1 - - - 308 - 309 - 1 - - - - - - - parent_index - parent - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 9 - 10 - 1 - - - 18 - 19 - 1 - - - 31 - 32 - 1 - - - 73 - 74 - 1 - - - 148 - 149 - 1 - - - 153 - 154 - 1 - - - 228 - 229 - 1 - - - 308 - 309 - 1 - - - - - - - parent_index - name - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 9 - 10 - 1 - - - 18 - 19 - 1 - - - 31 - 32 - 1 - - - 73 - 74 - 1 - - - 148 - 149 - 1 - - - 153 - 154 - 1 - - - 228 - 229 - 1 - - - 308 - 309 - 1 - - - - - - - parent_index - loc - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 9 - 10 - 1 - - - 18 - 19 - 1 - - - 31 - 32 - 1 - - - 73 - 74 - 1 - - - 148 - 149 - 1 - - - 153 - 154 - 1 - - - 228 - 229 - 1 - - - 308 - 309 - 1 - - - - - - - name - id - - - 12 - - - 1 - 2 - 977 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 977 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 977 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 977 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 977 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 977 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 977 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 977 - - - - - - - - - delimited_symbol_def - 377 - - - id - 377 - - - parent - 356 - - - parent_index - 10 - - - loc - 377 - - - - - id - parent - - - 12 - - - 1 - 2 - 377 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 377 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 377 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 335 - - - 2 - 3 - 21 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 335 - - - 2 - 3 - 21 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 335 - - - 2 - 3 - 21 + 8 + 13 + 10 @@ -14614,24 +22797,49 @@ 2 - 30 - 31 - 1 + 3 + 4 + 7 - 35 - 36 - 1 + 4 + 6 + 3 - 85 - 86 - 1 + 6 + 9 + 3 - 219 - 220 - 1 + 11 + 22 + 3 + + + 32 + 55 + 3 + + + 72 + 127 + 3 + + + 178 + 291 + 3 + + + 380 + 546 + 3 + + + 690 + 853 + 2 @@ -14655,24 +22863,181 @@ 2 - 30 - 31 - 1 + 3 + 4 + 7 - 35 - 36 - 1 + 4 + 6 + 3 - 85 - 86 - 1 + 6 + 9 + 3 - 219 - 220 - 1 + 11 + 22 + 3 + + + 32 + 55 + 3 + + + 72 + 127 + 3 + + + 178 + 291 + 3 + + + 380 + 546 + 3 + + + 690 + 853 + 2 + + + + + + + parent_index + body + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 2 + + + 3 + 4 + 7 + + + 4 + 6 + 3 + + + 6 + 9 + 3 + + + 11 + 22 + 3 + + + 32 + 55 + 3 + + + 72 + 127 + 3 + + + 178 + 291 + 3 + + + 380 + 546 + 3 + + + 690 + 853 + 2 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 2 + + + 3 + 4 + 7 + + + 4 + 6 + 3 + + + 6 + 9 + 3 + + + 11 + 22 + 3 + + + 32 + 55 + 3 + + + 72 + 127 + 3 + + + 178 + 291 + 3 + + + 380 + 546 + 3 + + + 690 + 853 + 2 @@ -14696,24 +23061,209 @@ 2 - 30 - 31 - 1 + 3 + 4 + 7 - 35 - 36 - 1 + 4 + 6 + 3 - 85 - 86 - 1 + 6 + 9 + 3 - 219 - 220 - 1 + 11 + 22 + 3 + + + 32 + 55 + 3 + + + 72 + 127 + 3 + + + 178 + 291 + 3 + + + 380 + 546 + 3 + + + 690 + 853 + 2 + + + + + + + body + id + + + 12 + + + 1 + 2 + 4159 + + + + + + + body + parent + + + 12 + + + 1 + 2 + 4159 + + + + + + + body + parent_index + + + 12 + + + 1 + 2 + 4159 + + + + + + + body + condition + + + 12 + + + 1 + 2 + 4159 + + + + + + + body + loc + + + 12 + + + 1 + 2 + 4159 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 4159 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 4159 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 4159 + + + + + + + condition + body + + + 12 + + + 1 + 2 + 4159 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 4159 @@ -14729,7 +23279,7 @@ 1 2 - 377 + 4159 @@ -14745,7 +23295,7 @@ 1 2 - 377 + 4159 @@ -14761,7 +23311,39 @@ 1 2 - 377 + 4159 + + + + + + + loc + body + + + 12 + + + 1 + 2 + 4159 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 4159 @@ -15118,578 +23700,21 @@ - argument_list_def - 216777 + interpolation_child + 11519 - id - 216777 - - - parent - 216777 - - - parent_index - 7 - - - loc - 216777 - - - - - id - parent - - - 12 - - - 1 - 2 - 216777 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 216777 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 216777 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 216777 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 216777 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 216777 - - - - - - - parent_index - id - - - 12 - - - 16810 - 16811 - 3 - - - 37823 - 37824 - 3 - - - - - - - parent_index - parent - - - 12 - - - 16810 - 16811 - 3 - - - 37823 - 37824 - 3 - - - - - - - parent_index - loc - - - 12 - - - 16810 - 16811 - 3 - - - 37823 - 37824 - 3 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 216777 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 216777 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 216777 - - - - - - - - - then_def - 7224 - - - id - 7224 - - - parent - 7224 - - - parent_index - 7 - - - loc - 7224 - - - - - id - parent - - - 12 - - - 1 - 2 - 7224 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 7224 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 7224 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 7224 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 7224 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 7224 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 27 - 28 - 1 - - - 51 - 52 - 1 - - - 147 - 148 - 1 - - - 6766 - 6767 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 27 - 28 - 1 - - - 51 - 52 - 1 - - - 147 - 148 - 1 - - - 6766 - 6767 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 27 - 28 - 1 - - - 51 - 52 - 1 - - - 147 - 148 - 1 - - - 6766 - 6767 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 7224 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 7224 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 7224 - - - - - - - - - undef_child - 13 - - - undef - 13 - - - index - 1 + interpolation + 11519 child - 13 + 11519 - undef - index - - - 12 - - - 1 - 2 - 13 - - - - - - - undef + interpolation child @@ -15698,39 +23723,7 @@ 1 2 - 13 - - - - - - - index - undef - - - 12 - - - 13 - 14 - 1 - - - - - - - index - child - - - 12 - - - 13 - 14 - 1 + 11519 @@ -15738,7 +23731,7 @@ child - undef + interpolation 12 @@ -15746,23 +23739,7 @@ 1 2 - 13 - - - - - - - child - index - - - 12 - - - 1 - 2 - 13 + 11519 @@ -15771,28 +23748,24 @@ - setter_def - 180 + interpolation_def + 11519 id - 180 + 11519 parent - 180 + 7655 parent_index - 2 - - - name - 180 + 52 loc - 180 + 11519 @@ -15806,7 +23779,7 @@ 1 2 - 180 + 11519 @@ -15822,23 +23795,7 @@ 1 2 - 180 - - - - - - - id - name - - - 12 - - - 1 - 2 - 180 + 11519 @@ -15854,7 +23811,7 @@ 1 2 - 180 + 11519 @@ -15870,1093 +23827,30 @@ 1 2 - 180 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 180 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 180 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 180 - - - - - - - parent_index - id - - - 12 - - - 16 - 17 - 1 - - - 164 - 165 - 1 - - - - - - - parent_index - parent - - - 12 - - - 16 - 17 - 1 - - - 164 - 165 - 1 - - - - - - - parent_index - name - - - 12 - - - 16 - 17 - 1 - - - 164 - 165 - 1 - - - - - - - parent_index - loc - - - 12 - - - 16 - 17 - 1 - - - 164 - 165 - 1 - - - - - - - name - id - - - 12 - - - 1 - 2 - 180 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 180 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 180 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 180 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 180 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 180 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 180 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 180 - - - - - - - - - assignment_def - 38405 - - - id - 38405 - - - parent - 22745 - - - parent_index - 89 - - - left - 38405 - - - right - 38405 - - - loc - 38405 - - - - - id - parent - - - 12 - - - 1 - 2 - 38405 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 38405 - - - - - - - id - left - - - 12 - - - 1 - 2 - 38405 - - - - - - - id - right - - - 12 - - - 1 - 2 - 38405 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 38405 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 14276 + 5240 2 3 - 5076 + 1725 3 - 4 - 1836 - - - 4 - 48 - 1557 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 14276 - - - 2 - 3 - 5076 - - - 3 - 4 - 1836 - - - 4 - 48 - 1557 - - - - - - - parent - left - - - 12 - - - 1 - 2 - 14276 - - - 2 - 3 - 5076 - - - 3 - 4 - 1836 - - - 4 - 48 - 1557 - - - - - - - parent - right - - - 12 - - - 1 - 2 - 14276 - - - 2 - 3 - 5076 - - - 3 - 4 - 1836 - - - 4 - 48 - 1557 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 14276 - - - 2 - 3 - 5076 - - - 3 - 4 - 1836 - - - 4 - 48 - 1557 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 12 - - - 3 - 4 - 8 - - - 4 - 7 - 7 - - - 9 - 22 - 8 - - - 25 - 103 - 7 - - - 119 - 869 - 7 - - - 1380 - 11278 - 7 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 12 - - - 3 - 4 - 8 - - - 4 - 7 - 7 - - - 9 - 22 - 8 - - - 25 - 103 - 7 - - - 119 - 869 - 7 - - - 1380 - 11278 - 7 - - - - - - - parent_index - left - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 12 - - - 3 - 4 - 8 - - - 4 - 7 - 7 - - - 9 - 22 - 8 - - - 25 - 103 - 7 - - - 119 - 869 - 7 - - - 1380 - 11278 - 7 - - - - - - - parent_index - right - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 12 - - - 3 - 4 - 8 - - - 4 - 7 - 7 - - - 9 - 22 - 8 - - - 25 - 103 - 7 - - - 119 - 869 - 7 - - - 1380 - 11278 - 7 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 12 - - - 3 - 4 - 8 - - - 4 - 7 - 7 - - - 9 - 22 - 8 - - - 25 - 103 - 7 - - - 119 - 869 - 7 - - - 1380 - 11278 - 7 - - - - - - - left - id - - - 12 - - - 1 - 2 - 38405 - - - - - - - left - parent - - - 12 - - - 1 - 2 - 38405 - - - - - - - left - parent_index - - - 12 - - - 1 - 2 - 38405 - - - - - - - left - right - - - 12 - - - 1 - 2 - 38405 - - - - - - - left - loc - - - 12 - - - 1 - 2 - 38405 - - - - - - - right - id - - - 12 - - - 1 - 2 - 38405 - - - - - - - right - parent - - - 12 - - - 1 - 2 - 38405 - - - - - - - right - parent_index - - - 12 - - - 1 - 2 - 38405 - - - - - - - right - left - - - 12 - - - 1 - 2 - 38405 - - - - - - - right - loc - - - 12 - - - 1 - 2 - 38405 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 38405 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 38405 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 38405 - - - - - - - loc - left - - - 12 - - - 1 - 2 - 38405 - - - - - - - loc - right - - - 12 - - - 1 - 2 - 38405 - - - - - - - - - do_child - 268 - - - do - 113 - - - index - 18 - - - child - 268 - - - - - do - index - - - 12 - - - 1 - 2 - 33 - - - 2 - 3 - 48 - - - 3 - 4 - 17 - - - 4 6 - 9 + 602 6 - 19 - 5 + 35 + 86 - do - child + parent + parent_index 12 @@ -16964,373 +23858,183 @@ 1 2 - 33 + 5240 2 3 - 48 + 1725 3 - 4 - 17 - - - 4 6 - 9 + 602 6 - 19 + 35 + 86 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 5240 + + + 2 + 3 + 1725 + + + 3 + 6 + 602 + + + 6 + 35 + 86 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 14 + + + 2 + 3 5 - - - - - - index - do - - - 12 - - 1 - 2 - 9 - - - 2 - 3 - 3 + 3 + 5 + 4 5 - 6 - 1 + 7 + 4 7 - 8 - 1 + 10 + 4 - 14 - 15 - 1 - - - 31 - 32 - 1 - - - 78 - 79 - 1 - - - 110 - 111 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 3 - - - 5 - 6 - 1 - - - 7 - 8 - 1 - - - 14 - 15 - 1 - - - 31 - 32 - 1 - - - 78 - 79 - 1 - - - 110 - 111 - 1 - - - - - - - child - do - - - 12 - - - 1 - 2 - 268 - - - - - - - child - index - - - 12 - - - 1 - 2 - 268 - - - - - - - - - string_child - 121888 - - - string__ - 88031 - - - index - 124 - - - child - 121888 - - - - - string__ - index - - - 12 - - - 1 - 2 - 81243 - - - 2 - 49 - 6634 - - - 50 - 125 - 154 - - - - - - - string__ - child - - - 12 - - - 1 - 2 - 81243 - - - 2 - 49 - 6634 - - - 50 - 125 - 154 - - - - - - - index - string__ - - - 12 - - - 1 + 11 19 4 - 61 - 62 - 13 + 20 + 34 + 4 - 62 - 63 - 37 + 45 + 107 + 4 - 64 - 82 - 8 + 110 + 401 + 4 - 142 - 144 - 10 - - - 144 - 190 - 10 - - - 190 - 206 - 10 - - - 209 - 351 - 10 - - - 380 - 463 - 10 - - - 468 - 3397 - 10 - - - 6788 - 88032 - 2 + 1120 + 4785 + 4 - index - child + parent_index + parent 12 1 + 2 + 14 + + + 2 + 3 + 5 + + + 3 + 5 + 4 + + + 5 + 7 + 4 + + + 7 + 10 + 4 + + + 11 19 4 - 61 - 62 - 13 + 20 + 34 + 4 - 62 - 63 - 37 + 45 + 107 + 4 - 64 - 82 - 8 + 110 + 401 + 4 - 142 - 144 - 10 - - - 144 - 190 - 10 - - - 190 - 206 - 10 - - - 209 - 351 - 10 - - - 380 - 463 - 10 - - - 468 - 3397 - 10 - - - 6788 - 88032 - 2 + 1120 + 4785 + 4 - child - string__ + parent_index + loc 12 @@ -17338,15 +24042,60 @@ 1 2 - 121888 + 14 + + + 2 + 3 + 5 + + + 3 + 5 + 4 + + + 5 + 7 + 4 + + + 7 + 10 + 4 + + + 11 + 19 + 4 + + + 20 + 34 + 4 + + + 45 + 107 + 4 + + + 110 + 401 + 4 + + + 1120 + 4785 + 4 - child - index + loc + id 12 @@ -17354,7 +24103,39 @@ 1 2 - 121888 + 11519 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 11519 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 11519 @@ -17363,28 +24144,28 @@ - hash_splat_argument_def - 364 + keyword_parameter_def + 997 id - 364 + 997 parent - 364 + 485 parent_index 11 - child - 364 + name + 997 loc - 364 + 997 @@ -17398,7 +24179,7 @@ 1 2 - 364 + 997 @@ -17414,7 +24195,7 @@ 1 2 - 364 + 997 @@ -17422,7 +24203,7 @@ id - child + name 12 @@ -17430,7 +24211,7 @@ 1 2 - 364 + 997 @@ -17446,7 +24227,7 @@ 1 2 - 364 + 997 @@ -17462,495 +24243,26 @@ 1 2 - 364 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 364 - - - - - - - parent - child - - - 12 - - - 1 - 2 - 364 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 364 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 2 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 12 - 13 - 1 - - - 13 - 14 - 1 - - - 26 - 27 - 2 - - - 37 - 38 - 1 - - - 119 - 120 - 1 - - - 121 - 122 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 2 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 12 - 13 - 1 - - - 13 - 14 - 1 - - - 26 - 27 - 2 - - - 37 - 38 - 1 - - - 119 - 120 - 1 - - - 121 - 122 - 1 - - - - - - - parent_index - child - - - 12 - - - 1 - 2 - 2 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 12 - 13 - 1 - - - 13 - 14 - 1 - - - 26 - 27 - 2 - - - 37 - 38 - 1 - - - 119 - 120 - 1 - - - 121 - 122 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 2 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 12 - 13 - 1 - - - 13 - 14 - 1 - - - 26 - 27 - 2 - - - 37 - 38 - 1 - - - 119 - 120 - 1 - - - 121 - 122 - 1 - - - - - - - child - id - - - 12 - - - 1 - 2 - 364 - - - - - - - child - parent - - - 12 - - - 1 - 2 - 364 - - - - - - - child - parent_index - - - 12 - - - 1 - 2 - 364 - - - - - - - child - loc - - - 12 - - - 1 - 2 - 364 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 364 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 364 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 364 - - - - - - - loc - child - - - 12 - - - 1 - 2 - 364 - - - - - - - - - if_alternative - 1922 - - - if - 1922 - - - alternative - 1922 - - - - - if - alternative - - - 12 - - - 1 - 2 - 1922 - - - - - - - alternative - if - - - 12 - - - 1 - 2 - 1922 - - - - - - - - - block_child - 22525 - - - block - 22482 - - - index - 15 - - - child - 22525 - - - - - block - index - - - 12 - - - 1 - 2 - 22454 + 259 2 + 3 + 87 + + + 3 + 4 + 64 + + + 4 5 + 48 + + + 5 + 12 27 @@ -17958,8 +24270,8 @@ - block - child + parent + parent_index 12 @@ -17967,11 +24279,26 @@ 1 2 - 22454 + 259 2 + 3 + 87 + + + 3 + 4 + 64 + + + 4 5 + 48 + + + 5 + 12 27 @@ -17979,8 +24306,8 @@ - index - block + parent + name 12 @@ -17988,30 +24315,35 @@ 1 2 - 3 + 259 + + + 2 + 3 + 87 3 4 - 3 + 64 - 7 - 8 - 3 + 4 + 5 + 48 - 5666 - 5667 - 3 + 5 + 12 + 27 - index - child + parent + loc 12 @@ -18019,30 +24351,299 @@ 1 2 - 3 + 259 + + + 2 + 3 + 87 3 4 - 3 + 64 - 7 - 8 - 3 + 4 + 5 + 48 - 5666 - 5667 - 3 + 5 + 12 + 27 - child - block + parent_index + id + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 9 + 10 + 1 + + + 18 + 19 + 1 + + + 32 + 33 + 1 + + + 82 + 83 + 1 + + + 149 + 150 + 1 + + + 157 + 158 + 1 + + + 231 + 232 + 1 + + + 310 + 311 + 1 + + + + + + + parent_index + parent + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 9 + 10 + 1 + + + 18 + 19 + 1 + + + 32 + 33 + 1 + + + 82 + 83 + 1 + + + 149 + 150 + 1 + + + 157 + 158 + 1 + + + 231 + 232 + 1 + + + 310 + 311 + 1 + + + + + + + parent_index + name + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 9 + 10 + 1 + + + 18 + 19 + 1 + + + 32 + 33 + 1 + + + 82 + 83 + 1 + + + 149 + 150 + 1 + + + 157 + 158 + 1 + + + 231 + 232 + 1 + + + 310 + 311 + 1 + + + + + + + parent_index + loc + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 9 + 10 + 1 + + + 18 + 19 + 1 + + + 32 + 33 + 1 + + + 82 + 83 + 1 + + + 149 + 150 + 1 + + + 157 + 158 + 1 + + + 231 + 232 + 1 + + + 310 + 311 + 1 + + + + + + + name + id 12 @@ -18050,15 +24651,15 @@ 1 2 - 22525 + 997 - child - index + name + parent 12 @@ -18066,7 +24667,103 @@ 1 2 - 22525 + 997 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 997 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 997 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 997 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 997 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 997 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 997 @@ -18075,28 +24772,76 @@ - class_def - 5092 + keyword_parameter_value + 739 + + + keyword_parameter + 739 + + + value + 739 + + + + + keyword_parameter + value + + + 12 + + + 1 + 2 + 739 + + + + + + + value + keyword_parameter + + + 12 + + + 1 + 2 + 739 + + + + + + + + + lambda_def + 637 id - 5092 + 637 parent - 3001 + 637 parent_index - 97 + 6 - name - 5092 + body + 637 loc - 5092 + 637 @@ -18110,7 +24855,7 @@ 1 2 - 5092 + 637 @@ -18126,7 +24871,7 @@ 1 2 - 5092 + 637 @@ -18134,7 +24879,7 @@ id - name + body 12 @@ -18142,7 +24887,7 @@ 1 2 - 5092 + 637 @@ -18158,7 +24903,7 @@ 1 2 - 5092 + 637 @@ -18174,22 +24919,7 @@ 1 2 - 2404 - - - 2 - 3 - 273 - - - 3 - 7 - 241 - - - 7 - 56 - 83 + 637 @@ -18205,22 +24935,7 @@ 1 2 - 2404 - - - 2 - 3 - 273 - - - 3 - 7 - 241 - - - 7 - 56 - 83 + 637 @@ -18228,7 +24943,7 @@ parent - name + body 12 @@ -18236,22 +24951,7 @@ 1 2 - 2404 - - - 2 - 3 - 273 - - - 3 - 7 - 241 - - - 7 - 56 - 83 + 637 @@ -18267,30 +24967,489 @@ 1 2 - 2404 + 637 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + 8 + 9 + 1 + + + 22 + 23 + 1 + + + 32 + 33 + 1 + + + 124 + 125 + 1 + + + 450 + 451 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + 8 + 9 + 1 + + + 22 + 23 + 1 + + + 32 + 33 + 1 + + + 124 + 125 + 1 + + + 450 + 451 + 1 + + + + + + + parent_index + body + + + 12 + + + 1 + 2 + 1 + + + 8 + 9 + 1 + + + 22 + 23 + 1 + + + 32 + 33 + 1 + + + 124 + 125 + 1 + + + 450 + 451 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 8 + 9 + 1 + + + 22 + 23 + 1 + + + 32 + 33 + 1 + + + 124 + 125 + 1 + + + 450 + 451 + 1 + + + + + + + body + id + + + 12 + + + 1 + 2 + 637 + + + + + + + body + parent + + + 12 + + + 1 + 2 + 637 + + + + + + + body + parent_index + + + 12 + + + 1 + 2 + 637 + + + + + + + body + loc + + + 12 + + + 1 + 2 + 637 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 637 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 637 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 637 + + + + + + + loc + body + + + 12 + + + 1 + 2 + 637 + + + + + + + + + lambda_parameters + 185 + + + lambda + 185 + + + parameters + 185 + + + + + lambda + parameters + + + 12 + + + 1 + 2 + 185 + + + + + + + parameters + lambda + + + 12 + + + 1 + 2 + 185 + + + + + + + + + lambda_parameters_child + 240 + + + lambda_parameters + 182 + + + index + 4 + + + child + 240 + + + + + lambda_parameters + index + + + 12 + + + 1 + 2 + 144 2 3 - 273 + 24 3 + 5 + 14 + + + + + + + lambda_parameters + child + + + 12 + + + 1 + 2 + 144 + + + 2 + 3 + 24 + + + 3 + 5 + 14 + + + + + + + index + lambda_parameters + + + 12 + + + 6 7 - 241 + 1 - 7 - 56 - 83 + 14 + 15 + 1 + + + 38 + 39 + 1 + + + 182 + 183 + 1 - parent_index - id + index + child + + + 12 + + + 6 + 7 + 1 + + + 14 + 15 + 1 + + + 38 + 39 + 1 + + + 182 + 183 + 1 + + + + + + + child + lambda_parameters 12 @@ -18298,59 +25457,54 @@ 1 2 - 36 - - - 2 - 5 - 7 - - - 5 - 6 - 6 - - - 6 - 10 - 8 - - - 10 - 14 - 7 - - - 14 - 18 - 7 - - - 18 - 34 - 8 - - - 36 - 78 - 8 - - - 96 - 411 - 8 - - - 592 - 1580 - 2 + 240 - parent_index + child + index + + + 12 + + + 1 + 2 + 240 + + + + + + + + + lambda_parameters_def + 185 + + + id + 185 + + + parent + 185 + + + parent_index + 1 + + + loc + 185 + + + + + id parent @@ -18359,213 +25513,14 @@ 1 2 - 36 - - - 2 - 5 - 7 - - - 5 - 6 - 6 - - - 6 - 10 - 8 - - - 10 - 14 - 7 - - - 14 - 18 - 7 - - - 18 - 34 - 8 - - - 36 - 78 - 8 - - - 96 - 411 - 8 - - - 592 - 1580 - 2 + 185 - parent_index - name - - - 12 - - - 1 - 2 - 36 - - - 2 - 5 - 7 - - - 5 - 6 - 6 - - - 6 - 10 - 8 - - - 10 - 14 - 7 - - - 14 - 18 - 7 - - - 18 - 34 - 8 - - - 36 - 78 - 8 - - - 96 - 411 - 8 - - - 592 - 1580 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 36 - - - 2 - 5 - 7 - - - 5 - 6 - 6 - - - 6 - 10 - 8 - - - 10 - 14 - 7 - - - 14 - 18 - 7 - - - 18 - 34 - 8 - - - 36 - 78 - 8 - - - 96 - 411 - 8 - - - 592 - 1580 - 2 - - - - - - - name - id - - - 12 - - - 1 - 2 - 5092 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 5092 - - - - - - - name + id parent_index @@ -18574,14 +25529,14 @@ 1 2 - 5092 + 185 - name + id loc @@ -18590,7 +25545,103 @@ 1 2 - 5092 + 185 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 185 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 185 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 185 + + + + + + + parent_index + id + + + 12 + + + 185 + 186 + 1 + + + + + + + parent_index + parent + + + 12 + + + 185 + 186 + 1 + + + + + + + parent_index + loc + + + 12 + + + 185 + 186 + 1 @@ -18606,7 +25657,7 @@ 1 2 - 5092 + 185 @@ -18622,7 +25673,7 @@ 1 2 - 5092 + 185 @@ -18638,15 +25689,35 @@ 1 2 - 5092 + 185 + + + + left_assignment_list_child + 1682 + + + left_assignment_list + 756 + + + index + 8 + + + child + 1682 + + + - loc - name + left_assignment_list + index 12 @@ -18654,7 +25725,393 @@ 1 2 - 5092 + 2 + + + 2 + 3 + 620 + + + 3 + 4 + 113 + + + 4 + 9 + 21 + + + + + + + left_assignment_list + child + + + 12 + + + 1 + 2 + 2 + + + 2 + 3 + 620 + + + 3 + 4 + 113 + + + 4 + 9 + 21 + + + + + + + index + left_assignment_list + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 9 + 10 + 1 + + + 21 + 22 + 1 + + + 134 + 135 + 1 + + + 754 + 755 + 1 + + + 756 + 757 + 1 + + + + + + + index + child + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 9 + 10 + 1 + + + 21 + 22 + 1 + + + 134 + 135 + 1 + + + 754 + 755 + 1 + + + 756 + 757 + 1 + + + + + + + child + left_assignment_list + + + 12 + + + 1 + 2 + 1682 + + + + + + + child + index + + + 12 + + + 1 + 2 + 1682 + + + + + + + + + left_assignment_list_def + 756 + + + id + 756 + + + parent + 756 + + + parent_index + 1 + + + loc + 756 + + + + + id + parent + + + 12 + + + 1 + 2 + 756 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 756 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 756 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 756 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 756 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 756 + + + + + + + parent_index + id + + + 12 + + + 756 + 757 + 1 + + + + + + + parent_index + parent + + + 12 + + + 756 + 757 + 1 + + + + + + + parent_index + loc + + + 12 + + + 756 + 757 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 756 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 756 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 756 @@ -18664,31 +26121,31 @@ locations_default - 2536270 + 2550093 id - 2536270 + 2550093 file - 5301 + 6189 start_line - 5178 + 4578 start_column - 1071 + 1091 end_line - 5178 + 4578 end_column - 1091 + 1101 @@ -18702,7 +26159,7 @@ 1 2 - 2536270 + 2550093 @@ -18718,7 +26175,7 @@ 1 2 - 2536270 + 2550093 @@ -18734,7 +26191,7 @@ 1 2 - 2536270 + 2550093 @@ -18750,7 +26207,7 @@ 1 2 - 2536270 + 2550093 @@ -18766,7 +26223,7 @@ 1 2 - 2536270 + 2550093 @@ -18782,72 +26239,67 @@ 1 28 - 412 + 501 28 - 40 - 400 + 43 + 498 - 40 - 59 - 408 + 43 + 66 + 487 - 59 - 84 - 400 + 66 + 87 + 466 - 84 - 112 - 408 + 87 + 108 + 480 - 112 - 151 - 404 + 108 + 144 + 470 - 151 - 200 - 400 + 144 + 188 + 470 - 200 - 260 - 404 + 188 + 242 + 466 - 261 - 363 - 400 + 242 + 322 + 470 - 363 - 505 - 404 + 322 + 427 + 477 - 506 - 709 - 400 + 427 + 632 + 466 - 713 - 1268 - 400 + 633 + 1145 + 466 - 1268 - 5435 - 400 - - - 5498 + 1170 10809 - 51 + 466 @@ -18863,72 +26315,67 @@ 1 5 - 111 + 371 5 6 - 460 + 473 6 8 - 384 + 414 8 - 11 - 460 + 10 + 494 - 11 - 15 - 468 + 10 + 13 + 547 - 15 - 19 - 400 + 13 + 17 + 533 - 19 - 24 - 412 + 17 + 22 + 536 - 24 - 32 - 416 + 22 + 29 + 501 - 32 - 41 - 404 + 29 + 39 + 533 - 41 - 54 - 408 + 39 + 52 + 470 - 54 - 75 - 420 + 52 + 77 + 477 - 75 - 121 - 400 + 77 + 153 + 473 - 121 - 268 - 400 - - - 268 + 153 1116 - 150 + 361 @@ -18944,67 +26391,67 @@ 1 16 - 416 + 505 16 - 21 - 444 + 22 + 466 - 21 - 29 - 428 + 22 + 30 + 498 - 29 - 37 - 412 + 30 + 38 + 498 - 37 - 45 - 468 + 38 + 44 + 498 - 45 - 53 - 400 + 44 + 52 + 491 - 53 - 61 - 440 + 52 + 60 + 512 - 61 + 60 68 - 420 + 498 68 75 - 424 + 526 75 85 - 412 + 470 85 96 - 424 + 473 96 - 117 - 412 + 118 + 473 118 241 - 194 + 277 @@ -19020,72 +26467,67 @@ 1 5 - 111 + 371 5 6 - 452 + 466 6 8 - 392 + 421 8 - 11 - 456 + 10 + 494 - 11 - 15 - 472 + 10 + 13 + 547 - 15 - 19 - 400 + 13 + 17 + 533 - 19 - 24 - 412 + 17 + 22 + 536 - 24 - 32 - 416 + 22 + 29 + 501 - 32 - 41 - 404 + 29 + 39 + 533 - 41 - 54 - 408 + 39 + 52 + 470 - 54 - 75 - 420 + 52 + 77 + 477 - 75 - 121 - 400 + 77 + 153 + 473 - 121 - 268 - 400 - - - 268 + 153 1116 - 150 + 361 @@ -19101,67 +26543,67 @@ 1 18 - 372 + 470 18 - 23 - 412 + 25 + 515 - 23 - 31 - 408 + 25 + 34 + 529 - 31 - 40 - 412 + 34 + 42 + 470 - 40 + 42 48 - 416 + 484 48 - 56 - 408 + 57 + 505 - 56 - 63 - 428 + 57 + 64 + 466 - 63 - 70 - 420 + 64 + 72 + 505 - 70 - 78 - 460 + 72 + 79 + 498 - 78 - 87 - 416 + 79 + 89 + 498 - 87 - 97 - 428 + 89 + 100 + 466 - 97 - 112 - 400 + 100 + 119 + 477 - 112 + 119 246 - 313 + 301 @@ -19177,67 +26619,67 @@ 1 2 - 408 + 361 2 9 - 460 + 403 9 21 - 436 + 378 21 35 - 408 + 357 35 - 71 - 396 + 72 + 347 72 - 111 - 392 + 108 + 350 - 111 - 145 - 392 + 108 + 147 + 347 - 145 - 194 - 388 + 147 + 196 + 354 - 194 - 253 - 392 + 196 + 258 + 343 - 254 - 409 - 388 + 258 + 418 + 343 - 410 - 826 - 388 + 421 + 841 + 343 - 832 - 1847 - 388 + 847 + 1990 + 343 - 1871 - 11477 - 333 + 2016 + 13966 + 301 @@ -19253,57 +26695,57 @@ 1 2 - 1357 + 1199 2 4 - 337 + 291 4 - 7 + 8 392 - 7 + 8 13 - 412 + 354 13 - 15 - 380 + 16 + 414 - 15 - 20 - 408 + 16 + 22 + 368 - 20 - 26 - 412 + 22 + 30 + 350 - 26 - 44 - 400 + 30 + 54 + 347 - 44 - 92 - 388 + 54 + 117 + 343 - 94 - 248 - 388 + 117 + 411 + 343 - 248 - 1337 - 297 + 420 + 1595 + 171 @@ -19319,67 +26761,67 @@ 1 2 - 408 + 361 2 6 - 456 + 399 6 14 - 412 + 357 14 20 - 388 + 347 20 34 - 420 + 357 34 46 - 412 + 361 46 - 56 - 432 + 55 + 350 - 56 + 55 66 - 420 + 375 66 76 - 396 + 371 76 87 - 392 + 357 87 - 103 - 412 + 105 + 350 - 103 - 123 - 392 + 105 + 133 + 343 - 123 - 164 - 230 + 133 + 220 + 242 @@ -19395,52 +26837,52 @@ 1 2 - 1301 + 1129 2 3 - 793 + 729 3 4 - 460 + 375 4 5 - 440 + 407 5 6 - 400 + 350 6 7 - 329 + 301 7 9 - 396 + 347 9 13 - 388 + 347 13 20 - 404 + 354 20 - 249 - 261 + 257 + 235 @@ -19456,72 +26898,67 @@ 1 2 - 408 + 361 2 - 6 - 182 + 7 + 421 - 6 - 9 - 424 + 7 + 15 + 378 - 9 - 16 - 412 + 15 + 23 + 357 - 16 - 26 - 412 + 23 + 38 + 347 - 26 - 41 - 392 + 38 + 50 + 357 - 41 - 52 - 396 + 50 + 59 + 375 - 52 - 61 - 396 - - - 61 + 59 70 - 392 + 364 70 - 81 - 408 + 80 + 361 - 81 - 93 - 416 + 80 + 92 + 357 - 93 + 92 110 - 392 + 357 110 - 133 - 392 + 146 + 343 - 133 - 167 - 146 + 146 + 222 + 192 @@ -19537,72 +26974,67 @@ 1 2 - 83 - - - 2 - 3 - 71 - - - 3 - 4 - 67 - - - 4 - 6 91 - 6 - 12 - 83 + 2 + 4 + 98 - 12 - 31 + 4 + 9 87 - 31 - 98 - 83 + 10 + 21 + 91 - 108 - 301 - 83 + 21 + 35 + 84 - 321 - 1065 - 83 + 35 + 60 + 84 - 1067 - 2700 - 83 + 60 + 127 + 84 - 2813 - 6081 - 83 + 130 + 403 + 84 - 6154 - 8961 - 83 + 407 + 1337 + 84 - 9021 - 35861 - 83 + 1350 + 3404 + 84 - 37430 - 37431 - 3 + 3434 + 7908 + 84 + + + 8273 + 11238 + 84 + + + 11402 + 39189 + 49 @@ -19618,284 +27050,66 @@ 1 2 - 166 + 140 2 - 3 - 83 - - - 3 - 5 - 99 - - - 5 - 11 - 83 - - - 11 - 32 - 83 - - - 34 - 81 - 83 - - - 81 - 213 - 83 - - - 219 - 430 - 87 - - - 470 - 725 - 83 - - - 735 - 886 - 83 - - - 890 - 938 - 87 - - - 940 - 1337 - 47 - - - - - - - start_column - start_line - - - 12 - - - 1 - 2 - 107 - - - 2 - 3 - 103 - - - 3 - 5 - 91 - - - 5 - 10 - 87 - - - 10 - 23 - 83 - - - 23 - 60 - 83 - - - 63 - 153 - 83 - - - 158 - 315 - 83 - - - 320 - 489 - 83 - - - 496 - 672 - 83 - - - 673 - 777 - 83 - - - 779 - 902 - 83 - - - 919 - 1020 - 15 - - - - - - - start_column - end_line - - - 12 - - - 1 - 2 - 107 - - - 2 - 3 - 103 - - - 3 - 5 - 91 - - - 5 - 10 - 87 - - - 10 - 23 - 83 - - - 23 - 60 - 83 - - - 63 - 154 - 83 - - - 159 - 319 - 83 - - - 324 - 495 - 83 - - - 500 - 677 - 83 - - - 691 - 789 - 83 - - - 790 - 910 - 83 - - - 922 - 1020 - 15 - - - - - - - start_column - end_column - - - 12 - - - 1 - 2 - 123 - - - 2 - 3 - 154 - - - 3 4 - 95 + 87 4 - 7 - 83 - - - 7 - 16 - 83 - - - 16 - 27 - 83 - - - 27 - 50 + 10 91 - 50 - 67 - 87 + 10 + 17 + 91 - 67 - 95 - 87 + 17 + 28 + 84 - 95 - 116 - 87 + 28 + 58 + 84 - 116 - 156 - 87 + 59 + 138 + 84 - 158 - 165 + 138 + 320 + 84 + + + 322 + 615 + 84 + + + 618 + 1046 + 84 + + + 1055 + 1176 + 84 + + + 1176 + 1372 + 84 + + + 1442 + 1469 7 @@ -19903,519 +27117,7 @@ - end_line - id - - - 12 - - - 1 - 4 - 476 - - - 4 - 9 - 400 - - - 9 - 21 - 408 - - - 21 - 33 - 388 - - - 33 - 66 - 388 - - - 66 - 107 - 392 - - - 107 - 141 - 396 - - - 141 - 187 - 392 - - - 187 - 245 - 388 - - - 246 - 381 - 392 - - - 381 - 783 - 388 - - - 784 - 1703 - 388 - - - 1766 - 10335 - 372 - - - - - - - end_line - file - - - 12 - - - 1 - 2 - 1357 - - - 2 - 4 - 337 - - - 4 - 7 - 392 - - - 7 - 13 - 412 - - - 13 - 15 - 380 - - - 15 - 20 - 408 - - - 20 - 26 - 412 - - - 26 - 44 - 400 - - - 44 - 92 - 388 - - - 94 - 248 - 388 - - - 248 - 1337 - 297 - - - - - - - end_line - start_line - - - 12 - - - 1 - 2 - 1178 - - - 2 - 3 - 864 - - - 3 - 4 - 448 - - - 4 - 5 - 420 - - - 5 - 6 - 372 - - - 6 - 7 - 305 - - - 7 - 9 - 428 - - - 9 - 14 - 400 - - - 14 - 21 - 404 - - - 21 - 33 - 353 - - - - - - - end_line - start_column - - - 12 - - - 1 - 2 - 31 - - - 2 - 3 - 448 - - - 3 - 7 - 412 - - - 7 - 15 - 412 - - - 15 - 22 - 416 - - - 22 - 36 - 392 - - - 36 - 48 - 432 - - - 48 - 58 - 412 - - - 58 - 68 - 444 - - - 68 - 78 - 408 - - - 78 - 89 - 388 - - - 89 - 106 - 404 - - - 106 - 128 - 396 - - - 128 - 164 - 174 - - - - - - - end_line - end_column - - - 12 - - - 1 - 2 - 404 - - - 2 - 6 - 456 - - - 6 - 14 - 412 - - - 14 - 21 - 416 - - - 21 - 36 - 396 - - - 36 - 48 - 396 - - - 48 - 58 - 440 - - - 58 - 67 - 392 - - - 67 - 77 - 388 - - - 77 - 89 - 412 - - - 89 - 105 - 388 - - - 105 - 122 - 388 - - - 122 - 166 - 281 - - - - - - - end_column - id - - - 12 - - - 1 - 2 - 87 - - - 2 - 4 - 91 - - - 4 - 6 - 79 - - - 6 - 11 - 83 - - - 11 - 29 - 87 - - - 29 - 76 - 83 - - - 81 - 216 - 83 - - - 219 - 734 - 83 - - - 780 - 1976 - 83 - - - 2079 - 4084 - 83 - - - 4354 - 7808 - 83 - - - 8286 - 9612 - 83 - - - 9646 - 17314 - 79 - - - - - - - end_column - file - - - 12 - - - 1 - 2 - 178 - - - 2 - 3 - 75 - - - 3 - 4 - 51 - - - 4 - 7 - 87 - - - 7 - 16 - 87 - - - 16 - 44 - 83 - - - 46 - 137 - 83 - - - 140 - 333 - 83 - - - 333 - 586 - 83 - - - 598 - 868 - 83 - - - 871 - 945 - 83 - - - 946 - 1001 - 83 - - - 1013 - 1310 - 27 - - - - - - - end_column + start_column start_line @@ -20428,63 +27130,803 @@ 2 - 3 - 71 - - - 3 4 - 71 + 73 4 - 7 + 8 87 - 7 + 8 16 87 16 + 25 + 87 + + + 25 + 47 + 84 + + + 49 + 85 + 84 + + + 85 + 183 + 84 + + + 184 + 353 + 84 + + + 361 + 551 + 84 + + + 569 + 757 + 84 + + + 762 + 808 + 84 + + + 808 + 1020 + 38 + + + + + + + start_column + end_line + + + 12 + + + 1 + 2 + 122 + + + 2 + 4 + 77 + + + 4 + 8 + 84 + + + 8 + 15 + 84 + + + 15 + 24 + 84 + + + 24 + 41 + 84 + + + 41 + 80 + 84 + + + 82 + 167 + 84 + + + 175 + 342 + 84 + + + 345 + 540 + 84 + + + 548 + 766 + 84 + + + 766 + 809 + 84 + + + 812 + 1020 + 49 + + + + + + + start_column + end_column + + + 12 + + + 1 + 2 + 119 + + + 2 + 3 + 63 + + + 3 + 5 + 84 + + + 5 + 9 + 94 + + + 9 + 12 + 87 + + + 12 + 19 + 94 + + + 19 + 25 + 84 + + + 26 + 43 + 87 + + + 43 + 66 + 84 + + + 67 + 89 + 87 + + + 90 + 119 + 84 + + + 119 + 144 + 84 + + + 146 + 187 + 35 + + + + + + + end_line + id + + + 12 + + + 1 + 4 + 421 + + + 4 + 9 + 350 + + + 9 + 21 + 357 + + + 21 + 34 + 361 + + + 34 + 70 + 347 + + + 70 + 109 + 357 + + + 109 + 147 + 350 + + + 147 + 195 + 350 + + + 195 + 258 + 350 + + + 259 + 426 + 343 + + + 427 + 858 + 343 + + + 863 + 2072 + 343 + + + 2080 + 12751 + 298 + + + + + + + end_line + file + + + 12 + + + 1 + 2 + 1199 + + + 2 + 4 + 291 + + + 4 + 8 + 392 + + + 8 + 13 + 354 + + + 13 + 16 + 414 + + + 16 + 22 + 368 + + + 22 + 30 + 350 + + + 30 + 54 + 347 + + + 54 + 117 + 343 + + + 117 + 411 + 343 + + + 420 + 1595 + 171 + + + + + + + end_line + start_line + + + 12 + + + 1 + 2 + 1042 + + + 2 + 3 + 722 + + + 3 + 4 + 452 + + + 4 + 5 + 333 + + + 5 + 6 + 378 + + + 6 + 7 + 235 + + + 7 + 9 + 375 + + + 9 + 14 + 364 + + + 14 + 22 + 371 + + + 22 + 36 + 301 + + + + + + + end_line + start_column + + + 12 + + + 1 + 2 + 28 + + + 2 + 3 + 396 + + + 3 + 7 + 361 + + + 7 + 15 + 361 + + + 15 + 22 + 361 + + + 22 + 37 + 364 + + + 37 + 49 + 375 + + + 49 + 57 + 354 + + + 57 + 68 + 343 + + + 68 + 78 + 375 + + + 78 + 89 + 361 + + + 89 + 108 + 357 + + + 108 + 141 + 343 + + + 141 + 220 + 192 + + + + + + + end_line + end_column + + + 12 + + + 1 + 2 + 357 + + + 2 + 6 + 399 + + + 6 + 14 + 354 + + + 14 + 21 + 364 + + + 21 + 36 + 350 + + + 36 + 49 + 382 + + + 49 + 58 + 368 + + + 58 + 68 + 347 + + + 68 + 78 + 347 + + + 78 + 89 + 350 + + + 89 + 108 + 347 + + + 108 + 135 + 350 + + + 135 + 225 + 256 + + + + + + + end_column + id + + + 12 + + + 1 + 3 + 98 + + + 3 + 6 + 101 + + + 6 + 15 + 87 + + + 15 + 29 + 87 + + + 29 + 50 + 84 + + + 50 + 96 + 87 + + + 97 + 225 + 84 + + + 225 + 752 + 84 + + + 758 + 2102 + 84 + + + 2259 + 4710 + 84 + + + 5047 + 9347 + 84 + + + 9405 + 10962 + 84 + + + 11094 + 17746 + 49 + + + + + + + end_column + file + + + 12 + + + 1 + 2 + 115 + + + 2 + 4 + 98 + + + 4 + 9 + 91 + + + 9 + 17 + 87 + + + 17 + 28 + 98 + + + 28 + 53 + 84 + + + 53 + 120 + 84 + + + 124 + 343 + 87 + + + 343 + 656 + 87 + + + 667 + 1088 + 84 + + + 1106 + 1223 + 87 + + + 1223 + 1314 + 84 + + + 1331 + 1494 + 10 + + + + + + + end_column + start_line + + + 12 + + + 1 + 2 + 105 + + + 2 + 4 + 91 + + + 4 + 8 + 84 + + + 8 + 15 + 87 + + + 16 + 25 + 94 + + + 26 44 - 83 + 84 44 - 106 - 83 + 86 + 84 - 107 - 236 - 83 + 88 + 183 + 84 - 254 - 416 - 83 + 189 + 358 + 84 - 419 - 587 - 83 + 361 + 561 + 84 - 594 - 775 - 83 + 577 + 771 + 84 - 777 - 809 - 83 + 780 + 818 + 84 - 810 - 949 - 63 + 818 + 948 + 49 @@ -20500,67 +27942,67 @@ 1 2 - 111 + 66 2 - 3 - 47 - - - 3 4 - 75 + 94 4 - 6 - 83 + 8 + 84 - 6 - 11 + 8 + 12 + 77 + + + 12 + 18 91 - 11 - 21 - 83 + 18 + 30 + 94 - 22 - 34 - 83 + 30 + 40 + 84 - 34 - 47 - 87 + 40 + 51 + 84 - 47 - 58 - 87 + 51 + 62 + 84 - 58 - 71 + 62 + 75 91 - 72 - 82 - 87 + 75 + 86 + 94 - 82 - 94 - 91 + 86 + 98 + 98 - 94 - 108 - 71 + 98 + 110 + 56 @@ -20576,67 +28018,67 @@ 1 2 - 134 + 108 2 - 3 - 79 - - - 3 - 5 - 95 - - - 5 - 9 - 83 - - - 9 - 21 - 83 - - - 23 - 57 + 4 87 - 59 - 158 - 83 + 4 + 8 + 84 - 158 - 300 - 83 + 8 + 15 + 87 - 308 - 491 - 83 + 16 + 25 + 94 - 493 - 671 - 83 + 25 + 45 + 84 - 683 - 794 - 83 + 45 + 85 + 84 - 796 - 833 - 83 + 87 + 185 + 84 - 835 - 895 - 27 + 198 + 357 + 84 + + + 361 + 549 + 84 + + + 560 + 771 + 84 + + + 780 + 818 + 84 + + + 818 + 899 + 49 @@ -20645,1974 +28087,26 @@ - destructured_left_assignment_def - 1 + method_child + 80199 - id - 1 + method + 29605 - parent - 1 - - - parent_index - 1 - - - loc - 1 - - - - - id - parent - - - 12 - - - 1 - 2 - 1 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 1 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 1 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1 - - - - - - - - - singleton_method_def - 2016 - - - id - 2016 - - - parent - 458 - - - parent_index - 168 - - - name - 2016 - - - object - 2016 - - - loc - 2016 - - - - - id - parent - - - 12 - - - 1 - 2 - 2016 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 2016 - - - - - - - id - name - - - 12 - - - 1 - 2 - 2016 - - - - - - - id - object - - - 12 - - - 1 - 2 - 2016 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 2016 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 155 - - - 2 - 3 - 87 - - - 3 - 4 - 61 - - - 4 - 5 - 32 - - - 5 - 7 - 42 - - - 7 - 11 - 38 - - - 11 - 28 - 35 - - - 28 - 77 - 5 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 155 - - - 2 - 3 - 87 - - - 3 - 4 - 61 - - - 4 - 5 - 32 - - - 5 - 7 - 42 - - - 7 - 11 - 38 - - - 11 - 28 - 35 - - - 28 - 77 - 5 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 155 - - - 2 - 3 - 87 - - - 3 - 4 - 61 - - - 4 - 5 - 32 - - - 5 - 7 - 42 - - - 7 - 11 - 38 - - - 11 - 28 - 35 - - - 28 - 77 - 5 - - - - - - - parent - object - - - 12 - - - 1 - 2 - 155 - - - 2 - 3 - 87 - - - 3 - 4 - 61 - - - 4 - 5 - 32 - - - 5 - 7 - 42 - - - 7 - 11 - 38 - - - 11 - 28 - 35 - - - 28 - 77 - 5 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 155 - - - 2 - 3 - 87 - - - 3 - 4 - 61 - - - 4 - 5 - 32 - - - 5 - 7 - 42 - - - 7 - 11 - 38 - - - 11 - 28 - 35 - - - 28 - 77 - 5 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 56 - - - 2 - 3 - 27 - - - 3 - 4 - 17 - - - 4 - 5 - 11 - - - 5 - 7 - 15 - - - 7 - 19 - 13 - - - 20 - 47 - 13 - - - 49 - 148 - 12 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 56 - - - 2 - 3 - 27 - - - 3 - 4 - 17 - - - 4 - 5 - 11 - - - 5 - 7 - 15 - - - 7 - 19 - 13 - - - 20 - 47 - 13 - - - 49 - 148 - 12 - - - - - - - parent_index - name - - - 12 - - - 1 - 2 - 56 - - - 2 - 3 - 27 - - - 3 - 4 - 17 - - - 4 - 5 - 11 - - - 5 - 7 - 15 - - - 7 - 19 - 13 - - - 20 - 47 - 13 - - - 49 - 148 - 12 - - - - - - - parent_index - object - - - 12 - - - 1 - 2 - 56 - - - 2 - 3 - 27 - - - 3 - 4 - 17 - - - 4 - 5 - 11 - - - 5 - 7 - 15 - - - 7 - 19 - 13 - - - 20 - 47 - 13 - - - 49 - 148 - 12 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 56 - - - 2 - 3 - 27 - - - 3 - 4 - 17 - - - 4 - 5 - 11 - - - 5 - 7 - 15 - - - 7 - 19 - 13 - - - 20 - 47 - 13 - - - 49 - 148 - 12 - - - - - - - name - id - - - 12 - - - 1 - 2 - 2016 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 2016 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 2016 - - - - - - - name - object - - - 12 - - - 1 - 2 - 2016 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 2016 - - - - - - - object - id - - - 12 - - - 1 - 2 - 2016 - - - - - - - object - parent - - - 12 - - - 1 - 2 - 2016 - - - - - - - object - parent_index - - - 12 - - - 1 - 2 - 2016 - - - - - - - object - name - - - 12 - - - 1 - 2 - 2016 - - - - - - - object - loc - - - 12 - - - 1 - 2 - 2016 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 2016 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 2016 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 2016 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 2016 - - - - - - - loc - object - - - 12 - - - 1 - 2 - 2016 - - - - - - - - - if_modifier_def - 4150 - - - id - 4150 - - - parent - 2947 - - - parent_index - 37 - - - body - 4150 - - - condition - 4150 - - - loc - 4150 - - - - - id - parent - - - 12 - - - 1 - 2 - 4150 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 4150 - - - - - - - id - body - - - 12 - - - 1 - 2 - 4150 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 4150 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 4150 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 2212 - - - 2 - 3 - 492 - - - 3 - 8 - 232 - - - 8 - 13 - 10 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 2212 - - - 2 - 3 - 492 - - - 3 - 8 - 232 - - - 8 - 13 - 10 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 2212 - - - 2 - 3 - 492 - - - 3 - 8 - 232 - - - 8 - 13 - 10 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 2212 - - - 2 - 3 - 492 - - - 3 - 8 - 232 - - - 8 - 13 - 10 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 2212 - - - 2 - 3 - 492 - - - 3 - 8 - 232 - - - 8 - 13 - 10 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 6 - - - 4 - 5 - 2 - - - 5 - 6 - 2 - - - 6 - 9 - 3 - - - 11 - 22 - 3 - - - 32 - 55 - 3 - - - 72 - 127 - 3 - - - 177 - 293 - 3 - - - 376 - 544 - 3 - - - 686 - 851 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 6 - - - 4 - 5 - 2 - - - 5 - 6 - 2 - - - 6 - 9 - 3 - - - 11 - 22 - 3 - - - 32 - 55 - 3 - - - 72 - 127 - 3 - - - 177 - 293 - 3 - - - 376 - 544 - 3 - - - 686 - 851 - 2 - - - - - - - parent_index - body - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 6 - - - 4 - 5 - 2 - - - 5 - 6 - 2 - - - 6 - 9 - 3 - - - 11 - 22 - 3 - - - 32 - 55 - 3 - - - 72 - 127 - 3 - - - 177 - 293 - 3 - - - 376 - 544 - 3 - - - 686 - 851 - 2 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 6 - - - 4 - 5 - 2 - - - 5 - 6 - 2 - - - 6 - 9 - 3 - - - 11 - 22 - 3 - - - 32 - 55 - 3 - - - 72 - 127 - 3 - - - 177 - 293 - 3 - - - 376 - 544 - 3 - - - 686 - 851 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 6 - - - 4 - 5 - 2 - - - 5 - 6 - 2 - - - 6 - 9 - 3 - - - 11 - 22 - 3 - - - 32 - 55 - 3 - - - 72 - 127 - 3 - - - 177 - 293 - 3 - - - 376 - 544 - 3 - - - 686 - 851 - 2 - - - - - - - body - id - - - 12 - - - 1 - 2 - 4150 - - - - - - - body - parent - - - 12 - - - 1 - 2 - 4150 - - - - - - - body - parent_index - - - 12 - - - 1 - 2 - 4150 - - - - - - - body - condition - - - 12 - - - 1 - 2 - 4150 - - - - - - - body - loc - - - 12 - - - 1 - 2 - 4150 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 4150 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 4150 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 4150 - - - - - - - condition - body - - - 12 - - - 1 - 2 - 4150 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 4150 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 4150 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 4150 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 4150 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 4150 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 4150 - - - - - - - - - block_argument_def - 1670 - - - id - 1670 - - - parent - 1670 - - - parent_index - 14 + index + 76 child - 1670 - - - loc - 1670 + 80199 - id - parent + method + index 12 @@ -22620,30 +28114,39 @@ 1 2 - 1670 + 13340 - - - - - - id - parent_index - - - 12 - - 1 - 2 - 1670 + 2 + 3 + 5517 + + + 3 + 4 + 3781 + + + 4 + 5 + 2360 + + + 5 + 7 + 2497 + + + 7 + 77 + 2110 - id + method child @@ -22652,15 +28155,40 @@ 1 2 - 1670 + 13340 + + + 2 + 3 + 5517 + + + 3 + 4 + 3781 + + + 4 + 5 + 2360 + + + 5 + 7 + 2497 + + + 7 + 77 + 2110 - id - loc + index + method 12 @@ -22668,46 +28196,69 @@ 1 2 - 1670 + 7 - - - - - - parent - id - - - 12 - - 1 - 2 - 1670 + 2 + 4 + 2 - - - - - - parent - parent_index - - - 12 - - 1 - 2 - 1670 + 4 + 5 + 9 + + + 5 + 6 + 10 + + + 6 + 7 + 7 + + + 7 + 10 + 5 + + + 13 + 20 + 6 + + + 20 + 34 + 6 + + + 40 + 109 + 6 + + + 143 + 390 + 6 + + + 486 + 2111 + 6 + + + 3088 + 29606 + 6 - parent + index child @@ -22716,307 +28267,62 @@ 1 2 - 1670 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1670 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 + 7 2 - 3 - 1 + 4 + 2 4 5 - 1 + 9 + + + 5 + 6 + 10 6 7 - 1 + 7 - 10 - 11 - 1 + 7 + 10 + 5 13 - 14 - 1 - - - 15 - 16 - 1 - - - 19 20 - 1 + 6 - 78 - 79 - 1 + 20 + 34 + 6 - 109 - 110 - 1 + 40 + 109 + 6 - 223 - 224 - 1 + 143 + 390 + 6 - 1188 - 1189 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 + 486 + 2111 + 6 - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 6 - 7 - 1 - - - 10 - 11 - 1 - - - 13 - 14 - 1 - - - 15 - 16 - 1 - - - 19 - 20 - 1 - - - 78 - 79 - 1 - - - 109 - 110 - 1 - - - 223 - 224 - 1 - - - 1188 - 1189 - 1 - - - - - - - parent_index - child - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 6 - 7 - 1 - - - 10 - 11 - 1 - - - 13 - 14 - 1 - - - 15 - 16 - 1 - - - 19 - 20 - 1 - - - 78 - 79 - 1 - - - 109 - 110 - 1 - - - 223 - 224 - 1 - - - 1188 - 1189 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 6 - 7 - 1 - - - 10 - 11 - 1 - - - 13 - 14 - 1 - - - 15 - 16 - 1 - - - 19 - 20 - 1 - - - 78 - 79 - 1 - - - 109 - 110 - 1 - - - 223 - 224 - 1 - - - 1188 - 1189 - 1 + 3088 + 29606 + 6 @@ -23024,7 +28330,7 @@ child - id + method 12 @@ -23032,7 +28338,7 @@ 1 2 - 1670 + 80199 @@ -23040,7 +28346,7 @@ child - parent + index 12 @@ -23048,103 +28354,7 @@ 1 2 - 1670 - - - - - - - child - parent_index - - - 12 - - - 1 - 2 - 1670 - - - - - - - child - loc - - - 12 - - - 1 - 2 - 1670 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1670 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1670 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1670 - - - - - - - loc - child - - - 12 - - - 1 - 2 - 1670 + 80199 @@ -23153,24 +28363,28 @@ - do_block_def - 43039 + method_def + 29894 id - 43039 + 29894 parent - 43039 + 4582 parent_index - 15 + 305 + + + name + 29894 loc - 43039 + 29894 @@ -23184,7 +28398,7 @@ 1 2 - 43039 + 29894 @@ -23200,7 +28414,23 @@ 1 2 - 43039 + 29894 + + + + + + + id + name + + + 12 + + + 1 + 2 + 29894 @@ -23216,7 +28446,7 @@ 1 2 - 43039 + 29894 @@ -23232,7 +28462,42 @@ 1 2 - 43039 + 1611 + + + 2 + 3 + 771 + + + 3 + 4 + 464 + + + 4 + 5 + 317 + + + 5 + 7 + 393 + + + 7 + 11 + 410 + + + 11 + 21 + 347 + + + 21 + 293 + 269 @@ -23248,7 +28513,93 @@ 1 2 - 43039 + 1611 + + + 2 + 3 + 771 + + + 3 + 4 + 464 + + + 4 + 5 + 317 + + + 5 + 7 + 393 + + + 7 + 11 + 410 + + + 11 + 21 + 347 + + + 21 + 293 + 269 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 1611 + + + 2 + 3 + 771 + + + 3 + 4 + 464 + + + 4 + 5 + 317 + + + 5 + 7 + 393 + + + 7 + 11 + 410 + + + 11 + 21 + 347 + + + 21 + 293 + 269 @@ -23264,7 +28615,42 @@ 1 2 - 43039 + 1611 + + + 2 + 3 + 771 + + + 3 + 4 + 464 + + + 4 + 5 + 317 + + + 5 + 7 + 393 + + + 7 + 11 + 410 + + + 11 + 21 + 347 + + + 21 + 293 + 269 @@ -23278,24 +28664,69 @@ 12 - 74 - 75 - 3 + 1 + 2 + 36 - 599 - 600 - 3 + 2 + 3 + 22 - 1446 - 1447 - 3 + 3 + 4 + 23 - 8728 - 8729 - 3 + 4 + 6 + 12 + + + 6 + 7 + 21 + + + 7 + 8 + 27 + + + 8 + 14 + 27 + + + 14 + 25 + 23 + + + 25 + 38 + 23 + + + 38 + 65 + 23 + + + 66 + 126 + 23 + + + 129 + 320 + 23 + + + 322 + 1976 + 22 @@ -23309,24 +28740,145 @@ 12 - 74 - 75 - 3 + 1 + 2 + 36 - 599 - 600 - 3 + 2 + 3 + 22 - 1446 - 1447 - 3 + 3 + 4 + 23 - 8728 - 8729 - 3 + 4 + 6 + 12 + + + 6 + 7 + 21 + + + 7 + 8 + 27 + + + 8 + 14 + 27 + + + 14 + 25 + 23 + + + 25 + 38 + 23 + + + 38 + 65 + 23 + + + 66 + 126 + 23 + + + 129 + 320 + 23 + + + 322 + 1976 + 22 + + + + + + + parent_index + name + + + 12 + + + 1 + 2 + 36 + + + 2 + 3 + 22 + + + 3 + 4 + 23 + + + 4 + 6 + 12 + + + 6 + 7 + 21 + + + 7 + 8 + 27 + + + 8 + 14 + 27 + + + 14 + 25 + 23 + + + 25 + 38 + 23 + + + 38 + 65 + 23 + + + 66 + 126 + 23 + + + 129 + 320 + 23 + + + 322 + 1976 + 22 @@ -23340,24 +28892,133 @@ 12 - 74 - 75 - 3 + 1 + 2 + 36 - 599 - 600 - 3 + 2 + 3 + 22 - 1446 - 1447 - 3 + 3 + 4 + 23 - 8728 - 8729 - 3 + 4 + 6 + 12 + + + 6 + 7 + 21 + + + 7 + 8 + 27 + + + 8 + 14 + 27 + + + 14 + 25 + 23 + + + 25 + 38 + 23 + + + 38 + 65 + 23 + + + 66 + 126 + 23 + + + 129 + 320 + 23 + + + 322 + 1976 + 22 + + + + + + + name + id + + + 12 + + + 1 + 2 + 29894 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 29894 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 29894 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 29894 @@ -23373,7 +29034,7 @@ 1 2 - 43039 + 29894 @@ -23389,7 +29050,7 @@ 1 2 - 43039 + 29894 @@ -23405,7 +29066,1282 @@ 1 2 - 43039 + 29894 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 29894 + + + + + + + + + method_parameters + 8176 + + + method + 8176 + + + parameters + 8176 + + + + + method + parameters + + + 12 + + + 1 + 2 + 8176 + + + + + + + parameters + method + + + 12 + + + 1 + 2 + 8176 + + + + + + + + + method_parameters_child + 14246 + + + method_parameters + 8629 + + + index + 11 + + + child + 14246 + + + + + method_parameters + index + + + 12 + + + 1 + 2 + 5193 + + + 2 + 3 + 2125 + + + 3 + 4 + 825 + + + 4 + 12 + 486 + + + + + + + method_parameters + child + + + 12 + + + 1 + 2 + 5193 + + + 2 + 3 + 2125 + + + 3 + 4 + 825 + + + 4 + 12 + 486 + + + + + + + index + method_parameters + + + 12 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + 9 + 10 + 1 + + + 24 + 25 + 1 + + + 40 + 41 + 1 + + + 91 + 92 + 1 + + + 212 + 213 + 1 + + + 486 + 487 + 1 + + + 1311 + 1312 + 1 + + + 3436 + 3437 + 1 + + + 8629 + 8630 + 1 + + + + + + + index + child + + + 12 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + 9 + 10 + 1 + + + 24 + 25 + 1 + + + 40 + 41 + 1 + + + 91 + 92 + 1 + + + 212 + 213 + 1 + + + 486 + 487 + 1 + + + 1311 + 1312 + 1 + + + 3436 + 3437 + 1 + + + 8629 + 8630 + 1 + + + + + + + child + method_parameters + + + 12 + + + 1 + 2 + 14246 + + + + + + + child + index + + + 12 + + + 1 + 2 + 14246 + + + + + + + + + method_parameters_def + 8698 + + + id + 8698 + + + parent + 8698 + + + parent_index + 2 + + + loc + 8698 + + + + + id + parent + + + 12 + + + 1 + 2 + 8698 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 8698 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 8698 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 8698 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 8698 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 8698 + + + + + + + parent_index + id + + + 12 + + + 522 + 523 + 1 + + + 8176 + 8177 + 1 + + + + + + + parent_index + parent + + + 12 + + + 522 + 523 + 1 + + + 8176 + 8177 + 1 + + + + + + + parent_index + loc + + + 12 + + + 522 + 523 + 1 + + + 8176 + 8177 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 8698 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 8698 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 8698 + + + + + + + + + module_child + 9452 + + + module + 3194 + + + index + 117 + + + child + 9452 + + + + + module + index + + + 12 + + + 1 + 2 + 2268 + + + 2 + 3 + 268 + + + 3 + 5 + 227 + + + 5 + 11 + 254 + + + 11 + 118 + 177 + + + + + + + module + child + + + 12 + + + 1 + 2 + 2268 + + + 2 + 3 + 268 + + + 3 + 5 + 227 + + + 5 + 11 + 254 + + + 11 + 118 + 177 + + + + + + + index + module + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 8 + + + 3 + 4 + 26 + + + 4 + 6 + 10 + + + 6 + 9 + 9 + + + 9 + 15 + 9 + + + 16 + 23 + 10 + + + 23 + 34 + 10 + + + 36 + 80 + 9 + + + 84 + 178 + 9 + + + 197 + 927 + 9 + + + 3194 + 3195 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 7 + + + 2 + 3 + 8 + + + 3 + 4 + 26 + + + 4 + 6 + 10 + + + 6 + 9 + 9 + + + 9 + 15 + 9 + + + 16 + 23 + 10 + + + 23 + 34 + 10 + + + 36 + 80 + 9 + + + 84 + 178 + 9 + + + 197 + 927 + 9 + + + 3194 + 3195 + 1 + + + + + + + child + module + + + 12 + + + 1 + 2 + 9452 + + + + + + + child + index + + + 12 + + + 1 + 2 + 9452 + + + + + + + + + module_def + 4013 + + + id + 4013 + + + parent + 3989 + + + parent_index + 35 + + + name + 4013 + + + loc + 4013 + + + + + id + parent + + + 12 + + + 1 + 2 + 4013 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 4013 + + + + + + + id + name + + + 12 + + + 1 + 2 + 4013 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 4013 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 3968 + + + 2 + 4 + 21 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 3968 + + + 2 + 4 + 21 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 3968 + + + 2 + 4 + 21 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 3968 + + + 2 + 4 + 21 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 17 + + + 3 + 4 + 3 + + + 17 + 18 + 3 + + + 141 + 142 + 3 + + + 439 + 440 + 3 + + + 539 + 540 + 3 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 17 + + + 3 + 4 + 3 + + + 17 + 18 + 3 + + + 141 + 142 + 3 + + + 439 + 440 + 3 + + + 539 + 540 + 3 + + + + + + + parent_index + name + + + 12 + + + 1 + 2 + 17 + + + 3 + 4 + 3 + + + 17 + 18 + 3 + + + 141 + 142 + 3 + + + 439 + 440 + 3 + + + 539 + 540 + 3 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 17 + + + 3 + 4 + 3 + + + 17 + 18 + 3 + + + 141 + 142 + 3 + + + 439 + 440 + 3 + + + 539 + 540 + 3 + + + + + + + name + id + + + 12 + + + 1 + 2 + 4013 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 4013 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 4013 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 4013 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 4013 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 4013 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 4013 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 4013 @@ -23462,28 +30398,24 @@ - lambda_def - 642 + next_def + 616 id - 642 + 616 parent - 642 + 616 parent_index - 11 - - - body - 642 + 7 loc - 642 + 616 @@ -23497,7 +30429,7 @@ 1 2 - 642 + 616 @@ -23513,23 +30445,7 @@ 1 2 - 642 - - - - - - - id - body - - - 12 - - - 1 - 2 - 642 + 616 @@ -23545,7 +30461,7 @@ 1 2 - 642 + 616 @@ -23561,7 +30477,7 @@ 1 2 - 642 + 616 @@ -23577,23 +30493,7 @@ 1 2 - 642 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 642 + 616 @@ -23609,7 +30509,7 @@ 1 2 - 642 + 616 @@ -23625,17 +30525,37 @@ 1 2 - 3 + 1 2 3 - 3 + 1 - 159 - 160 - 3 + 3 + 4 + 1 + + + 4 + 5 + 1 + + + 24 + 25 + 1 + + + 39 + 40 + 1 + + + 525 + 526 + 1 @@ -23651,43 +30571,37 @@ 1 2 - 3 + 1 2 3 - 3 + 1 - 159 - 160 - 3 - - - - - - - parent_index - body - - - 12 - - - 1 - 2 - 3 + 3 + 4 + 1 - 2 - 3 - 3 + 4 + 5 + 1 - 159 - 160 - 3 + 24 + 25 + 1 + + + 39 + 40 + 1 + + + 525 + 526 + 1 @@ -23703,81 +30617,37 @@ 1 2 - 3 + 1 2 3 - 3 + 1 - 159 - 160 - 3 + 3 + 4 + 1 - - - - - - body - id - - - 12 - - 1 - 2 - 642 + 4 + 5 + 1 - - - - - - body - parent - - - 12 - - 1 - 2 - 642 + 24 + 25 + 1 - - - - - - body - parent_index - - - 12 - - 1 - 2 - 642 + 39 + 40 + 1 - - - - - - body - loc - - - 12 - - 1 - 2 - 642 + 525 + 526 + 1 @@ -23793,7 +30663,7 @@ 1 2 - 642 + 616 @@ -23809,7 +30679,7 @@ 1 2 - 642 + 616 @@ -23825,23 +30695,7 @@ 1 2 - 642 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 642 + 616 @@ -23850,1289 +30704,30 @@ - begin_def - 595 - - - id - 595 - - - parent - 584 - - - parent_index - 21 - - - loc - 595 - - - - - id - parent - - - 12 - - - 1 - 2 - 595 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 595 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 595 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 576 - - - 2 - 4 - 8 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 576 - - - 2 - 4 - 8 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 576 - - - 2 - 4 - 8 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 7 - 8 - 2 - - - 11 - 12 - 1 - - - 16 - 17 - 1 - - - 18 - 19 - 1 - - - 25 - 26 - 1 - - - 33 - 34 - 1 - - - 49 - 50 - 1 - - - 66 - 67 - 1 - - - 90 - 91 - 1 - - - 234 - 235 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 7 - 8 - 2 - - - 11 - 12 - 1 - - - 16 - 17 - 1 - - - 18 - 19 - 1 - - - 25 - 26 - 1 - - - 33 - 34 - 1 - - - 49 - 50 - 1 - - - 66 - 67 - 1 - - - 90 - 91 - 1 - - - 234 - 235 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 7 - 8 - 2 - - - 11 - 12 - 1 - - - 16 - 17 - 1 - - - 18 - 19 - 1 - - - 25 - 26 - 1 - - - 33 - 34 - 1 - - - 49 - 50 - 1 - - - 66 - 67 - 1 - - - 90 - 91 - 1 - - - 234 - 235 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 595 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 595 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 595 - - - - - - - - - pair_def - 54288 - - - id - 54288 - - - parent - 35679 - - - parent_index - 142 - - - key__ - 54288 - - - value - 54288 - - - loc - 54288 - - - - - id - parent - - - 12 - - - 1 - 2 - 54288 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 54288 - - - - - - - id - key__ - - - 12 - - - 1 - 2 - 54288 - - - - - - - id - value - - - 12 - - - 1 - 2 - 54288 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 54288 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 24315 - - - 2 - 3 - 7352 - - - 3 - 4 - 2420 - - - 4 - 27 - 1591 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 24315 - - - 2 - 3 - 7352 - - - 3 - 4 - 2420 - - - 4 - 27 - 1591 - - - - - - - parent - key__ - - - 12 - - - 1 - 2 - 24315 - - - 2 - 3 - 7352 - - - 3 - 4 - 2420 - - - 4 - 27 - 1591 - - - - - - - parent - value - - - 12 - - - 1 - 2 - 24315 - - - 2 - 3 - 7352 - - - 3 - 4 - 2420 - - - 4 - 27 - 1591 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 24315 - - - 2 - 3 - 7352 - - - 3 - 4 - 2420 - - - 4 - 27 - 1591 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 19 - - - 2 - 3 - 23 - - - 3 - 4 - 11 - - - 6 - 7 - 11 - - - 11 - 18 - 11 - - - 24 - 45 - 11 - - - 56 - 117 - 11 - - - 120 - 325 - 11 - - - 603 - 956 - 11 - - - 1320 - 3033 - 11 - - - 3204 - 3205 - 3 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 19 - - - 2 - 3 - 23 - - - 3 - 4 - 11 - - - 6 - 7 - 11 - - - 11 - 18 - 11 - - - 24 - 45 - 11 - - - 56 - 117 - 11 - - - 120 - 325 - 11 - - - 603 - 956 - 11 - - - 1320 - 3033 - 11 - - - 3204 - 3205 - 3 - - - - - - - parent_index - key__ - - - 12 - - - 1 - 2 - 19 - - - 2 - 3 - 23 - - - 3 - 4 - 11 - - - 6 - 7 - 11 - - - 11 - 18 - 11 - - - 24 - 45 - 11 - - - 56 - 117 - 11 - - - 120 - 325 - 11 - - - 603 - 956 - 11 - - - 1320 - 3033 - 11 - - - 3204 - 3205 - 3 - - - - - - - parent_index - value - - - 12 - - - 1 - 2 - 19 - - - 2 - 3 - 23 - - - 3 - 4 - 11 - - - 6 - 7 - 11 - - - 11 - 18 - 11 - - - 24 - 45 - 11 - - - 56 - 117 - 11 - - - 120 - 325 - 11 - - - 603 - 956 - 11 - - - 1320 - 3033 - 11 - - - 3204 - 3205 - 3 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 19 - - - 2 - 3 - 23 - - - 3 - 4 - 11 - - - 6 - 7 - 11 - - - 11 - 18 - 11 - - - 24 - 45 - 11 - - - 56 - 117 - 11 - - - 120 - 325 - 11 - - - 603 - 956 - 11 - - - 1320 - 3033 - 11 - - - 3204 - 3205 - 3 - - - - - - - key__ - id - - - 12 - - - 1 - 2 - 54288 - - - - - - - key__ - parent - - - 12 - - - 1 - 2 - 54288 - - - - - - - key__ - parent_index - - - 12 - - - 1 - 2 - 54288 - - - - - - - key__ - value - - - 12 - - - 1 - 2 - 54288 - - - - - - - key__ - loc - - - 12 - - - 1 - 2 - 54288 - - - - - - - value - id - - - 12 - - - 1 - 2 - 54288 - - - - - - - value - parent - - - 12 - - - 1 - 2 - 54288 - - - - - - - value - parent_index - - - 12 - - - 1 - 2 - 54288 - - - - - - - value - key__ - - - 12 - - - 1 - 2 - 54288 - - - - - - - value - loc - - - 12 - - - 1 - 2 - 54288 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 54288 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 54288 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 54288 - - - - - - - loc - key__ - - - 12 - - - 1 - 2 - 54288 - - - - - - - loc - value - - - 12 - - - 1 - 2 - 54288 - - - - - - - - - end_block_child + numlines 0 - end_block + element_id 0 - index + num_lines 0 - child + num_code + 0 + + + num_comment 0 - end_block - index + element_id + num_lines 12 @@ -25141,8 +30736,8 @@ - end_block - child + element_id + num_code 12 @@ -25151,8 +30746,8 @@ - index - end_block + element_id + num_comment 12 @@ -25161,8 +30756,8 @@ - index - child + num_lines + element_id 12 @@ -25171,452 +30766,118 @@ - child - end_block + num_lines + num_code 12 - - - 1 - 2 - 1 - - + - child - index + num_lines + num_comment 12 - - - 1 - 2 - 1 - - + + + + + + num_code + element_id + + + 12 + + + + + + num_code + num_lines + + + 12 + + + + + + num_code + num_comment + + + 12 + + + + + + num_comment + element_id + + + 12 + + + + + + num_comment + num_lines + + + 12 + + + + + + num_comment + num_code + + + 12 + - scope_resolution_scope - 23152 - - - scope_resolution - 23152 - - - scope - 23152 - - - - - scope_resolution - scope - - - 12 - - - 1 - 2 - 23152 - - - - - - - scope - scope_resolution - - - 12 - - - 1 - 2 - 23152 - - - - - - - - - class_child - 39564 - - - class - 4552 - - - index - 305 - - - child - 39564 - - - - - class - index - - - 12 - - - 1 - 2 - 1001 - - - 2 - 3 - 711 - - - 3 - 4 - 447 - - - 4 - 5 - 375 - - - 5 - 6 - 290 - - - 6 - 7 - 251 - - - 7 - 9 - 341 - - - 9 - 13 - 385 - - - 13 - 21 - 358 - - - 21 - 84 - 344 - - - 85 - 306 - 49 - - - - - - - class - child - - - 12 - - - 1 - 2 - 1001 - - - 2 - 3 - 711 - - - 3 - 4 - 447 - - - 4 - 5 - 375 - - - 5 - 6 - 290 - - - 6 - 7 - 251 - - - 7 - 9 - 341 - - - 9 - 13 - 385 - - - 13 - 21 - 358 - - - 21 - 84 - 344 - - - 85 - 306 - 49 - - - - - - - index - class - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 33 - - - 3 - 6 - 27 - - - 6 - 7 - 17 - - - 7 - 8 - 26 - - - 8 - 10 - 11 - - - 10 - 12 - 23 - - - 12 - 16 - 24 - - - 16 - 30 - 25 - - - 30 - 50 - 24 - - - 52 - 87 - 23 - - - 88 - 174 - 23 - - - 180 - 622 - 23 - - - 686 - 4553 - 14 - - - - - - - index - child - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 33 - - - 3 - 6 - 27 - - - 6 - 7 - 17 - - - 7 - 8 - 26 - - - 8 - 10 - 11 - - - 10 - 12 - 23 - - - 12 - 16 - 24 - - - 16 - 30 - 25 - - - 30 - 50 - 24 - - - 52 - 87 - 23 - - - 88 - 174 - 23 - - - 180 - 622 - 23 - - - 686 - 4553 - 14 - - - - - - - child - class - - - 12 - - - 1 - 2 - 39564 - - - - - - - child - index - - - 12 - - - 1 - 2 - 39564 - - - - - - - - - range_def - 530 + operator_assignment_def + 1973 id - 530 + 1973 parent - 527 + 1571 parent_index + 69 + + + left + 1973 + + + operator 6 + + right + 1973 + loc - 530 + 1973 @@ -25630,7 +30891,7 @@ 1 2 - 530 + 1973 @@ -25646,7 +30907,55 @@ 1 2 - 530 + 1973 + + + + + + + id + left + + + 12 + + + 1 + 2 + 1973 + + + + + + + id + operator + + + 12 + + + 1 + 2 + 1973 + + + + + + + id + right + + + 12 + + + 1 + 2 + 1973 @@ -25662,7 +30971,7 @@ 1 2 - 530 + 1973 @@ -25678,12 +30987,17 @@ 1 2 - 524 + 1393 2 3 - 3 + 118 + + + 3 + 18 + 58 @@ -25699,12 +31013,90 @@ 1 2 - 524 + 1393 2 3 - 3 + 118 + + + 3 + 18 + 58 + + + + + + + parent + left + + + 12 + + + 1 + 2 + 1393 + + + 2 + 3 + 118 + + + 3 + 18 + 58 + + + + + + + parent + operator + + + 12 + + + 1 + 2 + 1559 + + + 2 + 3 + 11 + + + + + + + parent + right + + + 12 + + + 1 + 2 + 1393 + + + 2 + 3 + 118 + + + 3 + 18 + 58 @@ -25720,12 +31112,17 @@ 1 2 - 524 + 1393 2 3 - 3 + 118 + + + 3 + 18 + 58 @@ -25741,231 +31138,44 @@ 1 2 - 1 - - - 12 - 13 - 1 - - - 22 - 23 - 1 - - - 136 - 137 - 1 - - - 142 - 143 - 1 - - - 217 - 218 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - 12 - 13 - 1 - - - 22 - 23 - 1 - - - 136 - 137 - 1 - - - 142 - 143 - 1 - - - 217 - 218 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - 12 - 13 - 1 - - - 22 - 23 - 1 - - - 136 - 137 - 1 - - - 142 - 143 - 1 - - - 217 - 218 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 530 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 530 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 530 - - - - - - - - - containerparent - 6519 - - - parent - 1222 - - - child - 6519 - - - - - parent - child - - - 12 - - - 1 - 2 - 503 + 28 2 3 - 242 + 12 3 4 - 119 + 5 4 - 5 - 87 + 11 + 6 - 5 - 7 - 91 + 11 + 23 + 6 - 7 - 12 - 99 + 26 + 134 + 5 - 12 - 288 - 79 + 202 + 473 + 5 - child + parent_index parent @@ -25974,7 +31184,740 @@ 1 2 - 6519 + 28 + + + 2 + 3 + 12 + + + 3 + 4 + 5 + + + 4 + 11 + 6 + + + 11 + 23 + 6 + + + 26 + 134 + 5 + + + 202 + 473 + 5 + + + + + + + parent_index + left + + + 12 + + + 1 + 2 + 28 + + + 2 + 3 + 12 + + + 3 + 4 + 5 + + + 4 + 11 + 6 + + + 11 + 23 + 6 + + + 26 + 134 + 5 + + + 202 + 473 + 5 + + + + + + + parent_index + operator + + + 12 + + + 1 + 2 + 42 + + + 2 + 3 + 14 + + + 3 + 4 + 7 + + + 4 + 6 + 5 + + + + + + + parent_index + right + + + 12 + + + 1 + 2 + 28 + + + 2 + 3 + 12 + + + 3 + 4 + 5 + + + 4 + 11 + 6 + + + 11 + 23 + 6 + + + 26 + 134 + 5 + + + 202 + 473 + 5 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 28 + + + 2 + 3 + 12 + + + 3 + 4 + 5 + + + 4 + 11 + 6 + + + 11 + 23 + 6 + + + 26 + 134 + 5 + + + 202 + 473 + 5 + + + + + + + left + id + + + 12 + + + 1 + 2 + 1973 + + + + + + + left + parent + + + 12 + + + 1 + 2 + 1973 + + + + + + + left + parent_index + + + 12 + + + 1 + 2 + 1973 + + + + + + + left + operator + + + 12 + + + 1 + 2 + 1973 + + + + + + + left + right + + + 12 + + + 1 + 2 + 1973 + + + + + + + left + loc + + + 12 + + + 1 + 2 + 1973 + + + + + + + operator + id + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 8 + 9 + 1 + + + 61 + 62 + 1 + + + 468 + 469 + 1 + + + 1373 + 1374 + 1 + + + + + + + operator + parent + + + 12 + + + 1 + 2 + 1 + + + 4 + 5 + 1 + + + 8 + 9 + 1 + + + 58 + 59 + 1 + + + 411 + 412 + 1 + + + 1054 + 1055 + 1 + + + + + + + operator + parent_index + + + 12 + + + 1 + 2 + 1 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 9 + 10 + 1 + + + 27 + 28 + 1 + + + 66 + 67 + 1 + + + + + + + operator + left + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 8 + 9 + 1 + + + 61 + 62 + 1 + + + 468 + 469 + 1 + + + 1373 + 1374 + 1 + + + + + + + operator + right + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 8 + 9 + 1 + + + 61 + 62 + 1 + + + 468 + 469 + 1 + + + 1373 + 1374 + 1 + + + + + + + operator + loc + + + 12 + + + 1 + 2 + 1 + + + 5 + 6 + 1 + + + 8 + 9 + 1 + + + 61 + 62 + 1 + + + 468 + 469 + 1 + + + 1373 + 1374 + 1 + + + + + + + right + id + + + 12 + + + 1 + 2 + 1973 + + + + + + + right + parent + + + 12 + + + 1 + 2 + 1973 + + + + + + + right + parent_index + + + 12 + + + 1 + 2 + 1973 + + + + + + + right + left + + + 12 + + + 1 + 2 + 1973 + + + + + + + right + operator + + + 12 + + + 1 + 2 + 1973 + + + + + + + right + loc + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + left + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + operator + + + 12 + + + 1 + 2 + 1973 + + + + + + + loc + right + + + 12 + + + 1 + 2 + 1973 @@ -25984,15 +31927,15 @@ optional_parameter_def - 2022 + 2027 id - 2022 + 2027 parent - 1611 + 1617 parent_index @@ -26000,15 +31943,15 @@ name - 2022 + 2027 value - 2022 + 2027 loc - 2022 + 2027 @@ -26022,7 +31965,7 @@ 1 2 - 2022 + 2027 @@ -26038,7 +31981,7 @@ 1 2 - 2022 + 2027 @@ -26054,7 +31997,7 @@ 1 2 - 2022 + 2027 @@ -26070,7 +32013,7 @@ 1 2 - 2022 + 2027 @@ -26086,7 +32029,7 @@ 1 2 - 2022 + 2027 @@ -26102,12 +32045,12 @@ 1 2 - 1294 + 1301 2 3 - 252 + 251 3 @@ -26128,12 +32071,12 @@ 1 2 - 1294 + 1301 2 3 - 252 + 251 3 @@ -26154,12 +32097,12 @@ 1 2 - 1294 + 1301 2 3 - 252 + 251 3 @@ -26180,12 +32123,12 @@ 1 2 - 1294 + 1301 2 3 - 252 + 251 3 @@ -26206,12 +32149,12 @@ 1 2 - 1294 + 1301 2 3 - 252 + 251 3 @@ -26260,18 +32203,18 @@ 1 - 327 - 328 + 326 + 327 1 - 758 - 759 + 760 + 761 1 - 790 - 791 + 794 + 795 1 @@ -26316,18 +32259,18 @@ 1 - 327 - 328 + 326 + 327 1 - 758 - 759 + 760 + 761 1 - 790 - 791 + 794 + 795 1 @@ -26372,18 +32315,18 @@ 1 - 327 - 328 + 326 + 327 1 - 758 - 759 + 760 + 761 1 - 790 - 791 + 794 + 795 1 @@ -26428,18 +32371,18 @@ 1 - 327 - 328 + 326 + 327 1 - 758 - 759 + 760 + 761 1 - 790 - 791 + 794 + 795 1 @@ -26484,18 +32427,18 @@ 1 - 327 - 328 + 326 + 327 1 - 758 - 759 + 760 + 761 1 - 790 - 791 + 794 + 795 1 @@ -26512,7 +32455,7 @@ 1 2 - 2022 + 2027 @@ -26528,7 +32471,7 @@ 1 2 - 2022 + 2027 @@ -26544,7 +32487,7 @@ 1 2 - 2022 + 2027 @@ -26560,7 +32503,7 @@ 1 2 - 2022 + 2027 @@ -26576,7 +32519,7 @@ 1 2 - 2022 + 2027 @@ -26592,7 +32535,7 @@ 1 2 - 2022 + 2027 @@ -26608,7 +32551,7 @@ 1 2 - 2022 + 2027 @@ -26624,7 +32567,7 @@ 1 2 - 2022 + 2027 @@ -26640,7 +32583,7 @@ 1 2 - 2022 + 2027 @@ -26656,7 +32599,7 @@ 1 2 - 2022 + 2027 @@ -26672,7 +32615,7 @@ 1 2 - 2022 + 2027 @@ -26688,7 +32631,7 @@ 1 2 - 2022 + 2027 @@ -26704,7 +32647,7 @@ 1 2 - 2022 + 2027 @@ -26720,7 +32663,7 @@ 1 2 - 2022 + 2027 @@ -26736,7 +32679,7 @@ 1 2 - 2022 + 2027 @@ -26745,22 +32688,38 @@ - rescue_body - 514 + pair_def + 59696 - rescue - 514 + id + 59696 - body - 514 + parent + 38795 + + + parent_index + 171 + + + key__ + 59696 + + + value + 59696 + + + loc + 59696 - rescue - body + id + parent 12 @@ -26768,15 +32727,15 @@ 1 2 - 514 + 59696 - body - rescue + id + parent_index 12 @@ -26784,7 +32743,755 @@ 1 2 - 514 + 59696 + + + + + + + id + key__ + + + 12 + + + 1 + 2 + 59696 + + + + + + + id + value + + + 12 + + + 1 + 2 + 59696 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 59696 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 25953 + + + 2 + 3 + 8280 + + + 3 + 4 + 2750 + + + 4 + 40 + 1810 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 25953 + + + 2 + 3 + 8280 + + + 3 + 4 + 2750 + + + 4 + 40 + 1810 + + + + + + + parent + key__ + + + 12 + + + 1 + 2 + 25953 + + + 2 + 3 + 8280 + + + 3 + 4 + 2750 + + + 4 + 40 + 1810 + + + + + + + parent + value + + + 12 + + + 1 + 2 + 25953 + + + 2 + 3 + 8280 + + + 3 + 4 + 2750 + + + 4 + 40 + 1810 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 25953 + + + 2 + 3 + 8280 + + + 3 + 4 + 2750 + + + 4 + 40 + 1810 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 52 + + + 2 + 3 + 10 + + + 3 + 4 + 14 + + + 4 + 7 + 14 + + + 7 + 8 + 14 + + + 12 + 26 + 14 + + + 46 + 95 + 14 + + + 123 + 539 + 14 + + + 684 + 1501 + 14 + + + 3503 + 3779 + 10 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 52 + + + 2 + 3 + 10 + + + 3 + 4 + 14 + + + 4 + 7 + 14 + + + 7 + 8 + 14 + + + 12 + 26 + 14 + + + 46 + 95 + 14 + + + 123 + 539 + 14 + + + 684 + 1501 + 14 + + + 3503 + 3779 + 10 + + + + + + + parent_index + key__ + + + 12 + + + 1 + 2 + 52 + + + 2 + 3 + 10 + + + 3 + 4 + 14 + + + 4 + 7 + 14 + + + 7 + 8 + 14 + + + 12 + 26 + 14 + + + 46 + 95 + 14 + + + 123 + 539 + 14 + + + 684 + 1501 + 14 + + + 3503 + 3779 + 10 + + + + + + + parent_index + value + + + 12 + + + 1 + 2 + 52 + + + 2 + 3 + 10 + + + 3 + 4 + 14 + + + 4 + 7 + 14 + + + 7 + 8 + 14 + + + 12 + 26 + 14 + + + 46 + 95 + 14 + + + 123 + 539 + 14 + + + 684 + 1501 + 14 + + + 3503 + 3779 + 10 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 52 + + + 2 + 3 + 10 + + + 3 + 4 + 14 + + + 4 + 7 + 14 + + + 7 + 8 + 14 + + + 12 + 26 + 14 + + + 46 + 95 + 14 + + + 123 + 539 + 14 + + + 684 + 1501 + 14 + + + 3503 + 3779 + 10 + + + + + + + key__ + id + + + 12 + + + 1 + 2 + 59696 + + + + + + + key__ + parent + + + 12 + + + 1 + 2 + 59696 + + + + + + + key__ + parent_index + + + 12 + + + 1 + 2 + 59696 + + + + + + + key__ + value + + + 12 + + + 1 + 2 + 59696 + + + + + + + key__ + loc + + + 12 + + + 1 + 2 + 59696 + + + + + + + value + id + + + 12 + + + 1 + 2 + 59696 + + + + + + + value + parent + + + 12 + + + 1 + 2 + 59696 + + + + + + + value + parent_index + + + 12 + + + 1 + 2 + 59696 + + + + + + + value + key__ + + + 12 + + + 1 + 2 + 59696 + + + + + + + value + loc + + + 12 + + + 1 + 2 + 59696 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 59696 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 59696 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 59696 + + + + + + + loc + key__ + + + 12 + + + 1 + 2 + 59696 + + + + + + + loc + value + + + 12 + + + 1 + 2 + 59696 @@ -26793,25 +33500,25 @@ - left_assignment_list_child - 1674 + parenthesized_statements_child + 1652 - left_assignment_list - 752 + parenthesized_statements + 1651 index - 8 + 2 child - 1674 + 1652 - left_assignment_list + parenthesized_statements index @@ -26820,29 +33527,19 @@ 1 2 - 2 + 1650 2 3 - 616 - - - 3 - 4 - 113 - - - 4 - 9 - 21 + 1 - left_assignment_list + parenthesized_statements child @@ -26851,22 +33548,12 @@ 1 2 - 2 + 1650 2 3 - 616 - - - 3 - 4 - 113 - - - 4 - 9 - 21 + 1 @@ -26874,44 +33561,19 @@ index - left_assignment_list + parenthesized_statements 12 - 2 - 3 + 1 + 2 1 - 3 - 4 - 2 - - - 9 - 10 - 1 - - - 21 - 22 - 1 - - - 134 - 135 - 1 - - - 750 - 751 - 1 - - - 752 - 753 + 1603 + 1604 1 @@ -26926,38 +33588,13 @@ 12 - 2 - 3 + 1 + 2 1 - 3 - 4 - 2 - - - 9 - 10 - 1 - - - 21 - 22 - 1 - - - 134 - 135 - 1 - - - 750 - 751 - 1 - - - 752 - 753 + 1603 + 1604 1 @@ -26966,7 +33603,7 @@ child - left_assignment_list + parenthesized_statements 12 @@ -26974,7 +33611,7 @@ 1 2 - 1674 + 1652 @@ -26990,7 +33627,328 @@ 1 2 - 1674 + 1652 + + + + + + + + + parenthesized_statements_def + 1651 + + + id + 1651 + + + parent + 1605 + + + parent_index + 9 + + + loc + 1651 + + + + + id + parent + + + 12 + + + 1 + 2 + 1651 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1651 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1651 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 1560 + + + 2 + 5 + 44 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 1560 + + + 2 + 5 + 44 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 1560 + + + 2 + 5 + 44 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 7 + 8 + 1 + + + 206 + 207 + 1 + + + 631 + 632 + 1 + + + 751 + 752 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 7 + 8 + 1 + + + 206 + 207 + 1 + + + 631 + 632 + 1 + + + 751 + 752 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 7 + 8 + 1 + + + 206 + 207 + 1 + + + 631 + 632 + 1 + + + 751 + 752 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1651 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1651 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1651 @@ -27000,15 +33958,15 @@ pattern_def - 1169 + 1172 id - 1169 + 1172 parent - 968 + 970 parent_index @@ -27016,11 +33974,11 @@ child - 1169 + 1172 loc - 1169 + 1172 @@ -27034,7 +33992,7 @@ 1 2 - 1169 + 1172 @@ -27050,7 +34008,7 @@ 1 2 - 1169 + 1172 @@ -27066,7 +34024,7 @@ 1 2 - 1169 + 1172 @@ -27082,7 +34040,7 @@ 1 2 - 1169 + 1172 @@ -27098,12 +34056,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -27124,12 +34082,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -27150,12 +34108,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -27176,12 +34134,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -27235,13 +34193,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -27291,13 +34249,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -27347,13 +34305,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -27403,13 +34361,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -27426,7 +34384,7 @@ 1 2 - 1169 + 1172 @@ -27442,7 +34400,7 @@ 1 2 - 1169 + 1172 @@ -27458,7 +34416,7 @@ 1 2 - 1169 + 1172 @@ -27474,7 +34432,7 @@ 1 2 - 1169 + 1172 @@ -27490,7 +34448,7 @@ 1 2 - 1169 + 1172 @@ -27506,7 +34464,7 @@ 1 2 - 1169 + 1172 @@ -27522,7 +34480,7 @@ 1 2 - 1169 + 1172 @@ -27538,7 +34496,7 @@ 1 2 - 1169 + 1172 @@ -27547,22 +34505,26 @@ - elsif_alternative - 244 + program_child + 14325 - elsif - 244 + program + 6115 - alternative - 244 + index + 140 + + + child + 14325 - elsif - alternative + program + index 12 @@ -27570,242 +34532,35 @@ 1 2 - 244 - - - - - - - alternative - elsif - - - 12 - - - 1 - 2 - 244 - - - - - - - - - string_def - 89110 - - - id - 89110 - - - parent - 78713 - - - parent_index - 49 - - - loc - 89110 - - - - - id - parent - - - 12 - - - 1 - 2 - 89110 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 89110 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 89110 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 70390 + 3199 2 3 - 7366 + 1596 3 - 42 - 957 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 70390 + 4 + 494 - 2 - 3 - 7366 - - - 3 - 42 - 957 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 70390 - - - 2 - 3 - 7366 - - - 3 - 42 - 957 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 16 - - - 2 - 3 - 2 - - - 3 - 6 - 4 - - - 6 + 4 7 - 4 + 480 7 - 8 - 3 - - - 8 - 15 - 4 - - - 23 - 44 - 4 - - - 58 - 153 - 4 - - - 173 - 1148 - 4 - - - 4958 - 35814 - 4 + 41 + 343 - parent_index - parent + program + child 12 @@ -27813,60 +34568,35 @@ 1 2 - 16 + 3199 2 3 - 2 + 1596 3 - 6 - 4 + 4 + 494 - 6 + 4 7 - 4 + 480 7 - 8 - 3 - - - 8 - 15 - 4 - - - 23 - 44 - 4 - - - 58 - 153 - 4 - - - 173 - 1148 - 4 - - - 4958 - 35814 - 4 + 41 + 343 - parent_index - loc + index + program 12 @@ -27874,9688 +34604,133 @@ 1 2 - 16 + 28 2 - 3 - 2 - - - 3 - 6 - 4 - - - 6 - 7 - 4 - - - 7 - 8 - 3 - - - 8 - 15 - 4 - - - 23 - 44 - 4 - - - 58 - 153 - 4 - - - 173 - 1148 - 4 - - - 4958 - 35814 - 4 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 89110 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 89110 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 89110 - - - - - - - - - return_def - 2537 - - - id - 2537 - - - parent - 2537 - - - parent_index - 11 - - - loc - 2537 - - - - - id - parent - - - 12 - - - 1 - 2 - 2537 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 2537 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 2537 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 2537 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 2537 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 2537 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 + 4 + 10 4 5 - 1 + 17 5 - 6 - 1 - - - 6 7 - 1 + 7 - 13 + 7 + 10 + 10 + + + 10 14 - 1 + 10 - 69 - 70 - 1 - - - 176 - 177 - 1 - - - 2180 - 2181 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 5 - 6 - 1 - - - 6 - 7 - 1 - - - 13 - 14 - 1 - - - 69 - 70 - 1 - - - 176 - 177 - 1 - - - 2180 - 2181 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 5 - 6 - 1 - - - 6 - 7 - 1 - - - 13 - 14 - 1 - - - 69 - 70 - 1 - - - 176 - 177 - 1 - - - 2180 - 2181 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 2537 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 2537 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 2537 - - - - - - - - - sourceLocationPrefix - 3 - - - prefix - 3 - - - - - - end_block_def - 0 - - - id - 0 - - - parent - 0 - - - parent_index - 0 - - - loc - 0 - - - - - id - parent - - - 12 - - - 1 - 2 - 1 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1 - - - - - - - parent - id - - - 12 - - - - - - parent - parent_index - - - 12 - - - - - - parent - loc - - - 12 - - - - - - parent_index - id - - - 12 - - - - - - parent_index - parent - - - 12 - - - - - - parent_index - loc - - - 12 - - - - - - loc - id - - - 12 - - - - - - loc - parent - - - 12 - - - - - - loc - parent_index - - - 12 - - - - - - - - method_parameters_def - 8674 - - - id - 8674 - - - parent - 8674 - - - parent_index - 2 - - - loc - 8674 - - - - - id - parent - - - 12 - - - 1 - 2 - 8674 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 8674 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 8674 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 8674 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 8674 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 8674 - - - - - - - parent_index - id - - - 12 - - - 520 - 521 - 1 - - - 8154 - 8155 - 1 - - - - - - - parent_index - parent - - - 12 - - - 520 - 521 - 1 - - - 8154 - 8155 - 1 - - - - - - - parent_index - loc - - - 12 - - - 520 - 521 - 1 - - - 8154 - 8155 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 8674 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 8674 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 8674 - - - - - - - - - subshell_def - 108 - - - id - 108 - - - parent - 105 - - - parent_index - 9 - - - loc - 108 - - - - - id - parent - - - 12 - - - 1 - 2 - 108 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 108 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 108 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 102 - - - 2 - 3 - 3 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 102 - - - 2 - 3 - 3 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 102 - - - 2 - 3 - 3 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 2 - - - 21 - 22 - 1 - - - 55 - 56 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 2 - - - 21 - 22 - 1 - - - 55 - 56 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 11 - 12 - 2 - - - 21 - 22 - 1 - - - 55 - 56 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 108 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 108 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 108 - - - - - - - - - do_block_parameters - 4369 - - - do_block - 4369 - - - parameters - 4369 - - - - - do_block - parameters - - - 12 - - - 1 - 2 - 4369 - - - - - - - parameters - do_block - - - 12 - - - 1 - 2 - 4369 - - - - - - - - - case_value - 358 - - - case__ - 358 - - - value - 358 - - - - - case__ - value - - - 12 - - - 1 - 2 - 358 - - - - - - - value - case__ - - - 12 - - - 1 - 2 - 358 - - - - - - - - - alias_def - 441 - - - id - 441 - - - parent - 191 - - - parent_index - 103 - - - alias - 441 - - - name - 441 - - - loc - 441 - - - - - id - parent - - - 12 - - - 1 - 2 - 441 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 441 - - - - - - - id - alias - - - 12 - - - 1 - 2 - 441 - - - - - - - id - name - - - 12 - - - 1 - 2 - 441 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 441 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 122 - - - 2 - 3 - 34 - - - 3 - 4 - 16 - - - 4 - 15 - 17 - - - 17 - 67 - 2 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 122 - - - 2 - 3 - 34 - - - 3 - 4 - 16 - - - 4 - 15 - 17 - - - 17 - 67 - 2 - - - - - - - parent - alias - - - 12 - - - 1 - 2 - 122 - - - 2 - 3 - 34 - - - 3 - 4 - 16 - - - 4 - 15 - 17 - - - 17 - 67 - 2 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 122 - - - 2 - 3 - 34 - - - 3 - 4 - 16 - - - 4 - 15 - 17 - - - 17 - 67 - 2 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 122 - - - 2 - 3 - 34 - - - 3 - 4 - 16 - - - 4 - 15 - 17 - - - 17 - 67 - 2 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 17 - - - 3 - 4 - 8 - - - 4 - 7 - 9 - - - 7 - 13 - 8 - - - 13 - 23 - 8 - - - 26 + 18 30 - 3 + 10 - - - - - - parent_index - parent - - - 12 - - 1 - 2 - 50 - - - 2 - 3 - 17 - - - 3 - 4 - 8 - - - 4 - 7 - 9 - - - 7 - 13 - 8 - - - 13 - 23 - 8 - - - 26 - 30 - 3 - - - - - - - parent_index - alias - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 17 - - - 3 - 4 - 8 - - - 4 - 7 - 9 - - - 7 - 13 - 8 - - - 13 - 23 - 8 - - - 26 - 30 - 3 - - - - - - - parent_index - name - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 17 - - - 3 - 4 - 8 - - - 4 - 7 - 9 - - - 7 - 13 - 8 - - - 13 - 23 - 8 - - - 26 - 30 - 3 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 50 - - - 2 - 3 - 17 - - - 3 - 4 - 8 - - - 4 - 7 - 9 - - - 7 - 13 - 8 - - - 13 - 23 - 8 - - - 26 - 30 - 3 - - - - - - - alias - id - - - 12 - - - 1 - 2 - 441 - - - - - - - alias - parent - - - 12 - - - 1 - 2 - 441 - - - - - - - alias - parent_index - - - 12 - - - 1 - 2 - 441 - - - - - - - alias - name - - - 12 - - - 1 - 2 - 441 - - - - - - - alias - loc - - - 12 - - - 1 - 2 - 441 - - - - - - - name - id - - - 12 - - - 1 - 2 - 441 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 441 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 441 - - - - - - - name - alias - - - 12 - - - 1 - 2 - 441 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 441 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 441 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 441 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 441 - - - - - - - loc - alias - - - 12 - - - 1 - 2 - 441 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 441 - - - - - - - - - retry_def - 9 - - - id - 9 - - - parent - 9 - - - parent_index - 3 - - - loc - 9 - - - - - id - parent - - - 12 - - - 1 - 2 - 9 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 9 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 9 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 9 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 9 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 9 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 9 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 9 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 9 - - - - - - - - - tokeninfo - 1762187 - - - id - 1762187 - - - parent - 692888 - - - parent_index - 2127 - - - kind - 23 - - - file - 2843 - - - idx - 42284 - - - value - 111875 - - - loc - 1761998 - - - - - id - parent - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - kind - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - file - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - idx - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - value - - - 12 - - - 1 - 2 - 1762187 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1762187 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 151813 - - - 2 - 3 - 191846 - - - 3 - 4 - 303017 - - - 4 - 2128 - 46212 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 151813 - - - 2 - 3 - 191846 - - - 3 - 4 - 303017 - - - 4 - 2128 - 46212 - - - - - - - parent - kind - - - 12 - - - 1 - 2 - 236662 - - - 2 - 3 - 376596 - - - 3 - 4 - 79336 - - - 4 - 9 - 294 - - - - - - - parent - file - - - 12 - - - 1 - 2 - 692888 - - - - - - - parent - idx - - - 12 - - - 1 - 2 - 151813 - - - 2 - 3 - 191846 - - - 3 - 4 - 303017 - - - 4 - 2128 - 46212 - - - - - - - parent - value - - - 12 - - - 1 - 2 - 154261 - - - 2 - 3 - 282629 - - - 3 - 4 - 216852 - - - 4 - 1024 - 39146 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 151813 - - - 2 - 3 - 191846 - - - 3 - 4 - 303017 - - - 4 - 2128 - 46212 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 524 - - - 2 - 3 - 660 - - - 3 - 5 - 82 - - - 5 - 6 - 172 - - - 6 - 13 - 148 - - - 13 - 20 - 162 - - - 20 - 51 - 164 - - - 52 - 371 - 160 - - - 372 - 602678 - 55 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 524 - - - 2 - 3 - 660 - - - 3 - 5 - 82 - - - 5 - 6 - 172 - - - 6 - 13 - 148 - - - 13 - 20 - 162 - - - 20 - 51 - 164 - - - 52 - 371 - 160 - - - 372 - 602678 - 55 - - - - - - - parent_index - kind - - - 12 - - - 1 - 2 - 1877 - - - 2 - 5 - 160 - - - 5 - 22 - 90 - - - - - - - parent_index - file - - - 12 - - - 1 - 2 - 524 - - - 2 - 3 - 660 - - - 3 - 5 - 82 - - - 5 - 6 - 172 - - - 6 - 13 - 148 - - - 13 - 20 - 162 - - - 20 - 51 - 164 - - - 52 - 225 - 160 - - - 226 - 2844 - 55 - - - - - - - parent_index - idx - - - 12 - - - 1 - 2 - 524 - - - 2 - 3 - 660 - - - 3 - 5 - 82 - - - 5 - 6 - 172 - - - 6 - 13 - 148 - - - 13 - 19 - 162 - - - 19 + 31 48 - 164 - - - 48 - 301 - 160 - - - 307 - 23921 - 55 - - - - - - - parent_index - value - - - 12 - - - 1 - 2 - 546 - - - 2 - 3 - 649 - - - 3 - 5 - 137 - - - 5 - 9 - 182 - - - 9 - 14 - 188 - - - 14 - 29 - 161 - - - 29 - 98 - 160 - - - 100 - 61765 - 104 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 524 - - - 2 - 3 - 660 - - - 3 - 5 - 82 - - - 5 - 6 - 172 - - - 6 - 13 - 148 - - - 13 - 20 - 162 - - - 20 - 51 - 164 - - - 52 - 371 - 160 - - - 372 - 602678 - 55 - - - - - - - kind - id - - - 12 - - - 11 - 110 - 2 - - - 189 - 718 - 2 - - - 815 - 816 - 1 - - - 1232 - 1233 - 2 - - - 1521 - 1684 - 2 - - - 3173 - 3888 - 2 - - - 3970 - 4805 - 2 - - - 19822 - 24244 - 2 - - - 30808 - 31795 - 2 - - - 45276 - 55086 - 2 - - - 84129 - 112818 - 2 - - - 397733 - 937138 - 2 - - - - - - - kind - parent - - - 12 - - - 11 - 109 - 2 - - - 189 - 698 - 2 - - - 768 - 769 - 1 - - - 1232 - 1233 - 3 - - - 1520 - 2807 - 2 - - - 3163 - 3831 - 2 - - - 3884 - 4799 - 2 - - - 5010 - 19757 - 2 - - - 23895 - 30809 - 2 - - - 38955 - 66029 - 2 - - - 95033 - 342314 - 2 - - - 581801 - 581802 - 1 - - - - - - - kind - parent_index - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 2 - - - 5 - 7 - 2 - - - 7 - 11 - 2 - - - 12 - 13 - 2 - - - 14 - 15 - 2 - - - 15 - 16 - 2 - - - 17 - 28 - 2 - - - 37 - 54 - 2 - - - 94 - 98 - 2 - - - 110 - 132 - 2 - - - 219 - 2128 - 2 - - - - - - - kind - file - - - 12 - - - 9 - 28 - 2 - - - 97 - 138 - 2 - - - 167 - 168 - 1 - - - 230 - 231 - 3 - - - 601 - 610 - 2 - - - 811 - 921 - 2 - - - 960 - 1077 - 2 - - - 1178 - 1251 - 2 - - - 1435 - 2099 - 2 - - - 2344 - 2748 - 2 - - - 2792 - 2807 - 2 - - - 2829 - 2830 - 1 - - - - - - - kind - idx - - - 12 - - - 11 - 101 - 2 - - - 173 - 551 - 2 - - - 705 - 796 - 2 - - - 956 - 957 - 2 - - - 1180 - 1546 - 2 - - - 1821 - 2111 - 2 - - - 2592 - 4707 - 2 - - - 5786 - 8284 - 2 - - - 8456 - 9850 - 2 - - - 11081 - 13646 - 2 - - - 19060 - 20069 - 2 - - - 28551 - 28552 - 1 - - - - - - - kind - value - - - 12 - - - 1 - 2 - 4 - - - 2 - 5 - 2 - - - 20 - 42 - 2 - - - 61 - 69 - 2 - - - 90 - 134 - 2 - - - 207 - 225 - 2 - - - 529 - 1303 - 2 - - - 1890 - 2030 - 2 - - - 5959 - 7947 - 2 - - - 29144 - 31496 - 2 - - - 34785 - 34786 - 1 - - - - - - - kind - loc - - - 12 - - - 11 - 110 - 2 - - - 189 - 718 - 2 - - - 815 - 816 - 1 - - - 1232 - 1233 - 2 - - - 1521 - 1684 - 2 - - - 3173 - 3888 - 2 - - - 3970 - 4805 - 2 - - - 19822 - 24244 - 2 - - - 30808 - 31795 - 2 - - - 45276 - 55086 - 2 - - - 84129 - 112818 - 2 - - - 397733 - 937138 - 2 - - - - - - - file - id - - - 12 - - - 3 - 16 - 216 - - - 16 - 34 - 219 - - - 34 - 56 - 225 - - - 56 - 86 - 217 - - - 86 - 129 - 219 - - - 129 - 168 - 214 - - - 168 - 221 - 214 - - - 221 - 311 - 215 - - - 311 - 423 - 215 - - - 423 - 580 - 214 - - - 581 - 852 - 214 - - - 853 - 1619 - 214 - - - 1623 - 5935 - 214 - - - 6026 - 42285 - 33 - - - - - - - file - parent - - - 12 - - - 1 - 8 - 241 - - - 8 - 16 - 242 - - - 16 - 25 - 230 - - - 25 - 39 - 224 - - - 39 - 56 - 226 - - - 56 - 73 - 218 - - - 73 - 97 - 216 - - - 97 - 133 - 220 - - - 133 - 184 - 215 - - - 184 - 265 - 216 - - - 265 - 423 - 214 - - - 423 - 903 - 214 - - - 910 - 11282 - 167 - - - - - - - file - parent_index - - - 12 - - - 3 - 4 - 103 - - - 4 - 5 - 174 - - - 5 - 6 - 204 - - - 6 - 7 - 280 - - - 7 - 8 - 267 - - - 8 - 9 - 223 - - - 9 - 10 - 218 - - - 10 - 11 - 166 - - - 11 - 13 - 247 - - - 13 - 16 - 233 - - - 16 - 22 - 227 - - - 22 - 42 - 216 - - - 42 - 165 - 214 - - - 171 - 2128 - 71 - - - - - - - file - kind - - - 12 - - - 1 - 5 - 170 - - - 5 - 6 - 230 - - - 6 - 7 - 290 - - - 7 - 8 - 350 - - - 8 - 9 - 308 - - - 9 - 10 - 339 - - - 10 - 11 - 289 - - - 11 - 12 - 237 - - - 12 - 13 - 202 - - - 13 - 15 - 252 - - - 15 - 21 - 176 - - - - - - - file - idx - - - 12 - - - 3 - 16 - 216 - - - 16 - 34 - 219 - - - 34 - 56 - 225 - - - 56 - 86 - 217 - - - 86 - 129 - 219 - - - 129 - 168 - 214 - - - 168 - 221 - 214 - - - 221 - 311 - 215 - - - 311 - 423 - 215 - - - 423 - 580 - 214 - - - 581 - 852 - 214 - - - 853 - 1619 - 214 - - - 1623 - 5935 - 214 - - - 6026 - 42285 - 33 - - - - - - - file - value - - - 12 - - - 3 - 13 - 218 - - - 13 - 23 - 221 - - - 23 - 33 - 230 - - - 33 - 43 - 228 - - - 43 - 53 - 221 - - - 53 - 63 - 216 - - - 63 - 76 - 223 - - - 76 - 92 - 214 - - - 92 - 113 - 214 - - - 113 - 135 - 214 - - - 135 - 179 - 217 - - - 179 - 273 - 215 - - - 273 - 2464 - 212 - - - - - - - file - loc - - - 12 - - - 3 - 16 - 216 - - - 16 - 34 - 220 - - - 34 - 56 - 224 - - - 56 - 86 - 217 - - - 86 - 129 - 219 - - - 129 - 168 - 214 - - - 168 - 221 - 214 - - - 221 - 311 - 215 - - - 311 - 423 - 215 - - - 423 - 580 - 214 - - - 581 - 852 - 214 - - - 853 - 1619 - 214 - - - 1623 - 5935 - 214 - - - 6026 - 42285 - 33 - - - - - - - idx - id - - - 12 - - - 1 - 2 - 19151 - - - 2 - 3 - 4762 - - - 3 - 6 - 3334 - - - 6 - 8 - 3218 - - - 8 - 19 - 3383 - - - 19 - 46 - 3187 - - - 46 - 188 - 3204 - - - 188 - 2844 - 2045 - - - - - - - idx - parent - - - 12 - - - 1 - 2 - 19151 - - - 2 - 3 - 4762 - - - 3 - 6 - 3334 - - - 6 - 8 - 3218 - - - 8 - 19 - 3383 - - - 19 - 46 - 3187 - - - 46 - 188 - 3204 - - - 188 - 2844 - 2045 - - - - - - - idx - parent_index - - - 12 - - - 1 - 2 - 19666 - - - 2 - 3 - 4969 - - - 3 - 4 - 3097 - - - 4 - 5 - 3807 - - - 5 - 6 - 2280 - - - 6 - 9 - 3900 - - - 9 - 19 - 3208 - - - 19 - 72 - 1357 - - - - - - - idx - kind - - - 12 - - - 1 - 2 - 20065 - - - 2 - 3 - 5521 - - - 3 - 4 - 3559 - - - 4 - 5 - 3050 - - - 5 - 7 - 3421 - - - 7 - 11 - 3834 - - - 11 - 23 - 2834 - - - - - - - idx - file - - - 12 - - - 1 - 2 - 19151 - - - 2 - 3 - 4762 - - - 3 - 6 - 3334 - - - 6 - 8 - 3218 - - - 8 - 19 - 3383 - - - 19 - 46 - 3187 - - - 46 - 188 - 3204 - - - 188 - 2844 - 2045 - - - - - - - idx - value - - - 12 - - - 1 - 2 - 19199 - - - 2 - 3 - 4734 - - - 3 - 5 - 2964 - - - 5 - 7 - 2740 - - - 7 - 12 - 3340 - - - 12 - 25 - 3252 - - - 25 - 71 - 3201 - - - 71 - 907 - 2854 - - - - - - - idx - loc - - - 12 - - - 1 - 2 - 19151 - - - 2 - 3 - 4762 - - - 3 - 6 - 3334 - - - 6 - 8 - 3218 - - - 8 - 19 - 3383 - - - 19 - 46 - 3187 - - - 46 - 188 - 3204 - - - 188 - 2844 - 2045 - - - - - - - value - id - - - 12 - - - 1 - 2 - 72362 - - - 2 - 3 - 15615 - - - 3 - 5 - 10018 - - - 5 - 14 - 8499 - - - 14 - 170732 - 5381 - - - - - - - value - parent - - - 12 - - - 1 - 2 - 74414 - - - 2 - 3 - 14237 - - - 3 - 5 - 9595 - - - 5 - 15 - 8611 - - - 15 - 123822 - 5018 - - - - - - - value - parent_index - - - 12 - - - 1 - 2 - 89342 - - - 2 - 3 - 15521 - - - 3 - 1182 - 7012 - - - - - - - value - kind - - - 12 - - - 1 - 2 - 108564 - - - 2 - 5 - 3311 - - - - - - - value - file - - - 12 - - - 1 - 2 - 92292 - - - 2 - 3 - 9204 - - - 3 - 14 - 8507 - - - 14 - 2768 - 1872 - - - - - - - value - idx - - - 12 - - - 1 - 2 - 72579 - - - 2 - 3 - 15689 - - - 3 - 5 - 9922 - - - 5 - 14 - 8435 - - - 14 - 15974 - 5250 - - - - - - - value - loc - - - 12 - - - 1 - 2 - 72363 - - - 2 - 3 - 15615 - - - 3 - 5 - 10017 - - - 5 - 14 - 8499 - - - 14 - 170732 - 5381 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1761809 - - - 2 - 3 - 189 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1761809 - - - 2 - 3 - 189 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1761809 - - - 2 - 3 - 189 - - - - - - - loc - kind - - - 12 - - - 1 - 2 - 1761809 - - - 2 - 3 - 189 - - - - - - - loc - file - - - 12 - - - 1 - 2 - 1761998 - - - - - - - loc - idx - - - 12 - - - 1 - 2 - 1761809 - - - 2 - 3 - 189 - - - - - - - loc - value - - - 12 - - - 1 - 2 - 1761998 - - - - - - - - - destructured_parameter_child - 120 - - - destructured_parameter - 59 - - - index - 4 - - - child - 120 - - - - - destructured_parameter - index - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 52 - - - 3 - 5 - 4 - - - - - - - destructured_parameter - child - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 52 - - - 3 - 5 - 4 - - - - - - - index - destructured_parameter - - - 12 - - - 1 - 2 - 1 - - - 4 - 5 - 1 - - - 56 - 57 - 1 - - - 59 - 60 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 1 - - - 4 - 5 - 1 - - - 56 - 57 - 1 - - - 59 - 60 - 1 - - - - - - - child - destructured_parameter - - - 12 - - - 1 - 2 - 120 - - - - - - - child - index - - - 12 - - - 1 - 2 - 120 - - - - - - - - - unary_def - 2362 - - - id - 2362 - - - parent - 2274 - - - parent_index - 11 - - - operand - 2362 - - - operator - 5 - - - loc - 2362 - - - - - id - parent - - - 12 - - - 1 - 2 - 2362 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 2362 - - - - - - - id - operand - - - 12 - - - 1 - 2 - 2362 - - - - - - - id - operator - - - 12 - - - 1 - 2 - 2362 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 2362 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 2187 - - - 2 - 4 - 86 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 2187 - - - 2 - 4 - 86 - - - - - - - parent - operand - - - 12 - - - 1 - 2 - 2187 - - - 2 - 4 - 86 - - - - - - - parent - operator - - - 12 - - - 1 - 2 - 2274 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 2187 - - - 2 - 4 - 86 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 12 - 13 - 1 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 315 - 316 - 1 - - - 547 - 548 - 1 - - - 1367 - 1368 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 12 - 13 - 1 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 315 - 316 - 1 - - - 547 - 548 - 1 - - - 1367 - 1368 - 1 - - - - - - - parent_index - operand - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 12 - 13 - 1 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 315 - 316 - 1 - - - 547 - 548 - 1 - - - 1367 - 1368 - 1 - - - - - - - parent_index - operator - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - 4 - 5 - 1 - - - 5 - 6 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 2 - - - 12 - 13 - 1 - - - 19 - 20 - 1 - - - 21 - 22 - 1 - - - 315 - 316 - 1 - - - 547 - 548 - 1 - - - 1367 - 1368 - 1 - - - - - - - operand - id - - - 12 - - - 1 - 2 - 2362 - - - - - - - operand - parent - - - 12 - - - 1 - 2 - 2362 - - - - - - - operand - parent_index - - - 12 - - - 1 - 2 - 2362 - - - - - - - operand - operator - - - 12 - - - 1 - 2 - 2362 - - - - - - - operand - loc - - - 12 - - - 1 - 2 - 2362 - - - - - - - operator - id - - - 12 - - - 10 - 11 - 1 - - - 58 - 59 - 1 - - - 141 - 142 - 1 - - - 518 - 519 - 1 - - - 1561 - 1562 - 1 - - - - - - - operator - parent - - - 12 - - - 10 - 11 - 1 - - - 56 - 57 - 1 - - - 140 - 141 - 1 - - - 514 - 515 - 1 - - - 1483 - 1484 - 1 - - - - - - - operator - parent_index - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 6 - 7 - 1 - - - 11 - 12 - 1 - - - - - - - operator - operand - - - 12 - - - 10 - 11 - 1 - - - 58 - 59 - 1 - - - 141 - 142 - 1 - - - 518 - 519 - 1 - - - 1561 - 1562 - 1 - - - - - - - operator - loc - - - 12 - - - 10 - 11 - 1 - - - 58 - 59 - 1 - - - 141 - 142 - 1 - - - 518 - 519 - 1 - - - 1561 - 1562 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 2362 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 2362 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 2362 - - - - - - - loc - operand - - - 12 - - - 1 - 2 - 2362 - - - - - - - loc - operator - - - 12 - - - 1 - 2 - 2362 - - - - - - - - - rescue_exceptions - 410 - - - rescue - 410 - - - exceptions - 410 - - - - - rescue - exceptions - - - 12 - - - 1 - 2 - 410 - - - - - - - exceptions - rescue - - - 12 - - - 1 - 2 - 410 - - - - - - - - - singleton_class_def - 182 - - - id - 182 - - - parent - 180 - - - parent_index - 18 - - - value - 182 - - - loc - 182 - - - - - id - parent - - - 12 - - - 1 - 2 - 182 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 182 - - - - - - - id - value - - - 12 - - - 1 - 2 - 182 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 182 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 178 - - - 2 - 3 - 2 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 178 - - - 2 - 3 - 2 - - - - - - - parent - value - - - 12 - - - 1 - 2 - 178 - - - 2 - 3 - 2 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 178 - - - 2 - 3 - 2 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 5 - 1 - - - 10 - 11 - 1 - - - 15 - 16 - 2 - - - 16 - 17 - 1 - - - 23 - 24 - 1 - - - 39 - 40 - 1 - - - 44 - 45 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 5 - 1 - - - 10 - 11 - 1 - - - 15 - 16 - 2 - - - 16 - 17 - 1 - - - 23 - 24 - 1 - - - 39 - 40 - 1 - - - 44 - 45 - 1 - - - - - - - parent_index - value - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 5 - 1 - - - 10 - 11 - 1 - - - 15 - 16 - 2 - - - 16 - 17 - 1 - - - 23 - 24 - 1 - - - 39 - 40 - 1 - - - 44 - 45 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 6 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 5 - 1 - - - 10 - 11 - 1 - - - 15 - 16 - 2 - - - 16 - 17 - 1 - - - 23 - 24 - 1 - - - 39 - 40 - 1 - - - 44 - 45 - 1 - - - - - - - value - id - - - 12 - - - 1 - 2 - 182 - - - - - - - value - parent - - - 12 - - - 1 - 2 - 182 - - - - - - - value - parent_index - - - 12 - - - 1 - 2 - 182 - - - - - - - value - loc - - - 12 - - - 1 - 2 - 182 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 182 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 182 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 182 - - - - - - - loc - value - - - 12 - - - 1 - 2 - 182 - - - - - - - - - return_child - 1576 - - - return - 1576 - - - child - 1576 - - - - - return - child - - - 12 - - - 1 - 2 - 1576 - - - - - - - child - return - - - 12 - - - 1 - 2 - 1576 - - - - - - - - - begin_block_def - 0 - - - id - 0 - - - parent - 0 - - - parent_index - 0 - - - loc - 0 - - - - - id - parent - - - 12 - - - 1 - 2 - 1 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1 - - - - - - - parent - id - - - 12 - - - - - - parent - parent_index - - - 12 - - - - - - parent - loc - - - 12 - - - - - - parent_index - id - - - 12 - - - - - - parent_index - parent - - - 12 - - - - - - parent_index - loc - - - 12 - - - - - - loc - id - - - 12 - - - - - - loc - parent - - - 12 - - - - - - loc - parent_index - - - 12 - - - - - - - - lambda_parameters_child - 239 - - - lambda_parameters - 181 - - - index - 4 - - - child - 239 - - - - - lambda_parameters - index - - - 12 - - - 1 - 2 - 143 - - - 2 - 3 - 24 - - - 3 - 5 - 14 - - - - - - - lambda_parameters - child - - - 12 - - - 1 - 2 - 143 - - - 2 - 3 - 24 - - - 3 - 5 - 14 - - - - - - - index - lambda_parameters - - - 12 - - - 6 - 7 - 1 - - - 14 - 15 - 1 - - - 38 - 39 - 1 - - - 181 - 182 - 1 - - - - - - - index - child - - - 12 - - - 6 - 7 - 1 - - - 14 - 15 - 1 - - - 38 - 39 - 1 - - - 181 - 182 - 1 - - - - - - - child - lambda_parameters - - - 12 - - - 1 - 2 - 239 - - - - - - - child - index - - - 12 - - - 1 - 2 - 239 - - - - - - - - - method_def - 29761 - - - id - 29761 - - - parent - 4582 - - - parent_index - 305 - - - name - 29761 - - - loc - 29761 - - - - - id - parent - - - 12 - - - 1 - 2 - 29761 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 29761 - - - - - - - id - name - - - 12 - - - 1 - 2 - 29761 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 29761 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 1622 - - - 2 - 3 - 770 - - - 3 - 4 - 460 - - - 4 - 5 - 315 - - - 5 - 7 - 392 - - - 7 - 11 - 408 - - - 11 - 21 - 349 - - - 21 - 293 - 266 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 1622 - - - 2 - 3 - 770 - - - 3 - 4 - 460 - - - 4 - 5 - 315 - - - 5 - 7 - 392 - - - 7 - 11 - 408 - - - 11 - 21 - 349 - - - 21 - 293 - 266 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 1622 - - - 2 - 3 - 770 - - - 3 - 4 - 460 - - - 4 - 5 - 315 - - - 5 - 7 - 392 - - - 7 - 11 - 408 - - - 11 - 21 - 349 - - - 21 - 293 - 266 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1622 - - - 2 - 3 - 770 - - - 3 - 4 - 460 - - - 4 - 5 - 315 - - - 5 - 7 - 392 - - - 7 - 11 - 408 - - - 11 - 21 - 349 - - - 21 - 293 - 266 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 41 - - - 2 - 3 - 17 - - - 3 - 4 - 23 - - - 4 - 6 - 15 - - - 6 - 7 - 21 - - - 7 - 8 - 24 - - - 8 - 14 - 27 - - - 14 - 25 - 23 - - - 25 - 38 - 24 - - - 38 - 67 - 23 - - - 68 - 130 - 23 - - - 135 - 331 - 23 - - - 352 - 1969 - 21 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 41 - - - 2 - 3 - 17 - - - 3 - 4 - 23 - - - 4 - 6 - 15 - - - 6 - 7 - 21 - - - 7 - 8 - 24 - - - 8 - 14 - 27 - - - 14 - 25 - 23 - - - 25 - 38 - 24 - - - 38 - 67 - 23 - - - 68 - 130 - 23 - - - 135 - 331 - 23 - - - 352 - 1969 - 21 - - - - - - - parent_index - name - - - 12 - - - 1 - 2 - 41 - - - 2 - 3 - 17 - - - 3 - 4 - 23 - - - 4 - 6 - 15 - - - 6 - 7 - 21 - - - 7 - 8 - 24 - - - 8 - 14 - 27 - - - 14 - 25 - 23 - - - 25 - 38 - 24 - - - 38 - 67 - 23 - - - 68 - 130 - 23 - - - 135 - 331 - 23 - - - 352 - 1969 - 21 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 41 - - - 2 - 3 - 17 - - - 3 - 4 - 23 - - - 4 - 6 - 15 - - - 6 - 7 - 21 - - - 7 - 8 - 24 - - - 8 - 14 - 27 - - - 14 - 25 - 23 - - - 25 - 38 - 24 - - - 38 - 67 - 23 - - - 68 - 130 - 23 - - - 135 - 331 - 23 - - - 352 - 1969 - 21 - - - - - - - name - id - - - 12 - - - 1 - 2 - 29761 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 29761 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 29761 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 29761 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 29761 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 29761 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 29761 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 29761 - - - - - - - - - ensure_def - 1106 - - - id - 1106 - - - parent - 1106 - - - parent_index - 22 - - - loc - 1106 - - - - - id - parent - - - 12 - - - 1 - 2 - 1106 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 1106 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 1106 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 1106 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 1106 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 1106 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 4 - - - 3 - 13 - 2 - - - 14 - 21 - 2 - - - 25 - 35 - 2 - - - 38 - 45 - 2 - - - 70 - 91 - 2 - - - 100 - 101 - 2 - - - 136 - 204 - 2 - - - 206 - 207 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 4 - - - 3 - 13 - 2 - - - 14 - 21 - 2 - - - 25 - 35 - 2 - - - 38 - 45 - 2 - - - 70 - 91 - 2 - - - 100 - 101 - 2 - - - 136 - 204 - 2 - - - 206 - 207 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 3 - - - 2 - 3 - 4 - - - 3 - 13 - 2 - - - 14 - 21 - 2 - - - 25 - 35 - 2 - - - 38 - 45 - 2 - - - 70 - 91 - 2 - - - 100 - 101 - 2 - - - 136 - 204 - 2 - - - 206 - 207 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1106 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1106 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1106 - - - - - - - - - do_def - 116 - - - id - 116 - - - parent - 116 - - - parent_index - 2 - - - loc - 116 - - - - - id - parent - - - 12 - - - 1 - 2 - 116 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 116 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 116 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 116 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 116 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 116 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 1 - - - 112 - 113 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - 112 - 113 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - 112 - 113 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 116 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 116 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 116 - - - - - - - - - retry_child - 0 - - - retry - 0 - - - child - 0 - - - - - retry - child - - - 12 - - - 1 - 2 - 3 - - - - - - - child - retry - - - 12 - - - 1 - 2 - 3 - - - - - - - - - array_child - 19224 - - - array - 8563 - - - index - 91 - - - child - 19224 - - - - - array - index - - - 12 - - - 1 - 2 - 2842 - - - 2 - 3 - 3675 - - - 3 - 4 - 1246 - - - 4 - 9 - 667 - - - 9 - 92 - 133 - - - - - - - array - child - - - 12 - - - 1 - 2 - 2842 - - - 2 - 3 - 3675 - - - 3 - 4 - 1246 - - - 4 - 9 - 667 - - - 9 - 92 - 133 - - - - - - - index - array - - - 12 - - - 1 - 2 - 7 - - - 2 - 3 - 27 - - - 3 - 4 - 13 - - - 4 - 6 - 8 - - - 6 - 11 - 7 - - - 12 - 21 - 7 - - - 23 - 35 - 7 - - - 36 - 134 - 7 - - - 168 - 5722 - 7 - - - 8563 - 8564 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 7 - - - 2 - 3 - 27 - - - 3 - 4 - 13 - - - 4 - 6 - 8 - - - 6 - 11 - 7 - - - 12 - 21 - 7 - - - 23 - 35 - 7 - - - 36 - 134 - 7 - - - 168 - 5722 - 7 - - - 8563 - 8564 - 1 - - - - - - - child - array - - - 12 - - - 1 - 2 - 19224 - - - - - - - child - index - - - 12 - - - 1 - 2 - 19224 - - - - - - - - - rescue_def - 610 - - - id - 610 - - - parent - 574 - - - parent_index - 22 - - - loc - 610 - - - - - id - parent - - - 12 - - - 1 - 2 - 610 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 610 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 610 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 546 - - - 2 - 5 - 27 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 546 - - - 2 - 5 - 27 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 546 - - - 2 - 5 - 27 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 7 - 2 - - - 7 - 9 - 2 - - - 9 - 11 - 2 - - - 11 - 18 - 2 - - - 28 - 38 - 2 - - - 40 - 72 - 2 - - - 87 - 243 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 7 - 2 - - - 7 - 9 - 2 - - - 9 - 11 - 2 - - - 11 - 18 - 2 - - - 28 - 38 - 2 - - - 40 - 72 - 2 - - - 87 - 243 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 4 - - - 2 - 3 - 2 - - - 3 - 4 - 2 - - - 4 - 7 - 2 - - - 7 - 9 - 2 - - - 9 - 11 - 2 - - - 11 - 18 - 2 - - - 28 - 38 - 2 - - - 40 - 72 - 2 - - - 87 - 243 - 2 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 610 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 610 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 610 - - - - - - - - - else_child - 2654 - - - else - 2080 - - - index - 12 - - - child - 2654 - - - - - else - index - - - 12 - - - 1 - 2 - 1755 - - - 2 - 3 - 200 - - - 3 - 13 - 125 - - - - - - - else - child - - - 12 - - - 1 - 2 - 1755 - - - 2 - 3 - 200 - - - 3 - 13 - 125 - - - - - - - index - else - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 6 - 7 - 1 - - - 9 - 10 - 1 - - - 15 - 16 - 1 - - - 28 - 29 - 1 - - - 56 - 57 - 1 - - - 125 - 126 - 1 - - - 325 - 326 - 1 - - - 2080 - 2081 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 1 - - - 3 - 4 - 1 - - - 4 - 5 - 1 - - - 6 - 7 - 1 - - - 9 - 10 - 1 - - - 15 - 16 - 1 - - - 28 - 29 - 1 - - - 56 - 57 - 1 - - - 125 - 126 - 1 - - - 325 - 326 - 1 - - - 2080 - 2081 - 1 - - - - - - - child - else - - - 12 - - - 1 - 2 - 2654 - - - - - - - child - index - - - 12 - - - 1 - 2 - 2654 - - - - - - - - - ensure_child - 1470 - - - ensure - 1106 - - - index - 16 - - - child - 1470 - - - - - ensure - index - - - 12 - - - 1 - 2 - 882 - - - 2 - 3 - 139 - - - 3 - 9 - 83 - - - 16 - 17 - 2 - - - - - - - ensure - child - - - 12 - - - 1 - 2 - 882 - - - 2 - 3 - 139 - - - 3 - 9 - 83 - - - 16 - 17 - 2 - - - - - - - index - ensure - - - 12 - - - 2 - 3 - 8 - - - 5 - 6 - 2 - - - 6 - 7 - 1 - - - 7 - 8 - 1 - - - 16 - 17 - 1 - - - 85 - 86 - 1 - - - 224 - 225 - 1 - - - 1106 - 1107 - 1 - - - - - - - index - child - - - 12 - - - 2 - 3 - 8 - - - 5 - 6 - 2 - - - 6 - 7 - 1 - - - 7 - 8 - 1 - - - 16 - 17 - 1 - - - 85 - 86 - 1 - - - 224 - 225 - 1 - - - 1106 - 1107 - 1 - - - - - - - child - ensure - - - 12 - - - 1 - 2 - 1470 - - - - - - - child - index - - - 12 - - - 1 - 2 - 1470 - - - - - - - - - exception_variable_def - 293 - - - id - 293 - - - parent - 293 - - - parent_index - 2 - - - child - 293 - - - loc - 293 - - - - - id - parent - - - 12 - - - 1 - 2 - 293 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 293 - - - - - - - id - child - - - 12 - - - 1 - 2 - 293 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 293 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 293 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 293 - - - - - - - parent - child - - - 12 - - - 1 - 2 - 293 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 293 - - - - - - - parent_index - id - - - 12 - - - 136 - 137 - 1 - - - 148 - 149 - 1 - - - - - - - parent_index - parent - - - 12 - - - 136 - 137 - 1 - - - 148 - 149 - 1 - - - - - - - parent_index - child - - - 12 - - - 136 - 137 - 1 - - - 148 - 149 - 1 - - - - - - - parent_index - loc - - - 12 - - - 136 - 137 - 1 - - - 148 - 149 - 1 - - - - - - - child - id - - - 12 - - - 1 - 2 - 293 - - - - - - - child - parent - - - 12 - - - 1 - 2 - 293 - - - - - - - child - parent_index - - - 12 - - - 1 - 2 - 293 - - - - - - - child - loc - - - 12 - - - 1 - 2 - 293 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 293 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 293 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 293 - - - - - - - loc - child - - - 12 - - - 1 - 2 - 293 - - - - - - - - - elsif_consequence - 453 - - - elsif - 453 - - - consequence - 453 - - - - - elsif - consequence - - - 12 - - - 1 - 2 - 453 - - - - - - - consequence - elsif - - - 12 - - - 1 - 2 - 453 - - - - - - - - - case_child - 1245 - - - case__ - 370 - - - index - 23 - - - child - 1245 - - - - - case__ - index - - - 12 - - - 1 - 2 10 - 2 - 3 - 100 - - - 3 - 4 - 155 - - - 4 - 5 - 57 - - - 5 - 7 - 28 - - - 7 - 24 - 20 - - - - - - - case__ - child - - - 12 - - - 1 - 2 + 56 + 85 10 - 2 - 3 - 100 + 98 + 175 + 10 - 3 + 235 + 832 + 10 + + + 1743 + 1744 + 3 + + + + + + + index + child + + + 12 + + + 1 + 2 + 28 + + + 2 4 - 155 + 10 4 5 - 57 + 17 5 7 - 28 + 7 7 - 24 - 20 - - - - - - - index - case__ - - - 12 - - - 1 - 2 - 9 + 10 + 10 - 2 - 3 - 2 + 10 + 14 + 10 - 3 - 6 - 2 + 18 + 30 + 10 - 8 - 11 - 2 + 31 + 48 + 10 - 13 - 21 - 2 + 56 + 85 + 10 - 30 - 49 - 2 + 98 + 175 + 10 - 105 - 261 - 2 + 235 + 832 + 10 - 360 - 371 - 2 - - - - - - - index - child - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 2 - - - 3 - 6 - 2 - - - 8 - 11 - 2 - - - 13 - 21 - 2 - - - 30 - 49 - 2 - - - 105 - 261 - 2 - - - 360 - 371 - 2 + 1743 + 1744 + 3 @@ -37563,7 +34738,7 @@ child - case__ + program 12 @@ -37571,7 +34746,7 @@ 1 2 - 1245 + 14325 @@ -37587,1196 +34762,7 @@ 1 2 - 1245 - - - - - - - - - when_body - 961 - - - when - 961 - - - body - 961 - - - - - when - body - - - 12 - - - 1 - 2 - 961 - - - - - - - body - when - - - 12 - - - 1 - 2 - 961 - - - - - - - - - files - 5301 - - - id - 5301 - - - name - 5301 - - - simple - 4559 - - - ext - 3 - - - fromSource - 3 - - - - - id - name - - - 12 - - - 1 - 2 - 5301 - - - - - - - id - simple - - - 12 - - - 1 - 2 - 5301 - - - - - - - id - ext - - - 12 - - - 1 - 2 - 5301 - - - - - - - id - fromSource - - - 12 - - - 1 - 2 - 5301 - - - - - - - name - id - - - 12 - - - 1 - 2 - 5301 - - - - - - - name - simple - - - 12 - - - 1 - 2 - 5301 - - - - - - - name - ext - - - 12 - - - 1 - 2 - 5301 - - - - - - - name - fromSource - - - 12 - - - 1 - 2 - 5301 - - - - - - - simple - id - - - 12 - - - 1 - 2 - 4071 - - - 2 - 3 - 349 - - - 3 - 8 - 138 - - - - - - - simple - name - - - 12 - - - 1 - 2 - 4071 - - - 2 - 3 - 349 - - - 3 - 8 - 138 - - - - - - - simple - ext - - - 12 - - - 1 - 2 - 4559 - - - - - - - simple - fromSource - - - 12 - - - 1 - 2 - 4559 - - - - - - - ext - id - - - 12 - - - 1336 - 1337 - 3 - - - - - - - ext - name - - - 12 - - - 1336 - 1337 - 3 - - - - - - - ext - simple - - - 12 - - - 1149 - 1150 - 3 - - - - - - - ext - fromSource - - - 12 - - - 1 - 2 - 3 - - - - - - - fromSource - id - - - 12 - - - 1336 - 1337 - 3 - - - - - - - fromSource - name - - - 12 - - - 1336 - 1337 - 3 - - - - - - - fromSource - simple - - - 12 - - - 1149 - 1150 - 3 - - - - - - - fromSource - ext - - - 12 - - - 1 - 2 - 3 - - - - - - - - - while_modifier_def - 8 - - - id - 8 - - - parent - 8 - - - parent_index - 3 - - - body - 8 - - - condition - 8 - - - loc - 8 - - - - - id - parent - - - 12 - - - 1 - 2 - 8 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 8 - - - - - - - id - body - - - 12 - - - 1 - 2 - 8 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 8 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 8 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 8 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 8 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 8 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 8 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 8 - - - - - - - parent_index - id - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - - - - - parent_index - parent - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - - - - - parent_index - body - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - - - - - parent_index - condition - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - - - - - parent_index - loc - - - 12 - - - 2 - 3 - 1 - - - 3 - 4 - 2 - - - - - - - body - id - - - 12 - - - 1 - 2 - 8 - - - - - - - body - parent - - - 12 - - - 1 - 2 - 8 - - - - - - - body - parent_index - - - 12 - - - 1 - 2 - 8 - - - - - - - body - condition - - - 12 - - - 1 - 2 - 8 - - - - - - - body - loc - - - 12 - - - 1 - 2 - 8 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 8 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 8 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 8 - - - - - - - condition - body - - - 12 - - - 1 - 2 - 8 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 8 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 8 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 8 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 8 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 8 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 8 - - - - - - - - - string_array_child - 2958 - - - string_array - 921 - - - index - 88 - - - child - 2958 - - - - - string_array - index - - - 12 - - - 1 - 2 - 199 - - - 2 - 3 - 297 - - - 3 - 4 - 238 - - - 4 - 5 - 66 - - - 5 - 8 - 70 - - - 8 - 89 - 51 - - - - - - - string_array - child - - - 12 - - - 1 - 2 - 199 - - - 2 - 3 - 297 - - - 3 - 4 - 238 - - - 4 - 5 - 66 - - - 5 - 8 - 70 - - - 8 - 89 - 51 - - - - - - - index - string_array - - - 12 - - - 1 - 2 - 38 - - - 2 - 3 - 6 - - - 3 - 4 - 6 - - - 4 - 5 - 12 - - - 5 - 8 - 8 - - - 11 - 29 - 7 - - - 32 - 122 - 7 - - - 187 - 922 - 4 - - - - - - - index - child - - - 12 - - - 1 - 2 - 38 - - - 2 - 3 - 6 - - - 3 - 4 - 6 - - - 4 - 5 - 12 - - - 5 - 8 - 8 - - - 11 - 29 - 7 - - - 32 - 122 - 7 - - - 187 - 922 - 4 - - - - - - - child - string_array - - - 12 - - - 1 - 2 - 2958 - - - - - - - child - index - - - 12 - - - 1 - 2 - 2958 + 14325 @@ -38786,23 +34772,23 @@ program_def - 5301 + 6189 id - 5301 + 6189 parent - 5301 + 6189 parent_index - 146 + 133 loc - 5301 + 6189 @@ -38816,7 +34802,7 @@ 1 2 - 5301 + 6189 @@ -38832,7 +34818,7 @@ 1 2 - 5301 + 6189 @@ -38848,7 +34834,7 @@ 1 2 - 5301 + 6189 @@ -38864,7 +34850,7 @@ 1 2 - 5301 + 6189 @@ -38880,7 +34866,7 @@ 1 2 - 5301 + 6189 @@ -38896,7 +34882,7 @@ 1 2 - 5301 + 6189 @@ -38912,46 +34898,46 @@ 1 2 - 59 + 56 2 3 - 7 + 10 3 4 - 15 + 10 4 5 - 11 + 10 5 9 - 11 + 10 11 13 - 11 + 10 13 - 25 - 11 + 26 + 10 - 52 - 119 - 11 + 53 + 121 + 10 - 929 - 930 + 1352 + 1353 3 @@ -38968,46 +34954,46 @@ 1 2 - 59 + 56 2 3 - 7 + 10 3 4 - 15 + 10 4 5 - 11 + 10 5 9 - 11 + 10 11 13 - 11 + 10 13 - 25 - 11 + 26 + 10 - 52 - 119 - 11 + 53 + 121 + 10 - 929 - 930 + 1352 + 1353 3 @@ -39024,46 +35010,46 @@ 1 2 - 59 + 56 2 3 - 7 + 10 3 4 - 15 + 10 4 5 - 11 + 10 5 9 - 11 + 10 11 13 - 11 + 10 13 - 25 - 11 + 26 + 10 - 52 - 119 - 11 + 53 + 121 + 10 - 929 - 930 + 1352 + 1353 3 @@ -39080,7 +35066,7 @@ 1 2 - 5301 + 6189 @@ -39096,7 +35082,7 @@ 1 2 - 5301 + 6189 @@ -39112,7 +35098,7 @@ 1 2 - 5301 + 6189 @@ -39121,34 +35107,22 @@ - block_parameter_def - 651 + range_begin + 530 - id - 651 + range + 530 - parent - 651 - - - parent_index - 8 - - - name - 651 - - - loc - 651 + begin + 530 - id - parent + range + begin 12 @@ -39156,15 +35130,15 @@ 1 2 - 651 + 530 - id - parent_index + begin + range 12 @@ -39172,415 +35146,7 @@ 1 2 - 651 - - - - - - - id - name - - - 12 - - - 1 - 2 - 651 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 651 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 651 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 651 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 651 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 651 - - - - - - - parent_index - id - - - 12 - - - 2 - 3 - 2 - - - 4 - 5 - 1 - - - 21 - 22 - 1 - - - 50 - 51 - 1 - - - 139 - 140 - 1 - - - 174 - 175 - 1 - - - 259 - 260 - 1 - - - - - - - parent_index - parent - - - 12 - - - 2 - 3 - 2 - - - 4 - 5 - 1 - - - 21 - 22 - 1 - - - 50 - 51 - 1 - - - 139 - 140 - 1 - - - 174 - 175 - 1 - - - 259 - 260 - 1 - - - - - - - parent_index - name - - - 12 - - - 2 - 3 - 2 - - - 4 - 5 - 1 - - - 21 - 22 - 1 - - - 50 - 51 - 1 - - - 139 - 140 - 1 - - - 174 - 175 - 1 - - - 259 - 260 - 1 - - - - - - - parent_index - loc - - - 12 - - - 2 - 3 - 2 - - - 4 - 5 - 1 - - - 21 - 22 - 1 - - - 50 - 51 - 1 - - - 139 - 140 - 1 - - - 174 - 175 - 1 - - - 259 - 260 - 1 - - - - - - - name - id - - - 12 - - - 1 - 2 - 651 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 651 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 651 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 651 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 651 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 651 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 651 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 651 + 530 @@ -39589,118 +35155,34 @@ - heredoc_body_child - 7131 + range_def + 537 - heredoc_body - 1553 + id + 537 - index - 72 + parent + 534 - child - 7131 + parent_index + 6 + + + operator + 2 + + + loc + 537 - heredoc_body - index - - - 12 - - - 2 - 3 - 873 - - - 4 - 5 - 183 - - - 5 - 6 - 1 - - - 6 - 7 - 233 - - - 7 - 9 - 93 - - - 10 - 15 - 120 - - - 16 - 71 - 47 - - - - - - - heredoc_body - child - - - 12 - - - 2 - 3 - 873 - - - 4 - 5 - 183 - - - 5 - 6 - 1 - - - 6 - 7 - 233 - - - 7 - 9 - 93 - - - 10 - 15 - 120 - - - 16 - 71 - 47 - - - - - - - index - heredoc_body + id + parent 12 @@ -39708,65 +35190,183 @@ 1 2 - 20 + 537 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 537 + + + + + + + id + operator + + + 12 + + + 1 + 2 + 537 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 537 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 531 2 3 - 6 - - - 3 - 4 - 4 - - - 4 - 7 - 5 - - - 7 - 8 3 + + + + + + parent + parent_index + + + 12 + - 9 - 12 - 6 + 1 + 2 + 531 + + + 2 + 3 + 3 + + + + + + + parent + operator + + + 12 + + + 1 + 2 + 534 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 531 + + + 2 + 3 + 3 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 12 - 22 - 6 + 13 + 1 - 24 - 47 - 6 + 22 + 23 + 1 - 71 - 164 - 6 + 140 + 141 + 1 - 250 - 660 - 6 + 142 + 143 + 1 - 1505 - 1506 - 2 + 220 + 221 + 1 - index - child + parent_index + parent 12 @@ -39774,209 +35374,32 @@ 1 2 - 20 - - - 2 - 3 - 6 - - - 3 - 4 - 4 - - - 4 - 7 - 5 - - - 7 - 8 - 3 - - - 9 - 12 - 6 + 1 12 - 22 - 6 + 13 + 1 - 24 - 47 - 6 + 22 + 23 + 1 - 71 - 164 - 6 + 140 + 141 + 1 - 250 - 660 - 6 + 142 + 143 + 1 - 1505 - 1506 - 2 - - - - - - - child - heredoc_body - - - 12 - - - 1 - 2 - 7131 - - - - - - - child - index - - - 12 - - - 1 - 2 - 7131 - - - - - - - - - splat_parameter_def - 931 - - - id - 931 - - - parent - 931 - - - parent_index - 8 - - - loc - 931 - - - - - id - parent - - - 12 - - - 1 - 2 - 931 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 931 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 931 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 931 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 931 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 931 + 220 + 221 + 1 @@ -39984,7 +35407,7 @@ parent_index - id + operator 12 @@ -39997,691 +35420,110 @@ 2 3 - 2 - - - 4 - 5 - 2 - - - 17 - 18 - 1 - - - 167 - 168 - 1 - - - 734 - 735 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 2 - - - 4 - 5 - 2 - - - 17 - 18 - 1 - - - 167 - 168 - 1 - - - 734 - 735 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 1 - - - 2 - 3 - 2 - - - 4 - 5 - 2 - - - 17 - 18 - 1 - - - 167 - 168 - 1 - - - 734 - 735 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 931 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 931 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 931 - - - - - - - - - block_parameters_child - 8157 - - - block_parameters - 6994 - - - index - 5 - - - child - 8157 - - - - - block_parameters - index - - - 12 - - - 1 - 2 - 5971 - - - 2 - 3 - 925 - - - 3 - 6 - 98 - - - - - - - block_parameters - child - - - 12 - - - 1 - 2 - 5971 - - - 2 - 3 - 925 - - - 3 - 6 - 98 - - - - - - - index - block_parameters - - - 12 - - - 9 - 10 - 1 - - - 33 - 34 - 1 - - - 98 - 99 - 1 - - - 1023 - 1024 - 1 - - - 6994 - 6995 - 1 - - - - - - - index - child - - - 12 - - - 9 - 10 - 1 - - - 33 - 34 - 1 - - - 98 - 99 - 1 - - - 1023 - 1024 - 1 - - - 6994 - 6995 - 1 - - - - - - - child - block_parameters - - - 12 - - - 1 - 2 - 8157 - - - - - - - child - index - - - 12 - - - 1 - 2 - 8157 - - - - - - - - - left_assignment_list_def - 752 - - - id - 752 - - - parent - 752 - - - parent_index - 1 - - - loc - 752 - - - - - id - parent - - - 12 - - - 1 - 2 - 752 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 752 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 752 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 752 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 752 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 752 - - - - - - - parent_index - id - - - 12 - - - 752 - 753 - 1 - - - - - - - parent_index - parent - - - 12 - - - 752 - 753 - 1 - - - - - - - parent_index - loc - - - 12 - - - 752 - 753 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 752 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 752 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 752 - - - - - - - - - subshell_child - 193 - - - subshell - 76 - - - index - 8 - - - child - 193 - - - - - subshell - index - - - 12 - - - 1 - 2 - 27 - - - 2 - 3 - 8 - - - 3 - 4 - 29 - - - 4 - 6 5 + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 12 + 13 + 1 + + + 22 + 23 + 1 + + + 140 + 141 + 1 + + + 142 + 143 + 1 + + + 220 + 221 + 1 + + + + + + + operator + id + + + 12 + + + 122 + 123 + 1 + + + 415 + 416 + 1 + + + + + + + operator + parent + + + 12 + + + 122 + 123 + 1 + + + 412 + 413 + 1 + + + + + + + operator + parent_index + + + 12 + + + 5 + 6 + 1 + 6 - 9 - 5 - - - - - - - subshell - child - - - 12 - - - 1 - 2 - 27 - - - 2 - 3 - 8 - - - 3 - 4 - 29 - - - 4 - 6 - 5 - - - 6 - 9 - 5 - - - - - - - index - subshell - - - 12 - - - 1 - 2 - 1 - - - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 10 - 11 - 1 - - - 39 - 40 - 1 - - - 47 - 48 - 1 - - - 74 - 75 + 7 1 @@ -40689,50 +35531,20 @@ - index - child + operator + loc 12 - 1 - 2 + 122 + 123 1 - 3 - 4 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 10 - 11 - 1 - - - 39 - 40 - 1 - - - 47 - 48 - 1 - - - 74 - 75 + 415 + 416 1 @@ -40740,8 +35552,8 @@ - child - subshell + loc + id 12 @@ -40749,15 +35561,15 @@ 1 2 - 193 + 537 - child - index + loc + parent 12 @@ -40765,7 +35577,39 @@ 1 2 - 193 + 537 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 537 + + + + + + + loc + operator + + + 12 + + + 1 + 2 + 537 @@ -40774,26 +35618,22 @@ - argument_list_child - 268760 + range_end + 461 - argument_list - 216698 + range + 461 - index - 126 - - - child - 268760 + end + 461 - argument_list - index + range + end 12 @@ -40801,25 +35641,15 @@ 1 2 - 182320 - - - 2 - 3 - 23196 - - - 3 - 33 - 11181 + 461 - argument_list - child + end + range 12 @@ -40827,964 +35657,7 @@ 1 2 - 182320 - - - 2 - 3 - 23196 - - - 3 - 33 - 11181 - - - - - - - index - argument_list - - - 12 - - - 1 - 2 - 43 - - - 2 - 3 - 15 - - - 3 - 4 - 7 - - - 5 - 6 - 7 - - - 8 - 12 - 7 - - - 14 - 18 - 7 - - - 21 - 34 - 7 - - - 70 - 149 - 7 - - - 345 - 938 - 7 - - - 2818 - 8665 - 7 - - - 54613 - 54614 - 3 - - - - - - - index - child - - - 12 - - - 1 - 2 - 43 - - - 2 - 3 - 15 - - - 3 - 4 - 7 - - - 5 - 6 - 7 - - - 8 - 12 - 7 - - - 14 - 18 - 7 - - - 21 - 34 - 7 - - - 70 - 149 - 7 - - - 345 - 938 - 7 - - - 2818 - 8665 - 7 - - - 54613 - 54614 - 3 - - - - - - - child - argument_list - - - 12 - - - 1 - 2 - 268760 - - - - - - - child - index - - - 12 - - - 1 - 2 - 268760 - - - - - - - - - rescue_variable - 293 - - - rescue - 293 - - - variable - 293 - - - - - rescue - variable - - - 12 - - - 1 - 2 - 293 - - - - - - - variable - rescue - - - 12 - - - 1 - 2 - 293 - - - - - - - - - while_def - 105 - - - id - 105 - - - parent - 102 - - - parent_index - 17 - - - body - 105 - - - condition - 105 - - - loc - 105 - - - - - id - parent - - - 12 - - - 1 - 2 - 105 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 105 - - - - - - - id - body - - - 12 - - - 1 - 2 - 105 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 105 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 105 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 99 - - - 2 - 3 - 3 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 99 - - - 2 - 3 - 3 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 99 - - - 2 - 3 - 3 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 99 - - - 2 - 3 - 3 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 99 - - - 2 - 3 - 3 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 9 - 10 - 3 - - - 11 - 12 - 2 - - - 17 - 18 - 1 - - - 19 - 20 - 1 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 9 - 10 - 3 - - - 11 - 12 - 2 - - - 17 - 18 - 1 - - - 19 - 20 - 1 - - - - - - - parent_index - body - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 9 - 10 - 3 - - - 11 - 12 - 2 - - - 17 - 18 - 1 - - - 19 - 20 - 1 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 9 - 10 - 3 - - - 11 - 12 - 2 - - - 17 - 18 - 1 - - - 19 - 20 - 1 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 5 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 9 - 10 - 3 - - - 11 - 12 - 2 - - - 17 - 18 - 1 - - - 19 - 20 - 1 - - - - - - - body - id - - - 12 - - - 1 - 2 - 105 - - - - - - - body - parent - - - 12 - - - 1 - 2 - 105 - - - - - - - body - parent_index - - - 12 - - - 1 - 2 - 105 - - - - - - - body - condition - - - 12 - - - 1 - 2 - 105 - - - - - - - body - loc - - - 12 - - - 1 - 2 - 105 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 105 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 105 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 105 - - - - - - - condition - body - - - 12 - - - 1 - 2 - 105 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 105 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 105 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 105 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 105 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 105 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 105 - - - - - - - - - unless_consequence - 431 - - - unless - 431 - - - consequence - 431 - - - - - unless - consequence - - - 12 - - - 1 - 2 - 431 - - - - - - - consequence - unless - - - 12 - - - 1 - 2 - 431 + 461 @@ -42141,865 +36014,21 @@ - destructured_parameter_def - 59 - - - id - 59 - - - parent - 59 - - - parent_index - 2 - - - loc - 59 - - - - - id - parent - - - 12 - - - 1 - 2 - 59 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 59 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 59 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 59 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 59 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 59 - - - - - - - parent_index - id - - - 12 - - - 16 - 17 - 1 - - - 43 - 44 - 1 - - - - - - - parent_index - parent - - - 12 - - - 16 - 17 - 1 - - - 43 - 44 - 1 - - - - - - - parent_index - loc - - - 12 - - - 16 - 17 - 1 - - - 43 - 44 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 59 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 59 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 59 - - - - - - - - - when_def - 968 - - - id - 968 - - - parent - 370 - - - parent_index - 23 - - - loc - 968 - - - - - id - parent - - - 12 - - - 1 - 2 - 968 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 968 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 968 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 64 - - - 2 - 3 - 173 - - - 3 - 4 - 79 - - - 4 - 6 - 33 - - - 6 - 23 - 21 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 64 - - - 2 - 3 - 173 - - - 3 - 4 - 79 - - - 4 - 6 - 33 - - - 6 - 23 - 21 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 64 - - - 2 - 3 - 173 - - - 3 - 4 - 79 - - - 4 - 6 - 33 - - - 6 - 23 - 21 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 2 - - - 3 - 6 - 2 - - - 8 - 11 - 2 - - - 12 - 14 - 2 - - - 21 - 32 - 2 - - - 53 - 130 - 2 - - - 300 - 371 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 2 - - - 3 - 6 - 2 - - - 8 - 11 - 2 - - - 12 - 14 - 2 - - - 21 - 32 - 2 - - - 53 - 130 - 2 - - - 300 - 371 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 2 - - - 3 - 6 - 2 - - - 8 - 11 - 2 - - - 12 - 14 - 2 - - - 21 - 32 - 2 - - - 53 - 130 - 2 - - - 300 - 371 - 2 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 968 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 968 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 968 - - - - - - - - - block_parameters - 2625 - - - block - 2625 - - - parameters - 2625 - - - - - block - parameters - - - 12 - - - 1 - 2 - 2625 - - - - - - - parameters - block - - - 12 - - - 1 - 2 - 2625 - - - - - - - - - numlines + redo_child 0 - element_id + redo 0 - - num_lines - 0 - - - num_code - 0 - - - num_comment - 0 - - - - - element_id - num_lines - - - 12 - - - - - - element_id - num_code - - - 12 - - - - - - element_id - num_comment - - - 12 - - - - - - num_lines - element_id - - - 12 - - - - - - num_lines - num_code - - - 12 - - - - - - num_lines - num_comment - - - 12 - - - - - - num_code - element_id - - - 12 - - - - - - num_code - num_lines - - - 12 - - - - - - num_code - num_comment - - - 12 - - - - - - num_comment - element_id - - - 12 - - - - - - num_comment - num_lines - - - 12 - - - - - - num_comment - num_code - - - 12 - - - - - - - - module_child - 9410 - - - module - 3177 - - - index - 117 - child - 9410 + 0 - module - index - - - 12 - - - 1 - 2 - 2253 - - - 2 - 3 - 266 - - - 3 - 5 - 228 - - - 5 - 11 - 253 - - - 11 - 118 - 177 - - - - - - - module + redo child @@ -43008,168 +36037,6 @@ 1 2 - 2253 - - - 2 - 3 - 266 - - - 3 - 5 - 228 - - - 5 - 11 - 253 - - - 11 - 118 - 177 - - - - - - - index - module - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 6 - - - 3 - 4 - 26 - - - 4 - 6 - 10 - - - 6 - 9 - 9 - - - 9 - 15 - 9 - - - 16 - 23 - 10 - - - 23 - 34 - 10 - - - 36 - 80 - 9 - - - 84 - 178 - 9 - - - 197 - 925 - 9 - - - 3177 - 3178 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 9 - - - 2 - 3 - 6 - - - 3 - 4 - 26 - - - 4 - 6 - 10 - - - 6 - 9 - 9 - - - 9 - 15 - 9 - - - 16 - 23 - 10 - - - 23 - 34 - 10 - - - 36 - 80 - 9 - - - 84 - 178 - 9 - - - 197 - 925 - 9 - - - 3177 - 3178 1 @@ -43178,7 +36045,7 @@ child - module + redo 12 @@ -43186,23 +36053,7 @@ 1 2 - 9410 - - - - - - - child - index - - - 12 - - - 1 - 2 - 9410 + 1 @@ -43211,117 +36062,830 @@ - class_superclass - 4021 - - - class - 4021 - - - superclass - 4021 - - - - - class - superclass - - - 12 - - - 1 - 2 - 4021 - - - - - - - superclass - class - - - 12 - - - 1 - 2 - 4021 - - - - - - - - - until_modifier_def - 15 + redo_def + 0 id - 15 + 0 parent - 15 + 0 parent_index - 7 + 0 + + + loc + 0 + + + + + id + parent + + + 12 + + + 1 + 2 + 1 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1 + + + + + + + parent + id + + + 12 + + + + + + parent + parent_index + + + 12 + + + + + + parent + loc + + + 12 + + + + + + parent_index + id + + + 12 + + + + + + parent_index + parent + + + 12 + + + + + + parent_index + loc + + + 12 + + + + + + loc + id + + + 12 + + + + + + loc + parent + + + 12 + + + + + + loc + parent_index + + + 12 + + + + + + + + regex_child + 13343 + + + regex + 3942 + + + index + 43 + + + child + 13343 + + + + + regex + index + + + 12 + + + 1 + 2 + 2017 + + + 2 + 3 + 219 + + + 3 + 4 + 525 + + + 4 + 5 + 149 + + + 5 + 6 + 332 + + + 6 + 8 + 317 + + + 8 + 16 + 307 + + + 16 + 44 + 76 + + + + + + + regex + child + + + 12 + + + 1 + 2 + 2017 + + + 2 + 3 + 219 + + + 3 + 4 + 525 + + + 4 + 5 + 149 + + + 5 + 6 + 332 + + + 6 + 8 + 317 + + + 8 + 16 + 307 + + + 16 + 44 + 76 + + + + + + + index + regex + + + 12 + + + 2 + 3 + 4 + + + 4 + 7 + 3 + + + 7 + 11 + 3 + + + 12 + 17 + 3 + + + 17 + 18 + 2 + + + 20 + 22 + 3 + + + 23 + 26 + 2 + + + 26 + 32 + 3 + + + 33 + 41 + 3 + + + 58 + 95 + 3 + + + 106 + 163 + 3 + + + 221 + 324 + 3 + + + 383 + 701 + 3 + + + 1032 + 1707 + 3 + + + 1925 + 3943 + 2 + + + + + + + index + child + + + 12 + + + 2 + 3 + 4 + + + 4 + 7 + 3 + + + 7 + 11 + 3 + + + 12 + 17 + 3 + + + 17 + 18 + 2 + + + 20 + 22 + 3 + + + 23 + 26 + 2 + + + 26 + 32 + 3 + + + 33 + 41 + 3 + + + 58 + 95 + 3 + + + 106 + 163 + 3 + + + 221 + 324 + 3 + + + 383 + 701 + 3 + + + 1032 + 1707 + 3 + + + 1925 + 3943 + 2 + + + + + + + child + regex + + + 12 + + + 1 + 2 + 13343 + + + + + + + child + index + + + 12 + + + 1 + 2 + 13343 + + + + + + + + + regex_def + 3947 + + + id + 3947 + + + parent + 3912 + + + parent_index + 8 + + + loc + 3947 + + + + + id + parent + + + 12 + + + 1 + 2 + 3947 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 3947 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 3947 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 3880 + + + 2 + 4 + 32 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 3880 + + + 2 + 4 + 32 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 3880 + + + 2 + 4 + 32 + + + + + + + parent_index + id + + + 12 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 26 + 27 + 1 + + + 45 + 46 + 1 + + + 761 + 762 + 1 + + + 852 + 853 + 1 + + + 2253 + 2254 + 1 + + + + + + + parent_index + parent + + + 12 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 26 + 27 + 1 + + + 45 + 46 + 1 + + + 761 + 762 + 1 + + + 852 + 853 + 1 + + + 2253 + 2254 + 1 + + + + + + + parent_index + loc + + + 12 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 26 + 27 + 1 + + + 45 + 46 + 1 + + + 761 + 762 + 1 + + + 852 + 853 + 1 + + + 2253 + 2254 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 3947 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 3947 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 3947 + + + + + + + + + rescue_body + 518 + + + rescue + 518 body - 15 - - - condition - 15 - - - loc - 15 + 518 - id - parent - - - 12 - - - 1 - 2 - 15 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 15 - - - - - - - id + rescue body @@ -43330,199 +36894,7 @@ 1 2 - 15 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 15 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 15 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 15 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 15 - - - - - - - parent - body - - - 12 - - - 1 - 2 - 15 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 15 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 15 - - - - - - - parent_index - id - - - 12 - - - 2 - 3 - 7 - - - - - - - parent_index - parent - - - 12 - - - 2 - 3 - 7 - - - - - - - parent_index - body - - - 12 - - - 2 - 3 - 7 - - - - - - - parent_index - condition - - - 12 - - - 2 - 3 - 7 - - - - - - - parent_index - loc - - - 12 - - - 2 - 3 - 7 + 518 @@ -43530,7 +36902,7 @@ body - id + rescue 12 @@ -43538,231 +36910,7 @@ 1 2 - 15 - - - - - - - body - parent - - - 12 - - - 1 - 2 - 15 - - - - - - - body - parent_index - - - 12 - - - 1 - 2 - 15 - - - - - - - body - condition - - - 12 - - - 1 - 2 - 15 - - - - - - - body - loc - - - 12 - - - 1 - 2 - 15 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 15 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 15 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 15 - - - - - - - condition - body - - - 12 - - - 1 - 2 - 15 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 15 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 15 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 15 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 15 - - - - - - - loc - body - - - 12 - - - 1 - 2 - 15 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 15 + 518 @@ -43771,28 +36919,24 @@ - call_def - 303968 + rescue_def + 613 id - 303968 + 613 parent - 220067 + 575 parent_index - 313 - - - method - 303968 + 22 loc - 303968 + 613 @@ -43806,7 +36950,7 @@ 1 2 - 303968 + 613 @@ -43822,23 +36966,7 @@ 1 2 - 303968 - - - - - - - id - method - - - 12 - - - 1 - 2 - 303968 + 613 @@ -43854,7 +36982,7 @@ 1 2 - 303968 + 613 @@ -43870,17 +36998,12 @@ 1 2 - 186657 + 547 2 - 3 - 17339 - - - 3 - 77 - 16069 + 5 + 28 @@ -43896,43 +37019,12 @@ 1 2 - 186657 + 547 2 - 3 - 17339 - - - 3 - 77 - 16069 - - - - - - - parent - method - - - 12 - - - 1 - 2 - 186657 - - - 2 - 3 - 17339 - - - 3 - 77 - 16069 + 5 + 28 @@ -43948,17 +37040,12 @@ 1 2 - 186657 + 547 2 - 3 - 17339 - - - 3 - 77 - 16069 + 5 + 28 @@ -43974,67 +37061,52 @@ 1 2 - 7 + 4 2 3 - 51 + 2 3 4 - 19 + 2 4 - 5 - 23 + 7 + 2 - 5 - 8 - 27 + 7 + 9 + 2 - 8 + 9 11 - 23 + 2 - 12 + 11 18 - 27 + 2 - 18 - 28 - 23 + 28 + 37 + 2 - 30 - 58 - 23 + 41 + 71 + 2 - 60 - 136 - 23 - - - 164 - 492 - 23 - - - 647 - 5320 - 23 - - - 13844 - 27280 - 11 + 89 + 246 + 2 @@ -44050,143 +37122,52 @@ 1 2 - 7 + 4 2 3 - 51 + 2 3 4 - 19 + 2 4 - 5 - 23 + 7 + 2 - 5 - 8 - 27 + 7 + 9 + 2 - 8 + 9 11 - 23 + 2 - 12 + 11 18 - 27 + 2 - 18 - 28 - 23 + 28 + 37 + 2 - 30 - 58 - 23 + 41 + 71 + 2 - 60 - 136 - 23 - - - 164 - 492 - 23 - - - 647 - 5320 - 23 - - - 13844 - 27280 - 11 - - - - - - - parent_index - method - - - 12 - - - 1 - 2 - 7 - - - 2 - 3 - 51 - - - 3 - 4 - 19 - - - 4 - 5 - 23 - - - 5 - 8 - 27 - - - 8 - 11 - 23 - - - 12 - 18 - 27 - - - 18 - 28 - 23 - - - 30 - 58 - 23 - - - 60 - 136 - 23 - - - 164 - 492 - 23 - - - 647 - 5320 - 23 - - - 13844 - 27280 - 11 + 89 + 246 + 2 @@ -44202,131 +37183,52 @@ 1 2 - 7 + 4 2 3 - 51 + 2 3 4 - 19 + 2 4 - 5 - 23 + 7 + 2 - 5 - 8 - 27 + 7 + 9 + 2 - 8 + 9 11 - 23 + 2 - 12 + 11 18 - 27 + 2 - 18 - 28 - 23 + 28 + 37 + 2 - 30 - 58 - 23 + 41 + 71 + 2 - 60 - 136 - 23 - - - 164 - 492 - 23 - - - 647 - 5320 - 23 - - - 13844 - 27280 - 11 - - - - - - - method - id - - - 12 - - - 1 - 2 - 303968 - - - - - - - method - parent - - - 12 - - - 1 - 2 - 303968 - - - - - - - method - parent_index - - - 12 - - - 1 - 2 - 303968 - - - - - - - method - loc - - - 12 - - - 1 - 2 - 303968 + 89 + 246 + 2 @@ -44342,7 +37244,7 @@ 1 2 - 303968 + 613 @@ -44358,7 +37260,7 @@ 1 2 - 303968 + 613 @@ -44374,23 +37276,7 @@ 1 2 - 303968 - - - - - - - loc - method - - - 12 - - - 1 - 2 - 303968 + 613 @@ -44399,26 +37285,22 @@ - method_child - 79751 + rescue_exceptions + 412 - method - 29472 + rescue + 412 - index - 76 - - - child - 79751 + exceptions + 412 - method - index + rescue + exceptions 12 @@ -44426,40 +37308,15 @@ 1 2 - 13303 - - - 2 - 3 - 5488 - - - 3 - 4 - 3771 - - - 4 - 5 - 2340 - - - 5 - 7 - 2475 - - - 7 - 77 - 2095 + 412 - method - child + exceptions + rescue 12 @@ -44467,970 +37324,7 @@ 1 2 - 13303 - - - 2 - 3 - 5488 - - - 3 - 4 - 3771 - - - 4 - 5 - 2340 - - - 5 - 7 - 2475 - - - 7 - 77 - 2095 - - - - - - - index - method - - - 12 - - - 1 - 2 - 7 - - - 2 - 4 - 2 - - - 4 - 5 - 9 - - - 5 - 6 - 10 - - - 6 - 7 - 7 - - - 7 - 10 - 5 - - - 13 - 20 - 6 - - - 20 - 34 - 6 - - - 40 - 109 - 6 - - - 143 - 388 - 6 - - - 484 - 2096 - 6 - - - 3067 - 29473 - 6 - - - - - - - index - child - - - 12 - - - 1 - 2 - 7 - - - 2 - 4 - 2 - - - 4 - 5 - 9 - - - 5 - 6 - 10 - - - 6 - 7 - 7 - - - 7 - 10 - 5 - - - 13 - 20 - 6 - - - 20 - 34 - 6 - - - 40 - 109 - 6 - - - 143 - 388 - 6 - - - 484 - 2096 - 6 - - - 3067 - 29473 - 6 - - - - - - - child - method - - - 12 - - - 1 - 2 - 79751 - - - - - - - child - index - - - 12 - - - 1 - 2 - 79751 - - - - - - - - - begin_child - 2038 - - - begin - 595 - - - index - 35 - - - child - 2038 - - - - - begin - index - - - 12 - - - 1 - 2 - 30 - - - 2 - 3 - 266 - - - 3 - 4 - 127 - - - 4 - 5 - 67 - - - 5 - 7 - 52 - - - 7 - 14 - 46 - - - 14 - 35 - 5 - - - - - - - begin - child - - - 12 - - - 1 - 2 - 30 - - - 2 - 3 - 266 - - - 3 - 4 - 127 - - - 4 - 5 - 67 - - - 5 - 7 - 52 - - - 7 - 14 - 46 - - - 14 - 35 - 5 - - - - - - - index - begin - - - 12 - - - 1 - 2 - 6 - - - 4 - 5 - 14 - - - 5 - 10 - 3 - - - 12 - 27 - 3 - - - 35 - 72 - 3 - - - 101 - 290 - 3 - - - 547 - 578 - 2 - - - - - - - index - child - - - 12 - - - 1 - 2 - 6 - - - 4 - 5 - 14 - - - 5 - 10 - 3 - - - 12 - 27 - 3 - - - 35 - 72 - 3 - - - 101 - 290 - 3 - - - 547 - 578 - 2 - - - - - - - child - begin - - - 12 - - - 1 - 2 - 2038 - - - - - - - child - index - - - 12 - - - 1 - 2 - 2038 - - - - - - - - - scope_resolution_def - 23533 - - - id - 23533 - - - parent - 23382 - - - parent_index - 47 - - - name - 23533 - - - loc - 23533 - - - - - id - parent - - - 12 - - - 1 - 2 - 23533 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 23533 - - - - - - - id - name - - - 12 - - - 1 - 2 - 23533 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 23533 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 23319 - - - 2 - 10 - 63 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 23319 - - - 2 - 10 - 63 - - - - - - - parent - name - - - 12 - - - 1 - 2 - 23319 - - - 2 - 10 - 63 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 23319 - - - 2 - 10 - 63 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 15 - - - 3 - 4 - 3 - - - 4 - 5 - 3 - - - 6 - 7 - 3 - - - 8 - 9 - 3 - - - 18 - 19 - 3 - - - 188 - 189 - 3 - - - 875 - 876 - 3 - - - 4825 - 4826 - 3 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 15 - - - 3 - 4 - 3 - - - 4 - 5 - 3 - - - 6 - 7 - 3 - - - 8 - 9 - 3 - - - 18 - 19 - 3 - - - 188 - 189 - 3 - - - 875 - 876 - 3 - - - 4825 - 4826 - 3 - - - - - - - parent_index - name - - - 12 - - - 1 - 2 - 15 - - - 3 - 4 - 3 - - - 4 - 5 - 3 - - - 6 - 7 - 3 - - - 8 - 9 - 3 - - - 18 - 19 - 3 - - - 188 - 189 - 3 - - - 875 - 876 - 3 - - - 4825 - 4826 - 3 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 15 - - - 3 - 4 - 3 - - - 4 - 5 - 3 - - - 6 - 7 - 3 - - - 8 - 9 - 3 - - - 18 - 19 - 3 - - - 188 - 189 - 3 - - - 875 - 876 - 3 - - - 4825 - 4826 - 3 - - - - - - - name - id - - - 12 - - - 1 - 2 - 23533 - - - - - - - name - parent - - - 12 - - - 1 - 2 - 23533 - - - - - - - name - parent_index - - - 12 - - - 1 - 2 - 23533 - - - - - - - name - loc - - - 12 - - - 1 - 2 - 23533 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 23533 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 23533 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 23533 - - - - - - - loc - name - - - 12 - - - 1 - 2 - 23533 + 412 @@ -45448,7 +37342,7 @@ parent - 150 + 151 parent_index @@ -45558,7 +37452,7 @@ 1 2 - 136 + 137 2 @@ -45584,7 +37478,7 @@ 1 2 - 136 + 137 2 @@ -45610,7 +37504,7 @@ 1 2 - 136 + 137 2 @@ -45636,7 +37530,7 @@ 1 2 - 136 + 137 2 @@ -45662,7 +37556,7 @@ 1 2 - 136 + 137 2 @@ -45716,13 +37610,13 @@ 1 - 25 - 26 + 24 + 25 1 - 41 - 42 + 43 + 44 1 @@ -45772,13 +37666,13 @@ 1 - 25 - 26 + 24 + 25 1 - 41 - 42 + 43 + 44 1 @@ -45828,13 +37722,13 @@ 1 - 25 - 26 + 24 + 25 1 - 41 - 42 + 43 + 44 1 @@ -45884,13 +37778,13 @@ 1 - 25 - 26 + 24 + 25 1 - 41 - 42 + 43 + 44 1 @@ -45940,13 +37834,13 @@ 1 - 25 - 26 + 24 + 25 1 - 41 - 42 + 43 + 44 1 @@ -46201,24 +38095,120 @@ - bare_string_def - 2958 + rescue_variable + 297 + + + rescue + 297 + + + variable + 297 + + + + + rescue + variable + + + 12 + + + 1 + 2 + 297 + + + + + + + variable + rescue + + + 12 + + + 1 + 2 + 297 + + + + + + + + + rest_assignment_child + 7 + + + rest_assignment + 7 + + + child + 7 + + + + + rest_assignment + child + + + 12 + + + 1 + 2 + 7 + + + + + + + child + rest_assignment + + + 12 + + + 1 + 2 + 7 + + + + + + + + + rest_assignment_def + 17 id - 2958 + 17 parent - 921 + 17 parent_index - 88 + 3 loc - 2958 + 17 @@ -46232,7 +38222,7 @@ 1 2 - 2958 + 17 @@ -46248,7 +38238,7 @@ 1 2 - 2958 + 17 @@ -46264,7 +38254,7 @@ 1 2 - 2958 + 17 @@ -46280,32 +38270,7 @@ 1 2 - 199 - - - 2 - 3 - 297 - - - 3 - 4 - 238 - - - 4 - 5 - 66 - - - 5 - 8 - 70 - - - 8 - 89 - 51 + 17 @@ -46321,32 +38286,7 @@ 1 2 - 199 - - - 2 - 3 - 297 - - - 3 - 4 - 238 - - - 4 - 5 - 66 - - - 5 - 8 - 70 - - - 8 - 89 - 51 + 17 @@ -46362,32 +38302,7 @@ 1 2 - 199 - - - 2 - 3 - 297 - - - 3 - 4 - 238 - - - 4 - 5 - 66 - - - 5 - 8 - 70 - - - 8 - 89 - 51 + 17 @@ -46400,45 +38315,15 @@ 12 - - 1 - 2 - 38 - - - 2 - 3 - 6 - 3 4 - 6 - - - 4 - 5 - 12 - - - 5 - 8 - 8 + 2 11 - 29 - 7 - - - 32 - 122 - 7 - - - 187 - 922 - 4 + 12 + 1 @@ -46451,45 +38336,15 @@ 12 - - 1 - 2 - 38 - - - 2 - 3 - 6 - 3 4 - 6 - - - 4 - 5 - 12 - - - 5 - 8 - 8 + 2 11 - 29 - 7 - - - 32 - 122 - 7 - - - 187 - 922 - 4 + 12 + 1 @@ -46502,45 +38357,15 @@ 12 - - 1 - 2 - 38 - - - 2 - 3 - 6 - 3 4 - 6 - - - 4 - 5 - 12 - - - 5 - 8 - 8 + 2 11 - 29 - 7 - - - 32 - 122 - 7 - - - 187 - 922 - 4 + 12 + 1 @@ -46556,7 +38381,7 @@ 1 2 - 2958 + 17 @@ -46572,7 +38397,7 @@ 1 2 - 2958 + 17 @@ -46588,7 +38413,7 @@ 1 2 - 2958 + 17 @@ -46597,24 +38422,72 @@ - case_def - 370 + retry_child + 0 + + + retry + 0 + + + child + 0 + + + + + retry + child + + + 12 + + + 1 + 2 + 1 + + + + + + + child + retry + + + 12 + + + 1 + 2 + 1 + + + + + + + + + retry_def + 9 id - 370 - - - parent - 369 - - - parent_index 9 + + parent + 9 + + + parent_index + 3 + loc - 370 + 9 @@ -46628,7 +38501,7 @@ 1 2 - 370 + 9 @@ -46644,7 +38517,7 @@ 1 2 - 370 + 9 @@ -46660,7 +38533,7 @@ 1 2 - 370 + 9 @@ -46676,12 +38549,7 @@ 1 2 - 368 - - - 2 - 3 - 1 + 9 @@ -46697,12 +38565,7 @@ 1 2 - 368 - - - 2 - 3 - 1 + 9 @@ -46718,12 +38581,7 @@ 1 2 - 368 - - - 2 - 3 - 1 + 9 @@ -46742,43 +38600,13 @@ 1 - 4 - 5 + 3 + 4 1 - 7 - 8 - 1 - - - 18 - 19 - 1 - - - 19 - 20 - 1 - - - 24 - 25 - 1 - - - 38 - 39 - 1 - - - 92 - 93 - 1 - - - 167 - 168 + 5 + 6 1 @@ -46798,43 +38626,13 @@ 1 - 4 - 5 + 3 + 4 1 - 7 - 8 - 1 - - - 18 - 19 - 1 - - - 19 - 20 - 1 - - - 24 - 25 - 1 - - - 38 - 39 - 1 - - - 92 - 93 - 1 - - - 167 - 168 + 5 + 6 1 @@ -46854,43 +38652,13 @@ 1 - 4 - 5 + 3 + 4 1 - 7 - 8 - 1 - - - 18 - 19 - 1 - - - 19 - 20 - 1 - - - 24 - 25 - 1 - - - 38 - 39 - 1 - - - 92 - 93 - 1 - - - 167 - 168 + 5 + 6 1 @@ -46907,7 +38675,7 @@ 1 2 - 370 + 9 @@ -46923,7 +38691,7 @@ 1 2 - 370 + 9 @@ -46939,7 +38707,7 @@ 1 2 - 370 + 9 @@ -46948,7 +38716,2013 @@ - lambda_parameters_def + return_child + 1574 + + + return + 1574 + + + child + 1574 + + + + + return + child + + + 12 + + + 1 + 2 + 1574 + + + + + + + child + return + + + 12 + + + 1 + 2 + 1574 + + + + + + + + + return_def + 2537 + + + id + 2537 + + + parent + 2537 + + + parent_index + 11 + + + loc + 2537 + + + + + id + parent + + + 12 + + + 1 + 2 + 2537 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 2537 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 2537 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 2537 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 2537 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 2537 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 6 + 7 + 1 + + + 13 + 14 + 1 + + + 70 + 71 + 1 + + + 176 + 177 + 1 + + + 2184 + 2185 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 6 + 7 + 1 + + + 13 + 14 + 1 + + + 70 + 71 + 1 + + + 176 + 177 + 1 + + + 2184 + 2185 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 4 + 5 + 1 + + + 5 + 6 + 1 + + + 6 + 7 + 1 + + + 13 + 14 + 1 + + + 70 + 71 + 1 + + + 176 + 177 + 1 + + + 2184 + 2185 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 2537 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 2537 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 2537 + + + + + + + + + right_assignment_list_child + 853 + + + right_assignment_list + 403 + + + index + 5 + + + child + 853 + + + + + right_assignment_list + index + + + 12 + + + 2 + 3 + 368 + + + 3 + 5 + 33 + + + 5 + 6 + 2 + + + + + + + right_assignment_list + child + + + 12 + + + 2 + 3 + 368 + + + 3 + 5 + 33 + + + 5 + 6 + 2 + + + + + + + index + right_assignment_list + + + 12 + + + 2 + 3 + 1 + + + 10 + 11 + 1 + + + 35 + 36 + 1 + + + 403 + 404 + 2 + + + + + + + index + child + + + 12 + + + 2 + 3 + 1 + + + 10 + 11 + 1 + + + 35 + 36 + 1 + + + 403 + 404 + 2 + + + + + + + child + right_assignment_list + + + 12 + + + 1 + 2 + 853 + + + + + + + child + index + + + 12 + + + 1 + 2 + 853 + + + + + + + + + right_assignment_list_def + 403 + + + id + 403 + + + parent + 403 + + + parent_index + 1 + + + loc + 403 + + + + + id + parent + + + 12 + + + 1 + 2 + 403 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 403 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 403 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 403 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 403 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 403 + + + + + + + parent_index + id + + + 12 + + + 403 + 404 + 1 + + + + + + + parent_index + parent + + + 12 + + + 403 + 404 + 1 + + + + + + + parent_index + loc + + + 12 + + + 403 + 404 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 403 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 403 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 403 + + + + + + + + + scope_resolution_def + 22136 + + + id + 22136 + + + parent + 22002 + + + parent_index + 42 + + + name + 22136 + + + loc + 22136 + + + + + id + parent + + + 12 + + + 1 + 2 + 22136 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 22136 + + + + + + + id + name + + + 12 + + + 1 + 2 + 22136 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 22136 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 21946 + + + 2 + 10 + 56 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 21946 + + + 2 + 10 + 56 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 21946 + + + 2 + 10 + 56 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 21946 + + + 2 + 10 + 56 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 14 + + + 3 + 4 + 3 + + + 4 + 5 + 3 + + + 6 + 7 + 3 + + + 8 + 9 + 3 + + + 60 + 61 + 3 + + + 248 + 249 + 3 + + + 942 + 943 + 3 + + + 5034 + 5035 + 3 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 14 + + + 3 + 4 + 3 + + + 4 + 5 + 3 + + + 6 + 7 + 3 + + + 8 + 9 + 3 + + + 60 + 61 + 3 + + + 248 + 249 + 3 + + + 942 + 943 + 3 + + + 5034 + 5035 + 3 + + + + + + + parent_index + name + + + 12 + + + 1 + 2 + 14 + + + 3 + 4 + 3 + + + 4 + 5 + 3 + + + 6 + 7 + 3 + + + 8 + 9 + 3 + + + 60 + 61 + 3 + + + 248 + 249 + 3 + + + 942 + 943 + 3 + + + 5034 + 5035 + 3 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 14 + + + 3 + 4 + 3 + + + 4 + 5 + 3 + + + 6 + 7 + 3 + + + 8 + 9 + 3 + + + 60 + 61 + 3 + + + 248 + 249 + 3 + + + 942 + 943 + 3 + + + 5034 + 5035 + 3 + + + + + + + name + id + + + 12 + + + 1 + 2 + 22136 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 22136 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 22136 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 22136 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 22136 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 22136 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 22136 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 22136 + + + + + + + + + scope_resolution_scope + 21785 + + + scope_resolution + 21785 + + + scope + 21785 + + + + + scope_resolution + scope + + + 12 + + + 1 + 2 + 21785 + + + + + + + scope + scope_resolution + + + 12 + + + 1 + 2 + 21785 + + + + + + + + + setter_def + 181 + + + id + 181 + + + parent + 181 + + + parent_index + 2 + + + name + 181 + + + loc + 181 + + + + + id + parent + + + 12 + + + 1 + 2 + 181 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 181 + + + + + + + id + name + + + 12 + + + 1 + 2 + 181 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 181 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 181 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 181 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 181 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 181 + + + + + + + parent_index + id + + + 12 + + + 16 + 17 + 1 + + + 165 + 166 + 1 + + + + + + + parent_index + parent + + + 12 + + + 16 + 17 + 1 + + + 165 + 166 + 1 + + + + + + + parent_index + name + + + 12 + + + 16 + 17 + 1 + + + 165 + 166 + 1 + + + + + + + parent_index + loc + + + 12 + + + 16 + 17 + 1 + + + 165 + 166 + 1 + + + + + + + name + id + + + 12 + + + 1 + 2 + 181 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 181 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 181 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 181 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 181 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 181 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 181 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 181 + + + + + + + + + singleton_class_child + 711 + + + singleton_class + 184 + + + index + 24 + + + child + 711 + + + + + singleton_class + index + + + 12 + + + 1 + 2 + 82 + + + 2 + 3 + 23 + + + 3 + 4 + 12 + + + 4 + 5 + 16 + + + 5 + 6 + 10 + + + 6 + 8 + 15 + + + 8 + 13 + 14 + + + 13 + 25 + 12 + + + + + + + singleton_class + child + + + 12 + + + 1 + 2 + 82 + + + 2 + 3 + 23 + + + 3 + 4 + 12 + + + 4 + 5 + 16 + + + 5 + 6 + 10 + + + 6 + 8 + 15 + + + 8 + 13 + 14 + + + 13 + 25 + 12 + + + + + + + index + singleton_class + + + 12 + + + 1 + 2 + 2 + + + 2 + 3 + 3 + + + 3 + 5 + 2 + + + 6 + 7 + 1 + + + 7 + 8 + 3 + + + 12 + 17 + 2 + + + 18 + 20 + 2 + + + 21 + 27 + 2 + + + 33 + 42 + 2 + + + 51 + 68 + 2 + + + 79 + 103 + 2 + + + 184 + 185 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 2 + + + 2 + 3 + 3 + + + 3 + 5 + 2 + + + 6 + 7 + 1 + + + 7 + 8 + 3 + + + 12 + 17 + 2 + + + 18 + 20 + 2 + + + 21 + 27 + 2 + + + 33 + 42 + 2 + + + 51 + 68 + 2 + + + 79 + 103 + 2 + + + 184 + 185 + 1 + + + + + + + child + singleton_class + + + 12 + + + 1 + 2 + 711 + + + + + + + child + index + + + 12 + + + 1 + 2 + 711 + + + + + + + + + singleton_class_def 184 @@ -46957,11 +40731,15 @@ parent - 184 + 182 parent_index - 1 + 18 + + + value + 184 loc @@ -47001,6 +40779,22 @@ + + id + value + + + 12 + + + 1 + 2 + 184 + + + + + id loc @@ -47027,7 +40821,12 @@ 1 2 - 184 + 180 + + + 2 + 3 + 2 @@ -47043,7 +40842,33 @@ 1 2 - 184 + 180 + + + 2 + 3 + 2 + + + + + + + parent + value + + + 12 + + + 1 + 2 + 180 + + + 2 + 3 + 2 @@ -47059,7 +40884,12 @@ 1 2 - 184 + 180 + + + 2 + 3 + 2 @@ -47073,8 +40903,53 @@ 12 - 184 - 185 + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 10 + 11 + 1 + + + 15 + 16 + 2 + + + 16 + 17 + 1 + + + 23 + 24 + 1 + + + 40 + 41 + 1 + + + 45 + 46 1 @@ -47089,8 +40964,114 @@ 12 - 184 - 185 + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 10 + 11 + 1 + + + 15 + 16 + 2 + + + 16 + 17 + 1 + + + 23 + 24 + 1 + + + 40 + 41 + 1 + + + 45 + 46 + 1 + + + + + + + parent_index + value + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 10 + 11 + 1 + + + 15 + 16 + 2 + + + 16 + 17 + 1 + + + 23 + 24 + 1 + + + 40 + 41 + 1 + + + 45 + 46 1 @@ -47105,10 +41086,119 @@ 12 - 184 - 185 + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 2 + + + 4 + 5 1 + + 10 + 11 + 1 + + + 15 + 16 + 2 + + + 16 + 17 + 1 + + + 23 + 24 + 1 + + + 40 + 41 + 1 + + + 45 + 46 + 1 + + + + + + + value + id + + + 12 + + + 1 + 2 + 184 + + + + + + + value + parent + + + 12 + + + 1 + 2 + 184 + + + + + + + value + parent_index + + + 12 + + + 1 + 2 + 184 + + + + + + + value + loc + + + 12 + + + 1 + 2 + 184 + @@ -47161,27 +41251,327 @@ + + loc + value + + + 12 + + + 1 + 2 + 184 + + + + + - exceptions_def - 410 + singleton_method_child + 4992 + + + singleton_method + 2013 + + + index + 27 + + + child + 4992 + + + + + singleton_method + index + + + 12 + + + 1 + 2 + 1137 + + + 2 + 3 + 300 + + + 3 + 4 + 178 + + + 4 + 5 + 125 + + + 5 + 8 + 154 + + + 8 + 28 + 116 + + + + + + + singleton_method + child + + + 12 + + + 1 + 2 + 1137 + + + 2 + 3 + 300 + + + 3 + 4 + 178 + + + 4 + 5 + 125 + + + 5 + 8 + 154 + + + 8 + 28 + 116 + + + + + + + index + singleton_method + + + 12 + + + 2 + 4 + 2 + + + 4 + 5 + 2 + + + 6 + 7 + 5 + + + 7 + 11 + 2 + + + 14 + 22 + 2 + + + 25 + 32 + 2 + + + 38 + 49 + 2 + + + 65 + 89 + 2 + + + 113 + 142 + 2 + + + 192 + 264 + 2 + + + 385 + 559 + 2 + + + 850 + 1955 + 2 + + + + + + + index + child + + + 12 + + + 2 + 4 + 2 + + + 4 + 5 + 2 + + + 6 + 7 + 5 + + + 7 + 11 + 2 + + + 14 + 22 + 2 + + + 25 + 32 + 2 + + + 38 + 49 + 2 + + + 65 + 89 + 2 + + + 113 + 142 + 2 + + + 192 + 264 + 2 + + + 385 + 559 + 2 + + + 850 + 1955 + 2 + + + + + + + child + singleton_method + + + 12 + + + 1 + 2 + 4992 + + + + + + + child + index + + + 12 + + + 1 + 2 + 4992 + + + + + + + + + singleton_method_def + 2013 id - 410 + 2013 parent - 410 + 458 parent_index - 1 + 169 + + + name + 2013 + + + object + 2013 loc - 410 + 2013 @@ -47195,7 +41585,7 @@ 1 2 - 410 + 2013 @@ -47211,7 +41601,39 @@ 1 2 - 410 + 2013 + + + + + + + id + name + + + 12 + + + 1 + 2 + 2013 + + + + + + + id + object + + + 12 + + + 1 + 2 + 2013 @@ -47227,7 +41649,7 @@ 1 2 - 410 + 2013 @@ -47243,305 +41665,50 @@ 1 2 - 410 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 410 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 410 - - - - - - - parent_index - id - - - 12 - - - 398 - 399 - 1 - - - - - - - parent_index - parent - - - 12 - - - 398 - 399 - 1 - - - - - - - parent_index - loc - - - 12 - - - 398 - 399 - 1 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 410 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 410 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 410 - - - - - - - - - destructured_left_assignment_child - 2 - - - destructured_left_assignment - 1 - - - index - 2 - - - child - 2 - - - - - destructured_left_assignment - index - - - 12 - - - 2 - 3 - 1 - - - - - - - destructured_left_assignment - child - - - 12 - - - 2 - 3 - 1 - - - - - - - index - destructured_left_assignment - - - 12 - - - 1 - 2 - 2 - - - - - - - index - child - - - 12 - - - 1 - 2 - 2 - - - - - - - child - destructured_left_assignment - - - 12 - - - 1 - 2 - 2 - - - - - - - child - index - - - 12 - - - 1 - 2 - 2 - - - - - - - - - exceptions_child - 468 - - - exceptions - 410 - - - index - 8 - - - child - 468 - - - - - exceptions - index - - - 12 - - - 1 - 2 - 369 + 157 2 3 - 30 + 86 3 - 9 - 10 + 4 + 61 + + + 4 + 5 + 31 + + + 5 + 7 + 42 + + + 7 + 11 + 38 + + + 11 + 28 + 35 + + + 28 + 77 + 5 - exceptions - child + parent + parent_index 12 @@ -47549,25 +41716,50 @@ 1 2 - 369 + 157 2 3 - 30 + 86 3 - 9 - 10 + 4 + 61 + + + 4 + 5 + 31 + + + 5 + 7 + 42 + + + 7 + 11 + 38 + + + 11 + 28 + 35 + + + 28 + 77 + 5 - index - exceptions + parent + name 12 @@ -47575,35 +41767,50 @@ 1 2 - 4 + 157 2 3 - 1 + 86 - 10 + 3 + 4 + 61 + + + 4 + 5 + 31 + + + 5 + 7 + 42 + + + 7 11 - 1 + 38 - 40 - 41 - 1 + 11 + 28 + 35 - 398 - 399 - 1 + 28 + 77 + 5 - index - child + parent + object 12 @@ -47611,35 +41818,50 @@ 1 2 - 4 + 157 2 3 - 1 + 86 - 10 + 3 + 4 + 61 + + + 4 + 5 + 31 + + + 5 + 7 + 42 + + + 7 11 - 1 + 38 - 40 - 41 - 1 + 11 + 28 + 35 - 398 - 399 - 1 + 28 + 77 + 5 - child - exceptions + parent + loc 12 @@ -47647,15 +41869,50 @@ 1 2 - 468 + 157 + + + 2 + 3 + 86 + + + 3 + 4 + 61 + + + 4 + 5 + 31 + + + 5 + 7 + 42 + + + 7 + 11 + 38 + + + 11 + 28 + 35 + + + 28 + 77 + 5 - child - index + parent_index + id 12 @@ -47663,31 +41920,55 @@ 1 2 - 468 + 57 + + + 2 + 3 + 29 + + + 3 + 4 + 19 + + + 4 + 5 + 5 + + + 5 + 6 + 14 + + + 6 + 11 + 13 + + + 12 + 32 + 13 + + + 32 + 116 + 13 + + + 131 + 147 + 3 - - - - break_child - 11 - - - break - 11 - - - child - 11 - - - - break - child + parent_index + parent 12 @@ -47695,15 +41976,55 @@ 1 2 - 11 + 57 + + + 2 + 3 + 29 + + + 3 + 4 + 19 + + + 4 + 5 + 5 + + + 5 + 6 + 14 + + + 6 + 11 + 13 + + + 12 + 32 + 13 + + + 32 + 116 + 13 + + + 131 + 147 + 3 - child - break + parent_index + name 12 @@ -47711,7 +42032,399 @@ 1 2 - 11 + 57 + + + 2 + 3 + 29 + + + 3 + 4 + 19 + + + 4 + 5 + 5 + + + 5 + 6 + 14 + + + 6 + 11 + 13 + + + 12 + 32 + 13 + + + 32 + 116 + 13 + + + 131 + 147 + 3 + + + + + + + parent_index + object + + + 12 + + + 1 + 2 + 57 + + + 2 + 3 + 29 + + + 3 + 4 + 19 + + + 4 + 5 + 5 + + + 5 + 6 + 14 + + + 6 + 11 + 13 + + + 12 + 32 + 13 + + + 32 + 116 + 13 + + + 131 + 147 + 3 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 57 + + + 2 + 3 + 29 + + + 3 + 4 + 19 + + + 4 + 5 + 5 + + + 5 + 6 + 14 + + + 6 + 11 + 13 + + + 12 + 32 + 13 + + + 32 + 116 + 13 + + + 131 + 147 + 3 + + + + + + + name + id + + + 12 + + + 1 + 2 + 2013 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 2013 + + + + + + + name + parent_index + + + 12 + + + 1 + 2 + 2013 + + + + + + + name + object + + + 12 + + + 1 + 2 + 2013 + + + + + + + name + loc + + + 12 + + + 1 + 2 + 2013 + + + + + + + object + id + + + 12 + + + 1 + 2 + 2013 + + + + + + + object + parent + + + 12 + + + 1 + 2 + 2013 + + + + + + + object + parent_index + + + 12 + + + 1 + 2 + 2013 + + + + + + + object + name + + + 12 + + + 1 + 2 + 2013 + + + + + + + object + loc + + + 12 + + + 1 + 2 + 2013 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 2013 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 2013 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 2013 + + + + + + + loc + name + + + 12 + + + 1 + 2 + 2013 + + + + + + + loc + object + + + 12 + + + 1 + 2 + 2013 @@ -47721,15 +42434,15 @@ singleton_method_parameters - 1268 + 1267 singleton_method - 1268 + 1267 parameters - 1268 + 1267 @@ -47743,7 +42456,7 @@ 1 2 - 1268 + 1267 @@ -47759,7 +42472,7 @@ 1 2 - 1268 + 1267 @@ -47768,202 +42481,39 @@ - folders - 1222 + sourceLocationPrefix + 3 - id - 1222 - - - name - 1222 - - - simple - 464 + prefix + 3 - - - id - name - - - 12 - - - 1 - 2 - 1222 - - - - - - - id - simple - - - 12 - - - 1 - 2 - 1222 - - - - - - - name - id - - - 12 - - - 1 - 2 - 1222 - - - - - - - name - simple - - - 12 - - - 1 - 2 - 1222 - - - - - - - simple - id - - - 12 - - - 1 - 2 - 202 - - - 2 - 3 - 138 - - - 3 - 4 - 39 - - - 4 - 6 - 35 - - - 6 - 8 - 39 - - - 9 - 46 - 7 - - - - - - - simple - name - - - 12 - - - 1 - 2 - 202 - - - 2 - 3 - 138 - - - 3 - 4 - 39 - - - 4 - 6 - 35 - - - 6 - 8 - 39 - - - 9 - 46 - 7 - - - - - - + - operator_assignment_def - 1973 + splat_argument_def + 693 id - 1973 + 693 parent - 1570 + 687 parent_index - 69 + 8 - left - 1973 - - - operator - 6 - - - right - 1973 + child + 693 loc - 1973 + 693 @@ -47977,7 +42527,7 @@ 1 2 - 1973 + 693 @@ -47993,7 +42543,7 @@ 1 2 - 1973 + 693 @@ -48001,7 +42551,7 @@ id - left + child 12 @@ -48009,39 +42559,7 @@ 1 2 - 1973 - - - - - - - id - operator - - - 12 - - - 1 - 2 - 1973 - - - - - - - id - right - - - 12 - - - 1 - 2 - 1973 + 693 @@ -48057,7 +42575,7 @@ 1 2 - 1973 + 693 @@ -48073,17 +42591,12 @@ 1 2 - 1393 + 681 2 - 4 - 138 - - - 4 - 18 - 38 + 3 + 6 @@ -48099,64 +42612,12 @@ 1 2 - 1393 - - - 2 - 4 - 138 - - - 4 - 18 - 38 - - - - - - - parent - left - - - 12 - - - 1 - 2 - 1393 - - - 2 - 4 - 138 - - - 4 - 18 - 38 - - - - - - - parent - operator - - - 12 - - - 1 - 2 - 1559 + 681 2 3 - 11 + 6 @@ -48164,7 +42625,7 @@ parent - right + child 12 @@ -48172,17 +42633,12 @@ 1 2 - 1393 + 681 2 - 4 - 138 - - - 4 - 18 - 38 + 3 + 6 @@ -48198,17 +42654,12 @@ 1 2 - 1393 + 681 2 - 4 - 138 - - - 4 - 18 - 38 + 3 + 6 @@ -48221,371 +42672,19 @@ 12 - - 1 - 2 - 28 - 2 3 - 12 - - - 3 - 4 - 5 - - - 4 - 11 - 6 - - - 11 - 23 - 6 - - - 26 - 201 - 6 - - - 202 - 472 - 4 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 28 - - - 2 - 3 - 12 - - - 3 - 4 - 5 - - - 4 - 11 - 6 - - - 11 - 23 - 6 - - - 26 - 201 - 6 - - - 202 - 472 - 4 - - - - - - - parent_index - left - - - 12 - - - 1 - 2 - 28 - - - 2 - 3 - 12 - - - 3 - 4 - 5 - - - 4 - 11 - 6 - - - 11 - 23 - 6 - - - 26 - 201 - 6 - - - 202 - 472 - 4 - - - - - - - parent_index - operator - - - 12 - - - 1 - 2 - 42 - - - 2 - 3 - 14 - - - 3 - 4 - 7 - - - 4 - 6 - 5 - - - - - - - parent_index - right - - - 12 - - - 1 - 2 - 28 - - - 2 - 3 - 12 - - - 3 - 4 - 5 - - - 4 - 11 - 6 - - - 11 - 23 - 6 - - - 26 - 201 - 6 - - - 202 - 472 - 4 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 28 - - - 2 - 3 - 12 - - - 3 - 4 - 5 - - - 4 - 11 - 6 - - - 11 - 23 - 6 - - - 26 - 201 - 6 - - - 202 - 472 - 4 - - - - - - - left - id - - - 12 - - - 1 - 2 - 1973 - - - - - - - left - parent - - - 12 - - - 1 - 2 - 1973 - - - - - - - left - parent_index - - - 12 - - - 1 - 2 - 1973 - - - - - - - left - operator - - - 12 - - - 1 - 2 - 1973 - - - - - - - left - right - - - 12 - - - 1 - 2 - 1973 - - - - - - - left - loc - - - 12 - - - 1 - 2 - 1973 - - - - - - - operator - id - - - 12 - - - 1 - 2 1 - 5 - 6 + 3 + 4 + 1 + + + 6 + 7 1 @@ -48593,27 +42692,1484 @@ 9 1 + + 40 + 41 + 1 + + + 49 + 50 + 1 + + + 156 + 157 + 1 + + + 429 + 430 + 1 + + + + + + + parent_index + parent + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 6 + 7 + 1 + + + 8 + 9 + 1 + + + 40 + 41 + 1 + + + 49 + 50 + 1 + + + 156 + 157 + 1 + + + 429 + 430 + 1 + + + + + + + parent_index + child + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 6 + 7 + 1 + + + 8 + 9 + 1 + + + 40 + 41 + 1 + + + 49 + 50 + 1 + + + 156 + 157 + 1 + + + 429 + 430 + 1 + + + + + + + parent_index + loc + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 6 + 7 + 1 + + + 8 + 9 + 1 + + + 40 + 41 + 1 + + + 49 + 50 + 1 + + + 156 + 157 + 1 + + + 429 + 430 + 1 + + + + + + + child + id + + + 12 + + + 1 + 2 + 693 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 693 + + + + + + + child + parent_index + + + 12 + + + 1 + 2 + 693 + + + + + + + child + loc + + + 12 + + + 1 + 2 + 693 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 693 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 693 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 693 + + + + + + + loc + child + + + 12 + + + 1 + 2 + 693 + + + + + + + + + splat_parameter_def + 934 + + + id + 934 + + + parent + 934 + + + parent_index + 8 + + + loc + 934 + + + + + id + parent + + + 12 + + + 1 + 2 + 934 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 934 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 934 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 934 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 934 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 934 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 2 + + + 17 + 18 + 1 + + + 169 + 170 + 1 + + + 735 + 736 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 2 + + + 17 + 18 + 1 + + + 169 + 170 + 1 + + + 735 + 736 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 2 + + + 17 + 18 + 1 + + + 169 + 170 + 1 + + + 735 + 736 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 934 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 934 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 934 + + + + + + + + + splat_parameter_name + 757 + + + splat_parameter + 757 + + + name + 757 + + + + + splat_parameter + name + + + 12 + + + 1 + 2 + 757 + + + + + + + name + splat_parameter + + + 12 + + + 1 + 2 + 757 + + + + + + + + + string_array_child + 2973 + + + string_array + 923 + + + index + 88 + + + child + 2973 + + + + + string_array + index + + + 12 + + + 1 + 2 + 199 + + + 2 + 3 + 297 + + + 3 + 4 + 239 + + + 4 + 5 + 66 + + + 5 + 8 + 70 + + + 8 + 89 + 52 + + + + + + + string_array + child + + + 12 + + + 1 + 2 + 199 + + + 2 + 3 + 297 + + + 3 + 4 + 239 + + + 4 + 5 + 66 + + + 5 + 8 + 70 + + + 8 + 89 + 52 + + + + + + + index + string_array + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 6 + + + 3 + 4 + 6 + + + 4 + 5 + 12 + + + 5 + 8 + 8 + + + 11 + 29 + 7 + + + 33 + 123 + 7 + + + 188 + 924 + 4 + + + + + + + index + child + + + 12 + + + 1 + 2 + 38 + + + 2 + 3 + 6 + + + 3 + 4 + 6 + + + 4 + 5 + 12 + + + 5 + 8 + 8 + + + 11 + 29 + 7 + + + 33 + 123 + 7 + + + 188 + 924 + 4 + + + + + + + child + string_array + + + 12 + + + 1 + 2 + 2973 + + + + + + + child + index + + + 12 + + + 1 + 2 + 2973 + + + + + + + + + string_array_def + 929 + + + id + 929 + + + parent + 898 + + + parent_index + 10 + + + loc + 929 + + + + + id + parent + + + 12 + + + 1 + 2 + 929 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 929 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 929 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 877 + + + 2 + 7 + 21 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 877 + + + 2 + 7 + 21 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 877 + + + 2 + 7 + 21 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 19 + 20 + 1 + + + 21 + 22 + 1 + + + 44 + 45 + 1 + + + 63 + 64 + 1 + + + 88 + 89 + 1 + + + 283 + 284 + 1 + + + 408 + 409 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 19 + 20 + 1 + + + 21 + 22 + 1 + + + 44 + 45 + 1 + + + 63 + 64 + 1 + + + 88 + 89 + 1 + + + 283 + 284 + 1 + + + 408 + 409 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 19 + 20 + 1 + + + 21 + 22 + 1 + + + 44 + 45 + 1 + + + 63 + 64 + 1 + + + 88 + 89 + 1 + + + 283 + 284 + 1 + + + 408 + 409 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 929 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 929 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 929 + + + + + + + + + string_child + 122547 + + + string__ + 88635 + + + index + 124 + + + child + 122547 + + + + + string__ + index + + + 12 + + + 1 + 2 + 81824 + + + 2 + 49 + 6657 + + + 50 + 125 + 154 + + + + + + + string__ + child + + + 12 + + + 1 + 2 + 81824 + + + 2 + 49 + 6657 + + + 50 + 125 + 154 + + + + + + + index + string__ + + + 12 + + + 1 + 19 + 4 + 61 62 - 1 + 13 - 466 - 467 - 1 + 62 + 63 + 37 - 1370 - 1371 - 1 + 64 + 82 + 8 + + + 142 + 144 + 10 + + + 144 + 190 + 10 + + + 190 + 206 + 10 + + + 209 + 351 + 10 + + + 380 + 463 + 10 + + + 468 + 3417 + 10 + + + 6811 + 88636 + 2 - operator + index + child + + + 12 + + + 1 + 19 + 4 + + + 61 + 62 + 13 + + + 62 + 63 + 37 + + + 64 + 82 + 8 + + + 142 + 144 + 10 + + + 144 + 190 + 10 + + + 190 + 206 + 10 + + + 209 + 351 + 10 + + + 380 + 463 + 10 + + + 468 + 3417 + 10 + + + 6811 + 88636 + 2 + + + + + + + child + string__ + + + 12 + + + 1 + 2 + 122547 + + + + + + + child + index + + + 12 + + + 1 + 2 + 122547 + + + + + + + + + string_def + 89716 + + + id + 89716 + + + parent + 79264 + + + parent_index + 52 + + + loc + 89716 + + + + + id parent @@ -48622,39 +44178,14 @@ 1 2 - 1 - - - 4 - 5 - 1 - - - 8 - 9 - 1 - - - 58 - 59 - 1 - - - 410 - 411 - 1 - - - 1051 - 1052 - 1 + 89716 - operator + id parent_index @@ -48663,31 +44194,479 @@ 1 2 - 1 + 89716 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 89716 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 70895 - 4 - 5 - 1 + 2 + 3 + 7410 + + + 3 + 42 + 959 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 70895 + + + 2 + 3 + 7410 + + + 3 + 42 + 959 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 70895 + + + 2 + 3 + 7410 + + + 3 + 42 + 959 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 18 + + + 2 + 3 + 2 + + + 3 + 4 + 4 5 6 1 + + 6 + 7 + 4 + + + 7 + 8 + 3 + + + 8 + 17 + 4 + + + 23 + 44 + 4 + + + 58 + 154 + 4 + + + 173 + 1147 + 4 + + + 4981 + 35975 + 4 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 18 + + + 2 + 3 + 2 + + + 3 + 4 + 4 + + + 5 + 6 + 1 + + + 6 + 7 + 4 + + + 7 + 8 + 3 + + + 8 + 17 + 4 + + + 23 + 44 + 4 + + + 58 + 154 + 4 + + + 173 + 1147 + 4 + + + 4981 + 35975 + 4 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 18 + + + 2 + 3 + 2 + + + 3 + 4 + 4 + + + 5 + 6 + 1 + + + 6 + 7 + 4 + + + 7 + 8 + 3 + + + 8 + 17 + 4 + + + 23 + 44 + 4 + + + 58 + 154 + 4 + + + 173 + 1147 + 4 + + + 4981 + 35975 + 4 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 89716 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 89716 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 89716 + + + + + + + + + subshell_child + 201 + + + subshell + 129 + + + index + 11 + + + child + 201 + + + + + subshell + index + + + 12 + + + 1 + 2 + 99 + + + 2 + 3 + 16 + + + 3 + 6 + 8 + + + 6 + 12 + 6 + + + + + + + subshell + child + + + 12 + + + 1 + 2 + 99 + + + 2 + 3 + 16 + + + 3 + 6 + 8 + + + 6 + 12 + 6 + + + + + + + index + subshell + + + 12 + + + 1 + 2 + 4 + + + 2 + 3 + 1 + + + 6 + 7 + 1 + + + 7 + 8 + 1 + 9 10 1 - 27 - 28 + 14 + 15 1 - 66 - 67 + 30 + 31 + 1 + + + 129 + 130 1 @@ -48695,8 +44674,8 @@ - operator - left + index + child 12 @@ -48704,31 +44683,41 @@ 1 2 + 4 + + + 2 + 3 1 - 5 - 6 + 6 + 7 1 - 8 - 9 + 7 + 8 1 - 61 - 62 + 9 + 10 1 - 466 - 467 + 14 + 15 1 - 1370 - 1371 + 30 + 31 + 1 + + + 129 + 130 1 @@ -48736,8 +44725,8 @@ - operator - right + child + subshell 12 @@ -48745,40 +44734,15 @@ 1 2 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 61 - 62 - 1 - - - 466 - 467 - 1 - - - 1370 - 1371 - 1 + 201 - operator - loc + child + index 12 @@ -48786,224 +44750,7 @@ 1 2 - 1 - - - 5 - 6 - 1 - - - 8 - 9 - 1 - - - 61 - 62 - 1 - - - 466 - 467 - 1 - - - 1370 - 1371 - 1 - - - - - - - right - id - - - 12 - - - 1 - 2 - 1973 - - - - - - - right - parent - - - 12 - - - 1 - 2 - 1973 - - - - - - - right - parent_index - - - 12 - - - 1 - 2 - 1973 - - - - - - - right - left - - - 12 - - - 1 - 2 - 1973 - - - - - - - right - operator - - - 12 - - - 1 - 2 - 1973 - - - - - - - right - loc - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - left - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - operator - - - 12 - - - 1 - 2 - 1973 - - - - - - - loc - right - - - 12 - - - 1 - 2 - 1973 + 201 @@ -49012,22 +44759,30 @@ - hash_splat_parameter_name - 332 + subshell_def + 129 - hash_splat_parameter - 332 + id + 129 - name - 332 + parent + 126 + + + parent_index + 9 + + + loc + 129 - hash_splat_parameter - name + id + parent 12 @@ -49035,15 +44790,15 @@ 1 2 - 332 + 129 - name - hash_splat_parameter + id + parent_index 12 @@ -49051,7 +44806,272 @@ 1 2 - 332 + 129 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 129 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 123 + + + 2 + 3 + 3 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 123 + + + 2 + 3 + 3 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 123 + + + 2 + 3 + 3 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 2 + + + 3 + 4 + 2 + + + 5 + 6 + 1 + + + 13 + 14 + 1 + + + 17 + 18 + 1 + + + 31 + 32 + 1 + + + 55 + 56 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 2 + + + 3 + 4 + 2 + + + 5 + 6 + 1 + + + 13 + 14 + 1 + + + 17 + 18 + 1 + + + 31 + 32 + 1 + + + 55 + 56 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 2 + + + 3 + 4 + 2 + + + 5 + 6 + 1 + + + 13 + 14 + 1 + + + 17 + 18 + 1 + + + 31 + 32 + 1 + + + 55 + 56 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 129 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 129 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 129 @@ -49061,15 +45081,15 @@ superclass_def - 4021 + 4035 id - 4021 + 4035 parent - 4021 + 4035 parent_index @@ -49077,11 +45097,11 @@ child - 4021 + 4035 loc - 4021 + 4035 @@ -49095,7 +45115,7 @@ 1 2 - 4021 + 4035 @@ -49111,7 +45131,7 @@ 1 2 - 4021 + 4035 @@ -49127,7 +45147,7 @@ 1 2 - 4021 + 4035 @@ -49143,7 +45163,7 @@ 1 2 - 4021 + 4035 @@ -49159,7 +45179,7 @@ 1 2 - 4021 + 4035 @@ -49175,7 +45195,7 @@ 1 2 - 4021 + 4035 @@ -49191,7 +45211,7 @@ 1 2 - 4021 + 4035 @@ -49207,7 +45227,7 @@ 1 2 - 4021 + 4035 @@ -49221,8 +45241,8 @@ 12 - 4021 - 4022 + 4035 + 4036 1 @@ -49237,8 +45257,8 @@ 12 - 4021 - 4022 + 4035 + 4036 1 @@ -49253,8 +45273,8 @@ 12 - 4021 - 4022 + 4035 + 4036 1 @@ -49269,8 +45289,8 @@ 12 - 4021 - 4022 + 4035 + 4036 1 @@ -49287,7 +45307,7 @@ 1 2 - 4021 + 4035 @@ -49303,7 +45323,7 @@ 1 2 - 4021 + 4035 @@ -49319,7 +45339,7 @@ 1 2 - 4021 + 4035 @@ -49335,7 +45355,7 @@ 1 2 - 4021 + 4035 @@ -49351,7 +45371,7 @@ 1 2 - 4021 + 4035 @@ -49367,7 +45387,7 @@ 1 2 - 4021 + 4035 @@ -49383,7 +45403,7 @@ 1 2 - 4021 + 4035 @@ -49399,7 +45419,7 @@ 1 2 - 4021 + 4035 @@ -49408,24 +45428,3742 @@ - chained_string_def - 261 + symbol_array_child + 665 + + + symbol_array + 137 + + + index + 32 + + + child + 665 + + + + + symbol_array + index + + + 12 + + + 1 + 2 + 50 + + + 2 + 3 + 25 + + + 3 + 4 + 11 + + + 4 + 6 + 12 + + + 6 + 8 + 11 + + + 8 + 15 + 12 + + + 15 + 22 + 10 + + + 24 + 33 + 3 + + + + + + + symbol_array + child + + + 12 + + + 1 + 2 + 50 + + + 2 + 3 + 25 + + + 3 + 4 + 11 + + + 4 + 6 + 12 + + + 6 + 8 + 11 + + + 8 + 15 + 12 + + + 15 + 22 + 10 + + + 24 + 33 + 3 + + + + + + + index + symbol_array + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 3 + + + 4 + 6 + 2 + + + 6 + 7 + 2 + + + 9 + 11 + 2 + + + 13 + 14 + 1 + + + 16 + 17 + 2 + + + 19 + 22 + 2 + + + 22 + 24 + 2 + + + 25 + 32 + 2 + + + 36 + 42 + 2 + + + 48 + 60 + 2 + + + 84 + 134 + 2 + + + + + + + index + child + + + 12 + + + 1 + 2 + 6 + + + 2 + 3 + 2 + + + 3 + 4 + 3 + + + 4 + 6 + 2 + + + 6 + 7 + 2 + + + 9 + 11 + 2 + + + 13 + 14 + 1 + + + 16 + 17 + 2 + + + 19 + 22 + 2 + + + 22 + 24 + 2 + + + 25 + 32 + 2 + + + 36 + 42 + 2 + + + 48 + 60 + 2 + + + 84 + 134 + 2 + + + + + + + child + symbol_array + + + 12 + + + 1 + 2 + 665 + + + + + + + child + index + + + 12 + + + 1 + 2 + 665 + + + + + + + + + symbol_array_def + 137 id - 261 + 137 parent - 261 + 137 parent_index + 4 + + + loc + 137 + + + + + id + parent + + + 12 + + + 1 + 2 + 137 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 137 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 137 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 137 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 137 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 137 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 2 + + + 37 + 38 + 1 + + + 94 + 95 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 2 + + + 37 + 38 + 1 + + + 94 + 95 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 2 + + + 37 + 38 + 1 + + + 94 + 95 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 137 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 137 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 137 + + + + + + + + + then_child + 12687 + + + then + 7443 + + + index + 29 + + + child + 12687 + + + + + then + index + + + 12 + + + 1 + 2 + 4600 + + + 2 + 3 + 1691 + + + 3 + 4 + 633 + + + 4 + 30 + 518 + + + + + + + then + child + + + 12 + + + 1 + 2 + 4600 + + + 2 + 3 + 1691 + + + 3 + 4 + 633 + + + 4 + 30 + 518 + + + + + + + index + then + + + 12 + + + 1 + 2 + 9 + + + 4 + 5 + 5 + + + 6 + 8 + 2 + + + 8 + 10 + 2 + + + 18 + 25 + 2 + + + 37 + 58 + 2 + + + 82 + 152 + 2 + + + 281 + 504 + 2 + + + 1118 + 2761 + 2 + + + 7225 + 7226 + 1 + + + + + + + index + child + + + 12 + + + 1 + 2 + 9 + + + 4 + 5 + 5 + + + 6 + 8 + 2 + + + 8 + 10 + 2 + + + 18 + 25 + 2 + + + 37 + 58 + 2 + + + 82 + 152 + 2 + + + 281 + 504 + 2 + + + 1118 + 2761 + 2 + + + 7225 + 7226 + 1 + + + + + + + child + then + + + 12 + + + 1 + 2 + 12687 + + + + + + + child + index + + + 12 + + + 1 + 2 + 12687 + + + + + + + + + then_def + 7443 + + + id + 7443 + + + parent + 7443 + + + parent_index + 7 + + + loc + 7443 + + + + + id + parent + + + 12 + + + 1 + 2 + 7443 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 7443 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 7443 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 7443 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 7443 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 7443 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 27 + 28 + 1 + + + 51 + 52 + 1 + + + 150 + 151 + 1 + + + 6991 + 6992 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 27 + 28 + 1 + + + 51 + 52 + 1 + + + 150 + 151 + 1 + + + 6991 + 6992 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 27 + 28 + 1 + + + 51 + 52 + 1 + + + 150 + 151 + 1 + + + 6991 + 6992 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 7443 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 7443 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 7443 + + + + + + + + + tokeninfo + 1774581 + + + id + 1774581 + + + parent + 734244 + + + parent_index + 320 + + + kind + 23 + + + file + 3619 + + + idx + 29681 + + + value + 79974 + + + loc + 1774556 + + + + + id + parent + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + kind + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + file + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + value + + + 12 + + + 1 + 2 + 1774581 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1774581 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 148035 + + + 2 + 3 + 240392 + + + 3 + 4 + 297848 + + + 4 + 218 + 47967 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 148035 + + + 2 + 3 + 240392 + + + 3 + 4 + 297848 + + + 4 + 218 + 47967 + + + + + + + parent + kind + + + 12 + + + 1 + 2 + 271847 + + + 2 + 3 + 373487 + + + 3 + 4 + 88696 + + + 4 + 5 + 212 + + + + + + + parent + file + + + 12 + + + 1 + 2 + 734244 + + + + + + + parent + idx + + + 12 + + + 1 + 2 + 148035 + + + 2 + 3 + 240392 + + + 3 + 4 + 297848 + + + 4 + 218 + 47967 + + + + + + + parent + value + + + 12 + + + 1 + 2 + 150637 + + + 2 + 3 + 315630 + + + 3 + 4 + 228533 + + + 4 + 142 + 39442 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 148035 + + + 2 + 3 + 240392 + + + 3 + 4 + 297848 + + + 4 + 218 + 47967 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 15 + + + 2 + 3 + 99 + + + 3 + 4 + 24 + + + 4 + 7 + 26 + + + 7 + 11 + 25 + + + 11 + 17 + 25 + + + 17 + 33 + 25 + + + 33 + 86 + 24 + + + 87 + 272 + 24 + + + 291 + 446773 + 24 + + + 472611 + 616788 + 2 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 15 + + + 2 + 3 + 99 + + + 3 + 4 + 24 + + + 4 + 7 + 26 + + + 7 + 11 + 25 + + + 11 + 17 + 25 + + + 17 + 33 + 25 + + + 33 + 86 + 24 + + + 87 + 272 + 24 + + + 291 + 446773 + 24 + + + 472611 + 616788 + 2 + + + + + + + parent_index + kind + + + 12 + + + 1 + 2 + 146 + + + 2 + 3 + 24 + + + 3 + 4 + 31 + + + 4 + 5 + 33 + + + 5 + 6 + 14 + + + 6 + 7 + 17 + + + 7 + 9 + 24 + + + 9 + 21 + 25 + + + 21 + 22 + 1 + + + + + + + parent_index + file + + + 12 + + + 1 + 2 + 15 + + + 2 + 3 + 99 + + + 3 + 4 + 24 + + + 4 + 6 + 28 + + + 6 + 10 + 21 + + + 10 + 16 + 24 + + + 16 + 26 + 26 + + + 26 + 68 + 24 + + + 69 + 190 + 24 + + + 206 + 3204 + 24 + + + 3338 + 3514 + 4 + + + + + + + parent_index + idx + + + 12 + + + 1 + 2 + 15 + + + 2 + 3 + 99 + + + 3 + 4 + 24 + + + 4 + 7 + 26 + + + 7 + 11 + 25 + + + 11 + 17 + 25 + + + 17 + 33 + 25 + + + 33 + 78 + 24 + + + 80 + 238 + 24 + + + 247 + 21016 + 24 + + + 21361 + 23643 + 2 + + + + + + + parent_index + value + + + 12 + + + 1 + 2 + 138 + + + 2 + 3 + 17 + + + 3 + 5 + 23 + + + 5 + 10 + 27 + + + 10 + 16 + 28 + + + 16 + 38 + 24 + + + 38 + 110 + 24 + + + 113 + 623 + 24 + + + 836 + 49520 + 10 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 15 + + + 2 + 3 + 99 + + + 3 + 4 + 24 + + + 4 + 7 + 26 + + + 7 + 11 + 25 + + + 11 + 17 + 25 + + + 17 + 33 + 25 + + + 33 + 86 + 24 + + + 87 + 272 + 24 + + + 291 + 446773 + 24 + + + 472611 + 616788 + 2 + + + + + + + kind + id + + + 12 + + + 1 + 25 + 2 + + + 103 + 179 + 2 + + + 417 + 1475 + 2 + + + 1515 + 1516 + 2 + + + 3434 + 3564 + 2 + + + 3627 + 4917 + 2 + + + 6927 + 8036 + 2 + + + 12458 + 15122 + 2 + + + 21070 + 47868 + 2 + + + 48504 + 68827 + 2 + + + 80507 + 432886 + 2 + + + 959501 + 959502 + 1 + + + + + + + kind + parent + + + 12 + + + 1 + 25 + 2 + + + 103 + 179 + 2 + + + 386 + 1473 + 2 + + + 1512 + 1513 + 1 + + + 1515 + 1516 + 2 + + + 2926 + 3360 + 2 + + + 3563 + 3586 + 2 + + + 4911 + 6921 + 2 + + + 12246 + 19639 + 2 + + + 42087 + 47868 + 2 + + + 60836 + 72212 + 2 + + + 364665 + 596485 + 2 + + + + + + + kind + parent_index + + + 12 + + + 1 + 2 + 2 + + + 3 + 5 + 2 + + + 6 + 8 + 2 + + + 9 + 10 + 1 + + + 11 + 12 + 2 + + + 12 + 17 + 2 + + + 17 + 19 + 2 + + + 20 + 29 + 2 + + + 51 + 67 + 2 + + + 70 + 75 + 2 + + + 93 + 156 + 2 + + + 158 + 288 + 2 + + + + + + + kind + file + + + 12 + + + 1 + 24 + 2 + + + 24 + 77 + 2 + + + 126 + 127 + 1 + + + 429 + 430 + 3 + + + 472 + 500 + 2 + + + 790 + 889 + 2 + + + 1234 + 1287 + 2 + + + 1324 + 1583 + 2 + + + 2251 + 2343 + 2 + + + 2852 + 3360 + 2 + + + 3463 + 3495 + 2 + + + 3502 + 3503 + 1 + + + + + + + kind + idx + + + 12 + + + 1 + 25 + 2 + + + 96 + 140 + 2 + + + 315 + 411 + 2 + + + 993 + 1001 + 2 + + + 1746 + 2003 + 2 + + + 2092 + 2269 + 2 + + + 3297 + 3308 + 2 + + + 3407 + 4087 + 2 + + + 6389 + 8362 + 2 + + + 9531 + 9716 + 2 + + + 11629 + 21277 + 2 + + + 25823 + 25824 + 1 + + + + + + + kind + value + + + 12 + + + 1 + 2 + 6 + + + 5 + 32 + 2 + + + 42 + 48 + 2 + + + 52 + 118 + 2 + + + 118 + 137 + 2 + + + 503 + 1597 + 2 + + + 2549 + 3325 + 2 + + + 4097 + 6882 + 2 + + + 8727 + 16754 + 2 + + + 37666 + 37667 + 1 + + + + + + + kind + loc + + + 12 + + + 1 + 25 + 2 + + + 103 + 179 + 2 + + + 417 + 1475 + 2 + + + 1515 + 1516 + 2 + + + 3434 + 3564 + 2 + + + 3627 + 4917 + 2 + + + 6927 + 8036 + 2 + + + 12458 + 15122 + 2 + + + 21070 + 47868 + 2 + + + 48504 + 68827 + 2 + + + 80507 + 432886 + 2 + + + 959501 + 959502 + 1 + + + + + + + file + id + + + 12 + + + 1 + 21 + 324 + + + 21 + 28 + 290 + + + 28 + 34 + 296 + + + 34 + 47 + 275 + + + 47 + 63 + 278 + + + 63 + 85 + 277 + + + 85 + 126 + 274 + + + 126 + 187 + 274 + + + 187 + 282 + 273 + + + 283 + 466 + 273 + + + 466 + 805 + 273 + + + 805 + 1758 + 271 + + + 1763 + 28811 + 237 + + + + + + + file + parent + + + 12 + + + 1 + 8 + 162 + + + 8 + 10 + 286 + + + 10 + 12 + 270 + + + 12 + 15 + 252 + + + 15 + 21 + 294 + + + 21 + 28 + 296 + + + 28 + 39 + 276 + + + 39 + 59 + 273 + + + 59 + 86 + 271 + + + 86 + 134 + 276 + + + 134 + 231 + 271 + + + 231 + 420 + 273 + + + 422 + 1075 + 271 + + + 1081 + 13204 + 141 + + + + + + + file + parent_index + + + 12 + + + 1 + 5 + 180 + + + 5 + 6 + 545 + + + 6 + 7 + 660 + + + 7 + 8 + 511 + + + 8 + 9 + 281 + + + 9 + 10 + 228 + + + 10 + 12 + 300 + + + 12 + 15 + 270 + + + 15 + 20 + 293 + + + 20 + 50 + 273 + + + 50 + 225 + 74 + + + + + + + file + kind + + + 12 + + + 1 + 6 + 304 + + + 6 + 7 + 603 + + + 7 + 8 + 342 + + + 8 + 9 + 559 + + + 9 + 10 + 548 + + + 10 + 11 + 388 + + + 11 + 12 + 294 + + + 12 + 14 + 325 + + + 14 + 22 + 252 + + + + + + + file + idx + + + 12 + + + 1 + 21 + 324 + + + 21 + 28 + 290 + + + 28 + 34 + 296 + + + 34 + 47 + 275 + + + 47 + 63 + 278 + + + 63 + 85 + 277 + + + 85 + 126 + 274 + + + 126 + 187 + 274 + + + 187 + 282 + 273 + + + 283 + 466 + 273 + + + 466 + 805 + 273 + + + 805 + 1758 + 271 + + + 1763 + 28811 + 237 + + + + + + + file + value + + + 12 + + + 1 + 18 + 254 + + + 18 + 21 + 322 + + + 21 + 24 + 303 + + + 24 + 29 + 320 + + + 29 + 35 + 302 + + + 35 + 42 + 302 + + + 42 + 52 + 271 + + + 52 + 66 + 287 + + + 66 + 84 + 273 + + + 84 + 117 + 276 + + + 117 + 169 + 271 + + + 169 + 320 + 273 + + + 320 + 1568 + 158 + + + + + + + file + loc + + + 12 + + + 1 + 21 + 324 + + + 21 + 28 + 290 + + + 28 + 34 + 296 + + + 34 + 47 + 275 + + + 47 + 63 + 278 + + + 63 + 85 + 277 + + + 85 + 126 + 274 + + + 126 + 187 + 274 + + + 187 + 282 + 273 + + + 283 + 466 + 273 + + + 466 + 805 + 273 + + + 805 + 1758 + 271 + + + 1763 + 28811 + 237 + + + + + + + idx + id + + + 12 + + + 1 + 2 + 5595 + + + 2 + 3 + 454 + + + 3 + 4 + 5964 + + + 4 + 6 + 2436 + + + 6 + 7 + 2284 + + + 7 + 10 + 2538 + + + 10 + 22 + 2328 + + + 22 + 39 + 2292 + + + 39 + 93 + 2262 + + + 93 + 337 + 2230 + + + 337 + 3514 + 1295 + + + + + + + idx + parent + + + 12 + + + 1 + 2 + 5595 + + + 2 + 3 + 454 + + + 3 + 4 + 5964 + + + 4 + 6 + 2436 + + + 6 + 7 + 2284 + + + 7 + 10 + 2538 + + + 10 + 22 + 2328 + + + 22 + 39 + 2292 + + + 39 + 93 + 2262 + + + 93 + 337 + 2230 + + + 337 + 3514 + 1295 + + + + + + + idx + parent_index + + + 12 + + + 1 + 2 + 6483 + + + 2 + 3 + 5560 + + + 3 + 4 + 6581 + + + 4 + 5 + 3089 + + + 5 + 6 + 1833 + + + 6 + 8 + 2037 + + + 8 + 12 + 2460 + + + 12 + 34 + 1635 + + + + + + + idx + kind + + + 12 + + + 1 + 2 + 7340 + + + 2 + 3 + 6537 + + + 3 + 4 + 4716 + + + 4 + 5 + 2402 + + + 5 + 6 + 1666 + + + 6 + 8 + 2302 + + + 8 + 12 + 2685 + + + 12 + 22 + 2028 + + + + + + + idx + file + + + 12 + + + 1 + 2 + 5595 + + + 2 + 3 + 454 + + + 3 + 4 + 5964 + + + 4 + 6 + 2436 + + + 6 + 7 + 2284 + + + 7 + 10 + 2538 + + + 10 + 22 + 2328 + + + 22 + 39 + 2292 + + + 39 + 93 + 2262 + + + 93 + 337 + 2230 + + + 337 + 3514 + 1295 + + + + + + + idx + value + + + 12 + + + 1 + 2 + 5638 + + + 2 + 3 + 1121 + + + 3 + 4 + 5665 + + + 4 + 5 + 1978 + + + 5 + 7 + 2691 + + + 7 + 10 + 2467 + + + 10 + 18 + 2394 + + + 18 + 29 + 2254 + + + 29 + 60 + 2248 + + + 60 + 177 + 2230 + + + 177 + 1936 + 992 + + + + + + + idx + loc + + + 12 + + + 1 + 2 + 5595 + + + 2 + 3 + 454 + + + 3 + 4 + 5964 + + + 4 + 6 + 2436 + + + 6 + 7 + 2284 + + + 7 + 10 + 2538 + + + 10 + 22 + 2328 + + + 22 + 39 + 2292 + + + 39 + 93 + 2262 + + + 93 + 337 + 2230 + + + 337 + 3514 + 1295 + + + + + + + value + id + + + 12 + + + 1 + 2 + 47071 + + + 2 + 3 + 11670 + + + 3 + 4 + 5696 + + + 4 + 7 + 6739 + + + 7 + 25 + 6054 + + + 25 + 159019 + 2741 + + + + + + + value + parent + + + 12 + + + 1 + 2 + 47390 + + + 2 + 3 + 11490 + + + 3 + 4 + 5639 + + + 4 + 7 + 6707 + + + 7 + 25 + 6026 + + + 25 + 159016 + 2718 + + + + + + + value + parent_index + + + 12 + + + 1 + 2 + 61025 + + + 2 + 3 + 12713 + + + 3 + 9 + 6044 + + + 9 + 282 + 191 + + + + + + + value + kind + + + 12 + + + 1 + 2 + 75847 + + + 2 + 5 + 4127 + + + + + + + value + file + + + 12 + + + 1 + 2 + 61202 + + + 2 + 3 + 8020 + + + 3 + 6 + 6139 + + + 6 + 3411 + 4612 + + + + + + + value + idx + + + 12 + + + 1 + 2 + 47190 + + + 2 + 3 + 11670 + + + 3 + 4 + 5698 + + + 4 + 7 + 6718 + + + 7 + 25 + 6030 + + + 25 + 15273 + 2666 + + + + + + + value + loc + + + 12 + + + 1 + 2 + 47072 + + + 2 + 3 + 11669 + + + 3 + 4 + 5696 + + + 4 + 7 + 6739 + + + 7 + 25 + 6055 + + + 25 + 159019 + 2740 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1774531 + + + 2 + 3 + 24 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1774531 + + + 2 + 3 + 24 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1774531 + + + 2 + 3 + 24 + + + + + + + loc + kind + + + 12 + + + 1 + 2 + 1774531 + + + 2 + 3 + 24 + + + + + + + loc + file + + + 12 + + + 1 + 2 + 1774556 + + + + + + + loc + idx + + + 12 + + + 1 + 2 + 1774531 + + + 2 + 3 + 24 + + + + + + + loc + value + + + 12 + + + 1 + 2 + 1774556 + + + + + + + + + unary_def + 2385 + + + id + 2385 + + + parent + 2296 + + + parent_index + 11 + + + operand + 2385 + + + operator 5 loc - 261 + 2385 @@ -49439,7 +49177,7 @@ 1 2 - 261 + 2385 @@ -49455,7 +49193,39 @@ 1 2 - 261 + 2385 + + + + + + + id + operand + + + 12 + + + 1 + 2 + 2385 + + + + + + + id + operator + + + 12 + + + 1 + 2 + 2385 @@ -49471,7 +49241,7 @@ 1 2 - 261 + 2385 @@ -49487,7 +49257,12 @@ 1 2 - 261 + 2208 + + + 2 + 4 + 87 @@ -49503,7 +49278,49 @@ 1 2 - 261 + 2208 + + + 2 + 4 + 87 + + + + + + + parent + operand + + + 12 + + + 1 + 2 + 2208 + + + 2 + 4 + 87 + + + + + + + parent + operator + + + 12 + + + 1 + 2 + 2296 @@ -49519,7 +49336,12 @@ 1 2 - 261 + 2208 + + + 2 + 4 + 87 @@ -49535,21 +49357,41 @@ 1 2 + 3 + + + 2 + 3 2 - 56 - 57 + 15 + 16 1 - 73 - 74 + 19 + 20 1 - 130 - 131 + 21 + 22 + 1 + + + 318 + 319 + 1 + + + 556 + 557 + 1 + + + 1379 + 1380 1 @@ -49566,23 +49408,130 @@ 1 2 + 3 + + + 2 + 3 2 - 56 - 57 + 15 + 16 1 - 73 - 74 + 19 + 20 1 - 130 - 131 + 21 + 22 1 + + 318 + 319 + 1 + + + 556 + 557 + 1 + + + 1379 + 1380 + 1 + + + + + + + parent_index + operand + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 2 + + + 15 + 16 + 1 + + + 19 + 20 + 1 + + + 21 + 22 + 1 + + + 318 + 319 + 1 + + + 556 + 557 + 1 + + + 1379 + 1380 + 1 + + + + + + + parent_index + operator + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 4 + 5 + 1 + + + 5 + 6 + 2 + @@ -49597,21 +49546,301 @@ 1 2 + 3 + + + 2 + 3 2 - 56 - 57 + 15 + 16 1 - 73 - 74 + 19 + 20 1 - 130 - 131 + 21 + 22 + 1 + + + 318 + 319 + 1 + + + 556 + 557 + 1 + + + 1379 + 1380 + 1 + + + + + + + operand + id + + + 12 + + + 1 + 2 + 2385 + + + + + + + operand + parent + + + 12 + + + 1 + 2 + 2385 + + + + + + + operand + parent_index + + + 12 + + + 1 + 2 + 2385 + + + + + + + operand + operator + + + 12 + + + 1 + 2 + 2385 + + + + + + + operand + loc + + + 12 + + + 1 + 2 + 2385 + + + + + + + operator + id + + + 12 + + + 10 + 11 + 1 + + + 60 + 61 + 1 + + + 142 + 143 + 1 + + + 523 + 524 + 1 + + + 1580 + 1581 + 1 + + + + + + + operator + parent + + + 12 + + + 10 + 11 + 1 + + + 58 + 59 + 1 + + + 141 + 142 + 1 + + + 519 + 520 + 1 + + + 1501 + 1502 + 1 + + + + + + + operator + parent_index + + + 12 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + 6 + 7 + 1 + + + 11 + 12 + 1 + + + + + + + operator + operand + + + 12 + + + 10 + 11 + 1 + + + 60 + 61 + 1 + + + 142 + 143 + 1 + + + 523 + 524 + 1 + + + 1580 + 1581 + 1 + + + + + + + operator + loc + + + 12 + + + 10 + 11 + 1 + + + 60 + 61 + 1 + + + 142 + 143 + 1 + + + 523 + 524 + 1 + + + 1580 + 1581 1 @@ -49628,7 +49857,7 @@ 1 2 - 261 + 2385 @@ -49644,7 +49873,7 @@ 1 2 - 261 + 2385 @@ -49660,7 +49889,39 @@ 1 2 - 261 + 2385 + + + + + + + loc + operand + + + 12 + + + 1 + 2 + 2385 + + + + + + + loc + operator + + + 12 + + + 1 + 2 + 2385 @@ -49669,25 +49930,25 @@ - range_child - 994 + undef_child + 13 - range - 530 + undef + 13 index - 2 + 1 child - 994 + 13 - range + undef index @@ -49696,19 +49957,14 @@ 1 2 - 66 - - - 2 - 3 - 464 + 13 - range + undef child @@ -49717,12 +49973,7 @@ 1 2 - 66 - - - 2 - 3 - 464 + 13 @@ -49730,19 +49981,14 @@ index - range + undef 12 - 464 - 465 - 1 - - - 530 - 531 + 13 + 14 1 @@ -49757,13 +50003,8 @@ 12 - 464 - 465 - 1 - - - 530 - 531 + 13 + 14 1 @@ -49772,7 +50013,7 @@ child - range + undef 12 @@ -49780,7 +50021,7 @@ 1 2 - 994 + 13 @@ -49796,7 +50037,7 @@ 1 2 - 994 + 13 @@ -49805,288 +50046,30 @@ - lambda_parameters - 184 + undef_def + 13 - lambda - 184 + id + 13 - parameters - 184 - - - - - lambda - parameters - - - 12 - - - 1 - 2 - 184 - - - - - - - parameters - lambda - - - 12 - - - 1 - 2 - 184 - - - - - - - - - chained_string_child - 1009 - - - chained_string - 261 - - - index + parent 12 - child - 1009 + parent_index + 6 + + + loc + 13 - chained_string - index - - - 12 - - - 2 - 3 - 81 - - - 3 - 4 - 62 - - - 4 - 5 - 42 - - - 5 - 6 - 36 - - - 6 - 8 - 20 - - - 8 - 13 - 20 - - - - - - - chained_string - child - - - 12 - - - 2 - 3 - 81 - - - 3 - 4 - 62 - - - 4 - 5 - 42 - - - 5 - 6 - 36 - - - 6 - 8 - 20 - - - 8 - 13 - 20 - - - - - - - index - chained_string - - - 12 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 20 - 21 - 1 - - - 32 - 33 - 1 - - - 40 - 41 - 1 - - - 76 - 77 - 1 - - - 118 - 119 - 1 - - - 180 - 181 - 1 - - - 261 - 262 - 2 - - - - - - - index - child - - - 12 - - - 2 - 3 - 1 - - - 4 - 5 - 1 - - - 7 - 8 - 1 - - - 8 - 9 - 1 - - - 20 - 21 - 1 - - - 32 - 33 - 1 - - - 40 - 41 - 1 - - - 76 - 77 - 1 - - - 118 - 119 - 1 - - - 180 - 181 - 1 - - - 261 - 262 - 2 - - - - - - - child - chained_string + id + parent 12 @@ -50094,15 +50077,15 @@ 1 2 - 1009 + 13 - child - index + id + parent_index 12 @@ -50110,7 +50093,227 @@ 1 2 - 1009 + 13 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 13 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 11 + + + 2 + 3 + 1 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 11 + + + 2 + 3 + 1 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 11 + + + 2 + 3 + 1 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 1 + + + 5 + 6 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 13 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 13 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 13 @@ -50119,22 +50322,22 @@ - call_block - 64934 + unless_alternative + 11 - call - 64934 + unless + 11 - block - 64934 + alternative + 11 - call - block + unless + alternative 12 @@ -50142,15 +50345,15 @@ 1 2 - 64934 + 11 - block - call + alternative + unless 12 @@ -50158,7 +50361,1495 @@ 1 2 - 64934 + 11 + + + + + + + + + unless_consequence + 480 + + + unless + 480 + + + consequence + 480 + + + + + unless + consequence + + + 12 + + + 1 + 2 + 480 + + + + + + + consequence + unless + + + 12 + + + 1 + 2 + 480 + + + + + + + + + unless_def + 480 + + + id + 480 + + + parent + 445 + + + parent_index + 45 + + + condition + 480 + + + loc + 480 + + + + + id + parent + + + 12 + + + 1 + 2 + 480 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 480 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 480 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 480 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 417 + + + 2 + 5 + 28 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 417 + + + 2 + 5 + 28 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 417 + + + 2 + 5 + 28 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 417 + + + 2 + 5 + 28 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 10 + + + 5 + 6 + 3 + + + 6 + 7 + 3 + + + 9 + 10 + 3 + + + 11 + 12 + 3 + + + 20 + 21 + 3 + + + 30 + 31 + 3 + + + 47 + 48 + 3 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 10 + + + 5 + 6 + 3 + + + 6 + 7 + 3 + + + 9 + 10 + 3 + + + 11 + 12 + 3 + + + 20 + 21 + 3 + + + 30 + 31 + 3 + + + 47 + 48 + 3 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 10 + + + 5 + 6 + 3 + + + 6 + 7 + 3 + + + 9 + 10 + 3 + + + 11 + 12 + 3 + + + 20 + 21 + 3 + + + 30 + 31 + 3 + + + 47 + 48 + 3 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 10 + + + 2 + 3 + 10 + + + 5 + 6 + 3 + + + 6 + 7 + 3 + + + 9 + 10 + 3 + + + 11 + 12 + 3 + + + 20 + 21 + 3 + + + 30 + 31 + 3 + + + 47 + 48 + 3 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 480 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 480 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 480 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 480 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 480 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 480 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 480 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 480 + + + + + + + + + unless_modifier_def + 1394 + + + id + 1394 + + + parent + 1190 + + + parent_index + 20 + + + body + 1394 + + + condition + 1394 + + + loc + 1394 + + + + + id + parent + + + 12 + + + 1 + 2 + 1394 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 1394 + + + + + + + id + body + + + 12 + + + 1 + 2 + 1394 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 1394 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 1394 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 1040 + + + 2 + 3 + 118 + + + 3 + 9 + 31 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 1040 + + + 2 + 3 + 118 + + + 3 + 9 + 31 + + + + + + + parent + body + + + 12 + + + 1 + 2 + 1040 + + + 2 + 3 + 118 + + + 3 + 9 + 31 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 1040 + + + 2 + 3 + 118 + + + 3 + 9 + 31 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 1040 + + + 2 + 3 + 118 + + + 3 + 9 + 31 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 5 + 6 + 2 + + + 11 + 12 + 2 + + + 19 + 20 + 1 + + + 28 + 29 + 1 + + + 43 + 44 + 1 + + + 62 + 63 + 1 + + + 64 + 65 + 1 + + + 66 + 67 + 1 + + + 140 + 141 + 1 + + + 172 + 173 + 1 + + + 334 + 335 + 1 + + + 383 + 384 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 5 + 6 + 2 + + + 11 + 12 + 2 + + + 19 + 20 + 1 + + + 28 + 29 + 1 + + + 43 + 44 + 1 + + + 62 + 63 + 1 + + + 64 + 65 + 1 + + + 66 + 67 + 1 + + + 140 + 141 + 1 + + + 172 + 173 + 1 + + + 334 + 335 + 1 + + + 383 + 384 + 1 + + + + + + + parent_index + body + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 5 + 6 + 2 + + + 11 + 12 + 2 + + + 19 + 20 + 1 + + + 28 + 29 + 1 + + + 43 + 44 + 1 + + + 62 + 63 + 1 + + + 64 + 65 + 1 + + + 66 + 67 + 1 + + + 140 + 141 + 1 + + + 172 + 173 + 1 + + + 334 + 335 + 1 + + + 383 + 384 + 1 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 5 + 6 + 2 + + + 11 + 12 + 2 + + + 19 + 20 + 1 + + + 28 + 29 + 1 + + + 43 + 44 + 1 + + + 62 + 63 + 1 + + + 64 + 65 + 1 + + + 66 + 67 + 1 + + + 140 + 141 + 1 + + + 172 + 173 + 1 + + + 334 + 335 + 1 + + + 383 + 384 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 3 + + + 2 + 3 + 1 + + + 3 + 4 + 2 + + + 5 + 6 + 2 + + + 11 + 12 + 2 + + + 19 + 20 + 1 + + + 28 + 29 + 1 + + + 43 + 44 + 1 + + + 62 + 63 + 1 + + + 64 + 65 + 1 + + + 66 + 67 + 1 + + + 140 + 141 + 1 + + + 172 + 173 + 1 + + + 334 + 335 + 1 + + + 383 + 384 + 1 + + + + + + + body + id + + + 12 + + + 1 + 2 + 1394 + + + + + + + body + parent + + + 12 + + + 1 + 2 + 1394 + + + + + + + body + parent_index + + + 12 + + + 1 + 2 + 1394 + + + + + + + body + condition + + + 12 + + + 1 + 2 + 1394 + + + + + + + body + loc + + + 12 + + + 1 + 2 + 1394 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 1394 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 1394 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 1394 + + + + + + + condition + body + + + 12 + + + 1 + 2 + 1394 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 1394 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 1394 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 1394 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 1394 + + + + + + + loc + body + + + 12 + + + 1 + 2 + 1394 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 1394 @@ -50729,460 +52420,32 @@ - singleton_class_child - 706 - - - singleton_class - 182 - - - index - 24 - - - child - 706 - - - - - singleton_class - index - - - 12 - - - 1 - 2 - 82 - - - 2 - 3 - 22 - - - 3 - 4 - 11 - - - 4 - 5 - 16 - - - 5 - 6 - 10 - - - 6 - 8 - 15 - - - 8 - 13 - 14 - - - 13 - 25 - 12 - - - - - - - singleton_class - child - - - 12 - - - 1 - 2 - 82 - - - 2 - 3 - 22 - - - 3 - 4 - 11 - - - 4 - 5 - 16 - - - 5 - 6 - 10 - - - 6 - 8 - 15 - - - 8 - 13 - 14 - - - 13 - 25 - 12 - - - - - - - index - singleton_class - - - 12 - - - 1 - 2 - 2 - - - 2 - 3 - 3 - - - 3 - 5 - 2 - - - 6 - 7 - 1 - - - 7 - 8 - 3 - - - 12 - 17 - 2 - - - 18 - 20 - 2 - - - 21 - 27 - 2 - - - 33 - 42 - 2 - - - 51 - 68 - 2 - - - 78 - 101 - 2 - - - 182 - 183 - 1 - - - - - - - index - child - - - 12 - - - 1 - 2 - 2 - - - 2 - 3 - 3 - - - 3 - 5 - 2 - - - 6 - 7 - 1 - - - 7 - 8 - 3 - - - 12 - 17 - 2 - - - 18 - 20 - 2 - - - 21 - 27 - 2 - - - 33 - 42 - 2 - - - 51 - 68 - 2 - - - 78 - 101 - 2 - - - 182 - 183 - 1 - - - - - - - child - singleton_class - - - 12 - - - 1 - 2 - 706 - - - - - - - child - index - - - 12 - - - 1 - 2 - 706 - - - - - - - - - bare_string_child - 2965 - - - bare_string - 2958 - - - index - 2 - - - child - 2965 - - - - - bare_string - index - - - 12 - - - 1 - 2 - 2951 - - - 2 - 3 - 7 - - - - - - - bare_string - child - - - 12 - - - 1 - 2 - 2951 - - - 2 - 3 - 7 - - - - - - - index - bare_string - - - 12 - - - 7 - 8 - 1 - - - 2958 - 2959 - 1 - - - - - - - index - child - - - 12 - - - 7 - 8 - 1 - - - 2958 - 2959 - 1 - - - - - - - child - bare_string - - - 12 - - - 1 - 2 - 2965 - - - - - - - child - index - - - 12 - - - 1 - 2 - 2965 - - - - - - - - - splat_argument_def - 692 + until_modifier_def + 14 id - 692 + 14 parent - 686 + 14 parent_index - 8 + 7 - child - 692 + body + 14 + + + condition + 14 loc - 692 + 14 @@ -51196,7 +52459,7 @@ 1 2 - 692 + 14 @@ -51212,7 +52475,7 @@ 1 2 - 692 + 14 @@ -51220,7 +52483,7 @@ id - child + body 12 @@ -51228,7 +52491,23 @@ 1 2 - 692 + 14 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 14 @@ -51244,7 +52523,7 @@ 1 2 - 692 + 14 @@ -51260,12 +52539,7 @@ 1 2 - 680 - - - 2 - 3 - 6 + 14 @@ -51281,12 +52555,7 @@ 1 2 - 680 - - - 2 - 3 - 6 + 14 @@ -51294,7 +52563,7 @@ parent - child + body 12 @@ -51302,12 +52571,23 @@ 1 2 - 680 + 14 + + + + + + parent + condition + + + 12 + - 2 - 3 - 6 + 1 + 2 + 14 @@ -51323,12 +52603,7 @@ 1 2 - 680 - - - 2 - 3 - 6 + 14 @@ -51344,42 +52619,7 @@ 2 3 - 1 - - - 3 - 4 - 1 - - - 6 - 7 - 1 - - - 8 - 9 - 1 - - - 40 - 41 - 1 - - - 49 - 50 - 1 - - - 155 - 156 - 1 - - - 429 - 430 - 1 + 7 @@ -51395,42 +52635,7 @@ 2 3 - 1 - - - 3 - 4 - 1 - - - 6 - 7 - 1 - - - 8 - 9 - 1 - - - 40 - 41 - 1 - - - 49 - 50 - 1 - - - 155 - 156 - 1 - - - 429 - 430 - 1 + 7 @@ -51438,7 +52643,7 @@ parent_index - child + body 12 @@ -51446,42 +52651,23 @@ 2 3 - 1 + 7 + + + + + + parent_index + condition + + + 12 + - 3 - 4 - 1 - - - 6 - 7 - 1 - - - 8 - 9 - 1 - - - 40 - 41 - 1 - - - 49 - 50 - 1 - - - 155 - 156 - 1 - - - 429 - 430 - 1 + 2 + 3 + 7 @@ -51497,49 +52683,14 @@ 2 3 - 1 - - - 3 - 4 - 1 - - - 6 - 7 - 1 - - - 8 - 9 - 1 - - - 40 - 41 - 1 - - - 49 - 50 - 1 - - - 155 - 156 - 1 - - - 429 - 430 - 1 + 7 - child + body id @@ -51548,14 +52699,14 @@ 1 2 - 692 + 14 - child + body parent @@ -51564,14 +52715,14 @@ 1 2 - 692 + 14 - child + body parent_index @@ -51580,14 +52731,30 @@ 1 2 - 692 + 14 - child + body + condition + + + 12 + + + 1 + 2 + 14 + + + + + + + body loc @@ -51596,7 +52763,87 @@ 1 2 - 692 + 14 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 14 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 14 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 14 + + + + + + + condition + body + + + 12 + + + 1 + 2 + 14 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 14 @@ -51612,7 +52859,7 @@ 1 2 - 692 + 14 @@ -51628,7 +52875,7 @@ 1 2 - 692 + 14 @@ -51644,7 +52891,7 @@ 1 2 - 692 + 14 @@ -51652,7 +52899,7 @@ loc - child + body 12 @@ -51660,7 +52907,23 @@ 1 2 - 692 + 14 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 14 @@ -51669,36 +52932,72 @@ - binary_def - 13647 + when_body + 963 + + + when + 963 + + + body + 963 + + + + + when + body + + + 12 + + + 1 + 2 + 963 + + + + + + + body + when + + + 12 + + + 1 + 2 + 963 + + + + + + + + + when_def + 970 id - 13647 + 970 parent - 12868 + 371 parent_index 23 - - left - 13647 - - - operator - 22 - - - right - 13647 - loc - 13647 + 970 @@ -51712,7 +53011,7 @@ 1 2 - 13647 + 970 @@ -51728,55 +53027,7 @@ 1 2 - 13647 - - - - - - - id - left - - - 12 - - - 1 - 2 - 13647 - - - - - - - id - operator - - - 12 - - - 1 - 2 - 13647 - - - - - - - id - right - - - 12 - - - 1 - 2 - 13647 + 970 @@ -51792,7 +53043,7 @@ 1 2 - 13647 + 970 @@ -51808,416 +53059,149 @@ 1 2 - 12152 - - - 2 - 9 - 715 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 12152 - - - 2 - 9 - 715 - - - - - - - parent - left - - - 12 - - - 1 - 2 - 12152 - - - 2 - 9 - 715 - - - - - - - parent - operator - - - 12 - - - 1 - 2 - 12479 + 64 2 3 - 389 - - - - - - - parent - right - - - 12 - - - 1 - 2 - 12152 - - - 2 - 9 - 715 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 12152 - - - 2 - 9 - 715 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 5 - - - 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 11 - 2 - - - 11 - 19 - 2 - - - 28 - 30 - 2 - - - 45 - 53 - 2 - - - 164 - 175 - 2 - - - 459 - 2491 - 2 - - - 4341 - 5373 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 5 - - - 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 11 - 2 - - - 11 - 19 - 2 - - - 28 - 30 - 2 - - - 45 - 53 - 2 - - - 164 - 175 - 2 - - - 459 - 2491 - 2 - - - 4341 - 5373 - 2 - - - - - - - parent_index - left - - - 12 - - - 1 - 2 - 5 - - - 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 11 - 2 - - - 11 - 19 - 2 - - - 28 - 30 - 2 - - - 45 - 53 - 2 - - - 164 - 175 - 2 - - - 459 - 2491 - 2 - - - 4341 - 5373 - 2 - - - - - - - parent_index - operator - - - 12 - - - 1 - 2 - 7 - - - 2 - 3 - 1 + 174 3 4 - 3 + 79 4 - 5 + 6 + 33 + + + 6 + 23 + 21 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 64 + + + 2 + 3 + 174 + + + 3 + 4 + 79 + + + 4 + 6 + 33 + + + 6 + 23 + 21 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 64 + + + 2 + 3 + 174 + + + 3 + 4 + 79 + + + 4 + 6 + 33 + + + 6 + 23 + 21 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 9 + + + 2 + 3 2 - 5 + 3 6 2 - 9 + 8 11 2 12 - 13 + 14 2 - - 17 - 18 - 1 - 21 - 22 - 3 - - - - - - - parent_index - right - - - 12 - - - 1 - 2 - 5 - - - 2 - 4 + 32 2 - 4 - 5 + 53 + 130 2 - 6 - 11 - 2 - - - 11 - 19 - 2 - - - 28 - 30 - 2 - - - 45 - 53 - 2 - - - 164 - 175 - 2 - - - 459 - 2491 - 2 - - - 4341 - 5373 + 301 + 372 2 @@ -52226,7 +53210,7 @@ parent_index - loc + parent 12 @@ -52234,917 +53218,50 @@ 1 2 - 5 + 9 2 - 4 - 2 - - - 4 - 5 - 2 - - - 6 - 11 - 2 - - - 11 - 19 - 2 - - - 28 - 30 - 2 - - - 45 - 53 - 2 - - - 164 - 175 - 2 - - - 459 - 2491 - 2 - - - 4341 - 5373 - 2 - - - - - - - left - id - - - 12 - - - 1 - 2 - 13647 - - - - - - - left - parent - - - 12 - - - 1 - 2 - 13647 - - - - - - - left - parent_index - - - 12 - - - 1 - 2 - 13647 - - - - - - - left - operator - - - 12 - - - 1 - 2 - 13647 - - - - - - - left - right - - - 12 - - - 1 - 2 - 13647 - - - - - - - left - loc - - - 12 - - - 1 - 2 - 13647 - - - - - - - operator - id - - - 12 - - - 1 - 8 - 2 - - - 14 - 21 - 2 - - - 35 - 36 - 2 - - - 83 - 97 - 2 - - - 104 - 122 - 2 - - - 124 - 233 - 2 - - - 296 - 411 - 2 - - - 459 - 590 - 2 - - - 723 - 1111 - 2 - - - 1363 - 2367 - 2 - - - 2396 - 2634 - 2 - - - - - - - operator - parent - - - 12 - - - 1 - 8 - 2 - - - 14 - 21 - 2 - - - 32 - 36 - 2 - - - 78 - 94 - 2 - - - 102 - 118 - 2 - - - 123 - 224 - 2 - - - 293 - 402 - 2 - - - 445 - 584 - 2 - - - 707 - 1109 - 2 - - - 1192 - 2243 - 2 - - - 2391 - 2634 - 2 - - - - - - - operator - parent_index - - - 12 - - - 1 3 2 3 - 4 - 2 - - - 4 - 5 - 3 - - - 5 6 - 1 - - - 6 - 7 2 - - 7 - 8 - 4 - 8 - 9 - 3 - - - 9 - 12 - 2 - - - 13 - 15 - 2 - - - 22 - 23 - 1 - - - - - - - operator - left - - - 12 - - - 1 - 8 - 2 - - - 14 - 21 - 2 - - - 35 - 36 - 2 - - - 83 - 97 - 2 - - - 104 - 122 - 2 - - - 124 - 233 - 2 - - - 296 - 411 - 2 - - - 459 - 590 - 2 - - - 723 - 1111 - 2 - - - 1363 - 2367 - 2 - - - 2396 - 2634 - 2 - - - - - - - operator - right - - - 12 - - - 1 - 8 - 2 - - - 14 - 21 - 2 - - - 35 - 36 - 2 - - - 83 - 97 - 2 - - - 104 - 122 - 2 - - - 124 - 233 - 2 - - - 296 - 411 - 2 - - - 459 - 590 - 2 - - - 723 - 1111 - 2 - - - 1363 - 2367 - 2 - - - 2396 - 2634 - 2 - - - - - - - operator - loc - - - 12 - - - 1 - 8 - 2 - - - 14 - 21 - 2 - - - 35 - 36 - 2 - - - 83 - 97 - 2 - - - 104 - 122 - 2 - - - 124 - 233 - 2 - - - 296 - 411 - 2 - - - 459 - 590 - 2 - - - 723 - 1111 - 2 - - - 1363 - 2367 - 2 - - - 2396 - 2634 - 2 - - - - - - - right - id - - - 12 - - - 1 - 2 - 13647 - - - - - - - right - parent - - - 12 - - - 1 - 2 - 13647 - - - - - - - right - parent_index - - - 12 - - - 1 - 2 - 13647 - - - - - - - right - left - - - 12 - - - 1 - 2 - 13647 - - - - - - - right - operator - - - 12 - - - 1 - 2 - 13647 - - - - - - - right - loc - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - left - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - operator - - - 12 - - - 1 - 2 - 13647 - - - - - - - loc - right - - - 12 - - - 1 - 2 - 13647 - - - - - - - - - program_child - 9380 - - - program - 2829 - - - index - 70 - - - child - 9380 - - - - - program - index - - - 12 - - - 1 - 2 - 963 - - - 2 - 3 - 689 - - - 3 - 4 - 486 - - - 4 - 5 - 207 - - - 5 - 7 - 221 - - - 7 - 19 - 219 - - - 19 - 71 - 44 - - - - - - - program - child - - - 12 - - - 1 - 2 - 963 - - - 2 - 3 - 689 - - - 3 - 4 - 486 - - - 4 - 5 - 207 - - - 5 - 7 - 221 - - - 7 - 19 - 219 - - - 19 - 71 - 44 - - - - - - - index - program - - - 12 - - - 1 - 2 - 14 - - - 2 - 3 - 10 - - - 3 - 7 - 5 - - - 7 11 - 4 + 2 - 11 - 16 - 6 + 12 + 14 + 2 - 16 - 25 - 6 + 21 + 32 + 2 - 27 - 43 - 6 + 53 + 130 + 2 - 44 - 84 - 6 - - - 94 - 215 - 6 - - - 263 - 1867 - 6 - - - 2829 - 2830 - 1 + 301 + 372 + 2 - index - child + parent_index + loc 12 @@ -53152,502 +53269,42 @@ 1 2 - 14 + 9 2 3 - 10 + 2 3 - 7 - 5 + 6 + 2 - 7 + 8 11 - 4 - - - 11 - 16 - 6 - - - 16 - 25 - 6 - - - 27 - 43 - 6 - - - 44 - 84 - 6 - - - 94 - 215 - 6 - - - 263 - 1867 - 6 - - - 2829 - 2830 - 1 - - - - - - - child - program - - - 12 - - - 1 - 2 - 9380 - - - - - - - child - index - - - 12 - - - 1 - 2 - 9380 - - - - - - - - - begin_block_child - 0 - - - begin_block - 0 - - - index - 0 - - - child - 0 - - - - - begin_block - index - - - 12 - - - - - - begin_block - child - - - 12 - - - - - - index - begin_block - - - 12 - - - - - - index - child - - - 12 - - - - - - child - begin_block - - - 12 - - - 1 - 2 - 3 - - - - - - - child - index - - - 12 - - - 1 - 2 - 3 - - - - - - - - - interpolation_child - 11453 - - - interpolation - 11453 - - - child - 11453 - - - - - interpolation - child - - - 12 - - - 1 - 2 - 11453 - - - - - - - child - interpolation - - - 12 - - - 1 - 2 - 11453 - - - - - - - - - regex_def - 3918 - - - id - 3918 - - - parent - 3883 - - - parent_index - 8 - - - loc - 3918 - - - - - id - parent - - - 12 - - - 1 - 2 - 3918 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 3918 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 3918 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 3851 - - - 2 - 4 - 32 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 3851 - - - 2 - 4 - 32 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 3851 - - - 2 - 4 - 32 - - - - - - - parent_index - id - - - 12 - - - 3 - 4 2 - 4 - 5 - 1 - - - 26 - 27 - 1 - - - 45 - 46 - 1 - - - 759 - 760 - 1 - - - 844 - 845 - 1 - - - 2234 - 2235 - 1 - - - - - - - parent_index - parent - - - 12 - - - 3 - 4 + 12 + 14 2 - 4 - 5 - 1 - - - 26 - 27 - 1 - - - 45 - 46 - 1 - - - 759 - 760 - 1 - - - 844 - 845 - 1 - - - 2234 - 2235 - 1 - - - - - - - parent_index - loc - - - 12 - - - 3 - 4 + 21 + 32 2 - 4 - 5 - 1 + 53 + 130 + 2 - 26 - 27 - 1 - - - 45 - 46 - 1 - - - 759 - 760 - 1 - - - 844 - 845 - 1 - - - 2234 - 2235 - 1 + 301 + 372 + 2 @@ -53663,7 +53320,7 @@ 1 2 - 3918 + 970 @@ -53679,7 +53336,7 @@ 1 2 - 3918 + 970 @@ -53695,583 +53352,7 @@ 1 2 - 3918 - - - - - - - - - call_receiver - 161149 - - - call - 161149 - - - receiver - 161149 - - - - - call - receiver - - - 12 - - - 1 - 2 - 161149 - - - - - - - receiver - call - - - 12 - - - 1 - 2 - 161149 - - - - - - - - - unless_def - 431 - - - id - 431 - - - parent - 406 - - - parent_index - 29 - - - condition - 431 - - - loc - 431 - - - - - id - parent - - - 12 - - - 1 - 2 - 431 - - - - - - - id - parent_index - - - 12 - - - 1 - 2 - 431 - - - - - - - id - condition - - - 12 - - - 1 - 2 - 431 - - - - - - - id - loc - - - 12 - - - 1 - 2 - 431 - - - - - - - parent - id - - - 12 - - - 1 - 2 - 386 - - - 2 - 5 - 20 - - - - - - - parent - parent_index - - - 12 - - - 1 - 2 - 386 - - - 2 - 5 - 20 - - - - - - - parent - condition - - - 12 - - - 1 - 2 - 386 - - - 2 - 5 - 20 - - - - - - - parent - loc - - - 12 - - - 1 - 2 - 386 - - - 2 - 5 - 20 - - - - - - - parent_index - id - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 8 - 10 - 2 - - - 19 - 23 - 2 - - - 25 - 30 - 2 - - - 36 - 56 - 2 - - - 90 - 107 - 2 - - - - - - - parent_index - parent - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 8 - 10 - 2 - - - 19 - 23 - 2 - - - 25 - 30 - 2 - - - 36 - 56 - 2 - - - 90 - 107 - 2 - - - - - - - parent_index - condition - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 8 - 10 - 2 - - - 19 - 23 - 2 - - - 25 - 30 - 2 - - - 36 - 56 - 2 - - - 90 - 107 - 2 - - - - - - - parent_index - loc - - - 12 - - - 1 - 2 - 12 - - - 2 - 3 - 3 - - - 3 - 4 - 2 - - - 4 - 5 - 2 - - - 8 - 10 - 2 - - - 19 - 23 - 2 - - - 25 - 30 - 2 - - - 36 - 56 - 2 - - - 90 - 107 - 2 - - - - - - - condition - id - - - 12 - - - 1 - 2 - 431 - - - - - - - condition - parent - - - 12 - - - 1 - 2 - 431 - - - - - - - condition - parent_index - - - 12 - - - 1 - 2 - 431 - - - - - - - condition - loc - - - 12 - - - 1 - 2 - 431 - - - - - - - loc - id - - - 12 - - - 1 - 2 - 431 - - - - - - - loc - parent - - - 12 - - - 1 - 2 - 431 - - - - - - - loc - parent_index - - - 12 - - - 1 - 2 - 431 - - - - - - - loc - condition - - - 12 - - - 1 - 2 - 431 + 970 @@ -54281,11 +53362,11 @@ when_pattern - 1169 + 1172 when - 968 + 970 index @@ -54293,7 +53374,7 @@ pattern - 1169 + 1172 @@ -54307,12 +53388,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -54333,12 +53414,12 @@ 1 2 - 842 + 843 2 3 - 97 + 98 3 @@ -54392,13 +53473,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -54448,13 +53529,13 @@ 1 - 126 - 127 + 127 + 128 1 - 968 - 969 + 970 + 971 1 @@ -54471,7 +53552,7 @@ 1 2 - 1169 + 1172 @@ -54487,7 +53568,7 @@ 1 2 - 1169 + 1172 @@ -54496,24 +53577,32 @@ - redo_def - 0 + while_def + 105 id - 0 + 105 parent - 0 + 101 parent_index - 0 + 17 + + + body + 105 + + + condition + 105 loc - 0 + 105 @@ -54527,7 +53616,7 @@ 1 2 - 1 + 105 @@ -54543,7 +53632,39 @@ 1 2 - 1 + 105 + + + + + + + id + body + + + 12 + + + 1 + 2 + 105 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 105 @@ -54559,7 +53680,7 @@ 1 2 - 1 + 105 @@ -54571,7 +53692,18 @@ 12 - + + + 1 + 2 + 98 + + + 2 + 3 + 3 + + @@ -54581,7 +53713,60 @@ 12 - + + + 1 + 2 + 98 + + + 2 + 3 + 3 + + + + + + + parent + body + + + 12 + + + 1 + 2 + 98 + + + 2 + 3 + 3 + + + + + + + parent + condition + + + 12 + + + 1 + 2 + 98 + + + 2 + 3 + 3 + + @@ -54591,7 +53776,18 @@ 12 - + + + 1 + 2 + 98 + + + 2 + 3 + 3 + + @@ -54601,7 +53797,43 @@ 12 - + + + 1 + 2 + 5 + + + 2 + 3 + 3 + + + 3 + 4 + 2 + + + 9 + 10 + 3 + + + 11 + 12 + 2 + + + 17 + 18 + 1 + + + 19 + 20 + 1 + + @@ -54611,7 +53843,135 @@ 12 - + + + 1 + 2 + 5 + + + 2 + 3 + 3 + + + 3 + 4 + 2 + + + 9 + 10 + 3 + + + 11 + 12 + 2 + + + 17 + 18 + 1 + + + 19 + 20 + 1 + + + + + + + parent_index + body + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 3 + + + 3 + 4 + 2 + + + 9 + 10 + 3 + + + 11 + 12 + 2 + + + 17 + 18 + 1 + + + 19 + 20 + 1 + + + + + + + parent_index + condition + + + 12 + + + 1 + 2 + 5 + + + 2 + 3 + 3 + + + 3 + 4 + 2 + + + 9 + 10 + 3 + + + 11 + 12 + 2 + + + 17 + 18 + 1 + + + 19 + 20 + 1 + + @@ -54621,7 +53981,203 @@ 12 - + + + 1 + 2 + 5 + + + 2 + 3 + 3 + + + 3 + 4 + 2 + + + 9 + 10 + 3 + + + 11 + 12 + 2 + + + 17 + 18 + 1 + + + 19 + 20 + 1 + + + + + + + body + id + + + 12 + + + 1 + 2 + 105 + + + + + + + body + parent + + + 12 + + + 1 + 2 + 105 + + + + + + + body + parent_index + + + 12 + + + 1 + 2 + 105 + + + + + + + body + condition + + + 12 + + + 1 + 2 + 105 + + + + + + + body + loc + + + 12 + + + 1 + 2 + 105 + + + + + + + condition + id + + + 12 + + + 1 + 2 + 105 + + + + + + + condition + parent + + + 12 + + + 1 + 2 + 105 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 105 + + + + + + + condition + body + + + 12 + + + 1 + 2 + 105 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 105 + + @@ -54631,7 +54187,13 @@ 12 - + + + 1 + 2 + 105 + + @@ -54641,7 +54203,13 @@ 12 - + + + 1 + 2 + 105 + + @@ -54651,31 +54219,77 @@ 12 - + + + 1 + 2 + 105 + + + + + + + loc + body + + + 12 + + + 1 + 2 + 105 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 105 + + - interpolation_def - 11453 + while_modifier_def + 8 id - 11453 + 8 parent - 7604 + 8 parent_index - 52 + 3 + + + body + 8 + + + condition + 8 loc - 11453 + 8 @@ -54689,7 +54303,7 @@ 1 2 - 11453 + 8 @@ -54705,7 +54319,39 @@ 1 2 - 11453 + 8 + + + + + + + id + body + + + 12 + + + 1 + 2 + 8 + + + + + + + id + condition + + + 12 + + + 1 + 2 + 8 @@ -54721,7 +54367,7 @@ 1 2 - 11453 + 8 @@ -54737,22 +54383,7 @@ 1 2 - 5207 - - - 2 - 3 - 1708 - - - 3 - 6 - 601 - - - 6 - 35 - 86 + 8 @@ -54768,22 +54399,39 @@ 1 2 - 5207 + 8 + + + + + + parent + body + + + 12 + - 2 - 3 - 1708 + 1 + 2 + 8 + + + + + + parent + condition + + + 12 + - 3 - 6 - 601 - - - 6 - 35 - 86 + 1 + 2 + 8 @@ -54799,22 +54447,7 @@ 1 2 - 5207 - - - 2 - 3 - 1708 - - - 3 - 6 - 601 - - - 6 - 35 - 86 + 8 @@ -54827,55 +54460,15 @@ 12 - - 1 - 2 - 14 - 2 3 - 5 + 1 3 - 5 - 4 - - - 5 - 7 - 4 - - - 7 - 10 - 4 - - - 11 - 19 - 4 - - - 20 - 34 - 4 - - - 45 - 109 - 4 - - - 110 - 399 - 4 - - - 1117 - 4742 - 4 + 4 + 2 @@ -54888,55 +54481,57 @@ 12 - - 1 - 2 - 14 - 2 3 - 5 + 1 3 - 5 - 4 + 4 + 2 + + + + + + + parent_index + body + + + 12 + + + 2 + 3 + 1 - 5 - 7 - 4 + 3 + 4 + 2 + + + + + + + parent_index + condition + + + 12 + + + 2 + 3 + 1 - 7 - 10 - 4 - - - 11 - 19 - 4 - - - 20 - 34 - 4 - - - 45 - 109 - 4 - - - 110 - 399 - 4 - - - 1117 - 4742 - 4 + 3 + 4 + 2 @@ -54949,55 +54544,175 @@ 12 - - 1 - 2 - 14 - 2 3 - 5 + 1 3 - 5 - 4 + 4 + 2 + + + + + + body + id + + + 12 + - 5 - 7 - 4 + 1 + 2 + 8 + + + + + + body + parent + + + 12 + - 7 - 10 - 4 + 1 + 2 + 8 + + + + + + body + parent_index + + + 12 + - 11 - 19 - 4 + 1 + 2 + 8 + + + + + + body + condition + + + 12 + - 20 - 34 - 4 + 1 + 2 + 8 + + + + + + body + loc + + + 12 + - 45 - 109 - 4 + 1 + 2 + 8 + + + + + + condition + id + + + 12 + - 110 - 399 - 4 + 1 + 2 + 8 + + + + + + condition + parent + + + 12 + - 1117 - 4742 - 4 + 1 + 2 + 8 + + + + + + + condition + parent_index + + + 12 + + + 1 + 2 + 8 + + + + + + + condition + body + + + 12 + + + 1 + 2 + 8 + + + + + + + condition + loc + + + 12 + + + 1 + 2 + 8 @@ -55013,7 +54728,7 @@ 1 2 - 11453 + 8 @@ -55029,7 +54744,7 @@ 1 2 - 11453 + 8 @@ -55045,7 +54760,453 @@ 1 2 - 11453 + 8 + + + + + + + loc + body + + + 12 + + + 1 + 2 + 8 + + + + + + + loc + condition + + + 12 + + + 1 + 2 + 8 + + + + + + + + + yield_child + 365 + + + yield + 365 + + + child + 365 + + + + + yield + child + + + 12 + + + 1 + 2 + 365 + + + + + + + child + yield + + + 12 + + + 1 + 2 + 365 + + + + + + + + + yield_def + 836 + + + id + 836 + + + parent + 811 + + + parent_index + 12 + + + loc + 836 + + + + + id + parent + + + 12 + + + 1 + 2 + 836 + + + + + + + id + parent_index + + + 12 + + + 1 + 2 + 836 + + + + + + + id + loc + + + 12 + + + 1 + 2 + 836 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 794 + + + 2 + 8 + 17 + + + + + + + parent + parent_index + + + 12 + + + 1 + 2 + 794 + + + 2 + 8 + 17 + + + + + + + parent + loc + + + 12 + + + 1 + 2 + 794 + + + 2 + 8 + 17 + + + + + + + parent_index + id + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 19 + 20 + 2 + + + 64 + 65 + 1 + + + 73 + 74 + 1 + + + 80 + 81 + 1 + + + 178 + 179 + 1 + + + 179 + 180 + 1 + + + 215 + 216 + 1 + + + + + + + parent_index + parent + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 19 + 20 + 2 + + + 64 + 65 + 1 + + + 73 + 74 + 1 + + + 80 + 81 + 1 + + + 178 + 179 + 1 + + + 179 + 180 + 1 + + + 215 + 216 + 1 + + + + + + + parent_index + loc + + + 12 + + + 1 + 2 + 1 + + + 2 + 3 + 2 + + + 4 + 5 + 1 + + + 19 + 20 + 2 + + + 64 + 65 + 1 + + + 73 + 74 + 1 + + + 80 + 81 + 1 + + + 178 + 179 + 1 + + + 179 + 180 + 1 + + + 215 + 216 + 1 + + + + + + + loc + id + + + 12 + + + 1 + 2 + 836 + + + + + + + loc + parent + + + 12 + + + 1 + 2 + 836 + + + + + + + loc + parent_index + + + 12 + + + 1 + 2 + 836 diff --git a/ql/test/library-tests/ast/calls/calls.expected b/ql/test/library-tests/ast/calls/calls.expected index 0c6f5d2256e..ced558cc079 100644 --- a/ql/test/library-tests/ast/calls/calls.expected +++ b/ql/test/library-tests/ast/calls/calls.expected @@ -79,7 +79,7 @@ callsWithArguments | calls.rb:14:1:14:11 | call to foo | foo | 0 | calls.rb:14:5:14:5 | 0 | | calls.rb:14:1:14:11 | call to foo | foo | 1 | calls.rb:14:8:14:8 | 1 | | calls.rb:14:1:14:11 | call to foo | foo | 2 | calls.rb:14:11:14:11 | 2 | -| calls.rb:25:1:27:3 | call to bar | bar | 0 | calls.rb:25:9:25:13 | foo | +| calls.rb:25:1:27:3 | call to bar | bar | 0 | calls.rb:25:9:25:13 | "foo" | | calls.rb:36:3:36:16 | call to yield | yield | 0 | calls.rb:36:9:36:11 | 100 | | calls.rb:36:3:36:16 | call to yield | yield | 1 | calls.rb:36:14:36:16 | 200 | | calls.rb:54:1:54:14 | call to some_func | some_func | 0 | calls.rb:54:11:54:13 | call to foo | @@ -94,7 +94,7 @@ callsWithArguments | calls.rb:275:1:275:13 | call to foo | foo | 0 | calls.rb:275:5:275:12 | **... | | calls.rb:278:1:278:14 | call to foo | foo | 0 | calls.rb:278:5:278:13 | Pair | | calls.rb:279:1:279:17 | call to foo | foo | 0 | calls.rb:279:5:279:16 | Pair | -| calls.rb:288:5:288:16 | call to super | super | 0 | calls.rb:288:11:288:16 | blah | +| calls.rb:288:5:288:16 | call to super | super | 0 | calls.rb:288:11:288:16 | "blah" | | calls.rb:289:5:289:17 | call to super | super | 0 | calls.rb:289:11:289:11 | 1 | | calls.rb:289:5:289:17 | call to super | super | 1 | calls.rb:289:14:289:14 | 2 | | calls.rb:289:5:289:17 | call to super | super | 2 | calls.rb:289:17:289:17 | 3 | @@ -203,7 +203,7 @@ superCalls | calls.rb:293:5:293:33 | call to super | | calls.rb:305:5:305:9 | call to super | superCallsWithArguments -| calls.rb:288:5:288:16 | call to super | 0 | calls.rb:288:11:288:16 | blah | +| calls.rb:288:5:288:16 | call to super | 0 | calls.rb:288:11:288:16 | "blah" | | calls.rb:289:5:289:17 | call to super | 0 | calls.rb:289:11:289:11 | 1 | | calls.rb:289:5:289:17 | call to super | 1 | calls.rb:289:14:289:14 | 2 | | calls.rb:289:5:289:17 | call to super | 2 | calls.rb:289:17:289:17 | 3 | diff --git a/ql/test/library-tests/ast/literals/literals.expected b/ql/test/library-tests/ast/literals/literals.expected new file mode 100644 index 00000000000..ef964f60b5a --- /dev/null +++ b/ql/test/library-tests/ast/literals/literals.expected @@ -0,0 +1,746 @@ +allLiterals +| literals.rb:2:1:2:3 | nil | NilLiteral | nil | +| literals.rb:3:1:3:3 | NIL | NilLiteral | NIL | +| literals.rb:4:1:4:5 | false | BooleanLiteral | false | +| literals.rb:5:1:5:5 | FALSE | BooleanLiteral | FALSE | +| literals.rb:6:1:6:4 | true | BooleanLiteral | true | +| literals.rb:7:1:7:4 | TRUE | BooleanLiteral | TRUE | +| literals.rb:10:1:10:4 | 1234 | IntegerLiteral | 1234 | +| literals.rb:11:1:11:5 | 5_678 | IntegerLiteral | 5_678 | +| literals.rb:12:1:12:1 | 0 | IntegerLiteral | 0 | +| literals.rb:13:1:13:5 | 0d900 | IntegerLiteral | 0d900 | +| literals.rb:16:1:16:6 | 0x1234 | IntegerLiteral | 0x1234 | +| literals.rb:17:1:17:10 | 0xdeadbeef | IntegerLiteral | 0xdeadbeef | +| literals.rb:18:1:18:11 | 0xF00D_face | IntegerLiteral | 0xF00D_face | +| literals.rb:21:1:21:4 | 0123 | IntegerLiteral | 0123 | +| literals.rb:22:1:22:5 | 0o234 | IntegerLiteral | 0o234 | +| literals.rb:23:1:23:6 | 0O45_6 | IntegerLiteral | 0O45_6 | +| literals.rb:26:1:26:10 | 0b10010100 | IntegerLiteral | 0b10010100 | +| literals.rb:27:1:27:11 | 0B011_01101 | IntegerLiteral | 0B011_01101 | +| literals.rb:30:1:30:5 | 12.34 | FloatLiteral | 12.34 | +| literals.rb:31:1:31:7 | 1234e-2 | FloatLiteral | 1234e-2 | +| literals.rb:32:1:32:7 | 1.234E1 | FloatLiteral | 1.234E1 | +| literals.rb:35:1:35:3 | 23r | RationalLiteral | 23r | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85r | +| literals.rb:39:1:39:2 | 2i | ComplexLiteral | 2i | +| literals.rb:46:1:46:2 | "" | StringLiteral | | +| literals.rb:47:1:47:2 | "" | StringLiteral | | +| literals.rb:48:1:48:7 | "hello" | StringLiteral | hello | +| literals.rb:49:1:49:9 | "goodbye" | StringLiteral | goodbye | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | StringLiteral | string with escaped \\" quote | +| literals.rb:51:1:51:21 | "string with " quote" | StringLiteral | string with " quote | +| literals.rb:52:1:52:14 | "foo bar baz" | StringLiteral | foo bar baz | +| literals.rb:53:1:53:15 | "foo bar baz" | StringLiteral | foo bar baz | +| literals.rb:54:1:54:20 | "foo ' bar " baz'" | StringLiteral | foo ' bar " baz' | +| literals.rb:55:1:55:20 | "FOO ' BAR " BAZ'" | StringLiteral | FOO ' BAR " BAZ' | +| literals.rb:56:1:56:12 | "foo\\ bar" | StringLiteral | foo\\ bar | +| literals.rb:57:1:57:12 | "foo\\ bar" | StringLiteral | foo\\ bar | +| literals.rb:58:1:58:20 | "2 + 2 = #{...}" | StringLiteral | | +| literals.rb:58:13:58:13 | 2 | IntegerLiteral | 2 | +| literals.rb:58:17:58:17 | 2 | IntegerLiteral | 2 | +| literals.rb:59:1:59:22 | "3 + 4 = #{...}" | StringLiteral | | +| literals.rb:59:15:59:15 | 3 | IntegerLiteral | 3 | +| literals.rb:59:19:59:19 | 4 | IntegerLiteral | 4 | +| literals.rb:60:1:60:20 | "2 + 2 = #{ 2 + 2 }" | StringLiteral | 2 + 2 = #{ 2 + 2 } | +| literals.rb:61:1:61:22 | "3 + 4 = #{ 3 + 4 }" | StringLiteral | 3 + 4 = #{ 3 + 4 } | +| literals.rb:62:1:62:5 | "foo" | StringLiteral | foo | +| literals.rb:62:7:62:11 | "bar" | StringLiteral | bar | +| literals.rb:62:13:62:17 | "baz" | StringLiteral | baz | +| literals.rb:63:1:63:7 | "foo" | StringLiteral | foo | +| literals.rb:63:9:63:13 | "bar" | StringLiteral | bar | +| literals.rb:63:15:63:19 | "baz" | StringLiteral | baz | +| literals.rb:64:1:64:5 | "foo" | StringLiteral | foo | +| literals.rb:64:7:64:21 | "bar#{...}" | StringLiteral | | +| literals.rb:64:14:64:14 | 1 | IntegerLiteral | 1 | +| literals.rb:64:18:64:18 | 1 | IntegerLiteral | 1 | +| literals.rb:64:23:64:27 | "baz" | StringLiteral | baz | +| literals.rb:65:1:65:35 | "foo #{...} qux" | StringLiteral | | +| literals.rb:65:9:65:28 | "bar #{...} baz" | StringLiteral | | +| literals.rb:65:17:65:17 | 2 | IntegerLiteral | 2 | +| literals.rb:65:21:65:21 | 3 | IntegerLiteral | 3 | +| literals.rb:68:1:68:2 | ?x | CharacterLiteral | ?x | +| literals.rb:69:1:69:3 | ?\\n | CharacterLiteral | ?\\n | +| literals.rb:70:1:70:3 | ?\\s | CharacterLiteral | ?\\s | +| literals.rb:71:1:71:3 | ?\\\\ | CharacterLiteral | ?\\\\ | +| literals.rb:72:1:72:7 | ?\\u{58} | CharacterLiteral | ?\\u{58} | +| literals.rb:73:1:73:5 | ?\\C-a | CharacterLiteral | ?\\C-a | +| literals.rb:74:1:74:5 | ?\\M-a | CharacterLiteral | ?\\M-a | +| literals.rb:75:1:75:8 | ?\\M-\\C-a | CharacterLiteral | ?\\M-\\C-a | +| literals.rb:76:1:76:8 | ?\\C-\\M-a | CharacterLiteral | ?\\C-\\M-a | +| literals.rb:79:1:79:3 | :"" | SymbolLiteral | | +| literals.rb:80:1:80:6 | :hello | SymbolLiteral | hello | +| literals.rb:81:1:81:10 | :"foo bar" | SymbolLiteral | foo bar | +| literals.rb:82:1:82:10 | :"bar baz" | SymbolLiteral | bar baz | +| literals.rb:83:1:83:14 | {...} | HashLiteral | | +| literals.rb:83:3:83:5 | :foo | SymbolLiteral | foo | +| literals.rb:83:8:83:12 | "bar" | StringLiteral | bar | +| literals.rb:84:1:84:10 | :"wibble" | SymbolLiteral | wibble | +| literals.rb:85:1:85:17 | :"wibble wobble" | SymbolLiteral | wibble wobble | +| literals.rb:86:1:86:16 | :"foo_#{...}" | SymbolLiteral | | +| literals.rb:86:10:86:10 | 2 | IntegerLiteral | 2 | +| literals.rb:86:14:86:14 | 2 | IntegerLiteral | 2 | +| literals.rb:87:1:87:17 | :"foo_#{ 1 + 1 }" | SymbolLiteral | foo_#{ 1 + 1 } | +| literals.rb:88:1:88:18 | :"foo_#{ 3 - 2 }" | SymbolLiteral | foo_#{ 3 - 2 } | +| literals.rb:91:1:91:2 | [...] | ArrayLiteral | | +| literals.rb:92:1:92:9 | [...] | ArrayLiteral | | +| literals.rb:92:2:92:2 | 1 | IntegerLiteral | 1 | +| literals.rb:92:5:92:5 | 2 | IntegerLiteral | 2 | +| literals.rb:92:8:92:8 | 3 | IntegerLiteral | 3 | +| literals.rb:93:1:93:14 | [...] | ArrayLiteral | | +| literals.rb:93:2:93:2 | 4 | IntegerLiteral | 4 | +| literals.rb:93:5:93:5 | 5 | IntegerLiteral | 5 | +| literals.rb:93:8:93:9 | 12 | IntegerLiteral | 12 | +| literals.rb:93:13:93:13 | 2 | IntegerLiteral | 2 | +| literals.rb:94:1:94:11 | [...] | ArrayLiteral | | +| literals.rb:94:2:94:2 | 7 | IntegerLiteral | 7 | +| literals.rb:94:5:94:10 | [...] | ArrayLiteral | | +| literals.rb:94:6:94:6 | 8 | IntegerLiteral | 8 | +| literals.rb:94:9:94:9 | 9 | IntegerLiteral | 9 | +| literals.rb:97:1:97:4 | %w(...) | ArrayLiteral | | +| literals.rb:98:1:98:15 | %w(...) | ArrayLiteral | | +| literals.rb:98:4:98:6 | "foo" | StringLiteral | foo | +| literals.rb:98:8:98:10 | "bar" | StringLiteral | bar | +| literals.rb:98:12:98:14 | "baz" | StringLiteral | baz | +| literals.rb:99:1:99:15 | %w(...) | ArrayLiteral | | +| literals.rb:99:4:99:6 | "foo" | StringLiteral | foo | +| literals.rb:99:8:99:10 | "bar" | StringLiteral | bar | +| literals.rb:99:12:99:14 | "baz" | StringLiteral | baz | +| literals.rb:100:1:100:21 | %w(...) | ArrayLiteral | | +| literals.rb:100:4:100:6 | "foo" | StringLiteral | foo | +| literals.rb:100:8:100:16 | "bar#{...}" | StringLiteral | | +| literals.rb:100:13:100:13 | 1 | IntegerLiteral | 1 | +| literals.rb:100:15:100:15 | 1 | IntegerLiteral | 1 | +| literals.rb:100:18:100:20 | "baz" | StringLiteral | baz | +| literals.rb:101:1:101:21 | %w(...) | ArrayLiteral | | +| literals.rb:101:4:101:6 | "foo" | StringLiteral | foo | +| literals.rb:101:8:101:16 | "bar#{1+1}" | StringLiteral | bar#{1+1} | +| literals.rb:101:18:101:20 | "baz" | StringLiteral | baz | +| literals.rb:104:1:104:4 | %i(...) | ArrayLiteral | | +| literals.rb:105:1:105:15 | %i(...) | ArrayLiteral | | +| literals.rb:105:4:105:6 | :"foo" | SymbolLiteral | foo | +| literals.rb:105:8:105:10 | :"bar" | SymbolLiteral | bar | +| literals.rb:105:12:105:14 | :"baz" | SymbolLiteral | baz | +| literals.rb:106:1:106:15 | %i(...) | ArrayLiteral | | +| literals.rb:106:4:106:6 | :"foo" | SymbolLiteral | foo | +| literals.rb:106:8:106:10 | :"bar" | SymbolLiteral | bar | +| literals.rb:106:12:106:14 | :"baz" | SymbolLiteral | baz | +| literals.rb:107:1:107:25 | %i(...) | ArrayLiteral | | +| literals.rb:107:4:107:6 | :"foo" | SymbolLiteral | foo | +| literals.rb:107:8:107:20 | :"bar#{...}" | SymbolLiteral | | +| literals.rb:107:14:107:14 | 2 | IntegerLiteral | 2 | +| literals.rb:107:18:107:18 | 4 | IntegerLiteral | 4 | +| literals.rb:107:22:107:24 | :"baz" | SymbolLiteral | baz | +| literals.rb:108:1:108:25 | %i(...) | ArrayLiteral | | +| literals.rb:108:4:108:6 | :"foo" | SymbolLiteral | foo | +| literals.rb:108:8:108:12 | :"bar#{" | SymbolLiteral | bar#{ | +| literals.rb:108:14:108:14 | :"2" | SymbolLiteral | 2 | +| literals.rb:108:16:108:16 | :"+" | SymbolLiteral | + | +| literals.rb:108:18:108:18 | :"4" | SymbolLiteral | 4 | +| literals.rb:108:20:108:20 | :"}" | SymbolLiteral | } | +| literals.rb:108:22:108:24 | :"baz" | SymbolLiteral | baz | +| literals.rb:111:1:111:2 | {...} | HashLiteral | | +| literals.rb:112:1:112:33 | {...} | HashLiteral | | +| literals.rb:112:3:112:5 | :foo | SymbolLiteral | foo | +| literals.rb:112:8:112:8 | 1 | IntegerLiteral | 1 | +| literals.rb:112:11:112:14 | :bar | SymbolLiteral | bar | +| literals.rb:112:19:112:19 | 2 | IntegerLiteral | 2 | +| literals.rb:112:22:112:26 | "baz" | StringLiteral | baz | +| literals.rb:112:31:112:31 | 3 | IntegerLiteral | 3 | +| literals.rb:113:1:113:17 | {...} | HashLiteral | | +| literals.rb:113:3:113:5 | :foo | SymbolLiteral | foo | +| literals.rb:113:8:113:8 | 7 | IntegerLiteral | 7 | +| literals.rb:116:2:116:2 | 1 | IntegerLiteral | 1 | +| literals.rb:116:2:116:6 | _ .. _ | RangeLiteral | | +| literals.rb:116:5:116:6 | 10 | IntegerLiteral | 10 | +| literals.rb:117:2:117:2 | 1 | IntegerLiteral | 1 | +| literals.rb:117:2:117:7 | _ ... _ | RangeLiteral | | +| literals.rb:117:6:117:7 | 10 | IntegerLiteral | 10 | +| literals.rb:118:2:118:2 | 1 | IntegerLiteral | 1 | +| literals.rb:118:2:118:7 | _ .. _ | RangeLiteral | | +| literals.rb:118:7:118:7 | 0 | IntegerLiteral | 0 | +| literals.rb:119:2:119:11 | _ .. _ | RangeLiteral | | +| literals.rb:119:9:119:9 | 2 | IntegerLiteral | 2 | +| literals.rb:119:11:119:11 | 3 | IntegerLiteral | 3 | +| literals.rb:120:2:120:2 | 1 | IntegerLiteral | 1 | +| literals.rb:120:2:120:4 | _ .. _ | RangeLiteral | | +| literals.rb:121:2:121:4 | _ .. _ | RangeLiteral | | +| literals.rb:121:4:121:4 | 1 | IntegerLiteral | 1 | +| literals.rb:122:2:122:2 | 0 | IntegerLiteral | 0 | +| literals.rb:122:2:122:4 | _ .. _ | RangeLiteral | | +| literals.rb:122:6:122:6 | 1 | IntegerLiteral | 1 | +| literals.rb:125:1:125:7 | `ls -l` | SubshellLiteral | ls -l | +| literals.rb:126:1:126:9 | `ls -l` | SubshellLiteral | ls -l | +| literals.rb:127:1:127:18 | `du -d #{...}` | SubshellLiteral | | +| literals.rb:127:11:127:11 | 1 | IntegerLiteral | 1 | +| literals.rb:127:15:127:15 | 1 | IntegerLiteral | 1 | +| literals.rb:128:1:128:20 | `du -d #{...}` | SubshellLiteral | | +| literals.rb:128:13:128:13 | 5 | IntegerLiteral | 5 | +| literals.rb:128:17:128:17 | 4 | IntegerLiteral | 4 | +| literals.rb:131:1:131:2 | // | RegexLiteral | | +| literals.rb:132:1:132:5 | /foo/ | RegexLiteral | foo | +| literals.rb:133:1:133:6 | /foo/ | RegexLiteral | foo | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | RegexLiteral | foo+\\sbar\\S | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | RegexLiteral | | +| literals.rb:135:8:135:8 | 1 | IntegerLiteral | 1 | +| literals.rb:135:12:135:12 | 1 | IntegerLiteral | 1 | +| literals.rb:136:1:136:8 | /foo/ | RegexLiteral | foo | +| literals.rb:137:1:137:4 | // | RegexLiteral | | +| literals.rb:138:1:138:7 | /foo/ | RegexLiteral | foo | +| literals.rb:139:1:139:8 | /foo/ | RegexLiteral | foo | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | RegexLiteral | foo+\\sbar\\S | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | RegexLiteral | | +| literals.rb:141:10:141:10 | 1 | IntegerLiteral | 1 | +| literals.rb:141:14:141:14 | 1 | IntegerLiteral | 1 | +| literals.rb:142:1:142:10 | /foo/ | RegexLiteral | foo | +| literals.rb:145:1:145:34 | "abcdefghijklmnopqrstuvwxyzabcdef" | StringLiteral | abcdefghijklmnopqrstuvwxyzabcdef | +| literals.rb:146:1:146:35 | "foobarfoobarfoobarfoobarfooba..." | StringLiteral | foobarfoobarfoobarfoobarfoobarfoo | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | foobar\\\\foobar\\\\foobar\\\\foobar\\\\foobar | +stringlikeLiterals +| literals.rb:46:1:46:2 | "" | | +| literals.rb:47:1:47:2 | "" | | +| literals.rb:48:1:48:7 | "hello" | hello | +| literals.rb:49:1:49:9 | "goodbye" | goodbye | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | string with escaped \\" quote | +| literals.rb:51:1:51:21 | "string with " quote" | string with " quote | +| literals.rb:52:1:52:14 | "foo bar baz" | foo bar baz | +| literals.rb:53:1:53:15 | "foo bar baz" | foo bar baz | +| literals.rb:54:1:54:20 | "foo ' bar " baz'" | foo ' bar " baz' | +| literals.rb:55:1:55:20 | "FOO ' BAR " BAZ'" | FOO ' BAR " BAZ' | +| literals.rb:56:1:56:12 | "foo\\ bar" | foo\\ bar | +| literals.rb:57:1:57:12 | "foo\\ bar" | foo\\ bar | +| literals.rb:58:1:58:20 | "2 + 2 = #{...}" | | +| literals.rb:59:1:59:22 | "3 + 4 = #{...}" | | +| literals.rb:60:1:60:20 | "2 + 2 = #{ 2 + 2 }" | 2 + 2 = #{ 2 + 2 } | +| literals.rb:61:1:61:22 | "3 + 4 = #{ 3 + 4 }" | 3 + 4 = #{ 3 + 4 } | +| literals.rb:62:1:62:5 | "foo" | foo | +| literals.rb:62:7:62:11 | "bar" | bar | +| literals.rb:62:13:62:17 | "baz" | baz | +| literals.rb:63:1:63:7 | "foo" | foo | +| literals.rb:63:9:63:13 | "bar" | bar | +| literals.rb:63:15:63:19 | "baz" | baz | +| literals.rb:64:1:64:5 | "foo" | foo | +| literals.rb:64:7:64:21 | "bar#{...}" | | +| literals.rb:64:23:64:27 | "baz" | baz | +| literals.rb:65:1:65:35 | "foo #{...} qux" | | +| literals.rb:65:9:65:28 | "bar #{...} baz" | | +| literals.rb:79:1:79:3 | :"" | | +| literals.rb:80:1:80:6 | :hello | hello | +| literals.rb:81:1:81:10 | :"foo bar" | foo bar | +| literals.rb:82:1:82:10 | :"bar baz" | bar baz | +| literals.rb:83:3:83:5 | :foo | foo | +| literals.rb:83:8:83:12 | "bar" | bar | +| literals.rb:84:1:84:10 | :"wibble" | wibble | +| literals.rb:85:1:85:17 | :"wibble wobble" | wibble wobble | +| literals.rb:86:1:86:16 | :"foo_#{...}" | | +| literals.rb:87:1:87:17 | :"foo_#{ 1 + 1 }" | foo_#{ 1 + 1 } | +| literals.rb:88:1:88:18 | :"foo_#{ 3 - 2 }" | foo_#{ 3 - 2 } | +| literals.rb:98:4:98:6 | "foo" | foo | +| literals.rb:98:8:98:10 | "bar" | bar | +| literals.rb:98:12:98:14 | "baz" | baz | +| literals.rb:99:4:99:6 | "foo" | foo | +| literals.rb:99:8:99:10 | "bar" | bar | +| literals.rb:99:12:99:14 | "baz" | baz | +| literals.rb:100:4:100:6 | "foo" | foo | +| literals.rb:100:8:100:16 | "bar#{...}" | | +| literals.rb:100:18:100:20 | "baz" | baz | +| literals.rb:101:4:101:6 | "foo" | foo | +| literals.rb:101:8:101:16 | "bar#{1+1}" | bar#{1+1} | +| literals.rb:101:18:101:20 | "baz" | baz | +| literals.rb:105:4:105:6 | :"foo" | foo | +| literals.rb:105:8:105:10 | :"bar" | bar | +| literals.rb:105:12:105:14 | :"baz" | baz | +| literals.rb:106:4:106:6 | :"foo" | foo | +| literals.rb:106:8:106:10 | :"bar" | bar | +| literals.rb:106:12:106:14 | :"baz" | baz | +| literals.rb:107:4:107:6 | :"foo" | foo | +| literals.rb:107:8:107:20 | :"bar#{...}" | | +| literals.rb:107:22:107:24 | :"baz" | baz | +| literals.rb:108:4:108:6 | :"foo" | foo | +| literals.rb:108:8:108:12 | :"bar#{" | bar#{ | +| literals.rb:108:14:108:14 | :"2" | 2 | +| literals.rb:108:16:108:16 | :"+" | + | +| literals.rb:108:18:108:18 | :"4" | 4 | +| literals.rb:108:20:108:20 | :"}" | } | +| literals.rb:108:22:108:24 | :"baz" | baz | +| literals.rb:112:3:112:5 | :foo | foo | +| literals.rb:112:11:112:14 | :bar | bar | +| literals.rb:112:22:112:26 | "baz" | baz | +| literals.rb:113:3:113:5 | :foo | foo | +| literals.rb:125:1:125:7 | `ls -l` | ls -l | +| literals.rb:126:1:126:9 | `ls -l` | ls -l | +| literals.rb:127:1:127:18 | `du -d #{...}` | | +| literals.rb:128:1:128:20 | `du -d #{...}` | | +| literals.rb:131:1:131:2 | // | | +| literals.rb:132:1:132:5 | /foo/ | foo | +| literals.rb:133:1:133:6 | /foo/ | foo | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | foo+\\sbar\\S | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | | +| literals.rb:136:1:136:8 | /foo/ | foo | +| literals.rb:137:1:137:4 | // | | +| literals.rb:138:1:138:7 | /foo/ | foo | +| literals.rb:139:1:139:8 | /foo/ | foo | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | foo+\\sbar\\S | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | | +| literals.rb:142:1:142:10 | /foo/ | foo | +| literals.rb:145:1:145:34 | "abcdefghijklmnopqrstuvwxyzabcdef" | abcdefghijklmnopqrstuvwxyzabcdef | +| literals.rb:146:1:146:35 | "foobarfoobarfoobarfoobarfooba..." | foobarfoobarfoobarfoobarfoobarfoo | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | foobar\\\\foobar\\\\foobar\\\\foobar\\\\foobar | +stringLiterals +| literals.rb:46:1:46:2 | "" | | +| literals.rb:47:1:47:2 | "" | | +| literals.rb:48:1:48:7 | "hello" | hello | +| literals.rb:49:1:49:9 | "goodbye" | goodbye | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | string with escaped \\" quote | +| literals.rb:51:1:51:21 | "string with " quote" | string with " quote | +| literals.rb:52:1:52:14 | "foo bar baz" | foo bar baz | +| literals.rb:53:1:53:15 | "foo bar baz" | foo bar baz | +| literals.rb:54:1:54:20 | "foo ' bar " baz'" | foo ' bar " baz' | +| literals.rb:55:1:55:20 | "FOO ' BAR " BAZ'" | FOO ' BAR " BAZ' | +| literals.rb:56:1:56:12 | "foo\\ bar" | foo\\ bar | +| literals.rb:57:1:57:12 | "foo\\ bar" | foo\\ bar | +| literals.rb:58:1:58:20 | "2 + 2 = #{...}" | | +| literals.rb:59:1:59:22 | "3 + 4 = #{...}" | | +| literals.rb:60:1:60:20 | "2 + 2 = #{ 2 + 2 }" | 2 + 2 = #{ 2 + 2 } | +| literals.rb:61:1:61:22 | "3 + 4 = #{ 3 + 4 }" | 3 + 4 = #{ 3 + 4 } | +| literals.rb:62:1:62:5 | "foo" | foo | +| literals.rb:62:7:62:11 | "bar" | bar | +| literals.rb:62:13:62:17 | "baz" | baz | +| literals.rb:63:1:63:7 | "foo" | foo | +| literals.rb:63:9:63:13 | "bar" | bar | +| literals.rb:63:15:63:19 | "baz" | baz | +| literals.rb:64:1:64:5 | "foo" | foo | +| literals.rb:64:7:64:21 | "bar#{...}" | | +| literals.rb:64:23:64:27 | "baz" | baz | +| literals.rb:65:1:65:35 | "foo #{...} qux" | | +| literals.rb:65:9:65:28 | "bar #{...} baz" | | +| literals.rb:83:8:83:12 | "bar" | bar | +| literals.rb:98:4:98:6 | "foo" | foo | +| literals.rb:98:8:98:10 | "bar" | bar | +| literals.rb:98:12:98:14 | "baz" | baz | +| literals.rb:99:4:99:6 | "foo" | foo | +| literals.rb:99:8:99:10 | "bar" | bar | +| literals.rb:99:12:99:14 | "baz" | baz | +| literals.rb:100:4:100:6 | "foo" | foo | +| literals.rb:100:8:100:16 | "bar#{...}" | | +| literals.rb:100:18:100:20 | "baz" | baz | +| literals.rb:101:4:101:6 | "foo" | foo | +| literals.rb:101:8:101:16 | "bar#{1+1}" | bar#{1+1} | +| literals.rb:101:18:101:20 | "baz" | baz | +| literals.rb:112:22:112:26 | "baz" | baz | +| literals.rb:145:1:145:34 | "abcdefghijklmnopqrstuvwxyzabcdef" | abcdefghijklmnopqrstuvwxyzabcdef | +| literals.rb:146:1:146:35 | "foobarfoobarfoobarfoobarfooba..." | foobarfoobarfoobarfoobarfoobarfoo | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | foobar\\\\foobar\\\\foobar\\\\foobar\\\\foobar | +regexLiterals +| literals.rb:131:1:131:2 | // | | | +| literals.rb:132:1:132:5 | /foo/ | foo | | +| literals.rb:133:1:133:6 | /foo/ | foo | i | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | foo+\\sbar\\S | | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | | | +| literals.rb:136:1:136:8 | /foo/ | foo | oxm | +| literals.rb:137:1:137:4 | // | | | +| literals.rb:138:1:138:7 | /foo/ | foo | | +| literals.rb:139:1:139:8 | /foo/ | foo | i | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | foo+\\sbar\\S | | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | | | +| literals.rb:142:1:142:10 | /foo/ | foo | mxo | +symbolLiterals +| literals.rb:79:1:79:3 | :"" | | +| literals.rb:80:1:80:6 | :hello | hello | +| literals.rb:81:1:81:10 | :"foo bar" | foo bar | +| literals.rb:82:1:82:10 | :"bar baz" | bar baz | +| literals.rb:83:3:83:5 | :foo | foo | +| literals.rb:84:1:84:10 | :"wibble" | wibble | +| literals.rb:85:1:85:17 | :"wibble wobble" | wibble wobble | +| literals.rb:86:1:86:16 | :"foo_#{...}" | | +| literals.rb:87:1:87:17 | :"foo_#{ 1 + 1 }" | foo_#{ 1 + 1 } | +| literals.rb:88:1:88:18 | :"foo_#{ 3 - 2 }" | foo_#{ 3 - 2 } | +| literals.rb:105:4:105:6 | :"foo" | foo | +| literals.rb:105:8:105:10 | :"bar" | bar | +| literals.rb:105:12:105:14 | :"baz" | baz | +| literals.rb:106:4:106:6 | :"foo" | foo | +| literals.rb:106:8:106:10 | :"bar" | bar | +| literals.rb:106:12:106:14 | :"baz" | baz | +| literals.rb:107:4:107:6 | :"foo" | foo | +| literals.rb:107:8:107:20 | :"bar#{...}" | | +| literals.rb:107:22:107:24 | :"baz" | baz | +| literals.rb:108:4:108:6 | :"foo" | foo | +| literals.rb:108:8:108:12 | :"bar#{" | bar#{ | +| literals.rb:108:14:108:14 | :"2" | 2 | +| literals.rb:108:16:108:16 | :"+" | + | +| literals.rb:108:18:108:18 | :"4" | 4 | +| literals.rb:108:20:108:20 | :"}" | } | +| literals.rb:108:22:108:24 | :"baz" | baz | +| literals.rb:112:3:112:5 | :foo | foo | +| literals.rb:112:11:112:14 | :bar | bar | +| literals.rb:113:3:113:5 | :foo | foo | +subshellLiterals +| literals.rb:125:1:125:7 | `ls -l` | ls -l | +| literals.rb:126:1:126:9 | `ls -l` | ls -l | +| literals.rb:127:1:127:18 | `du -d #{...}` | | +| literals.rb:128:1:128:20 | `du -d #{...}` | | +stringComponents +| literals.rb:48:1:48:7 | "hello" | StringLiteral | 0 | literals.rb:48:2:48:6 | hello | StringTextComponent | +| literals.rb:49:1:49:9 | "goodbye" | StringLiteral | 0 | literals.rb:49:2:49:8 | goodbye | StringTextComponent | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | StringLiteral | 0 | literals.rb:50:2:50:21 | string with escaped | StringTextComponent | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | StringLiteral | 1 | literals.rb:50:22:50:23 | \\" | StringEscapeSequenceComponent | +| literals.rb:50:1:50:30 | "string with escaped \\" quote" | StringLiteral | 2 | literals.rb:50:24:50:29 | quote | StringTextComponent | +| literals.rb:51:1:51:21 | "string with " quote" | StringLiteral | 0 | literals.rb:51:2:51:20 | string with " quote | StringTextComponent | +| literals.rb:52:1:52:14 | "foo bar baz" | StringLiteral | 0 | literals.rb:52:3:52:13 | foo bar baz | StringTextComponent | +| literals.rb:53:1:53:15 | "foo bar baz" | StringLiteral | 0 | literals.rb:53:4:53:14 | foo bar baz | StringTextComponent | +| literals.rb:54:1:54:20 | "foo ' bar " baz'" | StringLiteral | 0 | literals.rb:54:4:54:19 | foo ' bar " baz' | StringTextComponent | +| literals.rb:55:1:55:20 | "FOO ' BAR " BAZ'" | StringLiteral | 0 | literals.rb:55:4:55:19 | FOO ' BAR " BAZ' | StringTextComponent | +| literals.rb:56:1:56:12 | "foo\\ bar" | StringLiteral | 0 | literals.rb:56:4:56:11 | foo\\ bar | StringTextComponent | +| literals.rb:57:1:57:12 | "foo\\ bar" | StringLiteral | 0 | literals.rb:57:4:57:6 | foo | StringTextComponent | +| literals.rb:57:1:57:12 | "foo\\ bar" | StringLiteral | 1 | literals.rb:57:7:57:8 | \\ | StringEscapeSequenceComponent | +| literals.rb:57:1:57:12 | "foo\\ bar" | StringLiteral | 2 | literals.rb:57:9:57:11 | bar | StringTextComponent | +| literals.rb:58:1:58:20 | "2 + 2 = #{...}" | StringLiteral | 0 | literals.rb:58:2:58:9 | 2 + 2 = | StringTextComponent | +| literals.rb:58:1:58:20 | "2 + 2 = #{...}" | StringLiteral | 1 | literals.rb:58:10:58:19 | #{...} | StringInterpolationComponent | +| literals.rb:59:1:59:22 | "3 + 4 = #{...}" | StringLiteral | 0 | literals.rb:59:4:59:11 | 3 + 4 = | StringTextComponent | +| literals.rb:59:1:59:22 | "3 + 4 = #{...}" | StringLiteral | 1 | literals.rb:59:12:59:21 | #{...} | StringInterpolationComponent | +| literals.rb:60:1:60:20 | "2 + 2 = #{ 2 + 2 }" | StringLiteral | 0 | literals.rb:60:2:60:19 | 2 + 2 = #{ 2 + 2 } | StringTextComponent | +| literals.rb:61:1:61:22 | "3 + 4 = #{ 3 + 4 }" | StringLiteral | 0 | literals.rb:61:4:61:21 | 3 + 4 = #{ 3 + 4 } | StringTextComponent | +| literals.rb:62:1:62:5 | "foo" | StringLiteral | 0 | literals.rb:62:2:62:4 | foo | StringTextComponent | +| literals.rb:62:7:62:11 | "bar" | StringLiteral | 0 | literals.rb:62:8:62:10 | bar | StringTextComponent | +| literals.rb:62:13:62:17 | "baz" | StringLiteral | 0 | literals.rb:62:14:62:16 | baz | StringTextComponent | +| literals.rb:63:1:63:7 | "foo" | StringLiteral | 0 | literals.rb:63:4:63:6 | foo | StringTextComponent | +| literals.rb:63:9:63:13 | "bar" | StringLiteral | 0 | literals.rb:63:10:63:12 | bar | StringTextComponent | +| literals.rb:63:15:63:19 | "baz" | StringLiteral | 0 | literals.rb:63:16:63:18 | baz | StringTextComponent | +| literals.rb:64:1:64:5 | "foo" | StringLiteral | 0 | literals.rb:64:2:64:4 | foo | StringTextComponent | +| literals.rb:64:7:64:21 | "bar#{...}" | StringLiteral | 0 | literals.rb:64:8:64:10 | bar | StringTextComponent | +| literals.rb:64:7:64:21 | "bar#{...}" | StringLiteral | 1 | literals.rb:64:11:64:20 | #{...} | StringInterpolationComponent | +| literals.rb:64:23:64:27 | "baz" | StringLiteral | 0 | literals.rb:64:24:64:26 | baz | StringTextComponent | +| literals.rb:65:1:65:35 | "foo #{...} qux" | StringLiteral | 0 | literals.rb:65:2:65:5 | foo | StringTextComponent | +| literals.rb:65:1:65:35 | "foo #{...} qux" | StringLiteral | 1 | literals.rb:65:6:65:30 | #{...} | StringInterpolationComponent | +| literals.rb:65:1:65:35 | "foo #{...} qux" | StringLiteral | 2 | literals.rb:65:31:65:34 | qux | StringTextComponent | +| literals.rb:65:9:65:28 | "bar #{...} baz" | StringLiteral | 0 | literals.rb:65:10:65:13 | bar | StringTextComponent | +| literals.rb:65:9:65:28 | "bar #{...} baz" | StringLiteral | 1 | literals.rb:65:14:65:23 | #{...} | StringInterpolationComponent | +| literals.rb:65:9:65:28 | "bar #{...} baz" | StringLiteral | 2 | literals.rb:65:24:65:27 | baz | StringTextComponent | +| literals.rb:81:1:81:10 | :"foo bar" | SymbolLiteral | 0 | literals.rb:81:3:81:9 | foo bar | StringTextComponent | +| literals.rb:82:1:82:10 | :"bar baz" | SymbolLiteral | 0 | literals.rb:82:3:82:9 | bar baz | StringTextComponent | +| literals.rb:83:8:83:12 | "bar" | StringLiteral | 0 | literals.rb:83:9:83:11 | bar | StringTextComponent | +| literals.rb:84:1:84:10 | :"wibble" | SymbolLiteral | 0 | literals.rb:84:4:84:9 | wibble | StringTextComponent | +| literals.rb:85:1:85:17 | :"wibble wobble" | SymbolLiteral | 0 | literals.rb:85:4:85:16 | wibble wobble | StringTextComponent | +| literals.rb:86:1:86:16 | :"foo_#{...}" | SymbolLiteral | 0 | literals.rb:86:3:86:6 | foo_ | StringTextComponent | +| literals.rb:86:1:86:16 | :"foo_#{...}" | SymbolLiteral | 1 | literals.rb:86:7:86:15 | #{...} | StringInterpolationComponent | +| literals.rb:87:1:87:17 | :"foo_#{ 1 + 1 }" | SymbolLiteral | 0 | literals.rb:87:3:87:16 | foo_#{ 1 + 1 } | StringTextComponent | +| literals.rb:88:1:88:18 | :"foo_#{ 3 - 2 }" | SymbolLiteral | 0 | literals.rb:88:4:88:17 | foo_#{ 3 - 2 } | StringTextComponent | +| literals.rb:98:4:98:6 | "foo" | StringLiteral | 0 | literals.rb:98:4:98:6 | foo | StringTextComponent | +| literals.rb:98:8:98:10 | "bar" | StringLiteral | 0 | literals.rb:98:8:98:10 | bar | StringTextComponent | +| literals.rb:98:12:98:14 | "baz" | StringLiteral | 0 | literals.rb:98:12:98:14 | baz | StringTextComponent | +| literals.rb:99:4:99:6 | "foo" | StringLiteral | 0 | literals.rb:99:4:99:6 | foo | StringTextComponent | +| literals.rb:99:8:99:10 | "bar" | StringLiteral | 0 | literals.rb:99:8:99:10 | bar | StringTextComponent | +| literals.rb:99:12:99:14 | "baz" | StringLiteral | 0 | literals.rb:99:12:99:14 | baz | StringTextComponent | +| literals.rb:100:4:100:6 | "foo" | StringLiteral | 0 | literals.rb:100:4:100:6 | foo | StringTextComponent | +| literals.rb:100:8:100:16 | "bar#{...}" | StringLiteral | 0 | literals.rb:100:8:100:10 | bar | StringTextComponent | +| literals.rb:100:8:100:16 | "bar#{...}" | StringLiteral | 1 | literals.rb:100:11:100:16 | #{...} | StringInterpolationComponent | +| literals.rb:100:18:100:20 | "baz" | StringLiteral | 0 | literals.rb:100:18:100:20 | baz | StringTextComponent | +| literals.rb:101:4:101:6 | "foo" | StringLiteral | 0 | literals.rb:101:4:101:6 | foo | StringTextComponent | +| literals.rb:101:8:101:16 | "bar#{1+1}" | StringLiteral | 0 | literals.rb:101:8:101:16 | bar#{1+1} | StringTextComponent | +| literals.rb:101:18:101:20 | "baz" | StringLiteral | 0 | literals.rb:101:18:101:20 | baz | StringTextComponent | +| literals.rb:105:4:105:6 | :"foo" | SymbolLiteral | 0 | literals.rb:105:4:105:6 | foo | StringTextComponent | +| literals.rb:105:8:105:10 | :"bar" | SymbolLiteral | 0 | literals.rb:105:8:105:10 | bar | StringTextComponent | +| literals.rb:105:12:105:14 | :"baz" | SymbolLiteral | 0 | literals.rb:105:12:105:14 | baz | StringTextComponent | +| literals.rb:106:4:106:6 | :"foo" | SymbolLiteral | 0 | literals.rb:106:4:106:6 | foo | StringTextComponent | +| literals.rb:106:8:106:10 | :"bar" | SymbolLiteral | 0 | literals.rb:106:8:106:10 | bar | StringTextComponent | +| literals.rb:106:12:106:14 | :"baz" | SymbolLiteral | 0 | literals.rb:106:12:106:14 | baz | StringTextComponent | +| literals.rb:107:4:107:6 | :"foo" | SymbolLiteral | 0 | literals.rb:107:4:107:6 | foo | StringTextComponent | +| literals.rb:107:8:107:20 | :"bar#{...}" | SymbolLiteral | 0 | literals.rb:107:8:107:10 | bar | StringTextComponent | +| literals.rb:107:8:107:20 | :"bar#{...}" | SymbolLiteral | 1 | literals.rb:107:11:107:20 | #{...} | StringInterpolationComponent | +| literals.rb:107:22:107:24 | :"baz" | SymbolLiteral | 0 | literals.rb:107:22:107:24 | baz | StringTextComponent | +| literals.rb:108:4:108:6 | :"foo" | SymbolLiteral | 0 | literals.rb:108:4:108:6 | foo | StringTextComponent | +| literals.rb:108:8:108:12 | :"bar#{" | SymbolLiteral | 0 | literals.rb:108:8:108:12 | bar#{ | StringTextComponent | +| literals.rb:108:14:108:14 | :"2" | SymbolLiteral | 0 | literals.rb:108:14:108:14 | 2 | StringTextComponent | +| literals.rb:108:16:108:16 | :"+" | SymbolLiteral | 0 | literals.rb:108:16:108:16 | + | StringTextComponent | +| literals.rb:108:18:108:18 | :"4" | SymbolLiteral | 0 | literals.rb:108:18:108:18 | 4 | StringTextComponent | +| literals.rb:108:20:108:20 | :"}" | SymbolLiteral | 0 | literals.rb:108:20:108:20 | } | StringTextComponent | +| literals.rb:108:22:108:24 | :"baz" | SymbolLiteral | 0 | literals.rb:108:22:108:24 | baz | StringTextComponent | +| literals.rb:112:22:112:26 | "baz" | StringLiteral | 0 | literals.rb:112:23:112:25 | baz | StringTextComponent | +| literals.rb:125:1:125:7 | `ls -l` | SubshellLiteral | 0 | literals.rb:125:2:125:6 | ls -l | StringTextComponent | +| literals.rb:126:1:126:9 | `ls -l` | SubshellLiteral | 0 | literals.rb:126:4:126:8 | ls -l | StringTextComponent | +| literals.rb:127:1:127:18 | `du -d #{...}` | SubshellLiteral | 0 | literals.rb:127:2:127:7 | du -d | StringTextComponent | +| literals.rb:127:1:127:18 | `du -d #{...}` | SubshellLiteral | 1 | literals.rb:127:8:127:17 | #{...} | StringInterpolationComponent | +| literals.rb:128:1:128:20 | `du -d #{...}` | SubshellLiteral | 0 | literals.rb:128:4:128:9 | du -d | StringTextComponent | +| literals.rb:128:1:128:20 | `du -d #{...}` | SubshellLiteral | 1 | literals.rb:128:10:128:19 | #{...} | StringInterpolationComponent | +| literals.rb:132:1:132:5 | /foo/ | RegexLiteral | 0 | literals.rb:132:2:132:4 | foo | StringTextComponent | +| literals.rb:133:1:133:6 | /foo/ | RegexLiteral | 0 | literals.rb:133:2:133:4 | foo | StringTextComponent | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | RegexLiteral | 0 | literals.rb:134:2:134:5 | foo+ | StringTextComponent | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | RegexLiteral | 1 | literals.rb:134:6:134:7 | \\s | StringEscapeSequenceComponent | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | RegexLiteral | 2 | literals.rb:134:8:134:10 | bar | StringTextComponent | +| literals.rb:134:1:134:13 | /foo+\\sbar\\S/ | RegexLiteral | 3 | literals.rb:134:11:134:12 | \\S | StringEscapeSequenceComponent | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | RegexLiteral | 0 | literals.rb:135:2:135:4 | foo | StringTextComponent | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | RegexLiteral | 1 | literals.rb:135:5:135:14 | #{...} | StringInterpolationComponent | +| literals.rb:135:1:135:18 | /foo#{...}bar/ | RegexLiteral | 2 | literals.rb:135:15:135:17 | bar | StringTextComponent | +| literals.rb:136:1:136:8 | /foo/ | RegexLiteral | 0 | literals.rb:136:2:136:4 | foo | StringTextComponent | +| literals.rb:138:1:138:7 | /foo/ | RegexLiteral | 0 | literals.rb:138:4:138:6 | foo | StringTextComponent | +| literals.rb:139:1:139:8 | /foo/ | RegexLiteral | 0 | literals.rb:139:4:139:6 | foo | StringTextComponent | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | RegexLiteral | 0 | literals.rb:140:4:140:7 | foo+ | StringTextComponent | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | RegexLiteral | 1 | literals.rb:140:8:140:9 | \\s | StringEscapeSequenceComponent | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | RegexLiteral | 2 | literals.rb:140:10:140:12 | bar | StringTextComponent | +| literals.rb:140:1:140:15 | /foo+\\sbar\\S/ | RegexLiteral | 3 | literals.rb:140:13:140:14 | \\S | StringEscapeSequenceComponent | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | RegexLiteral | 0 | literals.rb:141:4:141:6 | foo | StringTextComponent | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | RegexLiteral | 1 | literals.rb:141:7:141:16 | #{...} | StringInterpolationComponent | +| literals.rb:141:1:141:20 | /foo#{...}bar/ | RegexLiteral | 2 | literals.rb:141:17:141:19 | bar | StringTextComponent | +| literals.rb:142:1:142:10 | /foo/ | RegexLiteral | 0 | literals.rb:142:4:142:6 | foo | StringTextComponent | +| literals.rb:145:1:145:34 | "abcdefghijklmnopqrstuvwxyzabcdef" | StringLiteral | 0 | literals.rb:145:2:145:33 | abcdefghijklmnopqrstuvwxyzabcdef | StringTextComponent | +| literals.rb:146:1:146:35 | "foobarfoobarfoobarfoobarfooba..." | StringLiteral | 0 | literals.rb:146:2:146:34 | foobarfoobarfoobarfoobarfoobarfoo | StringTextComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 0 | literals.rb:147:2:147:7 | foobar | StringTextComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 1 | literals.rb:147:8:147:9 | \\\\ | StringEscapeSequenceComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 2 | literals.rb:147:10:147:15 | foobar | StringTextComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 3 | literals.rb:147:16:147:17 | \\\\ | StringEscapeSequenceComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 4 | literals.rb:147:18:147:23 | foobar | StringTextComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 5 | literals.rb:147:24:147:25 | \\\\ | StringEscapeSequenceComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 6 | literals.rb:147:26:147:31 | foobar | StringTextComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 7 | literals.rb:147:32:147:33 | \\\\ | StringEscapeSequenceComponent | +| literals.rb:147:1:147:40 | "foobar\\\\foobar\\\\foobar\\\\fooba..." | StringLiteral | 8 | literals.rb:147:34:147:39 | foobar | StringTextComponent | +stringInterpolations +| literals.rb:58:10:58:19 | #{...} | 0 | literals.rb:58:13:58:17 | ... + ... | AddExpr | +| literals.rb:59:12:59:21 | #{...} | 0 | literals.rb:59:15:59:19 | ... + ... | AddExpr | +| literals.rb:64:11:64:20 | #{...} | 0 | literals.rb:64:14:64:18 | ... * ... | MulExpr | +| literals.rb:65:6:65:30 | #{...} | 0 | literals.rb:65:9:65:28 | "bar #{...} baz" | StringLiteral | +| literals.rb:65:14:65:23 | #{...} | 0 | literals.rb:65:17:65:21 | ... + ... | AddExpr | +| literals.rb:86:7:86:15 | #{...} | 0 | literals.rb:86:10:86:14 | ... + ... | AddExpr | +| literals.rb:100:11:100:16 | #{...} | 0 | literals.rb:100:13:100:15 | ... + ... | AddExpr | +| literals.rb:107:11:107:20 | #{...} | 0 | literals.rb:107:14:107:18 | ... + ... | AddExpr | +| literals.rb:127:8:127:17 | #{...} | 0 | literals.rb:127:11:127:15 | ... + ... | AddExpr | +| literals.rb:128:10:128:19 | #{...} | 0 | literals.rb:128:13:128:17 | ... - ... | SubExpr | +| literals.rb:135:5:135:14 | #{...} | 0 | literals.rb:135:8:135:12 | ... + ... | AddExpr | +| literals.rb:141:7:141:16 | #{...} | 0 | literals.rb:141:10:141:14 | ... + ... | AddExpr | +concatenatedStrings +| literals.rb:62:1:62:17 | "..." "..." | foobarbaz | 0 | literals.rb:62:1:62:5 | "foo" | +| literals.rb:62:1:62:17 | "..." "..." | foobarbaz | 1 | literals.rb:62:7:62:11 | "bar" | +| literals.rb:62:1:62:17 | "..." "..." | foobarbaz | 2 | literals.rb:62:13:62:17 | "baz" | +| literals.rb:63:1:63:19 | "..." "..." | foobarbaz | 0 | literals.rb:63:1:63:7 | "foo" | +| literals.rb:63:1:63:19 | "..." "..." | foobarbaz | 1 | literals.rb:63:9:63:13 | "bar" | +| literals.rb:63:1:63:19 | "..." "..." | foobarbaz | 2 | literals.rb:63:15:63:19 | "baz" | +| literals.rb:64:1:64:27 | "..." "..." | | 0 | literals.rb:64:1:64:5 | "foo" | +| literals.rb:64:1:64:27 | "..." "..." | | 1 | literals.rb:64:7:64:21 | "bar#{...}" | +| literals.rb:64:1:64:27 | "..." "..." | | 2 | literals.rb:64:23:64:27 | "baz" | +arrayLiterals +| literals.rb:91:1:91:2 | [...] | 0 | +| literals.rb:92:1:92:9 | [...] | 3 | +| literals.rb:93:1:93:14 | [...] | 3 | +| literals.rb:94:1:94:11 | [...] | 2 | +| literals.rb:94:5:94:10 | [...] | 2 | +| literals.rb:97:1:97:4 | %w(...) | 0 | +| literals.rb:98:1:98:15 | %w(...) | 3 | +| literals.rb:99:1:99:15 | %w(...) | 3 | +| literals.rb:100:1:100:21 | %w(...) | 3 | +| literals.rb:101:1:101:21 | %w(...) | 3 | +| literals.rb:104:1:104:4 | %i(...) | 0 | +| literals.rb:105:1:105:15 | %i(...) | 3 | +| literals.rb:106:1:106:15 | %i(...) | 3 | +| literals.rb:107:1:107:25 | %i(...) | 3 | +| literals.rb:108:1:108:25 | %i(...) | 7 | +arrayLiteralElements +| literals.rb:92:1:92:9 | [...] | 0 | literals.rb:92:2:92:2 | 1 | IntegerLiteral | +| literals.rb:92:1:92:9 | [...] | 1 | literals.rb:92:5:92:5 | 2 | IntegerLiteral | +| literals.rb:92:1:92:9 | [...] | 2 | literals.rb:92:8:92:8 | 3 | IntegerLiteral | +| literals.rb:93:1:93:14 | [...] | 0 | literals.rb:93:2:93:2 | 4 | IntegerLiteral | +| literals.rb:93:1:93:14 | [...] | 1 | literals.rb:93:5:93:5 | 5 | IntegerLiteral | +| literals.rb:93:1:93:14 | [...] | 2 | literals.rb:93:8:93:13 | ... / ... | DivExpr | +| literals.rb:94:1:94:11 | [...] | 0 | literals.rb:94:2:94:2 | 7 | IntegerLiteral | +| literals.rb:94:1:94:11 | [...] | 1 | literals.rb:94:5:94:10 | [...] | ArrayLiteral | +| literals.rb:94:5:94:10 | [...] | 0 | literals.rb:94:6:94:6 | 8 | IntegerLiteral | +| literals.rb:94:5:94:10 | [...] | 1 | literals.rb:94:9:94:9 | 9 | IntegerLiteral | +| literals.rb:98:1:98:15 | %w(...) | 0 | literals.rb:98:4:98:6 | "foo" | StringLiteral | +| literals.rb:98:1:98:15 | %w(...) | 1 | literals.rb:98:8:98:10 | "bar" | StringLiteral | +| literals.rb:98:1:98:15 | %w(...) | 2 | literals.rb:98:12:98:14 | "baz" | StringLiteral | +| literals.rb:99:1:99:15 | %w(...) | 0 | literals.rb:99:4:99:6 | "foo" | StringLiteral | +| literals.rb:99:1:99:15 | %w(...) | 1 | literals.rb:99:8:99:10 | "bar" | StringLiteral | +| literals.rb:99:1:99:15 | %w(...) | 2 | literals.rb:99:12:99:14 | "baz" | StringLiteral | +| literals.rb:100:1:100:21 | %w(...) | 0 | literals.rb:100:4:100:6 | "foo" | StringLiteral | +| literals.rb:100:1:100:21 | %w(...) | 1 | literals.rb:100:8:100:16 | "bar#{...}" | StringLiteral | +| literals.rb:100:1:100:21 | %w(...) | 2 | literals.rb:100:18:100:20 | "baz" | StringLiteral | +| literals.rb:101:1:101:21 | %w(...) | 0 | literals.rb:101:4:101:6 | "foo" | StringLiteral | +| literals.rb:101:1:101:21 | %w(...) | 1 | literals.rb:101:8:101:16 | "bar#{1+1}" | StringLiteral | +| literals.rb:101:1:101:21 | %w(...) | 2 | literals.rb:101:18:101:20 | "baz" | StringLiteral | +| literals.rb:105:1:105:15 | %i(...) | 0 | literals.rb:105:4:105:6 | :"foo" | SymbolLiteral | +| literals.rb:105:1:105:15 | %i(...) | 1 | literals.rb:105:8:105:10 | :"bar" | SymbolLiteral | +| literals.rb:105:1:105:15 | %i(...) | 2 | literals.rb:105:12:105:14 | :"baz" | SymbolLiteral | +| literals.rb:106:1:106:15 | %i(...) | 0 | literals.rb:106:4:106:6 | :"foo" | SymbolLiteral | +| literals.rb:106:1:106:15 | %i(...) | 1 | literals.rb:106:8:106:10 | :"bar" | SymbolLiteral | +| literals.rb:106:1:106:15 | %i(...) | 2 | literals.rb:106:12:106:14 | :"baz" | SymbolLiteral | +| literals.rb:107:1:107:25 | %i(...) | 0 | literals.rb:107:4:107:6 | :"foo" | SymbolLiteral | +| literals.rb:107:1:107:25 | %i(...) | 1 | literals.rb:107:8:107:20 | :"bar#{...}" | SymbolLiteral | +| literals.rb:107:1:107:25 | %i(...) | 2 | literals.rb:107:22:107:24 | :"baz" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 0 | literals.rb:108:4:108:6 | :"foo" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 1 | literals.rb:108:8:108:12 | :"bar#{" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 2 | literals.rb:108:14:108:14 | :"2" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 3 | literals.rb:108:16:108:16 | :"+" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 4 | literals.rb:108:18:108:18 | :"4" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 5 | literals.rb:108:20:108:20 | :"}" | SymbolLiteral | +| literals.rb:108:1:108:25 | %i(...) | 6 | literals.rb:108:22:108:24 | :"baz" | SymbolLiteral | +hashLiterals +| literals.rb:83:1:83:14 | {...} | 1 | +| literals.rb:111:1:111:2 | {...} | 0 | +| literals.rb:112:1:112:33 | {...} | 3 | +| literals.rb:113:1:113:17 | {...} | 2 | +hashLiteralElements +| literals.rb:83:1:83:14 | {...} | 0 | literals.rb:83:3:83:12 | Pair | Pair | +| literals.rb:112:1:112:33 | {...} | 0 | literals.rb:112:3:112:8 | Pair | Pair | +| literals.rb:112:1:112:33 | {...} | 1 | literals.rb:112:11:112:19 | Pair | Pair | +| literals.rb:112:1:112:33 | {...} | 2 | literals.rb:112:22:112:31 | Pair | Pair | +| literals.rb:113:1:113:17 | {...} | 0 | literals.rb:113:3:113:8 | Pair | Pair | +| literals.rb:113:1:113:17 | {...} | 1 | literals.rb:113:11:113:15 | **... | HashSplatArgument | +hashLiteralKeyValuePairs +| literals.rb:83:1:83:14 | {...} | literals.rb:83:3:83:12 | Pair | literals.rb:83:3:83:5 | :foo | literals.rb:83:8:83:12 | "bar" | +| literals.rb:112:1:112:33 | {...} | literals.rb:112:3:112:8 | Pair | literals.rb:112:3:112:5 | :foo | literals.rb:112:8:112:8 | 1 | +| literals.rb:112:1:112:33 | {...} | literals.rb:112:11:112:19 | Pair | literals.rb:112:11:112:14 | :bar | literals.rb:112:19:112:19 | 2 | +| literals.rb:112:1:112:33 | {...} | literals.rb:112:22:112:31 | Pair | literals.rb:112:22:112:26 | "baz" | literals.rb:112:31:112:31 | 3 | +| literals.rb:113:1:113:17 | {...} | literals.rb:113:3:113:8 | Pair | literals.rb:113:3:113:5 | :foo | literals.rb:113:8:113:8 | 7 | +finiteRangeLiterals +| literals.rb:116:2:116:6 | _ .. _ | literals.rb:116:2:116:2 | 1 | literals.rb:116:5:116:6 | 10 | +| literals.rb:117:2:117:7 | _ ... _ | literals.rb:117:2:117:2 | 1 | literals.rb:117:6:117:7 | 10 | +| literals.rb:118:2:118:7 | _ .. _ | literals.rb:118:2:118:2 | 1 | literals.rb:118:7:118:7 | 0 | +| literals.rb:119:2:119:11 | _ .. _ | literals.rb:119:2:119:6 | call to start | literals.rb:119:9:119:11 | ... + ... | +beginlessRangeLiterals +| literals.rb:121:2:121:4 | _ .. _ | literals.rb:121:4:121:4 | 1 | +endlessRangeLiterals +| literals.rb:120:2:120:4 | _ .. _ | literals.rb:120:2:120:2 | 1 | +| literals.rb:122:2:122:4 | _ .. _ | literals.rb:122:2:122:2 | 0 | +inclusiveRangeLiterals +| literals.rb:116:2:116:6 | _ .. _ | +| literals.rb:118:2:118:7 | _ .. _ | +| literals.rb:119:2:119:11 | _ .. _ | +| literals.rb:120:2:120:4 | _ .. _ | +| literals.rb:121:2:121:4 | _ .. _ | +| literals.rb:122:2:122:4 | _ .. _ | +exclusiveRangeLiterals +| literals.rb:117:2:117:7 | _ ... _ | +numericLiterals +| literals.rb:10:1:10:4 | 1234 | IntegerLiteral | 1234 | +| literals.rb:11:1:11:5 | 5_678 | IntegerLiteral | 5_678 | +| literals.rb:12:1:12:1 | 0 | IntegerLiteral | 0 | +| literals.rb:13:1:13:5 | 0d900 | IntegerLiteral | 0d900 | +| literals.rb:16:1:16:6 | 0x1234 | IntegerLiteral | 0x1234 | +| literals.rb:17:1:17:10 | 0xdeadbeef | IntegerLiteral | 0xdeadbeef | +| literals.rb:18:1:18:11 | 0xF00D_face | IntegerLiteral | 0xF00D_face | +| literals.rb:21:1:21:4 | 0123 | IntegerLiteral | 0123 | +| literals.rb:22:1:22:5 | 0o234 | IntegerLiteral | 0o234 | +| literals.rb:23:1:23:6 | 0O45_6 | IntegerLiteral | 0O45_6 | +| literals.rb:26:1:26:10 | 0b10010100 | IntegerLiteral | 0b10010100 | +| literals.rb:27:1:27:11 | 0B011_01101 | IntegerLiteral | 0B011_01101 | +| literals.rb:30:1:30:5 | 12.34 | FloatLiteral | 12.34 | +| literals.rb:31:1:31:7 | 1234e-2 | FloatLiteral | 1234e-2 | +| literals.rb:32:1:32:7 | 1.234E1 | FloatLiteral | 1.234E1 | +| literals.rb:35:1:35:3 | 23r | RationalLiteral | 23r | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85r | +| literals.rb:39:1:39:2 | 2i | ComplexLiteral | 2i | +| literals.rb:58:13:58:13 | 2 | IntegerLiteral | 2 | +| literals.rb:58:17:58:17 | 2 | IntegerLiteral | 2 | +| literals.rb:59:15:59:15 | 3 | IntegerLiteral | 3 | +| literals.rb:59:19:59:19 | 4 | IntegerLiteral | 4 | +| literals.rb:64:14:64:14 | 1 | IntegerLiteral | 1 | +| literals.rb:64:18:64:18 | 1 | IntegerLiteral | 1 | +| literals.rb:65:17:65:17 | 2 | IntegerLiteral | 2 | +| literals.rb:65:21:65:21 | 3 | IntegerLiteral | 3 | +| literals.rb:86:10:86:10 | 2 | IntegerLiteral | 2 | +| literals.rb:86:14:86:14 | 2 | IntegerLiteral | 2 | +| literals.rb:92:2:92:2 | 1 | IntegerLiteral | 1 | +| literals.rb:92:5:92:5 | 2 | IntegerLiteral | 2 | +| literals.rb:92:8:92:8 | 3 | IntegerLiteral | 3 | +| literals.rb:93:2:93:2 | 4 | IntegerLiteral | 4 | +| literals.rb:93:5:93:5 | 5 | IntegerLiteral | 5 | +| literals.rb:93:8:93:9 | 12 | IntegerLiteral | 12 | +| literals.rb:93:13:93:13 | 2 | IntegerLiteral | 2 | +| literals.rb:94:2:94:2 | 7 | IntegerLiteral | 7 | +| literals.rb:94:6:94:6 | 8 | IntegerLiteral | 8 | +| literals.rb:94:9:94:9 | 9 | IntegerLiteral | 9 | +| literals.rb:100:13:100:13 | 1 | IntegerLiteral | 1 | +| literals.rb:100:15:100:15 | 1 | IntegerLiteral | 1 | +| literals.rb:107:14:107:14 | 2 | IntegerLiteral | 2 | +| literals.rb:107:18:107:18 | 4 | IntegerLiteral | 4 | +| literals.rb:112:8:112:8 | 1 | IntegerLiteral | 1 | +| literals.rb:112:19:112:19 | 2 | IntegerLiteral | 2 | +| literals.rb:112:31:112:31 | 3 | IntegerLiteral | 3 | +| literals.rb:113:8:113:8 | 7 | IntegerLiteral | 7 | +| literals.rb:116:2:116:2 | 1 | IntegerLiteral | 1 | +| literals.rb:116:5:116:6 | 10 | IntegerLiteral | 10 | +| literals.rb:117:2:117:2 | 1 | IntegerLiteral | 1 | +| literals.rb:117:6:117:7 | 10 | IntegerLiteral | 10 | +| literals.rb:118:2:118:2 | 1 | IntegerLiteral | 1 | +| literals.rb:118:7:118:7 | 0 | IntegerLiteral | 0 | +| literals.rb:119:9:119:9 | 2 | IntegerLiteral | 2 | +| literals.rb:119:11:119:11 | 3 | IntegerLiteral | 3 | +| literals.rb:120:2:120:2 | 1 | IntegerLiteral | 1 | +| literals.rb:121:4:121:4 | 1 | IntegerLiteral | 1 | +| literals.rb:122:2:122:2 | 0 | IntegerLiteral | 0 | +| literals.rb:122:6:122:6 | 1 | IntegerLiteral | 1 | +| literals.rb:127:11:127:11 | 1 | IntegerLiteral | 1 | +| literals.rb:127:15:127:15 | 1 | IntegerLiteral | 1 | +| literals.rb:128:13:128:13 | 5 | IntegerLiteral | 5 | +| literals.rb:128:17:128:17 | 4 | IntegerLiteral | 4 | +| literals.rb:135:8:135:8 | 1 | IntegerLiteral | 1 | +| literals.rb:135:12:135:12 | 1 | IntegerLiteral | 1 | +| literals.rb:141:10:141:10 | 1 | IntegerLiteral | 1 | +| literals.rb:141:14:141:14 | 1 | IntegerLiteral | 1 | +integerLiterals +| literals.rb:10:1:10:4 | 1234 | IntegerLiteral | 1234 | +| literals.rb:11:1:11:5 | 5_678 | IntegerLiteral | 5_678 | +| literals.rb:12:1:12:1 | 0 | IntegerLiteral | 0 | +| literals.rb:13:1:13:5 | 0d900 | IntegerLiteral | 0d900 | +| literals.rb:16:1:16:6 | 0x1234 | IntegerLiteral | 0x1234 | +| literals.rb:17:1:17:10 | 0xdeadbeef | IntegerLiteral | 0xdeadbeef | +| literals.rb:18:1:18:11 | 0xF00D_face | IntegerLiteral | 0xF00D_face | +| literals.rb:21:1:21:4 | 0123 | IntegerLiteral | 0123 | +| literals.rb:22:1:22:5 | 0o234 | IntegerLiteral | 0o234 | +| literals.rb:23:1:23:6 | 0O45_6 | IntegerLiteral | 0O45_6 | +| literals.rb:26:1:26:10 | 0b10010100 | IntegerLiteral | 0b10010100 | +| literals.rb:27:1:27:11 | 0B011_01101 | IntegerLiteral | 0B011_01101 | +| literals.rb:58:13:58:13 | 2 | IntegerLiteral | 2 | +| literals.rb:58:17:58:17 | 2 | IntegerLiteral | 2 | +| literals.rb:59:15:59:15 | 3 | IntegerLiteral | 3 | +| literals.rb:59:19:59:19 | 4 | IntegerLiteral | 4 | +| literals.rb:64:14:64:14 | 1 | IntegerLiteral | 1 | +| literals.rb:64:18:64:18 | 1 | IntegerLiteral | 1 | +| literals.rb:65:17:65:17 | 2 | IntegerLiteral | 2 | +| literals.rb:65:21:65:21 | 3 | IntegerLiteral | 3 | +| literals.rb:86:10:86:10 | 2 | IntegerLiteral | 2 | +| literals.rb:86:14:86:14 | 2 | IntegerLiteral | 2 | +| literals.rb:92:2:92:2 | 1 | IntegerLiteral | 1 | +| literals.rb:92:5:92:5 | 2 | IntegerLiteral | 2 | +| literals.rb:92:8:92:8 | 3 | IntegerLiteral | 3 | +| literals.rb:93:2:93:2 | 4 | IntegerLiteral | 4 | +| literals.rb:93:5:93:5 | 5 | IntegerLiteral | 5 | +| literals.rb:93:8:93:9 | 12 | IntegerLiteral | 12 | +| literals.rb:93:13:93:13 | 2 | IntegerLiteral | 2 | +| literals.rb:94:2:94:2 | 7 | IntegerLiteral | 7 | +| literals.rb:94:6:94:6 | 8 | IntegerLiteral | 8 | +| literals.rb:94:9:94:9 | 9 | IntegerLiteral | 9 | +| literals.rb:100:13:100:13 | 1 | IntegerLiteral | 1 | +| literals.rb:100:15:100:15 | 1 | IntegerLiteral | 1 | +| literals.rb:107:14:107:14 | 2 | IntegerLiteral | 2 | +| literals.rb:107:18:107:18 | 4 | IntegerLiteral | 4 | +| literals.rb:112:8:112:8 | 1 | IntegerLiteral | 1 | +| literals.rb:112:19:112:19 | 2 | IntegerLiteral | 2 | +| literals.rb:112:31:112:31 | 3 | IntegerLiteral | 3 | +| literals.rb:113:8:113:8 | 7 | IntegerLiteral | 7 | +| literals.rb:116:2:116:2 | 1 | IntegerLiteral | 1 | +| literals.rb:116:5:116:6 | 10 | IntegerLiteral | 10 | +| literals.rb:117:2:117:2 | 1 | IntegerLiteral | 1 | +| literals.rb:117:6:117:7 | 10 | IntegerLiteral | 10 | +| literals.rb:118:2:118:2 | 1 | IntegerLiteral | 1 | +| literals.rb:118:7:118:7 | 0 | IntegerLiteral | 0 | +| literals.rb:119:9:119:9 | 2 | IntegerLiteral | 2 | +| literals.rb:119:11:119:11 | 3 | IntegerLiteral | 3 | +| literals.rb:120:2:120:2 | 1 | IntegerLiteral | 1 | +| literals.rb:121:4:121:4 | 1 | IntegerLiteral | 1 | +| literals.rb:122:2:122:2 | 0 | IntegerLiteral | 0 | +| literals.rb:122:6:122:6 | 1 | IntegerLiteral | 1 | +| literals.rb:127:11:127:11 | 1 | IntegerLiteral | 1 | +| literals.rb:127:15:127:15 | 1 | IntegerLiteral | 1 | +| literals.rb:128:13:128:13 | 5 | IntegerLiteral | 5 | +| literals.rb:128:17:128:17 | 4 | IntegerLiteral | 4 | +| literals.rb:135:8:135:8 | 1 | IntegerLiteral | 1 | +| literals.rb:135:12:135:12 | 1 | IntegerLiteral | 1 | +| literals.rb:141:10:141:10 | 1 | IntegerLiteral | 1 | +| literals.rb:141:14:141:14 | 1 | IntegerLiteral | 1 | +floatLiterals +| literals.rb:30:1:30:5 | 12.34 | FloatLiteral | 12.34 | +| literals.rb:31:1:31:7 | 1234e-2 | FloatLiteral | 1234e-2 | +| literals.rb:32:1:32:7 | 1.234E1 | FloatLiteral | 1.234E1 | +rationalLiterals +| literals.rb:35:1:35:3 | 23r | RationalLiteral | 23r | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85r | +complexLiterals +| literals.rb:39:1:39:2 | 2i | ComplexLiteral | 2i | diff --git a/ql/test/library-tests/ast/literals/literals.ql b/ql/test/library-tests/ast/literals/literals.ql new file mode 100644 index 00000000000..23e9cb05fc0 --- /dev/null +++ b/ql/test/library-tests/ast/literals/literals.ql @@ -0,0 +1,110 @@ +import ruby + +query predicate allLiterals(Literal l, string pClass, string valueText) { + pClass = l.getAPrimaryQlClass() and + ( + valueText = l.getValueText() + or + not exists(l.getValueText()) and valueText = "" + ) +} + +query predicate stringlikeLiterals(StringlikeLiteral l, string valueText) { + valueText = l.getValueText() + or + not exists(l.getValueText()) and valueText = "" +} + +query predicate stringLiterals(StringLiteral l, string valueText) { + stringlikeLiterals(l, valueText) +} + +query predicate regexLiterals(RegexLiteral l, string valueText, string flags) { + stringlikeLiterals(l, valueText) and flags = l.getFlagString() +} + +query predicate symbolLiterals(SymbolLiteral l, string valueText) { + stringlikeLiterals(l, valueText) +} + +query predicate subshellLiterals(SubshellLiteral l, string valueText) { + stringlikeLiterals(l, valueText) +} + +query predicate stringComponents( + StringlikeLiteral l, string lClass, int i, StringComponent c, string cClass +) { + lClass = l.getAPrimaryQlClass() and + c = l.getComponent(i) and + cClass = c.getAPrimaryQlClass() +} + +query predicate stringInterpolations(StringInterpolationComponent c, int i, Expr e, string eClass) { + e = c.getStmt(i) and eClass = e.getAPrimaryQlClass() +} + +query predicate concatenatedStrings(StringConcatenation sc, string valueText, int n, StringLiteral l) { + l = sc.getString(n) and + ( + valueText = sc.getConcatenatedValueText() + or + not exists(sc.getConcatenatedValueText()) and valueText = "" + ) +} + +query predicate arrayLiterals(ArrayLiteral l, int numElements) { + numElements = l.getNumberOfElements() +} + +query predicate arrayLiteralElements(ArrayLiteral l, int n, Expr elementN, string pClass) { + elementN = l.getElement(n) and pClass = elementN.getAPrimaryQlClass() +} + +query predicate hashLiterals(HashLiteral l, int numElements) { + numElements = l.getNumberOfElements() +} + +query predicate hashLiteralElements(HashLiteral l, int n, Expr elementN, string pClass) { + elementN = l.getElement(n) and pClass = elementN.getAPrimaryQlClass() +} + +query predicate hashLiteralKeyValuePairs(HashLiteral l, Pair p, Expr k, Expr v) { + p = l.getAKeyValuePair() and k = p.getKey() and v = p.getValue() +} + +query predicate finiteRangeLiterals(RangeLiteral l, Expr begin, Expr end) { + begin = l.getBegin() and + end = l.getEnd() +} + +query predicate beginlessRangeLiterals(RangeLiteral l, Expr end) { + not exists(l.getBegin()) and end = l.getEnd() +} + +query predicate endlessRangeLiterals(RangeLiteral l, Expr begin) { + begin = l.getBegin() and not exists(l.getEnd()) +} + +query predicate inclusiveRangeLiterals(RangeLiteral l) { l.isInclusive() } + +query predicate exclusiveRangeLiterals(RangeLiteral l) { l.isExclusive() } + +query predicate numericLiterals(NumericLiteral l, string pClass, string valueText) { + allLiterals(l, pClass, valueText) +} + +query predicate integerLiterals(IntegerLiteral l, string pClass, string valueText) { + allLiterals(l, pClass, valueText) +} + +query predicate floatLiterals(FloatLiteral l, string pClass, string valueText) { + allLiterals(l, pClass, valueText) +} + +query predicate rationalLiterals(RationalLiteral l, string pClass, string valueText) { + allLiterals(l, pClass, valueText) +} + +query predicate complexLiterals(ComplexLiteral l, string pClass, string valueText) { + allLiterals(l, pClass, valueText) +} diff --git a/ql/test/library-tests/ast/literals/literals.rb b/ql/test/library-tests/ast/literals/literals.rb new file mode 100644 index 00000000000..2202223c9bf --- /dev/null +++ b/ql/test/library-tests/ast/literals/literals.rb @@ -0,0 +1,147 @@ +# boolean values and nil +nil +NIL +false +FALSE +true +TRUE + +# decimal integers +1234 +5_678 +0 +0d900 + +# hexadecimal integers +0x1234 +0xdeadbeef +0xF00D_face + +# octal integers +0123 +0o234 +0O45_6 + +# binary integers +0b10010100 +0B011_01101 + +# floating-point numbers +12.34 +1234e-2 +1.234E1 + +# rational numbers +23r +9.85r + +# imaginary/complex numbers +2i +#3.14i # BAD: parse error + +# imaginary & rational +#1.2ri # BAD: parse error + +# strings +"" +'' +"hello" +'goodbye' +"string with escaped \" quote" +'string with " quote' +%(foo bar baz) +%q +%q(foo ' bar " baz') +%Q(FOO ' BAR " BAZ') +%q(foo\ bar) # "foo\\ bar" +%Q(foo\ bar) # "foo bar" +"2 + 2 = #{ 2 + 2 }" # interpolation +%Q(3 + 4 = #{ 3 + 4 }) # interpolation +'2 + 2 = #{ 2 + 2 }' # no interpolation +%q(3 + 4 = #{ 3 + 4 }) # no interpolation +"foo" 'bar' "baz" # concatenated +%q{foo} "bar" 'baz' # concatenated +"foo" "bar#{ 1 * 1 }" 'baz' # concatenated, interpolation +"foo #{ "bar #{ 2 + 3 } baz" } qux" # interpolation containing string containing interpolation + +# characters +?x +?\n +?\s +?\\ +?\u{58} +?\C-a +?\M-a +?\M-\C-a +?\C-\M-a + +# symbols +:"" +:hello +:"foo bar" +:'bar baz' +{ foo: "bar" } +%s(wibble) +%s[wibble wobble] +:"foo_#{ 2 + 2}" # interpolation +:'foo_#{ 1 + 1 }' # no interpolation +%s(foo_#{ 3 - 2 }) # no interpolation + +# arrays +[] +[1, 2, 3] +[4, 5, 12 / 2] +[7, [8, 9]] + +# arrays of strings +%w() +%w(foo bar baz) +%w!foo bar baz! +%W[foo bar#{1+1} baz] # interpolation +%w[foo bar#{1+1} baz] # no interpolation + +# arrays of symbols +%i() +%i(foo bar baz) +%i@foo bar baz@ +%I(foo bar#{ 2 + 4 } baz) # interpolation +%i(foo bar#{ 2 + 4 } baz) # no interpolation + +# hashes +{} +{ foo: 1, :bar => 2, 'baz' => 3 } +{ foo: 7, **bar } # hash-splat argument + +# ranges +(1..10) +(1...10) +(1 .. 0) +(start..2+3) +(1..) # 1 to infinity +(..1) # -infinity to 1 +(0..-1) # BAD: parsed as binary with minus endless range on the LHS + +# subshell +`ls -l` +%x(ls -l) +`du -d #{ 1 + 1 }` # interpolation +%x@du -d #{ 5 - 4 }@ # interpolation + +# regular expressions +// +/foo/ +/foo/i +/foo+\sbar\S/ +/foo#{ 1 + 1 }bar/ # interpolation +/foo/oxm +%r[] +%r(foo) +%r:foo:i +%r{foo+\sbar\S} +%r{foo#{ 1 + 1 }bar} # interpolation +%r:foo:mxo + +# long strings +'abcdefghijklmnopqrstuvwxyzabcdef' # 32 chars, should not be truncated +'foobarfoobarfoobarfoobarfoobarfoo' # 33 chars, should be truncated +"foobar\\foobar\\foobar\\foobar\\foobar" # several short components, but long enough overall to be truncated diff --git a/ql/test/library-tests/ast/misc/misc.expected b/ql/test/library-tests/ast/misc/misc.expected index 3f2c98f43fd..45235cd5787 100644 --- a/ql/test/library-tests/ast/misc/misc.expected +++ b/ql/test/library-tests/ast/misc/misc.expected @@ -18,4 +18,4 @@ alias | misc.rb:9:1:9:16 | alias ... | new | misc.rb:9:7:9:11 | super | super | MethodName | | misc.rb:9:1:9:16 | alias ... | old | misc.rb:9:13:9:16 | self | self | MethodName | | misc.rb:10:1:10:24 | alias ... | new | misc.rb:10:7:10:17 | :"\\n#{...}" | (none) | MethodName | -| misc.rb:10:1:10:24 | alias ... | old | misc.rb:10:19:10:24 | :foo | foo | MethodName | +| misc.rb:10:1:10:24 | alias ... | old | misc.rb:10:19:10:24 | :"foo" | foo | MethodName | diff --git a/ql/test/library-tests/ast/operations/binary.expected b/ql/test/library-tests/ast/operations/binary.expected index d1b565ef673..e59833bd54a 100644 --- a/ql/test/library-tests/ast/operations/binary.expected +++ b/ql/test/library-tests/ast/operations/binary.expected @@ -22,8 +22,8 @@ binaryOperations | operations.rb:59:1:59:5 | ... < ... | < | operations.rb:59:1:59:1 | a | operations.rb:59:5:59:5 | b | LTExpr | | operations.rb:60:1:60:8 | ... <= ... | <= | operations.rb:60:1:60:1 | 7 | operations.rb:60:6:60:8 | foo | LEExpr | | operations.rb:63:1:63:7 | ... <=> ... | <=> | operations.rb:63:1:63:1 | a | operations.rb:63:7:63:7 | b | SpaceshipExpr | -| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:1:64:4 | name | operations.rb:64:9:64:15 | foo.* | RegexMatchExpr | -| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:1:65:6 | handle | operations.rb:65:11:65:17 | .*bar | NoRegexMatchExpr | +| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:1:64:4 | name | operations.rb:64:9:64:15 | /foo.*/ | RegexMatchExpr | +| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:1:65:6 | handle | operations.rb:65:11:65:17 | /.*bar/ | NoRegexMatchExpr | binaryArithmeticOperations | operations.rb:31:1:31:7 | ... + ... | + | operations.rb:31:1:31:1 | w | operations.rb:31:5:31:7 | 234 | AddExpr | | operations.rb:32:1:32:6 | ... - ... | - | operations.rb:32:1:32:1 | x | operations.rb:32:5:32:6 | 17 | SubExpr | @@ -62,6 +62,6 @@ relationalOperations spaceshipExprs | operations.rb:63:1:63:7 | ... <=> ... | <=> | operations.rb:63:1:63:1 | a | operations.rb:63:7:63:7 | b | SpaceshipExpr | regexMatchExprs -| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:1:64:4 | name | operations.rb:64:9:64:15 | foo.* | RegexMatchExpr | +| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:1:64:4 | name | operations.rb:64:9:64:15 | /foo.*/ | RegexMatchExpr | noRegexMatchExprs -| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:1:65:6 | handle | operations.rb:65:11:65:17 | .*bar | NoRegexMatchExpr | +| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:1:65:6 | handle | operations.rb:65:11:65:17 | /.*bar/ | NoRegexMatchExpr | diff --git a/ql/test/library-tests/ast/operations/operation.expected b/ql/test/library-tests/ast/operations/operation.expected index b2ed55dee47..3d5346e6346 100644 --- a/ql/test/library-tests/ast/operations/operation.expected +++ b/ql/test/library-tests/ast/operations/operation.expected @@ -87,9 +87,9 @@ | operations.rb:63:1:63:7 | ... <=> ... | <=> | operations.rb:63:1:63:1 | a | SpaceshipExpr | | operations.rb:63:1:63:7 | ... <=> ... | <=> | operations.rb:63:7:63:7 | b | SpaceshipExpr | | operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:1:64:4 | name | RegexMatchExpr | -| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:9:64:15 | foo.* | RegexMatchExpr | +| operations.rb:64:1:64:15 | ... =~ ... | =~ | operations.rb:64:9:64:15 | /foo.*/ | RegexMatchExpr | | operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:1:65:6 | handle | NoRegexMatchExpr | -| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:11:65:17 | .*bar | NoRegexMatchExpr | +| operations.rb:65:1:65:17 | ... !~ ... | !~ | operations.rb:65:11:65:17 | /.*bar/ | NoRegexMatchExpr | | operations.rb:68:1:68:8 | ... += ... | += | operations.rb:68:1:68:1 | x | AssignAddExpr | | operations.rb:68:1:68:8 | ... += ... | += | operations.rb:68:6:68:8 | 128 | AssignAddExpr | | operations.rb:69:1:69:7 | ... -= ... | -= | operations.rb:69:1:69:1 | y | AssignSubExpr | diff --git a/ql/test/library-tests/controlflow/graph/Cfg.expected b/ql/test/library-tests/controlflow/graph/Cfg.expected index 936d3e7d530..67c03b0ff51 100644 --- a/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -230,9 +230,9 @@ break_ensure.rb: #-----| -> if ... # 9| puts -#-----| -> elements nil +#-----| -> "elements nil" -# 9| elements nil +# 9| "elements nil" #-----| -> call to puts # 13| m2 @@ -312,15 +312,15 @@ break_ensure.rb: #-----| -> [ensure: break] if ... # 21| puts -#-----| -> elements nil +#-----| -> "elements nil" # 21| [ensure: break] puts -#-----| -> [ensure: break] elements nil +#-----| -> [ensure: break] "elements nil" -# 21| elements nil +# 21| "elements nil" #-----| -> call to puts -# 21| [ensure: break] elements nil +# 21| [ensure: break] "elements nil" #-----| -> [ensure: break] call to puts # 27| m3 @@ -416,9 +416,9 @@ break_ensure.rb: #-----| -> exit m3 (normal) # 41| puts -#-----| -> Done +#-----| -> "Done" -# 41| Done +# 41| "Done" #-----| -> call to puts # 44| m4 @@ -460,9 +460,9 @@ break_ensure.rb: #-----| raise -> [ensure: raise] ensure ... # 48| raise -#-----| -> +#-----| -> "" -# 48| +# 48| "" #-----| -> call to raise # 50| ensure ... @@ -543,9 +543,9 @@ case.rb: #-----| -> if ... # 3| puts -#-----| -> x2 +#-----| -> "x2" -# 3| x2 +# 3| "x2" #-----| -> call to puts # 4| when ... @@ -559,9 +559,9 @@ case.rb: #-----| -> exit if_in_case (normal) # 4| puts -#-----| -> 2 +#-----| -> "2" -# 4| 2 +# 4| "2" #-----| -> call to puts cfg.rb: @@ -589,35 +589,35 @@ cfg.rb: # 5| 42 #-----| -> b -# 7| SymbolArray +# 7| %i(...) #-----| -> b # 7| :"one#{...}" -#-----| -> :another +#-----| -> :"another" -# 7| Interpolation +# 7| #{...} #-----| -> :"one#{...}" # 7| b -#-----| -> Interpolation +#-----| -> #{...} -# 7| :another -#-----| -> SymbolArray +# 7| :"another" +#-----| -> %i(...) -# 9| StringArray +# 9| %w(...) #-----| -> puts -# 9| BareString -#-----| -> BareString +# 9| "one#{...}" +#-----| -> "another" -# 9| Interpolation -#-----| -> BareString +# 9| #{...} +#-----| -> "one#{...}" # 9| b -#-----| -> Interpolation +#-----| -> #{...} -# 9| BareString -#-----| -> StringArray +# 9| "another" +#-----| -> %w(...) # 12| call to puts #-----| -> BEGIN { ... } @@ -635,9 +635,9 @@ cfg.rb: #-----| -> exit BEGIN { ... } (normal) # 16| puts -#-----| -> hello +#-----| -> "hello" -# 16| hello +# 16| "hello" #-----| -> call to puts # 19| END { ... } @@ -647,9 +647,9 @@ cfg.rb: #-----| -> exit END { ... } (normal) # 20| puts -#-----| -> world +#-----| -> "world" -# 20| world +# 20| "world" #-----| -> call to puts # 23| ... + ... @@ -768,9 +768,9 @@ cfg.rb: #-----| -> case ... # 42| puts -#-----| -> one +#-----| -> "one" -# 42| one +# 42| "one" #-----| -> call to puts # 43| when ... @@ -792,18 +792,18 @@ cfg.rb: #-----| -> case ... # 43| puts -#-----| -> some +#-----| -> "some" -# 43| some +# 43| "some" #-----| -> call to puts # 44| call to puts #-----| -> case ... # 44| puts -#-----| -> many +#-----| -> "many" -# 44| many +# 44| "many" #-----| -> call to puts # 47| case ... @@ -823,12 +823,12 @@ cfg.rb: #-----| -> ... == ... # 48| call to puts -#-----| -> a +#-----| -> "a" # 48| puts -#-----| -> one +#-----| -> "one" -# 48| one +# 48| "one" #-----| -> call to puts # 49| when ... @@ -846,7 +846,7 @@ cfg.rb: # 49| ... > ... #-----| true -> puts -#-----| false -> a +#-----| false -> "a" # 49| b #-----| -> 1 @@ -855,12 +855,12 @@ cfg.rb: #-----| -> ... > ... # 49| call to puts -#-----| -> a +#-----| -> "a" # 49| puts -#-----| -> some +#-----| -> "some" -# 49| some +# 49| "some" #-----| -> call to puts # 52| ... = ... @@ -869,19 +869,19 @@ cfg.rb: # 52| chained #-----| -> ... = ... -# 52| a +# 52| "a" #-----| -> chained -# 52| #{...} -#-----| -> string +# 52| "#{...}" +#-----| -> "string" -# 52| Interpolation -#-----| -> #{...} +# 52| #{...} +#-----| -> "#{...}" # 52| chained -#-----| -> Interpolation +#-----| -> #{...} -# 52| string +# 52| "string" #-----| -> chained # 54| ... = ... @@ -915,7 +915,7 @@ cfg.rb: #-----| -> complex # 60| ... = ... -#-----| -> constant +#-----| -> "constant" # 60| conditional #-----| -> ... = ... @@ -924,8 +924,8 @@ cfg.rb: #-----| -> conditional # 60| ... < ... -#-----| true -> hello -#-----| false -> bye +#-----| true -> "hello" +#-----| false -> "bye" # 60| call to b #-----| -> 10 @@ -933,10 +933,10 @@ cfg.rb: # 60| 10 #-----| -> ... < ... -# 60| hello +# 60| "hello" #-----| -> ... ? ... : ... -# 60| bye +# 60| "bye" #-----| -> ... ? ... : ... # 61| ... = ... @@ -945,7 +945,7 @@ cfg.rb: # 61| C #-----| -> ... = ... -# 61| constant +# 61| "constant" #-----| -> C # 62| ... = ... @@ -966,20 +966,20 @@ cfg.rb: # 62| z #-----| -> (..., ...) -# 62| Array +# 62| [...] #-----| -> x # 62| 1 #-----| -> 2 -# 62| Array -#-----| -> Array +# 62| [...] +#-----| -> [...] # 62| 2 #-----| -> 3 # 62| 3 -#-----| -> Array +#-----| -> [...] # 63| pattern #-----| -> 1 @@ -1020,7 +1020,7 @@ cfg.rb: # 67| items #-----| -> ... = ... -# 67| Array +# 67| [...] #-----| -> items # 67| 1 @@ -1030,7 +1030,7 @@ cfg.rb: #-----| -> 3 # 67| 3 -#-----| -> Array +#-----| -> [...] # 68| call to puts #-----| -> print @@ -1057,9 +1057,9 @@ cfg.rb: #-----| -> exit print (normal) # 70| puts -#-----| -> silly +#-----| -> "silly" -# 70| silly +# 70| "silly" #-----| -> call to puts # 74| ... = ... @@ -1113,9 +1113,9 @@ cfg.rb: #-----| -> ensure ... # 83| puts -#-----| -> ok +#-----| -> "ok" -# 83| ok +# 83| "ok" #-----| -> call to puts # 84| ensure ... @@ -1125,9 +1125,9 @@ cfg.rb: #-----| -> x # 85| puts -#-----| -> end +#-----| -> "end" -# 85| end +# 85| "end" #-----| -> call to puts # 88| ... = ... @@ -1136,14 +1136,14 @@ cfg.rb: # 88| escape #-----| -> ... = ... -# 88| \u1234#{...}\n +# 88| "\u1234#{...}\n" #-----| -> escape -# 88| Interpolation -#-----| -> \u1234#{...}\n +# 88| #{...} +#-----| -> "\u1234#{...}\n" # 88| x -#-----| -> Interpolation +#-----| -> #{...} # 90| for ... in ... #-----| -> 42 @@ -1155,7 +1155,7 @@ cfg.rb: #-----| empty -> for ... in ... #-----| non-empty -> x -# 90| Array +# 90| [...] #-----| -> In # 90| 1.4 @@ -1165,7 +1165,7 @@ cfg.rb: #-----| -> 3.4e5 # 90| 3.4e5 -#-----| -> Array +#-----| -> [...] # 91| if ... #-----| -> puts @@ -1193,7 +1193,7 @@ cfg.rb: #-----| -> call to puts # 95| ... = ... -#-----| -> a +#-----| -> "a" # 95| $global #-----| -> ... = ... @@ -1207,34 +1207,34 @@ cfg.rb: # 97| map1 #-----| -> ... = ... -# 97| Hash +# 97| {...} #-----| -> map1 # 97| Pair -#-----| -> c +#-----| -> "c" -# 97| a -#-----| -> b +# 97| "a" +#-----| -> "b" -# 97| b +# 97| "b" #-----| -> Pair # 97| Pair #-----| -> :e -# 97| c -#-----| -> d +# 97| "c" +#-----| -> "d" -# 97| d +# 97| "d" #-----| -> Pair # 97| Pair -#-----| -> Hash +#-----| -> {...} # 97| :e -#-----| -> f +#-----| -> "f" -# 97| f +# 97| "f" #-----| -> Pair # 98| ... = ... @@ -1243,11 +1243,11 @@ cfg.rb: # 98| map2 #-----| -> ... = ... -# 98| Hash +# 98| {...} #-----| -> map2 # 98| **... -#-----| -> x +#-----| -> "x" # 98| map1 #-----| -> **... @@ -1255,20 +1255,20 @@ cfg.rb: # 98| Pair #-----| -> map1 -# 98| x -#-----| -> y +# 98| "x" +#-----| -> "y" -# 98| y +# 98| "y" #-----| -> Pair # 98| **... -#-----| -> Hash +#-----| -> {...} # 98| map1 #-----| -> **... # 101| parameters -#-----| -> healthy +#-----| -> "healthy" # 101| parameters #-----| -> parameters @@ -1308,12 +1308,12 @@ cfg.rb: #-----| -> ...[...] # 106| ... = ... -#-----| -> food +#-----| -> "food" # 106| type #-----| -> ... = ... -# 106| healthy +# 106| "healthy" #-----| -> type # 107| ... = ... @@ -1322,7 +1322,7 @@ cfg.rb: # 107| table #-----| -> ... = ... -# 107| food +# 107| "food" #-----| -> table # 108| call to puts @@ -1340,17 +1340,17 @@ cfg.rb: # 108| HeredocBody #-----| -> () -# 109| Interpolation +# 109| #{...} #-----| -> call to type # 109| call to table -#-----| -> Interpolation +#-----| -> #{...} -# 110| Interpolation +# 110| #{...} #-----| -> HeredocBody # 110| call to type -#-----| -> Interpolation +#-----| -> #{...} # 113| ... if ... #-----| -> C @@ -1359,9 +1359,9 @@ cfg.rb: #-----| -> ... if ... # 113| puts -#-----| -> hi +#-----| -> "hi" -# 113| hi +# 113| "hi" #-----| -> call to puts # 113| ... > ... @@ -1416,14 +1416,14 @@ cfg.rb: # 120| y #-----| -> (..., ...) -# 120| Array +# 120| [...] #-----| -> exit -> { ... } (normal) # 120| y #-----| -> x # 120| x -#-----| -> Array +#-----| -> [...] # 122| M #-----| -> M @@ -1482,14 +1482,14 @@ cfg.rb: # 127| range #-----| -> ... = ... -# 127| Range +# 127| _ .. _ #-----| -> range # 127| 0 #-----| -> 9 # 127| 9 -#-----| -> Range +#-----| -> _ .. _ # 128| ... = ... #-----| -> range @@ -1504,18 +1504,18 @@ cfg.rb: #-----| -> 1 # 128| 1 -#-----| -> Rational +#-----| -> 3r -# 128| Rational +# 128| 3r #-----| -> ... / ... # 128| ... / ... #-----| -> ... + ... # 128| 1 -#-----| -> Rational +#-----| -> 6r -# 128| Rational +# 128| 6r #-----| -> ... / ... # 129| ... = ... @@ -1524,14 +1524,14 @@ cfg.rb: # 129| regex #-----| -> ... = ... -# 129| hello\s+[#{...}] +# 129| /hello\s+[#{...}]/ #-----| -> regex -# 129| Interpolation -#-----| -> hello\s+[#{...}] +# 129| #{...} +#-----| -> /hello\s+[#{...}]/ # 129| range -#-----| -> Interpolation +#-----| -> #{...} # 130| ... = ... #-----| -> ... rescue ... @@ -1559,9 +1559,9 @@ cfg.rb: #-----| -> 1 # 133| puts -#-----| -> div by zero +#-----| -> "div by zero" -# 133| div by zero +# 133| "div by zero" #-----| -> call to puts # 135| ... = ... @@ -1640,9 +1640,9 @@ cfg.rb: #-----| -> puts # 143| puts -#-----| -> singleton +#-----| -> "singleton" -# 143| singleton +# 143| "singleton" #-----| -> call to puts # 144| call to puts @@ -1717,14 +1717,14 @@ cfg.rb: # 155| *... #-----| -> call to two_parameters -# 155| Array +# 155| [...] #-----| -> *... # 155| 1 #-----| -> 2 # 155| 2 -#-----| -> Array +#-----| -> [...] # 157| ... = ... #-----| -> :hello @@ -1732,14 +1732,14 @@ cfg.rb: # 157| scriptfile #-----| -> ... = ... -# 157| Subshell +# 157| `cat "#{...}"` #-----| -> scriptfile -# 157| Interpolation -#-----| -> Subshell +# 157| #{...} +#-----| -> `cat "#{...}"` # 157| call to __FILE__ -#-----| -> Interpolation +#-----| -> #{...} # 159| ... = ... #-----| -> 12 @@ -1759,11 +1759,11 @@ cfg.rb: # 161| :"goodbye-#{...}" #-----| -> delimited_symbol -# 161| Interpolation +# 161| #{...} #-----| -> :"goodbye-#{...}" # 161| ... + ... -#-----| -> Interpolation +#-----| -> #{...} # 161| 12 #-----| -> 13 @@ -1827,18 +1827,18 @@ cfg.rb: #-----| -> unless ... # 169| puts -#-----| -> hi +#-----| -> "hi" -# 169| hi +# 169| "hi" #-----| -> call to puts # 169| call to puts #-----| -> unless ... # 169| puts -#-----| -> bye +#-----| -> "bye" -# 169| bye +# 169| "bye" #-----| -> call to puts # 171| ... unless ... @@ -1848,9 +1848,9 @@ cfg.rb: #-----| -> ... unless ... # 171| puts -#-----| -> hi +#-----| -> "hi" -# 171| hi +# 171| "hi" #-----| -> call to puts # 171| ... == ... @@ -1889,9 +1889,9 @@ cfg.rb: #-----| -> x # 173| puts -#-----| -> hello +#-----| -> "hello" -# 173| hello +# 173| "hello" #-----| -> call to puts # 175| ... = ... @@ -1913,9 +1913,9 @@ cfg.rb: #-----| -> i # 176| puts -#-----| -> hello +#-----| -> "hello" -# 176| hello +# 176| "hello" #-----| -> call to puts # 176| ... += ... @@ -2003,9 +2003,9 @@ cfg.rb: #-----| -> i # 185| puts -#-----| -> hello +#-----| -> "hello" -# 185| hello +# 185| "hello" #-----| -> call to puts # 185| ... -= ... @@ -2095,9 +2095,9 @@ exit.rb: #-----| -> exit m1 (normal) # 5| puts -#-----| -> x <= 2 +#-----| -> "x <= 2" -# 5| x <= 2 +# 5| "x <= 2" #-----| -> call to puts # 8| m2 @@ -2126,18 +2126,18 @@ exit.rb: #-----| exit -> exit m2 (abnormal) # 10| abort -#-----| -> abort! +#-----| -> "abort!" -# 10| abort! +# 10| "abort!" #-----| -> call to abort # 12| call to puts #-----| -> exit m2 (normal) # 12| puts -#-----| -> x <= 2 +#-----| -> "x <= 2" -# 12| x <= 2 +# 12| "x <= 2" #-----| -> call to puts heredoc.rb: @@ -2192,9 +2192,9 @@ ifs.rb: #-----| -> if ... # 3| puts -#-----| -> x is greater than 2 +#-----| -> "x is greater than 2" -# 3| x is greater than 2 +# 3| "x is greater than 2" #-----| -> call to puts # 4| elsif ... @@ -2258,18 +2258,18 @@ ifs.rb: #-----| -> elsif ... # 5| puts -#-----| -> x is 1 +#-----| -> "x is 1" -# 5| x is 1 +# 5| "x is 1" #-----| -> call to puts # 7| call to puts #-----| -> elsif ... # 7| puts -#-----| -> I can't guess the number +#-----| -> "I can't guess the number" -# 7| I can't guess the number +# 7| "I can't guess the number" #-----| -> call to puts # 11| m2 @@ -2393,10 +2393,10 @@ ifs.rb: #-----| -> return # 29| [false] (... ? ... : ...) -#-----| false -> !b2 || !b3 +#-----| false -> "!b2 || !b3" # 29| [true] (... ? ... : ...) -#-----| true -> b2 || b3 +#-----| true -> "b2 || b3" # 29| [false] ... ? ... : ... #-----| false -> [false] (... ? ... : ...) @@ -2416,10 +2416,10 @@ ifs.rb: #-----| false -> [false] ... ? ... : ... #-----| true -> [true] ... ? ... : ... -# 29| b2 || b3 +# 29| "b2 || b3" #-----| -> ... ? ... : ... -# 29| !b2 || !b3 +# 29| "!b2 || !b3" #-----| -> ... ? ... : ... # 32| m5 @@ -2447,10 +2447,10 @@ ifs.rb: #-----| -> exit m5 (normal) # 33| [false] (if ...) -#-----| false -> !b2 || !b4 || !b5 +#-----| false -> "!b2 || !b4 || !b5" # 33| [true] (if ...) -#-----| true -> b2 || b4 || b5 +#-----| true -> "b2 || b4 || b5" # 33| [false] if ... #-----| false -> [false] (if ...) @@ -2484,10 +2484,10 @@ ifs.rb: #-----| false -> [false] elsif ... #-----| true -> [true] elsif ... -# 33| b2 || b4 || b5 +# 33| "b2 || b4 || b5" #-----| -> if ... -# 33| !b2 || !b4 || !b5 +# 33| "!b2 || !b4 || !b5" #-----| -> if ... # 36| ... unless ... @@ -2503,9 +2503,9 @@ ifs.rb: #-----| -> exit conditional_method_def (normal) # 37| puts -#-----| -> bla +#-----| -> "bla" -# 37| bla +# 37| "bla" #-----| -> call to puts # 38| ... == ... @@ -2666,18 +2666,18 @@ loops.rb: #-----| -> x # 19| puts -#-----| -> Iter +#-----| -> "Iter" -# 19| Iter +# 19| "Iter" #-----| -> call to puts # 21| call to puts #-----| -> exit m2 (normal) # 21| puts -#-----| -> Done +#-----| -> "Done" -# 21| Done +# 21| "Done" #-----| -> call to puts # 24| m3 @@ -2689,7 +2689,7 @@ loops.rb: # 25| call to each #-----| -> exit m3 (normal) -# 25| Array +# 25| [...] #-----| -> each # 25| 1 @@ -2699,7 +2699,7 @@ loops.rb: #-----| -> 3 # 25| 3 -#-----| -> Array +#-----| -> [...] # 25| each #-----| -> do ... end @@ -2770,18 +2770,18 @@ raise.rb: #-----| raise -> exit m1 (abnormal) # 9| raise -#-----| -> x > 2 +#-----| -> "x > 2" -# 9| x > 2 +# 9| "x > 2" #-----| -> call to raise # 11| call to puts #-----| -> exit m1 (normal) # 11| puts -#-----| -> x <= 2 +#-----| -> "x <= 2" -# 11| x <= 2 +# 11| "x <= 2" #-----| -> call to puts # 14| m2 @@ -2820,18 +2820,18 @@ raise.rb: #-----| -> puts # 20| puts -#-----| -> Rescued +#-----| -> "Rescued" -# 20| Rescued +# 20| "Rescued" #-----| -> call to puts # 22| call to puts #-----| -> exit m2 (normal) # 22| puts -#-----| -> End m2 +#-----| -> "End m2" -# 22| End m2 +# 22| "End m2" #-----| -> call to puts # 25| m3 @@ -2866,18 +2866,18 @@ raise.rb: #-----| -> puts # 31| puts -#-----| -> Rescued +#-----| -> "Rescued" -# 31| Rescued +# 31| "Rescued" #-----| -> call to puts # 33| call to puts #-----| -> exit m3 (normal) # 33| puts -#-----| -> End m3 +#-----| -> "End m3" -# 33| End m3 +# 33| "End m3" #-----| -> call to puts # 36| m4 @@ -2915,18 +2915,18 @@ raise.rb: #-----| -> puts # 42| puts -#-----| -> Rescued {e} +#-----| -> "Rescued {e}" -# 42| Rescued {e} +# 42| "Rescued {e}" #-----| -> call to puts # 44| call to puts #-----| -> exit m4 (normal) # 44| puts -#-----| -> End m4 +#-----| -> "End m4" -# 44| End m4 +# 44| "End m4" #-----| -> call to puts # 47| m5 @@ -2964,9 +2964,9 @@ raise.rb: #-----| -> exit m5 (normal) # 54| puts -#-----| -> End m5 +#-----| -> "End m5" -# 54| End m5 +# 54| "End m5" #-----| -> call to puts # 57| m6 @@ -3012,18 +3012,18 @@ raise.rb: #-----| -> puts # 63| puts -#-----| -> Rescued {e} +#-----| -> "Rescued {e}" -# 63| Rescued {e} +# 63| "Rescued {e}" #-----| -> call to puts # 65| call to puts #-----| -> exit m6 (normal) # 65| puts -#-----| -> End m6 +#-----| -> "End m6" -# 65| End m6 +# 65| "End m6" #-----| -> call to puts # 68| m7 @@ -3052,9 +3052,9 @@ raise.rb: #-----| raise -> [ensure: raise] ensure ... # 70| raise -#-----| -> x > 2 +#-----| -> "x > 2" -# 70| x > 2 +# 70| "x > 2" #-----| -> call to raise # 71| elsif ... @@ -3062,7 +3062,7 @@ raise.rb: # 71| ... < ... #-----| false -> elsif ... -#-----| true -> x < 0 +#-----| true -> "x < 0" # 71| x #-----| -> 0 @@ -3073,16 +3073,16 @@ raise.rb: # 72| return #-----| return -> [ensure: return] ensure ... -# 72| x < 0 +# 72| "x < 0" #-----| -> return # 74| call to puts #-----| -> ensure ... # 74| puts -#-----| -> 0 <= x <= 2 +#-----| -> "0 <= x <= 2" -# 74| 0 <= x <= 2 +# 74| "0 <= x <= 2" #-----| -> call to puts # 75| ensure ... @@ -3104,21 +3104,21 @@ raise.rb: #-----| raise -> exit m7 (abnormal) # 76| puts -#-----| -> ensure +#-----| -> "ensure" # 76| [ensure: return] puts -#-----| -> [ensure: return] ensure +#-----| -> [ensure: return] "ensure" # 76| [ensure: raise] puts -#-----| -> [ensure: raise] ensure +#-----| -> [ensure: raise] "ensure" -# 76| ensure +# 76| "ensure" #-----| -> call to puts -# 76| [ensure: return] ensure +# 76| [ensure: return] "ensure" #-----| -> [ensure: return] call to puts -# 76| [ensure: raise] ensure +# 76| [ensure: raise] "ensure" #-----| -> [ensure: raise] call to puts # 79| m8 @@ -3134,9 +3134,9 @@ raise.rb: #-----| -> x # 80| puts -#-----| -> Begin m8 +#-----| -> "Begin m8" -# 80| Begin m8 +# 80| "Begin m8" #-----| -> call to puts # 82| if ... @@ -3156,9 +3156,9 @@ raise.rb: #-----| raise -> [ensure: raise] ensure ... # 83| raise -#-----| -> x > 2 +#-----| -> "x > 2" -# 83| x > 2 +# 83| "x > 2" #-----| -> call to raise # 84| elsif ... @@ -3166,7 +3166,7 @@ raise.rb: # 84| ... < ... #-----| false -> elsif ... -#-----| true -> x < 0 +#-----| true -> "x < 0" # 84| x #-----| -> 0 @@ -3177,16 +3177,16 @@ raise.rb: # 85| return #-----| return -> [ensure: return] ensure ... -# 85| x < 0 +# 85| "x < 0" #-----| -> return # 87| call to puts #-----| -> ensure ... # 87| puts -#-----| -> 0 <= x <= 2 +#-----| -> "0 <= x <= 2" -# 87| 0 <= x <= 2 +# 87| "0 <= x <= 2" #-----| -> call to puts # 88| ensure ... @@ -3208,30 +3208,30 @@ raise.rb: #-----| raise -> exit m8 (abnormal) # 89| puts -#-----| -> ensure +#-----| -> "ensure" # 89| [ensure: return] puts -#-----| -> [ensure: return] ensure +#-----| -> [ensure: return] "ensure" # 89| [ensure: raise] puts -#-----| -> [ensure: raise] ensure +#-----| -> [ensure: raise] "ensure" -# 89| ensure +# 89| "ensure" #-----| -> call to puts -# 89| [ensure: return] ensure +# 89| [ensure: return] "ensure" #-----| -> [ensure: return] call to puts -# 89| [ensure: raise] ensure +# 89| [ensure: raise] "ensure" #-----| -> [ensure: raise] call to puts # 91| call to puts #-----| -> exit m8 (normal) # 91| puts -#-----| -> End m8 +#-----| -> "End m8" -# 91| End m8 +# 91| "End m8" #-----| -> call to puts # 94| m9 @@ -3253,9 +3253,9 @@ raise.rb: #-----| -> x # 95| puts -#-----| -> Begin m9 +#-----| -> "Begin m9" -# 95| Begin m9 +# 95| "Begin m9" #-----| -> call to puts # 97| if ... @@ -3275,9 +3275,9 @@ raise.rb: #-----| raise -> [ensure: raise] ensure ... # 98| raise -#-----| -> x > 2 +#-----| -> "x > 2" -# 98| x > 2 +# 98| "x > 2" #-----| -> call to raise # 99| elsif ... @@ -3285,7 +3285,7 @@ raise.rb: # 99| ... < ... #-----| false -> elsif ... -#-----| true -> x < 0 +#-----| true -> "x < 0" # 99| x #-----| -> 0 @@ -3296,16 +3296,16 @@ raise.rb: # 100| return #-----| return -> [ensure: return] ensure ... -# 100| x < 0 +# 100| "x < 0" #-----| -> return # 102| call to puts #-----| -> ensure ... # 102| puts -#-----| -> 0 <= x <= 2 +#-----| -> "0 <= x <= 2" -# 102| 0 <= x <= 2 +# 102| "0 <= x <= 2" #-----| -> call to puts # 103| ensure ... @@ -3327,21 +3327,21 @@ raise.rb: #-----| -> [ensure: raise] b1 # 104| puts -#-----| -> outer ensure +#-----| -> "outer ensure" # 104| [ensure: return] puts -#-----| -> [ensure: return] outer ensure +#-----| -> [ensure: return] "outer ensure" # 104| [ensure: raise] puts -#-----| -> [ensure: raise] outer ensure +#-----| -> [ensure: raise] "outer ensure" -# 104| outer ensure +# 104| "outer ensure" #-----| -> call to puts -# 104| [ensure: return] outer ensure +# 104| [ensure: return] "outer ensure" #-----| -> [ensure: return] call to puts -# 104| [ensure: raise] outer ensure +# 104| [ensure: raise] "outer ensure" #-----| -> [ensure: raise] call to puts # 106| if ... @@ -3375,21 +3375,21 @@ raise.rb: #-----| raise -> [ensure: raise, ensure(1): raise] ensure ... # 107| raise -#-----| -> b1 is true +#-----| -> "b1 is true" # 107| [ensure: return] raise -#-----| -> [ensure: return] b1 is true +#-----| -> [ensure: return] "b1 is true" # 107| [ensure: raise] raise -#-----| -> [ensure: raise] b1 is true +#-----| -> [ensure: raise] "b1 is true" -# 107| b1 is true +# 107| "b1 is true" #-----| -> call to raise -# 107| [ensure: return] b1 is true +# 107| [ensure: return] "b1 is true" #-----| -> [ensure: return] call to raise -# 107| [ensure: raise] b1 is true +# 107| [ensure: raise] "b1 is true" #-----| -> [ensure: raise] call to raise # 109| ensure ... @@ -3429,48 +3429,48 @@ raise.rb: #-----| raise -> [ensure: raise] ensure ... # 110| puts -#-----| -> inner ensure +#-----| -> "inner ensure" # 110| [ensure(1): raise] puts -#-----| -> [ensure(1): raise] inner ensure +#-----| -> [ensure(1): raise] "inner ensure" # 110| [ensure: return] puts -#-----| -> [ensure: return] inner ensure +#-----| -> [ensure: return] "inner ensure" # 110| [ensure: return, ensure(1): raise] puts -#-----| -> [ensure: return, ensure(1): raise] inner ensure +#-----| -> [ensure: return, ensure(1): raise] "inner ensure" # 110| [ensure: raise] puts -#-----| -> [ensure: raise] inner ensure +#-----| -> [ensure: raise] "inner ensure" # 110| [ensure: raise, ensure(1): raise] puts -#-----| -> [ensure: raise, ensure(1): raise] inner ensure +#-----| -> [ensure: raise, ensure(1): raise] "inner ensure" -# 110| inner ensure +# 110| "inner ensure" #-----| -> call to puts -# 110| [ensure(1): raise] inner ensure +# 110| [ensure(1): raise] "inner ensure" #-----| -> [ensure(1): raise] call to puts -# 110| [ensure: return] inner ensure +# 110| [ensure: return] "inner ensure" #-----| -> [ensure: return] call to puts -# 110| [ensure: return, ensure(1): raise] inner ensure +# 110| [ensure: return, ensure(1): raise] "inner ensure" #-----| -> [ensure: return, ensure(1): raise] call to puts -# 110| [ensure: raise] inner ensure +# 110| [ensure: raise] "inner ensure" #-----| -> [ensure: raise] call to puts -# 110| [ensure: raise, ensure(1): raise] inner ensure +# 110| [ensure: raise, ensure(1): raise] "inner ensure" #-----| -> [ensure: raise, ensure(1): raise] call to puts # 113| call to puts #-----| -> ensure ... # 113| puts -#-----| -> End m9 +#-----| -> "End m9" -# 113| End m9 +# 113| "End m9" #-----| -> call to puts # 114| ensure ... @@ -3492,21 +3492,21 @@ raise.rb: #-----| -> [ensure: raise] b2 # 115| puts -#-----| -> method ensure +#-----| -> "method ensure" # 115| [ensure: return] puts -#-----| -> [ensure: return] method ensure +#-----| -> [ensure: return] "method ensure" # 115| [ensure: raise] puts -#-----| -> [ensure: raise] method ensure +#-----| -> [ensure: raise] "method ensure" -# 115| method ensure +# 115| "method ensure" #-----| -> call to puts -# 115| [ensure: return] method ensure +# 115| [ensure: return] "method ensure" #-----| -> [ensure: return] call to puts -# 115| [ensure: raise] method ensure +# 115| [ensure: raise] "method ensure" #-----| -> [ensure: raise] call to puts # 116| if ... @@ -3540,21 +3540,21 @@ raise.rb: #-----| raise -> exit m9 (abnormal) # 117| raise -#-----| -> b2 is true +#-----| -> "b2 is true" # 117| [ensure: return] raise -#-----| -> [ensure: return] b2 is true +#-----| -> [ensure: return] "b2 is true" # 117| [ensure: raise] raise -#-----| -> [ensure: raise] b2 is true +#-----| -> [ensure: raise] "b2 is true" -# 117| b2 is true +# 117| "b2 is true" #-----| -> call to raise -# 117| [ensure: return] b2 is true +# 117| [ensure: return] "b2 is true" #-----| -> [ensure: return] call to raise -# 117| [ensure: raise] b2 is true +# 117| [ensure: raise] "b2 is true" #-----| -> [ensure: raise] call to raise # 121| m10 @@ -3571,9 +3571,9 @@ raise.rb: #-----| raise -> exit m10 (abnormal) # 121| raise -#-----| -> Exception +#-----| -> "Exception" -# 121| Exception +# 121| "Exception" #-----| -> call to raise # 124| ensure ... @@ -3583,9 +3583,9 @@ raise.rb: #-----| -> exit m10 (normal) # 125| puts -#-----| -> Will not get executed if p is not supplied +#-----| -> "Will not get executed if p is..." -# 125| Will not get executed if p is not supplied +# 125| "Will not get executed if p is..." #-----| -> call to puts # 128| m11 @@ -3631,9 +3631,9 @@ raise.rb: #-----| -> ensure ... # 135| puts -#-----| -> ExceptionB +#-----| -> "ExceptionB" -# 135| ExceptionB +# 135| "ExceptionB" #-----| -> call to puts # 136| ensure ... @@ -3649,24 +3649,24 @@ raise.rb: #-----| raise -> exit m11 (abnormal) # 137| puts -#-----| -> Ensure +#-----| -> "Ensure" # 137| [ensure: raise] puts -#-----| -> [ensure: raise] Ensure +#-----| -> [ensure: raise] "Ensure" -# 137| Ensure +# 137| "Ensure" #-----| -> call to puts -# 137| [ensure: raise] Ensure +# 137| [ensure: raise] "Ensure" #-----| -> [ensure: raise] call to puts # 139| call to puts #-----| -> exit m11 (normal) # 139| puts -#-----| -> End m11 +#-----| -> "End m11" -# 139| End m11 +# 139| "End m11" #-----| -> call to puts # 142| m12 @@ -3689,9 +3689,9 @@ raise.rb: #-----| raise -> [ensure: raise] ensure ... # 144| raise -#-----| -> +#-----| -> "" -# 144| +# 144| "" #-----| -> call to raise # 146| ensure ... @@ -3752,9 +3752,9 @@ raise.rb: #-----| raise -> exit { ... } (abnormal) # 155| raise -#-----| -> +#-----| -> "" -# 155| +# 155| "" #-----| -> call to raise # 155| call to nil? diff --git a/ql/test/library-tests/dataflow/local/DataflowStep.expected b/ql/test/library-tests/dataflow/local/DataflowStep.expected index 3c8f5cfd3a1..e8b542731fe 100644 --- a/ql/test/library-tests/dataflow/local/DataflowStep.expected +++ b/ql/test/library-tests/dataflow/local/DataflowStep.expected @@ -18,6 +18,8 @@ | local_dataflow.rb:6:7:6:14 | (... += ...) | local_dataflow.rb:6:3:6:14 | ... = ... | | local_dataflow.rb:6:8:6:13 | ... += ... | local_dataflow.rb:6:7:6:14 | (... += ...) | | local_dataflow.rb:9:1:9:15 | ... = ... | local_dataflow.rb:10:14:10:18 | array | +| local_dataflow.rb:9:9:9:15 | [...] | local_dataflow.rb:9:1:9:15 | ... = ... | +| local_dataflow.rb:9:9:9:15 | [...] | local_dataflow.rb:9:1:9:15 | ... = ... | | local_dataflow.rb:10:5:13:3 | for ... in ... | local_dataflow.rb:10:1:13:3 | ... = ... | | local_dataflow.rb:10:9:10:9 | x | local_dataflow.rb:12:5:12:5 | x | | local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:10:5:13:3 | for ... in ... | @@ -32,9 +34,9 @@ | local_dataflow.rb:24:2:24:8 | break | local_dataflow.rb:23:1:25:3 | while ... | | local_dataflow.rb:24:8:24:8 | 5 | local_dataflow.rb:24:2:24:8 | break | | local_dataflow.rb:28:5:28:26 | M | local_dataflow.rb:28:1:28:26 | ... = ... | -| local_dataflow.rb:28:15:28:22 | module | local_dataflow.rb:28:5:28:26 | M | +| local_dataflow.rb:28:15:28:22 | "module" | local_dataflow.rb:28:5:28:26 | M | | local_dataflow.rb:30:5:30:24 | C | local_dataflow.rb:30:1:30:24 | ... = ... | -| local_dataflow.rb:30:14:30:20 | class | local_dataflow.rb:30:5:30:24 | C | +| local_dataflow.rb:30:14:30:20 | "class" | local_dataflow.rb:30:5:30:24 | C | | local_dataflow.rb:32:5:32:25 | bar | local_dataflow.rb:32:1:32:25 | ... = ... | | local_dataflow.rb:32:5:32:25 | bar | local_dataflow.rb:32:1:32:25 | ... = ... | | local_dataflow.rb:34:7:34:7 | x | local_dataflow.rb:35:6:35:6 | x | @@ -43,6 +45,6 @@ | local_dataflow.rb:43:13:43:13 | 7 | local_dataflow.rb:43:6:43:13 | return | | local_dataflow.rb:45:10:45:10 | 6 | local_dataflow.rb:45:3:45:10 | return | | local_dataflow.rb:49:3:53:3 | | local_dataflow.rb:50:18:50:18 | x | -| local_dataflow.rb:50:8:50:13 | next | local_dataflow.rb:50:3:50:13 | next | +| local_dataflow.rb:50:8:50:13 | "next" | local_dataflow.rb:50:3:50:13 | next | | local_dataflow.rb:50:18:50:18 | x | local_dataflow.rb:51:20:51:20 | x | -| local_dataflow.rb:51:9:51:15 | break | local_dataflow.rb:51:3:51:15 | break | +| local_dataflow.rb:51:9:51:15 | "break" | local_dataflow.rb:51:3:51:15 | break | diff --git a/ql/test/library-tests/dataflow/local/ReturnNodes.expected b/ql/test/library-tests/dataflow/local/ReturnNodes.expected index a4971c21ade..8a3e009f694 100644 --- a/ql/test/library-tests/dataflow/local/ReturnNodes.expected +++ b/ql/test/library-tests/dataflow/local/ReturnNodes.expected @@ -1,9 +1,9 @@ | local_dataflow.rb:6:3:6:14 | ... = ... | -| local_dataflow.rb:32:14:32:21 | method | +| local_dataflow.rb:32:14:32:21 | "method" | | local_dataflow.rb:36:6:36:13 | return | -| local_dataflow.rb:38:3:38:13 | reachable | +| local_dataflow.rb:38:3:38:13 | "reachable" | | local_dataflow.rb:43:6:43:13 | return | | local_dataflow.rb:45:3:45:10 | return | | local_dataflow.rb:50:3:50:13 | next | | local_dataflow.rb:51:3:51:15 | break | -| local_dataflow.rb:52:3:52:10 | normal | +| local_dataflow.rb:52:3:52:10 | "normal" | diff --git a/scripts/merge_stats.py b/scripts/merge_stats.py index 318f5db11c2..d2cbe0a3e64 100644 --- a/scripts/merge_stats.py +++ b/scripts/merge_stats.py @@ -41,7 +41,7 @@ def read_sized_xml(xml_file, name): def scale(xml, size, max_size): # Scale up the contents of all the and tags for v in xml.xpath(".//v|.//cardinality"): - v.text = str((int(v.text) * max_size) / size) + v.text = str((int(v.text) * max_size) // size) def do_xml_files(output, scaled_xml_files, unscaled_xml_files, name): # The result starts off empty @@ -55,7 +55,7 @@ def do_xml_files(output, scaled_xml_files, unscaled_xml_files, name): max_size = max([size for (xml, size) in sized_xmls]) for (xml, size) in sized_xmls: scale(xml, size, max_size) - unsized_xmls = map(etree.parse, unscaled_xml_files) + unsized_xmls = list(map(etree.parse, unscaled_xml_files)) xmls = [xml for (xml, size) in sized_xmls] + unsized_xmls # Put all the stats in a single XML doc so that we can search them @@ -66,22 +66,22 @@ def do_xml_files(output, scaled_xml_files, unscaled_xml_files, name): # For each value of , take the tag with the biggest typesizes = etree.SubElement(result, "typesizes") - typenames = set ([ typesize.find("k").text for typesize in merged_xml.xpath("dbstats/typesizes/e")]) + typenames = sorted(set ([ typesize.find("k").text for typesize in merged_xml.xpath("dbstats/typesizes/e")])) for typename in typenames: xs = merged_xml.xpath("dbstats/typesizes/e[k='" + typename + "']") sized_xs = [(int(x.find("v").text), x) for x in xs] - (_, x) = max(sized_xs) + (_, x) = max(sized_xs, key = lambda p: p[0]) typesizes.append(x) # For each value of , take the tag with # the biggest stats = etree.SubElement(result, "stats") - relnames = set ([relation.find("name").text for relation in merged_xml.xpath("dbstats/stats/relation") ]) + relnames = sorted(set ([relation.find("name").text for relation in merged_xml.xpath("dbstats/stats/relation") ])) for relname in relnames: rels = merged_xml.xpath("dbstats/stats/relation[name='" + relname + "']") sized_rels = [(int(rel.find("cardinality").text), rel) for rel in rels] - (_, rel) = max(sized_rels) + (_, rel) = max(sized_rels, key = lambda p: p[0]) stats.append(rel) with open(output, 'wb') as f: diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/old.dbscheme b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/old.dbscheme new file mode 100644 index 00000000000..880faf3235f --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/old.dbscheme @@ -0,0 +1,1490 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit + +@location = @location_default + +locations_default( + unique int id: @location_default, + int file: @file ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@sourceline = @file + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref, + string simple: string ref, + string ext: string ref, + int fromSource: int ref +); + +folders( + unique int id: @folder, + string name: string ref, + string simple: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +sourceLocationPrefix( + string prefix: string ref +); + +@underscore_arg = @assignment | @binary | @conditional | @operator_assignment | @range | @unary | @underscore_primary + +@underscore_lhs = @call | @element_reference | @scope_resolution | @token_false | @token_nil | @token_true | @underscore_variable + +@underscore_method_name = @delimited_symbol | @setter | @token_class_variable | @token_constant | @token_global_variable | @token_identifier | @token_instance_variable | @token_operator | @token_simple_symbol + +@underscore_primary = @array | @begin | @break | @case__ | @chained_string | @class | @delimited_symbol | @for | @hash | @if | @lambda | @method | @module | @next | @parenthesized_statements | @rational | @redo | @regex | @retry | @return | @singleton_class | @singleton_method | @string__ | @string_array | @subshell | @symbol_array | @token_character | @token_complex | @token_float | @token_heredoc_beginning | @token_integer | @token_simple_symbol | @unary | @underscore_lhs | @unless | @until | @while | @yield + +@underscore_statement = @alias | @assignment | @begin_block | @binary | @break | @call | @end_block | @if_modifier | @next | @operator_assignment | @rescue_modifier | @return | @unary | @undef | @underscore_arg | @unless_modifier | @until_modifier | @while_modifier | @yield + +@underscore_variable = @token_class_variable | @token_constant | @token_global_variable | @token_identifier | @token_instance_variable | @token_self | @token_super + +#keyset[parent, parent_index] +alias_def( + unique int id: @alias, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int alias: @underscore_method_name ref, + int name: @underscore_method_name ref, + int loc: @location ref +); + +@argument_list_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[argument_list, index] +argument_list_child( + int argument_list: @argument_list ref, + int index: int ref, + unique int child: @argument_list_child_type ref +); + +#keyset[parent, parent_index] +argument_list_def( + unique int id: @argument_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@array_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[array, index] +array_child( + int array: @array ref, + int index: int ref, + unique int child: @array_child_type ref +); + +#keyset[parent, parent_index] +array_def( + unique int id: @array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@assignment_left_type = @left_assignment_list | @underscore_lhs + +@assignment_right_type = @break | @call | @next | @return | @right_assignment_list | @splat_argument | @underscore_arg | @yield + +#keyset[parent, parent_index] +assignment_def( + unique int id: @assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @assignment_left_type ref, + int right: @assignment_right_type ref, + int loc: @location ref +); + +@bare_string_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[bare_string, index] +bare_string_child( + int bare_string: @bare_string ref, + int index: int ref, + unique int child: @bare_string_child_type ref +); + +#keyset[parent, parent_index] +bare_string_def( + unique int id: @bare_string, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@bare_symbol_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[bare_symbol, index] +bare_symbol_child( + int bare_symbol: @bare_symbol ref, + int index: int ref, + unique int child: @bare_symbol_child_type ref +); + +#keyset[parent, parent_index] +bare_symbol_def( + unique int id: @bare_symbol, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@begin_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[begin, index] +begin_child( + int begin: @begin ref, + int index: int ref, + unique int child: @begin_child_type ref +); + +#keyset[parent, parent_index] +begin_def( + unique int id: @begin, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@begin_block_child_type = @token_empty_statement | @underscore_statement + +#keyset[begin_block, index] +begin_block_child( + int begin_block: @begin_block ref, + int index: int ref, + unique int child: @begin_block_child_type ref +); + +#keyset[parent, parent_index] +begin_block_def( + unique int id: @begin_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@binary_left_type = @break | @call | @next | @return | @underscore_arg | @yield + +case @binary.operator of + 0 = @binary_bangequal +| 1 = @binary_bangtilde +| 2 = @binary_percent +| 3 = @binary_ampersand +| 4 = @binary_ampersandampersand +| 5 = @binary_star +| 6 = @binary_starstar +| 7 = @binary_plus +| 8 = @binary_minus +| 9 = @binary_slash +| 10 = @binary_langle +| 11 = @binary_langlelangle +| 12 = @binary_langleequal +| 13 = @binary_langleequalrangle +| 14 = @binary_equalequal +| 15 = @binary_equalequalequal +| 16 = @binary_equaltilde +| 17 = @binary_rangle +| 18 = @binary_rangleequal +| 19 = @binary_ranglerangle +| 20 = @binary_caret +| 21 = @binary_and +| 22 = @binary_or +| 23 = @binary_pipe +| 24 = @binary_pipepipe +; + + +@binary_right_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +binary_def( + unique int id: @binary, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @binary_left_type ref, + int operator: int ref, + int right: @binary_right_type ref, + int loc: @location ref +); + +block_parameters( + unique int block: @block ref, + unique int parameters: @block_parameters ref +); + +@block_child_type = @token_empty_statement | @underscore_statement + +#keyset[block, index] +block_child( + int block: @block ref, + int index: int ref, + unique int child: @block_child_type ref +); + +#keyset[parent, parent_index] +block_def( + unique int id: @block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +block_argument_def( + unique int id: @block_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +block_parameter_def( + unique int id: @block_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@block_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[block_parameters, index] +block_parameters_child( + int block_parameters: @block_parameters ref, + int index: int ref, + unique int child: @block_parameters_child_type ref +); + +#keyset[parent, parent_index] +block_parameters_def( + unique int id: @block_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +break_child( + unique int break: @break ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +break_def( + unique int id: @break, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +call_arguments( + unique int call: @call ref, + unique int arguments: @argument_list ref +); + +@call_block_type = @block | @do_block + +call_block( + unique int call: @call ref, + unique int block: @call_block_type ref +); + +@call_method_type = @argument_list | @scope_resolution | @token_operator | @underscore_variable + +@call_receiver_type = @call | @underscore_primary + +call_receiver( + unique int call: @call ref, + unique int receiver: @call_receiver_type ref +); + +#keyset[parent, parent_index] +call_def( + unique int id: @call, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int method: @call_method_type ref, + int loc: @location ref +); + +case_value( + unique int case__: @case__ ref, + unique int value: @underscore_statement ref +); + +@case_child_type = @else | @when + +#keyset[case__, index] +case_child( + int case__: @case__ ref, + int index: int ref, + unique int child: @case_child_type ref +); + +#keyset[parent, parent_index] +case_def( + unique int id: @case__, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[chained_string, index] +chained_string_child( + int chained_string: @chained_string ref, + int index: int ref, + unique int child: @string__ ref +); + +#keyset[parent, parent_index] +chained_string_def( + unique int id: @chained_string, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@class_name_type = @scope_resolution | @token_constant + +class_superclass( + unique int class: @class ref, + unique int superclass: @superclass ref +); + +@class_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[class, index] +class_child( + int class: @class ref, + int index: int ref, + unique int child: @class_child_type ref +); + +#keyset[parent, parent_index] +class_def( + unique int id: @class, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @class_name_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +conditional_def( + unique int id: @conditional, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int alternative: @underscore_arg ref, + int condition: @underscore_arg ref, + int consequence: @underscore_arg ref, + int loc: @location ref +); + +@delimited_symbol_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[delimited_symbol, index] +delimited_symbol_child( + int delimited_symbol: @delimited_symbol ref, + int index: int ref, + unique int child: @delimited_symbol_child_type ref +); + +#keyset[parent, parent_index] +delimited_symbol_def( + unique int id: @delimited_symbol, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@destructured_left_assignment_child_type = @destructured_left_assignment | @rest_assignment | @underscore_lhs + +#keyset[destructured_left_assignment, index] +destructured_left_assignment_child( + int destructured_left_assignment: @destructured_left_assignment ref, + int index: int ref, + unique int child: @destructured_left_assignment_child_type ref +); + +#keyset[parent, parent_index] +destructured_left_assignment_def( + unique int id: @destructured_left_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@destructured_parameter_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[destructured_parameter, index] +destructured_parameter_child( + int destructured_parameter: @destructured_parameter ref, + int index: int ref, + unique int child: @destructured_parameter_child_type ref +); + +#keyset[parent, parent_index] +destructured_parameter_def( + unique int id: @destructured_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@do_child_type = @token_empty_statement | @underscore_statement + +#keyset[do, index] +do_child( + int do: @do ref, + int index: int ref, + unique int child: @do_child_type ref +); + +#keyset[parent, parent_index] +do_def( + unique int id: @do, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +do_block_parameters( + unique int do_block: @do_block ref, + unique int parameters: @block_parameters ref +); + +@do_block_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[do_block, index] +do_block_child( + int do_block: @do_block ref, + int index: int ref, + unique int child: @do_block_child_type ref +); + +#keyset[parent, parent_index] +do_block_def( + unique int id: @do_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@element_reference_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[element_reference, index] +element_reference_child( + int element_reference: @element_reference ref, + int index: int ref, + unique int child: @element_reference_child_type ref +); + +#keyset[parent, parent_index] +element_reference_def( + unique int id: @element_reference, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int object: @underscore_primary ref, + int loc: @location ref +); + +@else_child_type = @token_empty_statement | @underscore_statement + +#keyset[else, index] +else_child( + int else: @else ref, + int index: int ref, + unique int child: @else_child_type ref +); + +#keyset[parent, parent_index] +else_def( + unique int id: @else, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@elsif_alternative_type = @else | @elsif + +elsif_alternative( + unique int elsif: @elsif ref, + unique int alternative: @elsif_alternative_type ref +); + +elsif_consequence( + unique int elsif: @elsif ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +elsif_def( + unique int id: @elsif, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@end_block_child_type = @token_empty_statement | @underscore_statement + +#keyset[end_block, index] +end_block_child( + int end_block: @end_block ref, + int index: int ref, + unique int child: @end_block_child_type ref +); + +#keyset[parent, parent_index] +end_block_def( + unique int id: @end_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@ensure_child_type = @token_empty_statement | @underscore_statement + +#keyset[ensure, index] +ensure_child( + int ensure: @ensure ref, + int index: int ref, + unique int child: @ensure_child_type ref +); + +#keyset[parent, parent_index] +ensure_def( + unique int id: @ensure, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +exception_variable_def( + unique int id: @exception_variable, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_lhs ref, + int loc: @location ref +); + +@exceptions_child_type = @splat_argument | @underscore_arg + +#keyset[exceptions, index] +exceptions_child( + int exceptions: @exceptions ref, + int index: int ref, + unique int child: @exceptions_child_type ref +); + +#keyset[parent, parent_index] +exceptions_def( + unique int id: @exceptions, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@for_pattern_type = @left_assignment_list | @underscore_lhs + +#keyset[parent, parent_index] +for_def( + unique int id: @for, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int pattern: @for_pattern_type ref, + int value: @in ref, + int loc: @location ref +); + +@hash_child_type = @hash_splat_argument | @pair + +#keyset[hash, index] +hash_child( + int hash: @hash ref, + int index: int ref, + unique int child: @hash_child_type ref +); + +#keyset[parent, parent_index] +hash_def( + unique int id: @hash, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +hash_splat_argument_def( + unique int id: @hash_splat_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +hash_splat_parameter_name( + unique int hash_splat_parameter: @hash_splat_parameter ref, + unique int name: @token_identifier ref +); + +#keyset[parent, parent_index] +hash_splat_parameter_def( + unique int id: @hash_splat_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@heredoc_body_child_type = @interpolation | @token_escape_sequence | @token_heredoc_content | @token_heredoc_end + +#keyset[heredoc_body, index] +heredoc_body_child( + int heredoc_body: @heredoc_body ref, + int index: int ref, + unique int child: @heredoc_body_child_type ref +); + +#keyset[parent, parent_index] +heredoc_body_def( + unique int id: @heredoc_body, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@if_alternative_type = @else | @elsif + +if_alternative( + unique int if: @if ref, + unique int alternative: @if_alternative_type ref +); + +if_consequence( + unique int if: @if ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +if_def( + unique int id: @if, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@if_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +if_modifier_def( + unique int id: @if_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @if_modifier_condition_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +in_def( + unique int id: @in, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +interpolation_child( + unique int interpolation: @interpolation ref, + unique int child: @underscore_statement ref +); + +#keyset[parent, parent_index] +interpolation_def( + unique int id: @interpolation, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +keyword_parameter_value( + unique int keyword_parameter: @keyword_parameter ref, + unique int value: @underscore_arg ref +); + +#keyset[parent, parent_index] +keyword_parameter_def( + unique int id: @keyword_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@lambda_body_type = @block | @do_block + +lambda_parameters( + unique int lambda: @lambda ref, + unique int parameters: @lambda_parameters ref +); + +#keyset[parent, parent_index] +lambda_def( + unique int id: @lambda, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @lambda_body_type ref, + int loc: @location ref +); + +@lambda_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[lambda_parameters, index] +lambda_parameters_child( + int lambda_parameters: @lambda_parameters ref, + int index: int ref, + unique int child: @lambda_parameters_child_type ref +); + +#keyset[parent, parent_index] +lambda_parameters_def( + unique int id: @lambda_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@left_assignment_list_child_type = @destructured_left_assignment | @rest_assignment | @underscore_lhs + +#keyset[left_assignment_list, index] +left_assignment_list_child( + int left_assignment_list: @left_assignment_list ref, + int index: int ref, + unique int child: @left_assignment_list_child_type ref +); + +#keyset[parent, parent_index] +left_assignment_list_def( + unique int id: @left_assignment_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +method_parameters( + unique int method: @method ref, + unique int parameters: @method_parameters ref +); + +@method_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[method, index] +method_child( + int method: @method ref, + int index: int ref, + unique int child: @method_child_type ref +); + +#keyset[parent, parent_index] +method_def( + unique int id: @method, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @underscore_method_name ref, + int loc: @location ref +); + +@method_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[method_parameters, index] +method_parameters_child( + int method_parameters: @method_parameters ref, + int index: int ref, + unique int child: @method_parameters_child_type ref +); + +#keyset[parent, parent_index] +method_parameters_def( + unique int id: @method_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@module_name_type = @scope_resolution | @token_constant + +@module_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[module, index] +module_child( + int module: @module ref, + int index: int ref, + unique int child: @module_child_type ref +); + +#keyset[parent, parent_index] +module_def( + unique int id: @module, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @module_name_type ref, + int loc: @location ref +); + +next_child( + unique int next: @next ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +next_def( + unique int id: @next, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +case @operator_assignment.operator of + 0 = @operator_assignment_percentequal +| 1 = @operator_assignment_ampersandampersandequal +| 2 = @operator_assignment_ampersandequal +| 3 = @operator_assignment_starstarequal +| 4 = @operator_assignment_starequal +| 5 = @operator_assignment_plusequal +| 6 = @operator_assignment_minusequal +| 7 = @operator_assignment_slashequal +| 8 = @operator_assignment_langlelangleequal +| 9 = @operator_assignment_ranglerangleequal +| 10 = @operator_assignment_caretequal +| 11 = @operator_assignment_pipeequal +| 12 = @operator_assignment_pipepipeequal +; + + +@operator_assignment_right_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +operator_assignment_def( + unique int id: @operator_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @underscore_lhs ref, + int operator: int ref, + int right: @operator_assignment_right_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +optional_parameter_def( + unique int id: @optional_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@pair_key_type = @string__ | @token_hash_key_symbol | @underscore_arg + +#keyset[parent, parent_index] +pair_def( + unique int id: @pair, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int key__: @pair_key_type ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@parenthesized_statements_child_type = @token_empty_statement | @underscore_statement + +#keyset[parenthesized_statements, index] +parenthesized_statements_child( + int parenthesized_statements: @parenthesized_statements ref, + int index: int ref, + unique int child: @parenthesized_statements_child_type ref +); + +#keyset[parent, parent_index] +parenthesized_statements_def( + unique int id: @parenthesized_statements, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@pattern_child_type = @splat_argument | @underscore_arg + +#keyset[parent, parent_index] +pattern_def( + unique int id: @pattern, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @pattern_child_type ref, + int loc: @location ref +); + +@program_child_type = @token_empty_statement | @token_uninterpreted | @underscore_statement + +#keyset[program, index] +program_child( + int program: @program ref, + int index: int ref, + unique int child: @program_child_type ref +); + +#keyset[parent, parent_index] +program_def( + unique int id: @program, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[range, index] +range_child( + int range: @range ref, + int index: int ref, + unique int child: @underscore_arg ref +); + +#keyset[parent, parent_index] +range_def( + unique int id: @range, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@rational_child_type = @token_float | @token_integer + +#keyset[parent, parent_index] +rational_def( + unique int id: @rational, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @rational_child_type ref, + int loc: @location ref +); + +redo_child( + unique int redo: @redo ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +redo_def( + unique int id: @redo, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@regex_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[regex, index] +regex_child( + int regex: @regex ref, + int index: int ref, + unique int child: @regex_child_type ref +); + +#keyset[parent, parent_index] +regex_def( + unique int id: @regex, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +rescue_body( + unique int rescue: @rescue ref, + unique int body: @then ref +); + +rescue_exceptions( + unique int rescue: @rescue ref, + unique int exceptions: @exceptions ref +); + +rescue_variable( + unique int rescue: @rescue ref, + unique int variable: @exception_variable ref +); + +#keyset[parent, parent_index] +rescue_def( + unique int id: @rescue, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@rescue_modifier_handler_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +rescue_modifier_def( + unique int id: @rescue_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int handler: @rescue_modifier_handler_type ref, + int loc: @location ref +); + +rest_assignment_child( + unique int rest_assignment: @rest_assignment ref, + unique int child: @underscore_lhs ref +); + +#keyset[parent, parent_index] +rest_assignment_def( + unique int id: @rest_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +retry_child( + unique int retry: @retry ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +retry_def( + unique int id: @retry, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +return_child( + unique int return: @return ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +return_def( + unique int id: @return, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@right_assignment_list_child_type = @splat_argument | @underscore_arg + +#keyset[right_assignment_list, index] +right_assignment_list_child( + int right_assignment_list: @right_assignment_list ref, + int index: int ref, + unique int child: @right_assignment_list_child_type ref +); + +#keyset[parent, parent_index] +right_assignment_list_def( + unique int id: @right_assignment_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@scope_resolution_name_type = @token_constant | @token_identifier + +scope_resolution_scope( + unique int scope_resolution: @scope_resolution ref, + unique int scope: @underscore_primary ref +); + +#keyset[parent, parent_index] +scope_resolution_def( + unique int id: @scope_resolution, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @scope_resolution_name_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +setter_def( + unique int id: @setter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@singleton_class_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[singleton_class, index] +singleton_class_child( + int singleton_class: @singleton_class ref, + int index: int ref, + unique int child: @singleton_class_child_type ref +); + +#keyset[parent, parent_index] +singleton_class_def( + unique int id: @singleton_class, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@singleton_method_object_type = @underscore_arg | @underscore_variable + +singleton_method_parameters( + unique int singleton_method: @singleton_method ref, + unique int parameters: @method_parameters ref +); + +@singleton_method_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[singleton_method, index] +singleton_method_child( + int singleton_method: @singleton_method ref, + int index: int ref, + unique int child: @singleton_method_child_type ref +); + +#keyset[parent, parent_index] +singleton_method_def( + unique int id: @singleton_method, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @underscore_method_name ref, + int object: @singleton_method_object_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +splat_argument_def( + unique int id: @splat_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +splat_parameter_name( + unique int splat_parameter: @splat_parameter ref, + unique int name: @token_identifier ref +); + +#keyset[parent, parent_index] +splat_parameter_def( + unique int id: @splat_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@string_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[string__, index] +string_child( + int string__: @string__ ref, + int index: int ref, + unique int child: @string_child_type ref +); + +#keyset[parent, parent_index] +string_def( + unique int id: @string__, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[string_array, index] +string_array_child( + int string_array: @string_array ref, + int index: int ref, + unique int child: @bare_string ref +); + +#keyset[parent, parent_index] +string_array_def( + unique int id: @string_array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@subshell_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[subshell, index] +subshell_child( + int subshell: @subshell ref, + int index: int ref, + unique int child: @subshell_child_type ref +); + +#keyset[parent, parent_index] +subshell_def( + unique int id: @subshell, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@superclass_child_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +superclass_def( + unique int id: @superclass, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @superclass_child_type ref, + int loc: @location ref +); + +#keyset[symbol_array, index] +symbol_array_child( + int symbol_array: @symbol_array ref, + int index: int ref, + unique int child: @bare_symbol ref +); + +#keyset[parent, parent_index] +symbol_array_def( + unique int id: @symbol_array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@then_child_type = @token_empty_statement | @underscore_statement + +#keyset[then, index] +then_child( + int then: @then ref, + int index: int ref, + unique int child: @then_child_type ref +); + +#keyset[parent, parent_index] +then_def( + unique int id: @then, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@unary_operand_type = @break | @call | @next | @parenthesized_statements | @return | @token_float | @token_integer | @underscore_arg | @yield + +case @unary.operator of + 0 = @unary_bang +| 1 = @unary_plus +| 2 = @unary_minus +| 3 = @unary_definedquestion +| 4 = @unary_not +| 5 = @unary_tilde +; + + +#keyset[parent, parent_index] +unary_def( + unique int id: @unary, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int operand: @unary_operand_type ref, + int operator: int ref, + int loc: @location ref +); + +#keyset[undef, index] +undef_child( + int undef: @undef ref, + int index: int ref, + unique int child: @underscore_method_name ref +); + +#keyset[parent, parent_index] +undef_def( + unique int id: @undef, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@unless_alternative_type = @else | @elsif + +unless_alternative( + unique int unless: @unless ref, + unique int alternative: @unless_alternative_type ref +); + +unless_consequence( + unique int unless: @unless ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +unless_def( + unique int id: @unless, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@unless_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +unless_modifier_def( + unique int id: @unless_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @unless_modifier_condition_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +until_def( + unique int id: @until, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@until_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +until_modifier_def( + unique int id: @until_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @until_modifier_condition_type ref, + int loc: @location ref +); + +when_body( + unique int when: @when ref, + unique int body: @then ref +); + +#keyset[when, index] +when_pattern( + int when: @when ref, + int index: int ref, + unique int pattern: @pattern ref +); + +#keyset[parent, parent_index] +when_def( + unique int id: @when, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +while_def( + unique int id: @while, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@while_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +while_modifier_def( + unique int id: @while_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @while_modifier_condition_type ref, + int loc: @location ref +); + +yield_child( + unique int yield: @yield ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +yield_def( + unique int id: @yield, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +tokeninfo( + unique int id: @token, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int kind: int ref, + int file: @file ref, + int idx: int ref, + string value: string ref, + int loc: @location ref +); + +case @token.kind of + 0 = @reserved_word +| 1 = @token_character +| 2 = @token_class_variable +| 3 = @token_comment +| 4 = @token_complex +| 5 = @token_constant +| 6 = @token_empty_statement +| 7 = @token_escape_sequence +| 8 = @token_false +| 9 = @token_float +| 10 = @token_global_variable +| 11 = @token_hash_key_symbol +| 12 = @token_heredoc_beginning +| 13 = @token_heredoc_content +| 14 = @token_heredoc_end +| 15 = @token_identifier +| 16 = @token_instance_variable +| 17 = @token_integer +| 18 = @token_nil +| 19 = @token_operator +| 20 = @token_self +| 21 = @token_simple_symbol +| 22 = @token_string_content +| 23 = @token_super +| 24 = @token_true +| 25 = @token_uninterpreted +; + + +@ast_node = @alias | @argument_list | @array | @assignment | @bare_string | @bare_symbol | @begin | @begin_block | @binary | @block | @block_argument | @block_parameter | @block_parameters | @break | @call | @case__ | @chained_string | @class | @conditional | @delimited_symbol | @destructured_left_assignment | @destructured_parameter | @do | @do_block | @element_reference | @else | @elsif | @end_block | @ensure | @exception_variable | @exceptions | @for | @hash | @hash_splat_argument | @hash_splat_parameter | @heredoc_body | @if | @if_modifier | @in | @interpolation | @keyword_parameter | @lambda | @lambda_parameters | @left_assignment_list | @method | @method_parameters | @module | @next | @operator_assignment | @optional_parameter | @pair | @parenthesized_statements | @pattern | @program | @range | @rational | @redo | @regex | @rescue | @rescue_modifier | @rest_assignment | @retry | @return | @right_assignment_list | @scope_resolution | @setter | @singleton_class | @singleton_method | @splat_argument | @splat_parameter | @string__ | @string_array | @subshell | @superclass | @symbol_array | @then | @token | @unary | @undef | @unless | @unless_modifier | @until | @until_modifier | @when | @while | @while_modifier | @yield + +@ast_node_parent = @ast_node | @file + diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_begin.ql b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_begin.ql new file mode 100644 index 00000000000..f80570c7ffa --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_begin.ql @@ -0,0 +1,11 @@ +class Range extends @range { + string toString() { result = "" } +} + +class Child extends @underscore_arg { + string toString() { result = "" } +} + +from Range range, Child begin +where range_child(range, 0, begin) +select range, begin diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_def.ql b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_def.ql new file mode 100644 index 00000000000..4f64159bf3f --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_def.ql @@ -0,0 +1,17 @@ +class Range extends @range { + string toString() { result = "" } +} + +class Parent extends @ast_node_parent { + string toString() { result = "" } +} + +class Location extends @location { + string toString() { result = "" } +} + +from Range range, Parent parent, int parentIndex, int operatorKind, Location loc +where + range_def(range, parent, parentIndex, loc) and + operatorKind = 0 // best we can do is assume it was .. and not ... +select range, parent, parentIndex, operatorKind, loc diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_end.ql b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_end.ql new file mode 100644 index 00000000000..901584e7977 --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_end.ql @@ -0,0 +1,11 @@ +class Range extends @range { + string toString() { result = "" } +} + +class Child extends @underscore_arg { + string toString() { result = "" } +} + +from Range range, Child end +where range_child(range, 1, end) +select range, end diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/ruby.dbscheme b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/ruby.dbscheme new file mode 100644 index 00000000000..932cb23dbc1 --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/ruby.dbscheme @@ -0,0 +1,1500 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit + +@location = @location_default + +locations_default( + unique int id: @location_default, + int file: @file ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@sourceline = @file + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref, + string simple: string ref, + string ext: string ref, + int fromSource: int ref +); + +folders( + unique int id: @folder, + string name: string ref, + string simple: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +sourceLocationPrefix( + string prefix: string ref +); + +@underscore_arg = @assignment | @binary | @conditional | @operator_assignment | @range | @unary | @underscore_primary + +@underscore_lhs = @call | @element_reference | @scope_resolution | @token_false | @token_nil | @token_true | @underscore_variable + +@underscore_method_name = @delimited_symbol | @setter | @token_class_variable | @token_constant | @token_global_variable | @token_identifier | @token_instance_variable | @token_operator | @token_simple_symbol + +@underscore_primary = @array | @begin | @break | @case__ | @chained_string | @class | @delimited_symbol | @for | @hash | @if | @lambda | @method | @module | @next | @parenthesized_statements | @rational | @redo | @regex | @retry | @return | @singleton_class | @singleton_method | @string__ | @string_array | @subshell | @symbol_array | @token_character | @token_complex | @token_float | @token_heredoc_beginning | @token_integer | @token_simple_symbol | @unary | @underscore_lhs | @unless | @until | @while | @yield + +@underscore_statement = @alias | @assignment | @begin_block | @binary | @break | @call | @end_block | @if_modifier | @next | @operator_assignment | @rescue_modifier | @return | @unary | @undef | @underscore_arg | @unless_modifier | @until_modifier | @while_modifier | @yield + +@underscore_variable = @token_class_variable | @token_constant | @token_global_variable | @token_identifier | @token_instance_variable | @token_self | @token_super + +#keyset[parent, parent_index] +alias_def( + unique int id: @alias, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int alias: @underscore_method_name ref, + int name: @underscore_method_name ref, + int loc: @location ref +); + +@argument_list_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[argument_list, index] +argument_list_child( + int argument_list: @argument_list ref, + int index: int ref, + unique int child: @argument_list_child_type ref +); + +#keyset[parent, parent_index] +argument_list_def( + unique int id: @argument_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@array_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[array, index] +array_child( + int array: @array ref, + int index: int ref, + unique int child: @array_child_type ref +); + +#keyset[parent, parent_index] +array_def( + unique int id: @array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@assignment_left_type = @left_assignment_list | @underscore_lhs + +@assignment_right_type = @break | @call | @next | @return | @right_assignment_list | @splat_argument | @underscore_arg | @yield + +#keyset[parent, parent_index] +assignment_def( + unique int id: @assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @assignment_left_type ref, + int right: @assignment_right_type ref, + int loc: @location ref +); + +@bare_string_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[bare_string, index] +bare_string_child( + int bare_string: @bare_string ref, + int index: int ref, + unique int child: @bare_string_child_type ref +); + +#keyset[parent, parent_index] +bare_string_def( + unique int id: @bare_string, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@bare_symbol_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[bare_symbol, index] +bare_symbol_child( + int bare_symbol: @bare_symbol ref, + int index: int ref, + unique int child: @bare_symbol_child_type ref +); + +#keyset[parent, parent_index] +bare_symbol_def( + unique int id: @bare_symbol, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@begin_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[begin, index] +begin_child( + int begin: @begin ref, + int index: int ref, + unique int child: @begin_child_type ref +); + +#keyset[parent, parent_index] +begin_def( + unique int id: @begin, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@begin_block_child_type = @token_empty_statement | @underscore_statement + +#keyset[begin_block, index] +begin_block_child( + int begin_block: @begin_block ref, + int index: int ref, + unique int child: @begin_block_child_type ref +); + +#keyset[parent, parent_index] +begin_block_def( + unique int id: @begin_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@binary_left_type = @break | @call | @next | @return | @underscore_arg | @yield + +case @binary.operator of + 0 = @binary_bangequal +| 1 = @binary_bangtilde +| 2 = @binary_percent +| 3 = @binary_ampersand +| 4 = @binary_ampersandampersand +| 5 = @binary_star +| 6 = @binary_starstar +| 7 = @binary_plus +| 8 = @binary_minus +| 9 = @binary_slash +| 10 = @binary_langle +| 11 = @binary_langlelangle +| 12 = @binary_langleequal +| 13 = @binary_langleequalrangle +| 14 = @binary_equalequal +| 15 = @binary_equalequalequal +| 16 = @binary_equaltilde +| 17 = @binary_rangle +| 18 = @binary_rangleequal +| 19 = @binary_ranglerangle +| 20 = @binary_caret +| 21 = @binary_and +| 22 = @binary_or +| 23 = @binary_pipe +| 24 = @binary_pipepipe +; + + +@binary_right_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +binary_def( + unique int id: @binary, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @binary_left_type ref, + int operator: int ref, + int right: @binary_right_type ref, + int loc: @location ref +); + +block_parameters( + unique int block: @block ref, + unique int parameters: @block_parameters ref +); + +@block_child_type = @token_empty_statement | @underscore_statement + +#keyset[block, index] +block_child( + int block: @block ref, + int index: int ref, + unique int child: @block_child_type ref +); + +#keyset[parent, parent_index] +block_def( + unique int id: @block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +block_argument_def( + unique int id: @block_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +block_parameter_def( + unique int id: @block_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@block_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[block_parameters, index] +block_parameters_child( + int block_parameters: @block_parameters ref, + int index: int ref, + unique int child: @block_parameters_child_type ref +); + +#keyset[parent, parent_index] +block_parameters_def( + unique int id: @block_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +break_child( + unique int break: @break ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +break_def( + unique int id: @break, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +call_arguments( + unique int call: @call ref, + unique int arguments: @argument_list ref +); + +@call_block_type = @block | @do_block + +call_block( + unique int call: @call ref, + unique int block: @call_block_type ref +); + +@call_method_type = @argument_list | @scope_resolution | @token_operator | @underscore_variable + +@call_receiver_type = @call | @underscore_primary + +call_receiver( + unique int call: @call ref, + unique int receiver: @call_receiver_type ref +); + +#keyset[parent, parent_index] +call_def( + unique int id: @call, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int method: @call_method_type ref, + int loc: @location ref +); + +case_value( + unique int case__: @case__ ref, + unique int value: @underscore_statement ref +); + +@case_child_type = @else | @when + +#keyset[case__, index] +case_child( + int case__: @case__ ref, + int index: int ref, + unique int child: @case_child_type ref +); + +#keyset[parent, parent_index] +case_def( + unique int id: @case__, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[chained_string, index] +chained_string_child( + int chained_string: @chained_string ref, + int index: int ref, + unique int child: @string__ ref +); + +#keyset[parent, parent_index] +chained_string_def( + unique int id: @chained_string, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@class_name_type = @scope_resolution | @token_constant + +class_superclass( + unique int class: @class ref, + unique int superclass: @superclass ref +); + +@class_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[class, index] +class_child( + int class: @class ref, + int index: int ref, + unique int child: @class_child_type ref +); + +#keyset[parent, parent_index] +class_def( + unique int id: @class, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @class_name_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +conditional_def( + unique int id: @conditional, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int alternative: @underscore_arg ref, + int condition: @underscore_arg ref, + int consequence: @underscore_arg ref, + int loc: @location ref +); + +@delimited_symbol_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[delimited_symbol, index] +delimited_symbol_child( + int delimited_symbol: @delimited_symbol ref, + int index: int ref, + unique int child: @delimited_symbol_child_type ref +); + +#keyset[parent, parent_index] +delimited_symbol_def( + unique int id: @delimited_symbol, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@destructured_left_assignment_child_type = @destructured_left_assignment | @rest_assignment | @underscore_lhs + +#keyset[destructured_left_assignment, index] +destructured_left_assignment_child( + int destructured_left_assignment: @destructured_left_assignment ref, + int index: int ref, + unique int child: @destructured_left_assignment_child_type ref +); + +#keyset[parent, parent_index] +destructured_left_assignment_def( + unique int id: @destructured_left_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@destructured_parameter_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[destructured_parameter, index] +destructured_parameter_child( + int destructured_parameter: @destructured_parameter ref, + int index: int ref, + unique int child: @destructured_parameter_child_type ref +); + +#keyset[parent, parent_index] +destructured_parameter_def( + unique int id: @destructured_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@do_child_type = @token_empty_statement | @underscore_statement + +#keyset[do, index] +do_child( + int do: @do ref, + int index: int ref, + unique int child: @do_child_type ref +); + +#keyset[parent, parent_index] +do_def( + unique int id: @do, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +do_block_parameters( + unique int do_block: @do_block ref, + unique int parameters: @block_parameters ref +); + +@do_block_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[do_block, index] +do_block_child( + int do_block: @do_block ref, + int index: int ref, + unique int child: @do_block_child_type ref +); + +#keyset[parent, parent_index] +do_block_def( + unique int id: @do_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@element_reference_child_type = @block_argument | @break | @call | @hash_splat_argument | @next | @pair | @return | @splat_argument | @underscore_arg | @yield + +#keyset[element_reference, index] +element_reference_child( + int element_reference: @element_reference ref, + int index: int ref, + unique int child: @element_reference_child_type ref +); + +#keyset[parent, parent_index] +element_reference_def( + unique int id: @element_reference, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int object: @underscore_primary ref, + int loc: @location ref +); + +@else_child_type = @token_empty_statement | @underscore_statement + +#keyset[else, index] +else_child( + int else: @else ref, + int index: int ref, + unique int child: @else_child_type ref +); + +#keyset[parent, parent_index] +else_def( + unique int id: @else, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@elsif_alternative_type = @else | @elsif + +elsif_alternative( + unique int elsif: @elsif ref, + unique int alternative: @elsif_alternative_type ref +); + +elsif_consequence( + unique int elsif: @elsif ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +elsif_def( + unique int id: @elsif, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@end_block_child_type = @token_empty_statement | @underscore_statement + +#keyset[end_block, index] +end_block_child( + int end_block: @end_block ref, + int index: int ref, + unique int child: @end_block_child_type ref +); + +#keyset[parent, parent_index] +end_block_def( + unique int id: @end_block, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@ensure_child_type = @token_empty_statement | @underscore_statement + +#keyset[ensure, index] +ensure_child( + int ensure: @ensure ref, + int index: int ref, + unique int child: @ensure_child_type ref +); + +#keyset[parent, parent_index] +ensure_def( + unique int id: @ensure, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +exception_variable_def( + unique int id: @exception_variable, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_lhs ref, + int loc: @location ref +); + +@exceptions_child_type = @splat_argument | @underscore_arg + +#keyset[exceptions, index] +exceptions_child( + int exceptions: @exceptions ref, + int index: int ref, + unique int child: @exceptions_child_type ref +); + +#keyset[parent, parent_index] +exceptions_def( + unique int id: @exceptions, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@for_pattern_type = @left_assignment_list | @underscore_lhs + +#keyset[parent, parent_index] +for_def( + unique int id: @for, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int pattern: @for_pattern_type ref, + int value: @in ref, + int loc: @location ref +); + +@hash_child_type = @hash_splat_argument | @pair + +#keyset[hash, index] +hash_child( + int hash: @hash ref, + int index: int ref, + unique int child: @hash_child_type ref +); + +#keyset[parent, parent_index] +hash_def( + unique int id: @hash, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +hash_splat_argument_def( + unique int id: @hash_splat_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +hash_splat_parameter_name( + unique int hash_splat_parameter: @hash_splat_parameter ref, + unique int name: @token_identifier ref +); + +#keyset[parent, parent_index] +hash_splat_parameter_def( + unique int id: @hash_splat_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@heredoc_body_child_type = @interpolation | @token_escape_sequence | @token_heredoc_content | @token_heredoc_end + +#keyset[heredoc_body, index] +heredoc_body_child( + int heredoc_body: @heredoc_body ref, + int index: int ref, + unique int child: @heredoc_body_child_type ref +); + +#keyset[parent, parent_index] +heredoc_body_def( + unique int id: @heredoc_body, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@if_alternative_type = @else | @elsif + +if_alternative( + unique int if: @if ref, + unique int alternative: @if_alternative_type ref +); + +if_consequence( + unique int if: @if ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +if_def( + unique int id: @if, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@if_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +if_modifier_def( + unique int id: @if_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @if_modifier_condition_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +in_def( + unique int id: @in, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +interpolation_child( + unique int interpolation: @interpolation ref, + unique int child: @underscore_statement ref +); + +#keyset[parent, parent_index] +interpolation_def( + unique int id: @interpolation, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +keyword_parameter_value( + unique int keyword_parameter: @keyword_parameter ref, + unique int value: @underscore_arg ref +); + +#keyset[parent, parent_index] +keyword_parameter_def( + unique int id: @keyword_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@lambda_body_type = @block | @do_block + +lambda_parameters( + unique int lambda: @lambda ref, + unique int parameters: @lambda_parameters ref +); + +#keyset[parent, parent_index] +lambda_def( + unique int id: @lambda, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @lambda_body_type ref, + int loc: @location ref +); + +@lambda_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[lambda_parameters, index] +lambda_parameters_child( + int lambda_parameters: @lambda_parameters ref, + int index: int ref, + unique int child: @lambda_parameters_child_type ref +); + +#keyset[parent, parent_index] +lambda_parameters_def( + unique int id: @lambda_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@left_assignment_list_child_type = @destructured_left_assignment | @rest_assignment | @underscore_lhs + +#keyset[left_assignment_list, index] +left_assignment_list_child( + int left_assignment_list: @left_assignment_list ref, + int index: int ref, + unique int child: @left_assignment_list_child_type ref +); + +#keyset[parent, parent_index] +left_assignment_list_def( + unique int id: @left_assignment_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +method_parameters( + unique int method: @method ref, + unique int parameters: @method_parameters ref +); + +@method_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[method, index] +method_child( + int method: @method ref, + int index: int ref, + unique int child: @method_child_type ref +); + +#keyset[parent, parent_index] +method_def( + unique int id: @method, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @underscore_method_name ref, + int loc: @location ref +); + +@method_parameters_child_type = @block_parameter | @destructured_parameter | @hash_splat_parameter | @keyword_parameter | @optional_parameter | @splat_parameter | @token_identifier + +#keyset[method_parameters, index] +method_parameters_child( + int method_parameters: @method_parameters ref, + int index: int ref, + unique int child: @method_parameters_child_type ref +); + +#keyset[parent, parent_index] +method_parameters_def( + unique int id: @method_parameters, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@module_name_type = @scope_resolution | @token_constant + +@module_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[module, index] +module_child( + int module: @module ref, + int index: int ref, + unique int child: @module_child_type ref +); + +#keyset[parent, parent_index] +module_def( + unique int id: @module, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @module_name_type ref, + int loc: @location ref +); + +next_child( + unique int next: @next ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +next_def( + unique int id: @next, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +case @operator_assignment.operator of + 0 = @operator_assignment_percentequal +| 1 = @operator_assignment_ampersandampersandequal +| 2 = @operator_assignment_ampersandequal +| 3 = @operator_assignment_starstarequal +| 4 = @operator_assignment_starequal +| 5 = @operator_assignment_plusequal +| 6 = @operator_assignment_minusequal +| 7 = @operator_assignment_slashequal +| 8 = @operator_assignment_langlelangleequal +| 9 = @operator_assignment_ranglerangleequal +| 10 = @operator_assignment_caretequal +| 11 = @operator_assignment_pipeequal +| 12 = @operator_assignment_pipepipeequal +; + + +@operator_assignment_right_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +operator_assignment_def( + unique int id: @operator_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int left: @underscore_lhs ref, + int operator: int ref, + int right: @operator_assignment_right_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +optional_parameter_def( + unique int id: @optional_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@pair_key_type = @string__ | @token_hash_key_symbol | @underscore_arg + +#keyset[parent, parent_index] +pair_def( + unique int id: @pair, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int key__: @pair_key_type ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@parenthesized_statements_child_type = @token_empty_statement | @underscore_statement + +#keyset[parenthesized_statements, index] +parenthesized_statements_child( + int parenthesized_statements: @parenthesized_statements ref, + int index: int ref, + unique int child: @parenthesized_statements_child_type ref +); + +#keyset[parent, parent_index] +parenthesized_statements_def( + unique int id: @parenthesized_statements, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@pattern_child_type = @splat_argument | @underscore_arg + +#keyset[parent, parent_index] +pattern_def( + unique int id: @pattern, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @pattern_child_type ref, + int loc: @location ref +); + +@program_child_type = @token_empty_statement | @token_uninterpreted | @underscore_statement + +#keyset[program, index] +program_child( + int program: @program ref, + int index: int ref, + unique int child: @program_child_type ref +); + +#keyset[parent, parent_index] +program_def( + unique int id: @program, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +range_begin( + unique int range: @range ref, + unique int begin: @underscore_arg ref +); + +range_end( + unique int range: @range ref, + unique int end: @underscore_arg ref +); + +case @range.operator of + 0 = @range_dotdot +| 1 = @range_dotdotdot +; + + +#keyset[parent, parent_index] +range_def( + unique int id: @range, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int operator: int ref, + int loc: @location ref +); + +@rational_child_type = @token_float | @token_integer + +#keyset[parent, parent_index] +rational_def( + unique int id: @rational, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @rational_child_type ref, + int loc: @location ref +); + +redo_child( + unique int redo: @redo ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +redo_def( + unique int id: @redo, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@regex_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[regex, index] +regex_child( + int regex: @regex ref, + int index: int ref, + unique int child: @regex_child_type ref +); + +#keyset[parent, parent_index] +regex_def( + unique int id: @regex, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +rescue_body( + unique int rescue: @rescue ref, + unique int body: @then ref +); + +rescue_exceptions( + unique int rescue: @rescue ref, + unique int exceptions: @exceptions ref +); + +rescue_variable( + unique int rescue: @rescue ref, + unique int variable: @exception_variable ref +); + +#keyset[parent, parent_index] +rescue_def( + unique int id: @rescue, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@rescue_modifier_handler_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +rescue_modifier_def( + unique int id: @rescue_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int handler: @rescue_modifier_handler_type ref, + int loc: @location ref +); + +rest_assignment_child( + unique int rest_assignment: @rest_assignment ref, + unique int child: @underscore_lhs ref +); + +#keyset[parent, parent_index] +rest_assignment_def( + unique int id: @rest_assignment, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +retry_child( + unique int retry: @retry ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +retry_def( + unique int id: @retry, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +return_child( + unique int return: @return ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +return_def( + unique int id: @return, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@right_assignment_list_child_type = @splat_argument | @underscore_arg + +#keyset[right_assignment_list, index] +right_assignment_list_child( + int right_assignment_list: @right_assignment_list ref, + int index: int ref, + unique int child: @right_assignment_list_child_type ref +); + +#keyset[parent, parent_index] +right_assignment_list_def( + unique int id: @right_assignment_list, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@scope_resolution_name_type = @token_constant | @token_identifier + +scope_resolution_scope( + unique int scope_resolution: @scope_resolution ref, + unique int scope: @underscore_primary ref +); + +#keyset[parent, parent_index] +scope_resolution_def( + unique int id: @scope_resolution, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @scope_resolution_name_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +setter_def( + unique int id: @setter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @token_identifier ref, + int loc: @location ref +); + +@singleton_class_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[singleton_class, index] +singleton_class_child( + int singleton_class: @singleton_class ref, + int index: int ref, + unique int child: @singleton_class_child_type ref +); + +#keyset[parent, parent_index] +singleton_class_def( + unique int id: @singleton_class, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int value: @underscore_arg ref, + int loc: @location ref +); + +@singleton_method_object_type = @underscore_arg | @underscore_variable + +singleton_method_parameters( + unique int singleton_method: @singleton_method ref, + unique int parameters: @method_parameters ref +); + +@singleton_method_child_type = @else | @ensure | @rescue | @token_empty_statement | @underscore_statement + +#keyset[singleton_method, index] +singleton_method_child( + int singleton_method: @singleton_method ref, + int index: int ref, + unique int child: @singleton_method_child_type ref +); + +#keyset[parent, parent_index] +singleton_method_def( + unique int id: @singleton_method, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int name: @underscore_method_name ref, + int object: @singleton_method_object_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +splat_argument_def( + unique int id: @splat_argument, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @underscore_arg ref, + int loc: @location ref +); + +splat_parameter_name( + unique int splat_parameter: @splat_parameter ref, + unique int name: @token_identifier ref +); + +#keyset[parent, parent_index] +splat_parameter_def( + unique int id: @splat_parameter, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@string_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[string__, index] +string_child( + int string__: @string__ ref, + int index: int ref, + unique int child: @string_child_type ref +); + +#keyset[parent, parent_index] +string_def( + unique int id: @string__, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[string_array, index] +string_array_child( + int string_array: @string_array ref, + int index: int ref, + unique int child: @bare_string ref +); + +#keyset[parent, parent_index] +string_array_def( + unique int id: @string_array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@subshell_child_type = @interpolation | @token_escape_sequence | @token_string_content + +#keyset[subshell, index] +subshell_child( + int subshell: @subshell ref, + int index: int ref, + unique int child: @subshell_child_type ref +); + +#keyset[parent, parent_index] +subshell_def( + unique int id: @subshell, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@superclass_child_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +superclass_def( + unique int id: @superclass, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int child: @superclass_child_type ref, + int loc: @location ref +); + +#keyset[symbol_array, index] +symbol_array_child( + int symbol_array: @symbol_array ref, + int index: int ref, + unique int child: @bare_symbol ref +); + +#keyset[parent, parent_index] +symbol_array_def( + unique int id: @symbol_array, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@then_child_type = @token_empty_statement | @underscore_statement + +#keyset[then, index] +then_child( + int then: @then ref, + int index: int ref, + unique int child: @then_child_type ref +); + +#keyset[parent, parent_index] +then_def( + unique int id: @then, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@unary_operand_type = @break | @call | @next | @parenthesized_statements | @return | @token_float | @token_integer | @underscore_arg | @yield + +case @unary.operator of + 0 = @unary_bang +| 1 = @unary_plus +| 2 = @unary_minus +| 3 = @unary_definedquestion +| 4 = @unary_not +| 5 = @unary_tilde +; + + +#keyset[parent, parent_index] +unary_def( + unique int id: @unary, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int operand: @unary_operand_type ref, + int operator: int ref, + int loc: @location ref +); + +#keyset[undef, index] +undef_child( + int undef: @undef ref, + int index: int ref, + unique int child: @underscore_method_name ref +); + +#keyset[parent, parent_index] +undef_def( + unique int id: @undef, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +@unless_alternative_type = @else | @elsif + +unless_alternative( + unique int unless: @unless ref, + unique int alternative: @unless_alternative_type ref +); + +unless_consequence( + unique int unless: @unless ref, + unique int consequence: @then ref +); + +#keyset[parent, parent_index] +unless_def( + unique int id: @unless, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@unless_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +unless_modifier_def( + unique int id: @unless_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @unless_modifier_condition_type ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +until_def( + unique int id: @until, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@until_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +until_modifier_def( + unique int id: @until_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @until_modifier_condition_type ref, + int loc: @location ref +); + +when_body( + unique int when: @when ref, + unique int body: @then ref +); + +#keyset[when, index] +when_pattern( + int when: @when ref, + int index: int ref, + unique int pattern: @pattern ref +); + +#keyset[parent, parent_index] +when_def( + unique int id: @when, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +while_def( + unique int id: @while, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @do ref, + int condition: @underscore_statement ref, + int loc: @location ref +); + +@while_modifier_condition_type = @break | @call | @next | @return | @underscore_arg | @yield + +#keyset[parent, parent_index] +while_modifier_def( + unique int id: @while_modifier, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int body: @underscore_statement ref, + int condition: @while_modifier_condition_type ref, + int loc: @location ref +); + +yield_child( + unique int yield: @yield ref, + unique int child: @argument_list ref +); + +#keyset[parent, parent_index] +yield_def( + unique int id: @yield, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int loc: @location ref +); + +#keyset[parent, parent_index] +tokeninfo( + unique int id: @token, + int parent: @ast_node_parent ref, + int parent_index: int ref, + int kind: int ref, + int file: @file ref, + int idx: int ref, + string value: string ref, + int loc: @location ref +); + +case @token.kind of + 0 = @reserved_word +| 1 = @token_character +| 2 = @token_class_variable +| 3 = @token_comment +| 4 = @token_complex +| 5 = @token_constant +| 6 = @token_empty_statement +| 7 = @token_escape_sequence +| 8 = @token_false +| 9 = @token_float +| 10 = @token_global_variable +| 11 = @token_hash_key_symbol +| 12 = @token_heredoc_beginning +| 13 = @token_heredoc_content +| 14 = @token_heredoc_end +| 15 = @token_identifier +| 16 = @token_instance_variable +| 17 = @token_integer +| 18 = @token_nil +| 19 = @token_operator +| 20 = @token_self +| 21 = @token_simple_symbol +| 22 = @token_string_content +| 23 = @token_super +| 24 = @token_true +| 25 = @token_uninterpreted +; + + +@ast_node = @alias | @argument_list | @array | @assignment | @bare_string | @bare_symbol | @begin | @begin_block | @binary | @block | @block_argument | @block_parameter | @block_parameters | @break | @call | @case__ | @chained_string | @class | @conditional | @delimited_symbol | @destructured_left_assignment | @destructured_parameter | @do | @do_block | @element_reference | @else | @elsif | @end_block | @ensure | @exception_variable | @exceptions | @for | @hash | @hash_splat_argument | @hash_splat_parameter | @heredoc_body | @if | @if_modifier | @in | @interpolation | @keyword_parameter | @lambda | @lambda_parameters | @left_assignment_list | @method | @method_parameters | @module | @next | @operator_assignment | @optional_parameter | @pair | @parenthesized_statements | @pattern | @program | @range | @rational | @redo | @regex | @rescue | @rescue_modifier | @rest_assignment | @retry | @return | @right_assignment_list | @scope_resolution | @setter | @singleton_class | @singleton_method | @splat_argument | @splat_parameter | @string__ | @string_array | @subshell | @superclass | @symbol_array | @then | @token | @unary | @undef | @unless | @unless_modifier | @until | @until_modifier | @when | @while | @while_modifier | @yield + +@ast_node_parent = @ast_node | @file + diff --git a/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/upgrade.properties b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/upgrade.properties new file mode 100644 index 00000000000..2667f11761e --- /dev/null +++ b/upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/upgrade.properties @@ -0,0 +1,6 @@ +description: split range_child table into range_begin and range_end +compatibility: partial +range_begin.rel: run range_begin.qlo +range_end.rel: run range_end.qlo +range_def.rel: run range_def.qlo +range_child.rel: delete \ No newline at end of file