From f56f81f55537fb431f3c26f33b244ec9f4fb6faf Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Fri, 12 Feb 2021 17:36:28 +0000 Subject: [PATCH 01/12] Add and expand AST classes for literals --- Cargo.lock | 2 +- extractor/Cargo.toml | 2 +- generator/Cargo.toml | 2 +- ql/src/codeql_ruby/AST.qll | 1 + ql/src/codeql_ruby/ast/Expr.qll | 157 ++-- ql/src/codeql_ruby/ast/Literal.qll | 410 ++++++++++ ql/src/codeql_ruby/ast/internal/AST.qll | 24 - ql/src/codeql_ruby/ast/internal/Expr.qll | 199 +---- ql/src/codeql_ruby/ast/internal/Literal.qll | 373 +++++++++ .../codeql_ruby/ast/internal/TreeSitter.qll | 20 +- ql/src/codeql_ruby/ast/internal/Variable.qll | 4 +- ql/src/ruby.dbscheme | 20 +- .../ast/literals/literals.expected | 726 ++++++++++++++++++ .../library-tests/ast/literals/literals.ql | 110 +++ .../library-tests/ast/literals/literals.rb | 142 ++++ 15 files changed, 1858 insertions(+), 334 deletions(-) create mode 100644 ql/src/codeql_ruby/ast/Literal.qll create mode 100644 ql/src/codeql_ruby/ast/internal/Literal.qll create mode 100644 ql/test/library-tests/ast/literals/literals.expected create mode 100644 ql/test/library-tests/ast/literals/literals.ql create mode 100644 ql/test/library-tests/ast/literals/literals.rb diff --git a/Cargo.lock b/Cargo.lock index c311de0b5fa..c6a1b7fdf6a 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/nickrolfe/tree-sitter-ruby.git?branch=range_fields#ef0fb075c77dbd3cd16f69cf3eff44f4edd55381" dependencies = [ "cc", "tree-sitter", diff --git a/extractor/Cargo.toml b/extractor/Cargo.toml index dedc2732551..c49b1a69ba6 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/nickrolfe/tree-sitter-ruby.git", branch = "range_fields" } 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..3550b2a4ac7 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/nickrolfe/tree-sitter-ruby.git", branch = "range_fields" } diff --git a/ql/src/codeql_ruby/AST.qll b/ql/src/codeql_ruby/AST.qll index 3af26170184..11c41330aa4 100644 --- a/ql/src/codeql_ruby/AST.qll +++ b/ql/src/codeql_ruby/AST.qll @@ -3,6 +3,7 @@ import ast.Call import ast.Control import ast.Constant import ast.Expr +import ast.Literal import ast.Method import ast.Module import ast.Parameter diff --git a/ql/src/codeql_ruby/ast/Expr.qll b/ql/src/codeql_ruby/ast/Expr.qll index ef38e6d18c3..7d2a1270925 100644 --- a/ql/src/codeql_ruby/ast/Expr.qll +++ b/ql/src/codeql_ruby/ast/Expr.qll @@ -24,115 +24,7 @@ class Self extends Expr, @token_self { final override string getAPrimaryQlClass() { result = "Self" } } -/** - * A literal. - * - * This is the QL root class for all literals. - */ -class Literal extends Expr { - override Literal::Range range; - /** Gets the source text for this literal, if it is constant. */ - final string getValueText() { result = range.getValueText() } -} - -/** - * An integer literal. - * ```rb - * x = 123 - * y = 0xff - * ``` - */ -class IntegerLiteral extends Literal, @token_integer { - final override IntegerLiteral::Range range; - - final override string getAPrimaryQlClass() { result = "IntegerLiteral" } -} - -/** A `nil` literal. */ -class NilLiteral extends Literal, @token_nil { - final override NilLiteral::Range range; - - final override string getAPrimaryQlClass() { result = "NilLiteral" } -} - -/** - * A Boolean literal. - * ```rb - * true - * false - * TRUE - * FALSE - * ``` - */ -class BooleanLiteral extends Literal, BooleanLiteral::DbUnion { - final override BooleanLiteral::Range range; - - final override string getAPrimaryQlClass() { result = "BooleanLiteral" } - - /** Holds if the Boolean literal is `true` or `TRUE`. */ - predicate isTrue() { range.isTrue() } - - /** Holds if the Boolean literal is `false` or `FALSE`. */ - predicate isFalse() { range.isFalse() } -} - -// TODO: expand this. It's a minimal placeholder so we can test `=~` and `!~`. -class RegexLiteral extends Literal, @regex { - final override RegexLiteral::Range range; - - final override string getAPrimaryQlClass() { result = "RegexLiteral" } -} - -/** - * A string literal. - * ```rb - * 'hello' - * "hello, #{name}" - * ``` - * TODO: expand this minimal placeholder. - */ -class StringLiteral extends Literal, @string__ { - final override StringLiteral::Range range; - - final override string getAPrimaryQlClass() { result = "StringLiteral" } -} - -/** - * A symbol literal. - * ```rb - * :foo - * :"foo bar" - * :"foo bar #{baz}" - * ``` - * TODO: expand this minimal placeholder. - */ -class SymbolLiteral extends Literal { - 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 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" } -} /** A sequence of expressions. */ class StmtSequence extends Expr { @@ -322,3 +214,52 @@ class RescueModifierExpr extends Expr, @rescue_modifier { */ final Stmt getHandler() { result = range.getHandler() } } + +/** + * A concatenation of string literals. + * + * ```rb + * "foo" "bar" "baz" + * ``` + */ +class StringConcatenation extends Expr, @chained_string { + final override StringConcatenation::Range range; + + final override string getAPrimaryQlClass() { result = "StringConcatenation" } + + /** Gets the `n`th string literal in this concatenation. */ + final StringLiteral getString(int n) { result = range.getString(n) } + + /** Gets a string literal in this concatenation. */ + final StringLiteral getAString() { result = this.getString(_) } + + /** Gets the number of string literals in this concatenation. */ + final int getNumberOfStrings() { result = count(this.getString(_)) } + + /** + * Gets the result of concatenating all the string literals, if and only if + * they do not contain any interpolations. + * + * For the following example, the result is `"foobar"`: + * + * ```rb + * "foo" 'bar' + * ``` + * + * And for the following example, where one of the string literals includes + * an interpolation, there is no result: + * + * ```rb + * "foo" "bar#{ n }" + * ``` + */ + final string getConcatenatedValueText() { + forall(StringLiteral c | c = this.getString(_) | exists(c.getValueText())) and + result = + concat(string valueText, int i | + valueText = this.getString(i).getValueText() + | + valueText order by i + ) + } +} diff --git a/ql/src/codeql_ruby/ast/Literal.qll b/ql/src/codeql_ruby/ast/Literal.qll new file mode 100644 index 00000000000..30c9d0f51c9 --- /dev/null +++ b/ql/src/codeql_ruby/ast/Literal.qll @@ -0,0 +1,410 @@ +private import codeql_ruby.AST +private import internal.Literal + +/** + * A literal. + * + * This is the QL root class for all literals. + */ +class Literal extends Expr { + override Literal::Range range; + + /** + * Gets the source text for this literal, if this is a simple literal. + * + * For complex literals, such as arrays, hashes, and strings with + * interpolations, this predicate has no result. + */ + final string getValueText() { result = range.getValueText() } +} + +/** + * A numeric literal, i.e. an integer, floating-point, rational, or complex + * value. + * + * ```rb + * 123 + * 0xff + * 3.14159 + * 1.0E2 + * 7r + * 1i + * ``` + */ +class NumericLiteral extends Literal { + override NumericLiteral::Range range; +} + +/** + * An integer literal. + * + * ```rb + * 123 + * 0xff + * ``` + */ +class IntegerLiteral extends NumericLiteral, @token_integer { + final override IntegerLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "IntegerLiteral" } +} + +/** + * A floating-point literal. + * + * ```rb + * 1.3 + * 2.7e+5 + * ``` + */ +class FloatLiteral extends NumericLiteral, @token_float { + final override FloatLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "FloatLiteral" } +} + +/** + * A rational literal. + * + * ```rb + * 123r + * ``` + */ +class RationalLiteral extends NumericLiteral, @rational { + final override RationalLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "RationalLiteral" } +} + +/** + * A complex literal. + * + * ```rb + * 1i + * ``` + */ +class ComplexLiteral extends NumericLiteral, @token_complex { + final override ComplexLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "ComplexLiteral" } +} + +/** A `nil` literal. */ +class NilLiteral extends Literal, @token_nil { + final override NilLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "NilLiteral" } +} + +/** + * A Boolean literal. + * ```rb + * true + * false + * TRUE + * FALSE + * ``` + */ +class BooleanLiteral extends Literal, BooleanLiteral::DbUnion { + final override BooleanLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "BooleanLiteral" } + + /** Holds if the Boolean literal is `true` or `TRUE`. */ + predicate isTrue() { range.isTrue() } + + /** Holds if the Boolean literal is `false` or `FALSE`. */ + predicate isFalse() { range.isFalse() } +} + +/** + * The base class for a component of a string: `StringTextComponent`, + * `StringEscapeSequenceComponent`, or `StringInterpolationComponent`. + */ +class StringComponent extends AstNode { + override StringComponent::Range range; + + /** + * Gets the source text for this string component. Has no result if this is + * a `StringInterpolationComponent`. + */ + final string getValueText() { result = range.getValueText() } +} + +/** + * A component of a string (or string-like) literal that is simply text. + * + * For example, the following string literals all contain `StringTextComponent` + * components whose `getValueText()` returns `"foo"`: + * + * ```rb + * 'foo' + * "#{ bar() }foo" + * "foo#{ bar() } baz" + * ``` + */ +class StringTextComponent extends StringComponent, @token_string_content { + final override StringTextComponent::Range range; + + final override string getAPrimaryQlClass() { result = "StringTextComponent" } +} + +/** + * An escape sequence component of a string or string-like literal. + */ +class StringEscapeSequenceComponent extends StringComponent, @token_escape_sequence { + final override StringEscapeSequenceComponent::Range range; + + final override string getAPrimaryQlClass() { result = "StringEscapeSequenceComponent" } +} + +/** + * An interpolation expression component of a string or string-like literal. + */ +class StringInterpolationComponent extends StringComponent, StmtSequence, @interpolation { + final override StringInterpolationComponent::Range range; + + final override string getAPrimaryQlClass() { result = "StringInterpolationComponent" } +} + +/** + * A string, symbol, regex, or subshell literal. + */ +class StringlikeLiteral extends Literal { + override StringlikeLiteral::Range range; + + /** + * Gets the `n`th component of this string or string-like literal. The result + * will be one of `StringTextComponent`, `StringInterpolationComponent`, and + * `StringEscapeSequenceComponent`. + * + * In the following example, the result for `n = 0` is the + * `StringTextComponent` for `foo_`, and the result for `n = 1` is the + * `StringInterpolationComponent` for `Time.now`. + * + * ```rb + * "foo_#{ Time.now }" + * ``` + */ + final StringComponent getComponent(int n) { result = range.getComponent(n) } + + /** + * Gets the number of components in this string or string-like literal. + * + * For the empty string `""`, the result is 0. + * + * For the string `"foo"`, the result is 1: there is a single + * `StringTextComponent`. + * + * For the following example, the result is 3: there is a + * `StringTextComponent` for the substring `"foo_"`; a + * `StringEscapeSequenceComponent` for the escaped quote; and a + * `StringInterpolationComponent` for the interpolation. + * + * ```rb + * "foo\"#{bar}" + * ``` + */ + final int getNumberOfComponents() { result = count(this.getComponent(_)) } +} + +/** + * A string literal. + * + * ```rb + * 'hello' + * "hello, #{name}" + * ``` + */ +class StringLiteral extends StringlikeLiteral { + final override StringLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "StringLiteral" } +} + +/** + * A regular expression literal. + * + * ```rb + * /[a-z]+/ + * ``` + */ +class RegexLiteral extends StringlikeLiteral, @regex { + final override RegexLiteral::Range range; + + final override string getAPrimaryQlClass() { result = "RegexLiteral" } + + /** + * Gets the regex flags as a string. + * + * ```rb + * /foo/ # => "" + * /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 ab62aadbfc8..d49beb8f081 100644 --- a/ql/src/codeql_ruby/ast/internal/AST.qll +++ b/ql/src/codeql_ruby/ast/internal/AST.qll @@ -31,37 +31,13 @@ module AstNode { or this = any(Generated::RestAssignment ra).getChild() 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 c395511e43f..bb02c50ae06 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..6c37beca1bb --- /dev/null +++ b/ql/src/codeql_ruby/ast/internal/Literal.qll @@ -0,0 +1,373 @@ +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() + } + + final override string toString() { result = this.getValueText() + "r" } + } +} + +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 Expr getStmt(int n) { + // TODO: fix grammar to properly handle a sequence of more than one expr, + // e.g. #{ foo; bar } + 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() { + result = + this.getStartDelimiter() + + 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 + ) + 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/test/library-tests/ast/literals/literals.expected b/ql/test/library-tests/ast/literals/literals.expected new file mode 100644 index 00000000000..c95298af6ef --- /dev/null +++ b/ql/test/library-tests/ast/literals/literals.expected @@ -0,0 +1,726 @@ +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 | 23 | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +| 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 | +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 | +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 | +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 | +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 | 23 | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +| 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 | 23 | +| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +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..9fb06a84129 --- /dev/null +++ b/ql/test/library-tests/ast/literals/literals.rb @@ -0,0 +1,142 @@ +# 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 \ No newline at end of file From 2eb87572859ef18a2e57e14ccc2dceaa4e19252c Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 11:52:40 +0000 Subject: [PATCH 02/12] Update expected test output for toString changes --- .../library-tests/ast/calls/calls.expected | 6 +- ql/test/library-tests/ast/misc/misc.expected | 2 +- .../ast/operations/binary.expected | 8 +- .../ast/operations/operation.expected | 4 +- .../controlflow/graph/Cfg.expected | 560 +++++++++--------- .../dataflow/local/DataflowStep.expected | 10 +- .../dataflow/local/ReturnNodes.expected | 6 +- 7 files changed, 299 insertions(+), 297 deletions(-) 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/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..a7d97cf8afa 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 not supplied" -# 125| Will not get executed if p is not supplied +# 125| "Will not get executed if p is not supplied" #-----| -> 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" | From 5e6ef5c8b58bd5878db1f3541b8428ffb80c69bc Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Mon, 15 Feb 2021 13:41:42 +0000 Subject: [PATCH 03/12] Upgrade script for dbscheme changes to range_* --- prepare-db-upgrade.md | 91 + prepare-db-upgrade.sh | 113 ++ .../old.dbscheme | 1490 ++++++++++++++++ .../range_begin.ql | 11 + .../range_def.ql | 17 + .../range_end.ql | 11 + .../ruby.dbscheme | 1500 +++++++++++++++++ .../upgrade.properties | 6 + 8 files changed, 3239 insertions(+) create mode 100644 prepare-db-upgrade.md create mode 100755 prepare-db-upgrade.sh create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/old.dbscheme create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_begin.ql create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_def.ql create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/range_end.ql create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/ruby.dbscheme create mode 100644 upgrades/880faf3235fbdf1d00fc448d42f591abcd1a62cb/upgrade.properties 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..76b377777a5 --- /dev/null +++ b/prepare-db-upgrade.sh @@ -0,0 +1,113 @@ +#!/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() +{ + len=0 + checking="$2" + while [ "x${checking}" != "x" ]; do + len=$((len + 1)) + checking="${checking%?}" + done + + if [ ${len} -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 < Date: Tue, 16 Feb 2021 14:36:18 +0000 Subject: [PATCH 04/12] Make merge_stats.py work in python3 --- scripts/merge_stats.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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: From 7dd429c94516d2df7364bc3f037b618272dd3528 Mon Sep 17 00:00:00 2001 From: Arthur Baars Date: Tue, 16 Feb 2021 16:23:04 +0100 Subject: [PATCH 05/12] Format Expr.qll --- ql/src/codeql_ruby/ast/Expr.qll | 2 -- 1 file changed, 2 deletions(-) diff --git a/ql/src/codeql_ruby/ast/Expr.qll b/ql/src/codeql_ruby/ast/Expr.qll index 7d2a1270925..fa0bc6af7c9 100644 --- a/ql/src/codeql_ruby/ast/Expr.qll +++ b/ql/src/codeql_ruby/ast/Expr.qll @@ -24,8 +24,6 @@ class Self extends Expr, @token_self { final override string getAPrimaryQlClass() { result = "Self" } } - - /** A sequence of expressions. */ class StmtSequence extends Expr { override StmtSequence::Range range; From fff5dad702e7f21661a864acf648c7915e400d7d Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 16:11:41 +0000 Subject: [PATCH 06/12] Truncate long strings in StringlikeLiteral::toString() --- ql/src/codeql_ruby/ast/internal/Literal.qll | 14 ++++++++++--- .../ast/literals/literals.expected | 20 +++++++++++++++++++ .../library-tests/ast/literals/literals.rb | 7 ++++++- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/ql/src/codeql_ruby/ast/internal/Literal.qll b/ql/src/codeql_ruby/ast/internal/Literal.qll index 6c37beca1bb..4baf27e1627 100644 --- a/ql/src/codeql_ruby/ast/internal/Literal.qll +++ b/ql/src/codeql_ruby/ast/internal/Literal.qll @@ -156,8 +156,8 @@ module StringlikeLiteral { } override string toString() { - result = - this.getStartDelimiter() + + exists(string full, string summary | + full = concat(StringComponent::Range c, int i, string s | c = this.getComponent(i) and if c instanceof Generated::Token @@ -165,7 +165,15 @@ module StringlikeLiteral { else s = "#{...}" | s order by i - ) + this.getEndDelimiter() + ) 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() + ) } } } diff --git a/ql/test/library-tests/ast/literals/literals.expected b/ql/test/library-tests/ast/literals/literals.expected index c95298af6ef..9a15510b0cb 100644 --- a/ql/test/library-tests/ast/literals/literals.expected +++ b/ql/test/library-tests/ast/literals/literals.expected @@ -192,6 +192,9 @@ allLiterals | 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 | "" | | @@ -279,6 +282,9 @@ stringlikeLiterals | 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 | "" | | @@ -321,6 +327,9 @@ stringLiterals | 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 | | @@ -472,6 +481,17 @@ stringComponents | 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 | diff --git a/ql/test/library-tests/ast/literals/literals.rb b/ql/test/library-tests/ast/literals/literals.rb index 9fb06a84129..2202223c9bf 100644 --- a/ql/test/library-tests/ast/literals/literals.rb +++ b/ql/test/library-tests/ast/literals/literals.rb @@ -139,4 +139,9 @@ TRUE %r:foo:i %r{foo+\sbar\S} %r{foo#{ 1 + 1 }bar} # interpolation -%r:foo:mxo \ No newline at end of file +%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 From cd38b980a8a19349154d050804a10ffcc880e7d8 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 16:13:00 +0000 Subject: [PATCH 07/12] Update dbscheme stats --- ql/src/ruby.dbscheme.stats | 82717 ++++++++++++++++++----------------- 1 file changed, 41439 insertions(+), 41278 deletions(-) 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 From 02f853b8fdd559677c4099a56836f865506cad4b Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 16:21:28 +0000 Subject: [PATCH 08/12] Add r suffix to RationalLiteral::getValueText() --- ql/src/codeql_ruby/ast/internal/Literal.qll | 4 ++-- ql/test/library-tests/ast/literals/literals.expected | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ql/src/codeql_ruby/ast/internal/Literal.qll b/ql/src/codeql_ruby/ast/internal/Literal.qll index 4baf27e1627..e0e1284f4cd 100644 --- a/ql/src/codeql_ruby/ast/internal/Literal.qll +++ b/ql/src/codeql_ruby/ast/internal/Literal.qll @@ -44,10 +44,10 @@ module RationalLiteral { final override Generated::Rational generated; final override string getValueText() { - result = generated.getChild().(Generated::Token).getValue() + result = generated.getChild().(Generated::Token).getValue() + "r" } - final override string toString() { result = this.getValueText() + "r" } + final override string toString() { result = this.getValueText() } } } diff --git a/ql/test/library-tests/ast/literals/literals.expected b/ql/test/library-tests/ast/literals/literals.expected index 9a15510b0cb..ef964f60b5a 100644 --- a/ql/test/library-tests/ast/literals/literals.expected +++ b/ql/test/library-tests/ast/literals/literals.expected @@ -20,8 +20,8 @@ allLiterals | 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 | 23 | -| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +| 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 | | @@ -623,8 +623,8 @@ numericLiterals | 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 | 23 | -| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +| 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 | @@ -740,7 +740,7 @@ floatLiterals | 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 | 23 | -| literals.rb:36:1:36:5 | 9.85r | RationalLiteral | 9.85 | +| 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 | From 4537e5d6f8b2eda68f2dea86f982e1392ba1730e Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 16:21:49 +0000 Subject: [PATCH 09/12] Update expected test output to match truncation of long strings --- ql/test/library-tests/controlflow/graph/Cfg.expected | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ql/test/library-tests/controlflow/graph/Cfg.expected b/ql/test/library-tests/controlflow/graph/Cfg.expected index a7d97cf8afa..67c03b0ff51 100644 --- a/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -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 From 3978d6387e87239813727bb31d2f26f9c3a6f760 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Tue, 16 Feb 2021 16:49:59 +0000 Subject: [PATCH 10/12] Update tree-sitter-ruby revision used --- Cargo.lock | 2 +- extractor/Cargo.toml | 2 +- generator/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c6a1b7fdf6a..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/nickrolfe/tree-sitter-ruby.git?branch=range_fields#ef0fb075c77dbd3cd16f69cf3eff44f4edd55381" +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 c49b1a69ba6..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/nickrolfe/tree-sitter-ruby.git", branch = "range_fields" } +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 3550b2a4ac7..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/nickrolfe/tree-sitter-ruby.git", branch = "range_fields" } +tree-sitter-ruby = { git = "https://github.com/tree-sitter/tree-sitter-ruby.git", rev = "2503f005d917c7aa4726dfe19398dc1a4a299d94" } From 97654eb338d63274f18ac222898b2cc6ddd1b172 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Wed, 17 Feb 2021 10:48:17 +0000 Subject: [PATCH 11/12] Simplify bash script --- prepare-db-upgrade.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/prepare-db-upgrade.sh b/prepare-db-upgrade.sh index 76b377777a5..9e41e4e2a11 100755 --- a/prepare-db-upgrade.sh +++ b/prepare-db-upgrade.sh @@ -66,14 +66,7 @@ upgrade_root="upgrades" check_hash_valid() { - len=0 - checking="$2" - while [ "x${checking}" != "x" ]; do - len=$((len + 1)) - checking="${checking%?}" - done - - if [ ${len} -ne 40 ]; then + if [ ${#2} -ne 40 ]; then echo "Did not get expected $1 hash: $2" >&2 exit 2 fi @@ -110,4 +103,4 @@ Created upgrade directory here: Please update: ${upgradedir}/upgrade.properties with appropriate upgrade instructions -EOF \ No newline at end of file +EOF From c019da83f3acdd97ab1604b1d457ffeec29ebc30 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Wed, 17 Feb 2021 10:57:01 +0000 Subject: [PATCH 12/12] Address feedback on StringInterpolationComponent::getStmt --- ql/src/codeql_ruby/ast/internal/Literal.qll | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ql/src/codeql_ruby/ast/internal/Literal.qll b/ql/src/codeql_ruby/ast/internal/Literal.qll index e0e1284f4cd..b8ef438b70b 100644 --- a/ql/src/codeql_ruby/ast/internal/Literal.qll +++ b/ql/src/codeql_ruby/ast/internal/Literal.qll @@ -119,9 +119,8 @@ module StringInterpolationComponent { final override string toString() { result = "#{...}" } - final override Expr getStmt(int n) { - // TODO: fix grammar to properly handle a sequence of more than one expr, - // e.g. #{ foo; bar } + final override Stmt getStmt(int n) { + // Generated AST can currently only represent a single statement in an interpolation. n = 0 and result = generated.getChild() }