From aa3bafee8d193786cc067a4a9073b996d6049204 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 15 Sep 2023 09:28:39 +0200 Subject: [PATCH] Ruby: Improve performance of flow through (hash) splats --- .../dataflow/internal/DataFlowDispatch.qll | 56 +- .../dataflow/internal/DataFlowPrivate.qll | 507 ++- .../ruby/dataflow/internal/DataFlowPublic.qll | 78 +- .../ruby/typetracking/TypeTrackerSpecific.qll | 14 +- .../barrier-guards/barrier-guards.expected | 2 +- .../flow-summaries/semantics.expected | 12 +- .../dataflow/hash-flow/hash-flow.expected | 28 +- .../type-tracking-hash-flow.expected | 2 +- .../dataflow/local/Nodes.expected | 1032 ++--- .../dataflow/local/TaintStep.expected | 24 +- .../dataflow/params/TypeTracker.expected | 3793 ++++++++--------- .../dataflow/params/params-flow.expected | 82 +- .../dataflow/params/params_flow.rb | 6 +- .../dataflow/summaries/Summaries.expected | 6 +- .../type-tracker/TypeTracker.expected | 286 +- .../action_controller/params-flow.expected | 18 +- .../internal/DataFlowImplConsistency.qll | 12 +- 17 files changed, 2936 insertions(+), 3022 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index 56e0858e7ad21..efe0dbbd20156 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -437,6 +437,7 @@ private module Cached { FlowSummaryImplSpecific::ParsePositions::isParsedKeywordParameterPosition(_, name) } or THashSplatArgumentPosition() or + TSynthHashSplatArgumentPosition() or TSplatArgumentPosition(int pos) { exists(Call c | c.getArgument(pos) instanceof SplatExpr) } or TSynthSplatArgumentPosition() or TAnyArgumentPosition() or @@ -461,12 +462,6 @@ private module Cached { FlowSummaryImplSpecific::ParsePositions::isParsedKeywordArgumentPosition(_, name) } or THashSplatParameterPosition() or - // To get flow from a hash-splat argument to a keyword parameter, we add a read-step - // from a synthetic hash-splat parameter. We need this separate synthetic ParameterNode, - // since we clear content of the normal hash-splat parameter for the names that - // correspond to normal keyword parameters. Since we cannot re-use the same parameter - // position for multiple parameter nodes in the same callable, we introduce this - // synthetic parameter position. TSynthHashSplatParameterPosition() or TSplatParameterPosition(int pos) { exists(Parameter p | p.getPosition() = pos and p instanceof SplatParameter) @@ -1297,12 +1292,15 @@ class ParameterPosition extends TParameterPosition { /** Holds if this position represents a hash-splat parameter. */ predicate isHashSplat() { this = THashSplatParameterPosition() } + /** Holds if this position represents a synthetic hash-splat parameter. */ predicate isSynthHashSplat() { this = TSynthHashSplatParameterPosition() } - predicate isSynthSplat() { this = TSynthSplatParameterPosition() } - + /** Holds if this position represents a splat parameter at position `n`. */ predicate isSplat(int n) { this = TSplatParameterPosition(n) } + /** Holds if this position represents a synthetic splat parameter. */ + predicate isSynthSplat() { this = TSynthSplatParameterPosition() } + /** * Holds if this position represents any parameter, except `self` parameters. This * includes both positional, named, and block parameters. @@ -1334,9 +1332,9 @@ class ParameterPosition extends TParameterPosition { or this.isAnyNamed() and result = "any-named" or - this.isSynthSplat() and result = "synthetic *" - or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") + or + this.isSynthSplat() and result = "synthetic *" } } @@ -1366,14 +1364,16 @@ class ArgumentPosition extends TArgumentPosition { /** Holds if this position represents any positional parameter. */ predicate isAnyNamed() { this = TAnyKeywordArgumentPosition() } - /** - * Holds if this position represents a synthesized argument containing all keyword - * arguments wrapped in a hash. - */ + /** Holds if this position represents a hash-splat argument. */ predicate isHashSplat() { this = THashSplatArgumentPosition() } + /** Holds if this position represents a synthetic hash-splat argument. */ + predicate isSynthHashSplat() { this = TSynthHashSplatArgumentPosition() } + + /** Holds if this position represents a splat argument at position `n`. */ predicate isSplat(int n) { this = TSplatArgumentPosition(n) } + /** Holds if this position represents a synthetic splat argument. */ predicate isSynthSplat() { this = TSynthSplatArgumentPosition() } /** Gets a textual representation of this position. */ @@ -1394,9 +1394,11 @@ class ArgumentPosition extends TArgumentPosition { or this.isHashSplat() and result = "**" or - this.isSynthSplat() and result = "synthetic *" + this.isSynthHashSplat() and result = "synthetic **" or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") + or + this.isSynthSplat() and result = "synthetic *" } } @@ -1429,17 +1431,21 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { or exists(string name | ppos.isKeyword(name) and apos.isKeyword(name)) or - ppos.isHashSplat() and apos.isHashSplat() - or - ppos.isSynthHashSplat() and apos.isHashSplat() + (ppos.isHashSplat() or ppos.isSynthHashSplat()) and + (apos.isHashSplat() or apos.isSynthHashSplat()) or - ppos.isSplat(0) and apos.isSynthSplat() - or - ppos.isSynthSplat() and - (apos.isSynthSplat() or apos.isSplat(0)) - or - // Exact splat match - exists(int n | apos.isSplat(n) and ppos.isSplat(n)) + exists(int pos | + ( + ppos.isSplat(pos) + or + ppos.isSynthSplat() and pos = 0 + ) and + ( + apos.isSplat(pos) + or + apos.isSynthSplat() and pos = 0 + ) + ) or ppos.isAny() and argumentPositionIsNotSelf(apos) or diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 4f1faf27ec195..03417269e626d 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -423,6 +423,14 @@ module VariableCapture { } } +private predicate splatParameterAt(Callable c, int pos) { + c.getParameter(pos) instanceof SplatParameter +} + +private predicate splatArgumentAt(CfgNodes::ExprNodes::CallCfgNode c, int pos) { + exists(Argument arg, ArgumentPosition apos | arg.isArgumentOf(c, apos) and apos.isSplat(pos)) +} + /** A collection of cached types and predicates to be evaluated in the same stage. */ cached private module Cached { @@ -449,12 +457,11 @@ private module Cached { isParameterNode(_, c, any(ParameterPosition p | p.isKeyword(_))) } or TSynthSplatParameterNode(DataFlowCallable c) { - exists(c.asCallable()) and // exclude library callables + exists(c.asCallable()) and // exclude library callables (for now) isParameterNode(_, c, any(ParameterPosition p | p.isPositional(_))) } or - TSynthSplatParameterElementNode(DataFlowCallable c, int n) { - exists(c.asCallable()) and // exclude library callables - isParameterNode(_, c, any(ParameterPosition p | p.isSplat(any(int i | i > 0)))) and + TSynthSplatParameterShiftNode(DataFlowCallable c, int n) { + exists(unique(int i | splatParameterAt(c.asCallable(), i) and i > 0)) and n in [0 .. 10] } or TExprPostUpdateNode(CfgNodes::ExprCfgNode n) { @@ -473,12 +480,10 @@ private module Cached { c.getAnArgument() instanceof CfgNodes::ExprNodes::PairCfgNode } or TSynthSplatArgumentNode(CfgNodes::ExprNodes::CallCfgNode c) or - TSynthSplatArgumentElementNode(CfgNodes::ExprNodes::CallCfgNode c, int n) { + TSynthSplatArgumentShiftNode(CfgNodes::ExprNodes::CallCfgNode c, int n) { // we use -1 to represent data at an unknown index n in [-1 .. 10] and - exists(Argument arg, ArgumentPosition pos | - pos.isSplat(any(int p | p > 0)) and arg.isArgumentOf(c, pos) - ) + exists(unique(int i | splatArgumentAt(c, i) and i > 0)) } or TCaptureNode(VariableCapture::Flow::SynthesizedCaptureNode cn) @@ -643,6 +648,8 @@ private module Cached { name = [input, output].regexpFind("(?<=(^|\\.)Field\\[)[^\\]]+(?=\\])", _, _).trim() ) } or + TSplatContent(int i, Boolean shifted) { i in [0 .. 10] } or + THashSplatContent(ConstantValue cv) { not cv.isInt(_) } or TCapturedVariableContent(VariableCapture::CapturedVariable v) or // Only used by type-tracking TAttributeName(string name) { name = any(SetterMethodCall c).getTargetName() } @@ -666,11 +673,14 @@ private module Cached { TUnknownElementContentApprox() or TKnownIntegerElementContentApprox() or TKnownElementContentApprox(string approx) { approx = approxKnownElementIndex(_) } or + TSplatContentApprox(Boolean shifted) or + THashSplatContentApprox(string approx) { approx = approxKnownElementIndex(_) } or TNonElementContentApprox(Content c) { not c instanceof Content::ElementContent } or TCapturedVariableContentApprox(VariableCapture::CapturedVariable v) } -class TElementContent = TKnownElementContent or TUnknownElementContent; +class TElementContent = + TKnownElementContent or TUnknownElementContent or TSplatContent or THashSplatContent; import Cached @@ -692,7 +702,9 @@ predicate nodeIsHidden(Node n) { or n instanceof SynthSplatArgumentNode or - n instanceof SynthSplatParameterElementNode + n instanceof SynthSplatParameterShiftNode + or + n instanceof SynthSplatArgumentShiftNode or n instanceof LambdaSelfReferenceNode or @@ -949,15 +961,15 @@ private module ParameterNodes { } /** + * A synthetic data-flow node to allow for flow into keyword parameters from + * hash-splat arguments. + * * For all methods containing keyword parameters, we construct a synthesized * (hidden) parameter node to contain all keyword arguments. This allows us * to handle cases like * * ```rb - * def foo(p1:, p2:) - * sink(p1) - * sink(p2) - * end + * def foo(p1:, p2:); end * * args = {:p1 => taint(1), :p2 => taint(2) } * foo(**args) @@ -966,36 +978,34 @@ private module ParameterNodes { * by adding read steps out of the synthesized parameter node to the relevant * keyword parameters. * - * Note that this will introduce a bit of redundancy in cases like + * In order to avoid redundancy (and improve performance) in cases like * * ```rb * foo(p1: taint(1), p2: taint(2)) * ``` * - * where direct keyword matching is possible, since we construct a synthesized hash - * splat argument (`SynthHashSplatArgumentNode`) at the call site, which means that - * `taint(1)` will flow into `p1` both via normal keyword matching and via the synthesized - * nodes (and similarly for `p2`). However, this redundancy is OK since - * (a) it means that type-tracking through keyword arguments also works in most cases, - * (b) read/store steps can be avoided when direct keyword matching is possible, and - * hence access path limits are not a concern, and - * (c) since the synthesized nodes are hidden, the reported data-flow paths will be - * collapsed anyway. + * where direct keyword matching is possible, we use a special `HashSplatContent` + * (instead of reusing `KnownElementContent`) when we construct a synthesized hash + * splat argument (`SynthHashSplatArgumentNode`) at the call site, and then only + * add read steps out of this node for actual hash-splat arguments (which will use + * a normal `KnownElementContent`). */ class SynthHashSplatParameterNode extends ParameterNodeImpl, TSynthHashSplatParameterNode { private DataFlowCallable callable; SynthHashSplatParameterNode() { this = TSynthHashSplatParameterNode(callable) } - /** - * Gets a keyword parameter that will be the result of reading `c` out of this - * synthesized node. - */ - ParameterNode getAKeywordParameter(ContentSet c) { + /** Holds if a read-step should be added into parameter `p`. */ + predicate readInto(ParameterNode p, ContentSet c) { exists(string name | - isParameterNode(result, callable, any(ParameterPosition p | p.isKeyword(name))) + isParameterNode(p, callable, any(ParameterPosition pos | pos.isKeyword(name))) | - c = getKeywordContent(name) or + // Important: do not include `HashSplatContent` here, as normal parameter matching is possible + exists(ConstantValue::ConstantSymbolValue key | + c.isSingleton(TKnownElementContent(key)) and + key.isSymbol(name) + ) + or c.isSingleton(TUnknownElementContent()) ) } @@ -1012,13 +1022,16 @@ private module ParameterNodes { final override Location getLocationImpl() { result = callable.getLocation() } - final override string toStringImpl() { result = "**kwargs" } + final override string toStringImpl() { result = "synthetic hash-splat parameter" } } /** - * A synthetic data-flow node to allow flow to positional parameters from a splat argument. + * A synthetic data-flow node to allow for flow into positional parameters from + * splat arguments. * - * For example, in the following code: + * For all methods containing positional parameters, we construct a synthesized + * (hidden) parameter node to contain all positional arguments. This allows us + * to handle cases like * * ```rb * def foo(x, y, z); end @@ -1026,45 +1039,47 @@ private module ParameterNodes { * foo(a, *[b, c]) * ``` * - * We want `b` to flow to `y` and `c` to flow to `z`. We do this by constructing - * a `SynthSplatParameterNode` for the method `foo`, and matching the splat argument to this - * parameter node via `parameterMatch/2`. We then add read steps from this node to parameters - * `y` and `z`, for content at indices 0 and 1 respectively (see `readStep`). + * by adding read steps out of the synthesized parameter node to the relevant + * positional parameters. * - * This node stores the index of the splat argument it is matched to, which allows us to shift - * indices correctly when adding read steps. Without this, in the example above we would erroneously - * get a read step to `x` at index 0 and `y` at index 1 etc. + * In order to avoid redundancy (and improve performance) in cases like + * + * ```rb + * foo(a, b, c) + * ``` + * + * where direct positional matching is possible, we use a special `SplatContent` + * (instead of reusing `KnownElementContent`) when we construct a synthesized + * splat argument (`SynthSplatArgumentNode`) at the call site, and then only + * add read steps out of this node for actual splat arguments (which will use + * `KnownElementContent` or `TSplatContent(_, true)`). + * + * We don't yet correctly handle cases where a positional argument follows the + * splat argument, e.g. in * - * We don't yet correctly handle cases where a positional argument follows the splat argument, e.g. in * ```rb * foo(a, *[b], c) * ``` + * + * but this appears to be rare in practice. */ class SynthSplatParameterNode extends ParameterNodeImpl, TSynthSplatParameterNode { private DataFlowCallable callable; SynthSplatParameterNode() { this = TSynthSplatParameterNode(callable) } - /** - * Gets a parameter which will contain the value given by `c`. - * For example, if the synth splat parameter is for the following method and method call: - * - * ```rb - * def foo(x, y, a:, *rest); end - * - * foo(arg1, *args) - * ``` - * - * then `getAParameter(element 0) = y`. - */ - ParameterNode getAParameter(ContentSet c) { + /** Holds if a read-step should be added into parameter `p`. */ + predicate readInto(ParameterNode p, ContentSet c) { exists(int n | - isParameterNode(result, callable, (any(ParameterPosition p | p.isPositional(n)))) and - ( - c = getPositionalContent(n) - or - c.isSingleton(TUnknownElementContent()) - ) + isParameterNode(p, callable, any(ParameterPosition pos | pos.isPositional(n))) and + not exists(int i | splatParameterAt(callable.asCallable(), i) and i < n) + | + // Important: do not include `TSplatContent(_, false)` here, as normal parameter matching is possible + c = getSplatContent(n, true) + or + c = getArrayContent(n) + or + c.isSingleton(TUnknownElementContent()) ) } @@ -1080,28 +1095,58 @@ private module ParameterNodes { final override Location getLocationImpl() { result = callable.getLocation() } - final override string toStringImpl() { result = "synthetic *args" } + final override string toStringImpl() { result = "synthetic splat parameter" } } /** - * A node that holds the content of a specific positional argument. - * See `SynthSplatArgumentNode` for more information. + * A data-flow node that holds data from values inside the synthetic splat parameter, + * which need to have their indices shifted before being passed onto real splat + * parameters. + * + * For example, in + * + * ```rb + * def foo(a, b, *rest); end + * ``` + * + * the elements of the synthetic splat parameter (`SynthSplatParameterNode`) need to + * have their indices shifted by `2` before being passed into `rest`. */ - class SynthSplatParameterElementNode extends NodeImpl, TSynthSplatParameterElementNode { + class SynthSplatParameterShiftNode extends NodeImpl, TSynthSplatParameterShiftNode { private DataFlowCallable callable; private int pos; - SynthSplatParameterElementNode() { this = TSynthSplatParameterElementNode(callable, pos) } + SynthSplatParameterShiftNode() { this = TSynthSplatParameterShiftNode(callable, pos) } pragma[nomagic] - NormalParameterNode getSplatParameterNode(int splatPos) { + private NormalParameterNode getSplatParameterNode(int splatPos) { result - .isParameterOf(this.getEnclosingCallable(), any(ParameterPosition p | p.isSplat(splatPos))) + .isParameterOf(this.getEnclosingCallable(), any(ParameterPosition p | p.isSplat(splatPos))) and + splatPos > 0 } - int getStorePosition() { result = pos } + /** + * Holds if a read-step should be added from synthetic splat parameter `synthSplat` + * into this node. + */ + predicate readFrom(SynthSplatParameterNode synthSplat, ContentSet cs) { + synthSplat.isParameterOf(callable, _) and + ( + cs = getSplatContent(pos, _) + or + cs = getArrayContent(pos) + ) + } - int getReadPosition() { result = pos } + /** + * Holds if a store-step should be added from this node into splat parameter `splat`. + */ + predicate storeInto(NormalParameterNode splat, ContentSet cs) { + exists(int splatPos | + splat = this.getSplatParameterNode(splatPos) and + cs = getArrayContent(pos - splatPos) + ) + } final override CfgScope getCfgScope() { result = callable.asCallable() } @@ -1109,7 +1154,9 @@ private module ParameterNodes { final override Location getLocationImpl() { result = callable.getLocation() } - final override string toStringImpl() { result = "synthetic *args[" + pos + "]" } + final override string toStringImpl() { + result = "synthetic splat parameter shift [" + pos + "]" + } } /** A parameter for a library callable with a flow summary. */ @@ -1213,99 +1260,152 @@ module ArgumentNodes { * * The callee is responsible for filtering out the keyword arguments that are * part of the method signature, such that those cannot end up in the hash-splat - * parameter. + * parameter. See also `SynthHashSplatParameterNode`. */ class SynthHashSplatArgumentNode extends ArgumentNode, NodeImpl, TSynthHashSplatArgumentNode { - CfgNodes::ExprNodes::CallCfgNode c; + CfgNodes::ExprNodes::CallCfgNode call_; + + SynthHashSplatArgumentNode() { this = TSynthHashSplatArgumentNode(call_) } - SynthHashSplatArgumentNode() { this = TSynthHashSplatArgumentNode(c) } + /** + * Holds if a store-step should be added from argument `arg` into this synthetic + * hash-splat argument. + */ + predicate storeFrom(Node arg, ContentSet c) { + exists(ConstantValue cv | + if call_ instanceof CfgNodes::ExprNodes::HashLiteralCfgNode + then c.isSingleton(TKnownElementContent(cv)) + else c.isSingleton(THashSplatContent(cv)) + | + // symbol key + exists(ArgumentPosition keywordPos, string name | + arg.asExpr().(Argument).isArgumentOf(call_, keywordPos) and + keywordPos.isKeyword(name) and + cv.isSymbol(name) + ) + or + // non-symbol key + exists(CfgNodes::ExprNodes::PairCfgNode pair, CfgNodes::ExprCfgNode key | + arg.asExpr() = pair.getValue() and + pair = call_.getAnArgument() and + key = pair.getKey() and + cv = key.getConstantValue() and + not cv.isSymbol(_) + ) + ) + } override predicate argumentOf(DataFlowCall call, ArgumentPosition pos) { this.sourceArgumentOf(call.asCall(), pos) } override predicate sourceArgumentOf(CfgNodes::ExprNodes::CallCfgNode call, ArgumentPosition pos) { - call = c and - pos.isHashSplat() + call = call_ and + pos.isSynthHashSplat() } - override CfgScope getCfgScope() { result = c.getExpr().getCfgScope() } + override CfgScope getCfgScope() { result = call_.getExpr().getCfgScope() } - override Location getLocationImpl() { result = c.getLocation() } + override Location getLocationImpl() { result = call_.getLocation() } - override string toStringImpl() { result = "**" } + override string toStringImpl() { result = "synthetic hash-splat argument" } } /** - * A data-flow node that represents all arguments passed to the call. - * We use this to model data flow via splat parameters. - * Consider this example: + * A data-flow node that represents all positional arguments wrapped in an array. * - * ```rb - * def foo(x, y, *z) - * end - * - * foo(1, 2, 3, 4) - * ``` - * - * 1. We want `3` to flow to `z[0]` and `4` to flow to `z[1]`. We model this by first storing all arguments - * in a synthetic argument node `SynthSplatArgumentNode` (see `storeStepCommon`). - * 2. We match this to an analogous parameter node `SynthSplatParameterNode` on the callee side - * (see `parameterMatch`). - * 3. For each content element stored in the `SynthSplatParameterNode`, we add a read step to a separate - * `SynthSplatParameterElementNode`, which is parameterized by the element index (see `readStep`). - * 4. Finally, we add store steps from these `SynthSplatParameterElementNode`s to the real splat parameter node - * (see `storeStep`). - * We only add store steps for elements that will not flow to the earlier positional parameters. - * In practice that means we ignore elements at index `<= N`, where `N` is the index of the splat parameter. - * For the remaining elements we subtract `N` from their index and store them in the splat parameter. + * The callee is responsible for filtering out the positional arguments that are + * part of the method signature, such that those cannot end up in the splat + * parameter. See also `SynthSplatParameterNode`. */ class SynthSplatArgumentNode extends ArgumentNode, NodeImpl, TSynthSplatArgumentNode { - CfgNodes::ExprNodes::CallCfgNode c; + CfgNodes::ExprNodes::CallCfgNode call_; - SynthSplatArgumentNode() { this = TSynthSplatArgumentNode(c) } + SynthSplatArgumentNode() { this = TSynthSplatArgumentNode(call_) } + + /** + * Holds if a store-step should be added from argument `arg` into this synthetic + * splat argument. + */ + predicate storeFrom(Node arg, ContentSet c) { + exists(ArgumentPosition pos, int n | + arg.asExpr().(Argument).isArgumentOf(call_, pos) and + pos.isPositional(n) and + c = getSplatContent(n, false) and + not exists(int i | splatArgumentAt(call_, i) and i < n) + ) + } override predicate argumentOf(DataFlowCall call, ArgumentPosition pos) { this.sourceArgumentOf(call.asCall(), pos) } override predicate sourceArgumentOf(CfgNodes::ExprNodes::CallCfgNode call, ArgumentPosition pos) { - call = c and + call = call_ and pos.isSynthSplat() } - override CfgScope getCfgScope() { result = c.getExpr().getCfgScope() } + override CfgScope getCfgScope() { result = call_.getExpr().getCfgScope() } - override Location getLocationImpl() { result = c.getLocation() } + override Location getLocationImpl() { result = call_.getLocation() } - override string toStringImpl() { result = "*" } + override string toStringImpl() { result = "synthetic splat argument" } } /** - * A data-flow node that holds data from values inside splat arguments. + * A data-flow node that holds data from values inside splat arguments, which + * need to have their indices shifted. + * * For example, in the following call * * ```rb - * foo(1, 2, *[3, 4]) + * foo(a, b, *[c, d]) * ``` * - * We add read steps such that `3` flows into `SynthSplatArgumentElementNode(2)` and `4` flows into `SynthSplatArgumentElementNode(3)`. + * `c` and `d` need to have their indices shifted by `2`. */ - class SynthSplatArgumentElementNode extends NodeImpl, TSynthSplatArgumentElementNode { + class SynthSplatArgumentShiftNode extends NodeImpl, TSynthSplatArgumentShiftNode { CfgNodes::ExprNodes::CallCfgNode c; int n; - SynthSplatArgumentElementNode() { this = TSynthSplatArgumentElementNode(c, n) } + SynthSplatArgumentShiftNode() { this = TSynthSplatArgumentShiftNode(c, n) } - CfgNodes::ExprNodes::CallCfgNode getCall() { result = c } + /** + * Holds if a read-step should be added from splat argument `splatArg` into this node. + */ + predicate readFrom(Node splatArg, ContentSet cs) { + exists(int splatPos | + splatArg.asExpr().(Argument).isArgumentOf(c, any(ArgumentPosition p | p.isSplat(splatPos))) and + splatPos > 0 + | + cs = getSplatContent(n - splatPos, _) + or + cs = getArrayContent(n - splatPos) + or + n = -1 and + cs.isSingleton(TUnknownElementContent()) + ) + } - int getPosition() { result = n } + /** + * Holds if a store-step should be added from this node into synthetic splat + * argument `synthSplat`. + */ + predicate storeInto(SynthSplatArgumentNode synthSplat, ContentSet cs) { + synthSplat = TSynthSplatArgumentNode(c) and + ( + cs = getSplatContent(n, true) + or + n = -1 and + cs.isSingleton(TUnknownElementContent()) + ) + } override CfgScope getCfgScope() { result = c.getExpr().getCfgScope() } override Location getLocationImpl() { result = c.getLocation() } - override string toStringImpl() { result = "*[" + n + "]" } + override string toStringImpl() { result = "synthetic splat argument shift [" + n + "]" } } } @@ -1499,78 +1599,24 @@ predicate jumpStep(Node pred, Node succ) { any(AdditionalJumpStep s).step(pred, succ) } -private ContentSet getKeywordContent(string name) { - exists(ConstantValue::ConstantSymbolValue key | - result.isSingleton(TKnownElementContent(key)) and - key.isSymbol(name) - ) -} - -ContentSet getPositionalContent(int n) { +private ContentSet getArrayContent(int n) { exists(ConstantValue::ConstantIntegerValue i | result.isSingleton(TKnownElementContent(i)) and i.isInt(n) ) } +private ContentSet getSplatContent(int n, boolean adjusted) { + result.isSingleton(TSplatContent(n, adjusted)) +} + /** * Subset of `storeStep` that should be shared with type-tracking. */ predicate storeStepCommon(Node node1, ContentSet c, Node node2) { - // Wrap all key-value arguments in a synthesized hash-splat argument node - exists(CfgNodes::ExprNodes::CallCfgNode call | node2 = TSynthHashSplatArgumentNode(call) | - // symbol key - exists(ArgumentPosition keywordPos, string name | - node1.asExpr().(Argument).isArgumentOf(call, keywordPos) and - keywordPos.isKeyword(name) and - c = getKeywordContent(name) - ) - or - // non-symbol key - exists(CfgNodes::ExprNodes::PairCfgNode pair, CfgNodes::ExprCfgNode key, ConstantValue cv | - node1.asExpr() = pair.getValue() and - pair = call.getAnArgument() and - key = pair.getKey() and - cv = key.getConstantValue() and - not cv.isSymbol(_) and - c.isSingleton(TKnownElementContent(cv)) - ) - ) + node2.(SynthHashSplatArgumentNode).storeFrom(node1, c) or - // Wrap all positional arguments in a synthesized splat argument node - exists(CfgNodes::ExprNodes::CallCfgNode call, ArgumentPosition pos | - node2 = TSynthSplatArgumentNode(call) and - node1.asExpr().(Argument).isArgumentOf(call, pos) - | - exists(int n | pos.isPositional(n) and c = getPositionalContent(n)) - ) -} - -/** - * Holds if data can flow from a `SynthSplatArgumentElementNode` into a `SynthSplatArgumentNode` via a store step. - * For example in - * - * ```rb - * foo(1, 2, *[3, 4]) - * ``` - * - * We have flow from `3` into `SynthSplatArgumentElementNode(2)`. This step stores the value from this node into element `2` of the `SynthSplatArgumentNode`. - * - * This allows us to match values inside splat arguments to the correct parameter in the callable. - */ -predicate synthSplatArgumentElementStoreStep( - SynthSplatArgumentElementNode node1, ContentSet c, SynthSplatArgumentNode node2 -) { - exists(CfgNodes::ExprNodes::CallCfgNode call, int n | - node2 = TSynthSplatArgumentNode(call) and - node1 = TSynthSplatArgumentElementNode(call, n) and - ( - c = getPositionalContent(n) - or - n = -1 and - c.isSingleton(TUnknownElementContent()) - ) - ) + node2.(SynthSplatArgumentNode).storeFrom(node1, c) } /** @@ -1604,13 +1650,9 @@ predicate storeStep(Node node1, ContentSet c, Node node2) { FlowSummaryImpl::Private::Steps::summaryStoreStep(node1.(FlowSummaryNode).getSummaryNode(), c, node2.(FlowSummaryNode).getSummaryNode()) or - exists(SynthSplatParameterElementNode elemNode, int splatPos | - node1 = elemNode and - node2 = elemNode.getSplatParameterNode(splatPos) and - c = getPositionalContent(elemNode.getStorePosition() - splatPos) - ) + node1.(SynthSplatParameterShiftNode).storeInto(node2, c) or - synthSplatArgumentElementStoreStep(node1, c, node2) + node1.(SynthSplatArgumentShiftNode).storeInto(node2, c) or storeStepCommon(node1, c, node2) or @@ -1622,37 +1664,9 @@ predicate storeStep(Node node1, ContentSet c, Node node2) { * Subset of `readStep` that should be shared with type-tracking. */ predicate readStepCommon(Node node1, ContentSet c, Node node2) { - node2 = node1.(SynthHashSplatParameterNode).getAKeywordParameter(c) + node1.(SynthHashSplatParameterNode).readInto(node2, c) or - node2 = node1.(SynthSplatParameterNode).getAParameter(c) -} - -/** - * Holds if data can flow from a splat argument to a `SynthSplatArgumentElementNode` via a read step. - * For example in - * ```rb - * foo(x, y, *[1, 2]) - * ``` - * - * we read `1` into `SynthSplatArgumentElementNode(2)` and `2` into `SynthSplatArgumentElementNode(3)`. - */ -predicate synthSplatArgumentElementReadStep( - Node node1, ContentSet c, SynthSplatArgumentElementNode node2 -) { - exists(int splatPos, CfgNodes::ExprNodes::CallCfgNode call | - node1.asExpr().(Argument).isArgumentOf(call, any(ArgumentPosition p | p.isSplat(splatPos))) and - splatPos > 0 and - node2.getCall() = call and - ( - exists(int n | - node2.getPosition() = n + splatPos and - c = getPositionalContent(n) - ) - or - node2.getPosition() = -1 and - c.isSingleton(TUnknownElementContent()) - ) - ) + node1.(SynthSplatParameterNode).readInto(node2, c) } /** @@ -1687,14 +1701,9 @@ predicate readStep(Node node1, ContentSet c, Node node2) { or VariableCapture::readStep(node1, any(Content::CapturedVariableContent v | c.isSingleton(v)), node2) or - // Read from SynthSplatParameterNode into SynthSplatParameterElementNode - node2 = - any(SynthSplatParameterElementNode e | - node1.(SynthSplatParameterNode).isParameterOf(e.getEnclosingCallable(), _) and - c = getPositionalContent(e.getReadPosition()) - ) + node2.(SynthSplatParameterShiftNode).readFrom(node1, c) or - synthSplatArgumentElementReadStep(node1, c, node2) + node2.(SynthSplatArgumentShiftNode).readFrom(node1, c) or readStepCommon(node1, c, node2) } @@ -1711,13 +1720,14 @@ predicate clearsContent(Node n, ContentSet c) { // the hash-splat parameter exists( DataFlowCallable callable, HashSplatParameter hashSplatParam, ParameterNodeImpl keywordParam, - ParameterPosition keywordPos, string name + ParameterPosition keywordPos, ConstantValue::ConstantSymbolValue cv, string name | n = TNormalParameterNode(hashSplatParam) and callable.asCallable() = hashSplatParam.getCallable() and keywordParam.isParameterOf(callable, keywordPos) and keywordPos.isKeyword(name) and - c = getKeywordContent(name) + c.isKnownOrUnknownElement(TKnownElementContent(cv)) and + cv.isSymbol(name) ) } @@ -1731,6 +1741,8 @@ predicate expectsContent(Node n, ContentSet c) { private newtype TDataFlowType = TLambdaDataFlowType(Callable c) { c = any(LambdaSelfReferenceNode n).getCallable() } or + // TSynthHashSplatArgumentType(SynthHashSplatArgumentNode n) or + // TSynthSplatArgumentType(SynthSplatArgumentNode n) or TUnknownDataFlowType() class DataFlowType extends TDataFlowType { @@ -1738,12 +1750,14 @@ class DataFlowType extends TDataFlowType { } predicate typeStrongerThan(DataFlowType t1, DataFlowType t2) { - t1 = TLambdaDataFlowType(_) and + t1 != TUnknownDataFlowType() and t2 = TUnknownDataFlowType() } -private predicate mustHaveLambdaType(CfgNodes::ExprCfgNode e, Callable c) { - exists(VariableCapture::ClosureExpr ce | ce.hasBody(c) | +private predicate mustHaveLambdaType(ExprNode n, Callable c) { + exists(VariableCapture::ClosureExpr ce, CfgNodes::ExprCfgNode e | + e = n.asExpr() and ce.hasBody(c) + | e = ce or ce.hasAliasedAccess(e) ) @@ -1754,12 +1768,18 @@ DataFlowType getNodeType(Node n) { result = TLambdaDataFlowType(n.(LambdaSelfReferenceNode).getCallable()) or exists(Callable c | - mustHaveLambdaType(n.asExpr(), c) and + mustHaveLambdaType(n, c) and result = TLambdaDataFlowType(c) ) or + // or + // result = TSynthHashSplatArgumentType(n) + // or + // result = TSynthSplatArgumentType(n) not n instanceof LambdaSelfReferenceNode and - not mustHaveLambdaType(n.asExpr(), _) and + not mustHaveLambdaType(n, _) and + // not n instanceof SynthHashSplatArgumentNode and + // not n instanceof SynthSplatArgumentNode and result = TUnknownDataFlowType() } @@ -1768,7 +1788,7 @@ string ppReprType(DataFlowType t) { none() } pragma[inline] private predicate compatibleTypesNonSymRefl(DataFlowType t1, DataFlowType t2) { - t1 = TLambdaDataFlowType(_) and + t1 != TUnknownDataFlowType() and t2 = TUnknownDataFlowType() } @@ -1783,6 +1803,14 @@ predicate compatibleTypes(DataFlowType t1, DataFlowType t2) { compatibleTypesNonSymRefl(t1, t2) or compatibleTypesNonSymRefl(t2, t1) + // or + // t1 = TSynthHashSplatArgumentType(_) + // or + // t2 = TSynthHashSplatArgumentType(_) + // or + // t1 = TSynthSplatArgumentType(_) + // or + // t2 = TSynthSplatArgumentType(_) } abstract class PostUpdateNodeImpl extends Node { @@ -1970,6 +1998,17 @@ class ContentApprox extends TContentApprox { result = "approximated element " + approx ) or + exists(boolean shifted, string s | + this = TSplatContentApprox(shifted) and + (if shifted = true then s = " (shifted)" else s = "") and + result = "approximated splat position" + s + ) + or + exists(string s | + this = THashSplatContentApprox(s) and + result = "approximated hash-splat position " + s + ) + or exists(Content c | this = TNonElementContentApprox(c) and result = c.toString() @@ -1983,9 +2022,9 @@ class ContentApprox extends TContentApprox { * We take two characters from the serialized index as the projection, * since for symbols this will include the first character. */ -private string approxKnownElementIndex(Content::KnownElementContent c) { - not c.getIndex().isInt(_) and - exists(string s | s = c.getIndex().serialize() | +private string approxKnownElementIndex(ConstantValue cv) { + not cv.isInt(_) and + exists(string s | s = cv.serialize() | s.length() < 2 and result = s or @@ -2006,7 +2045,15 @@ ContentApprox getContentApprox(Content c) { c.(Content::KnownElementContent).getIndex().isInt(_) and result = TKnownIntegerElementContentApprox() or - result = TKnownElementContentApprox(approxKnownElementIndex(c)) + result = + TKnownElementContentApprox(approxKnownElementIndex(c.(Content::KnownElementContent).getIndex())) + or + exists(boolean shifted | + c = TSplatContent(_, shifted) and + result = TSplatContentApprox(shifted) + ) + or + result = THashSplatContentApprox(approxKnownElementIndex(c.(Content::HashSplatContent).getKey())) or result = TNonElementContentApprox(c) } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll index 99c9549b72f98..1934b505ebf09 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll @@ -549,6 +549,73 @@ module Content { result = getElementContent(e.getConstantValue()).(KnownElementContent).getIndex() } + /** + * INTERNAL: Do not use. + * + * An element inside a synthetic splat argument. All positional arguments + * (including splat arguments) are implicitly stored inside a synthetic + * splat argument. For example, in + * + * ```rb + * foo(1, 2, 3) + * ``` + * + * we have an implicit splat argument containing `[1, 2, 3]`. + */ + class SplatContent extends ElementContent, TSplatContent { + private int i; + private boolean shifted; + + SplatContent() { this = TSplatContent(i, shifted) } + + /** Gets the position of this splat element. */ + int getPosition() { result = i } + + /** + * Holds if this element represents a value from an actual splat argument + * that had its index shifted. For example, in + * + * ```rb + * foo(x, *args) + * ``` + * + * the elements of `args` will have their index shifted by 1 before being + * put into the synthetic splat argument. + */ + predicate isShifted() { shifted = true } + + override string toString() { + exists(string s | + (if this.isShifted() then s = " (shifted)" else s = "") and + result = "splat position " + i + s + ) + } + } + + /** + * INTERNAL: Do not use. + * + * An element inside a synthetic hash-splat argument. All keyword arguments + * are implicitly stored inside a synthetic hash-splat argument. For example, + * in + * + * ```rb + * foo(a: 1, b: 2, c: 3) + * ``` + * + * we have an implicit hash-splat argument containing `{:a => 1, :b => 2, :c => 3}`. + */ + class HashSplatContent extends ElementContent, THashSplatContent { + private ConstantValue cv; + + HashSplatContent() { this = THashSplatContent(cv) } + + /** Gets the hash key. */ + ConstantValue getKey() { result = cv } + + override string toString() { result = "hash-splat position " + cv } + } + /** * A value stored behind a getter/setter pair. * @@ -705,6 +772,8 @@ class ContentSet extends TContentSet { or exists(Content::KnownElementContent c | this.isKnownOrUnknownElement(c) | result = c or + result = TSplatContent(c.getIndex().getInt(), _) or + result = THashSplatContent(c.getIndex()) or result = TUnknownElementContent() ) or @@ -712,7 +781,9 @@ class ContentSet extends TContentSet { this = TElementLowerBoundContent(lower, includeUnknown) | exists(int i | - result.(Content::KnownElementContent).getIndex().isInt(i) and + result.(Content::KnownElementContent).getIndex().isInt(i) or + result = TSplatContent(i, _) + | i >= lower ) or @@ -725,6 +796,11 @@ class ContentSet extends TContentSet { | type = result.(Content::KnownElementContent).getIndex().getValueType() or + type = "int" and + result instanceof Content::SplatContent + or + type = result.(Content::HashSplatContent).getKey().getValueType() + or includeUnknown = true and result = TUnknownElementContent() ) diff --git a/ruby/ql/lib/codeql/ruby/typetracking/TypeTrackerSpecific.qll b/ruby/ql/lib/codeql/ruby/typetracking/TypeTrackerSpecific.qll index 6e438c5efa184..73a4de4c36016 100644 --- a/ruby/ql/lib/codeql/ruby/typetracking/TypeTrackerSpecific.qll +++ b/ruby/ql/lib/codeql/ruby/typetracking/TypeTrackerSpecific.qll @@ -333,16 +333,14 @@ predicate basicLoadStoreStep( predicate readStoreStepIntoSourceNode( Node nodeFrom, Node nodeTo, DataFlow::ContentSet loadContent, DataFlow::ContentSet storeContent ) { - exists(DataFlowPrivate::SynthSplatParameterElementNode mid | - nodeFrom.(DataFlowPrivate::SynthSplatParameterNode).isParameterOf(mid.getEnclosingCallable(), _) and - loadContent = DataFlowPrivate::getPositionalContent(mid.getReadPosition()) and - nodeTo = mid.getSplatParameterNode(_) and - storeContent = DataFlowPrivate::getPositionalContent(mid.getStorePosition()) + exists(DataFlowPrivate::SynthSplatParameterShiftNode shift | + shift.readFrom(nodeFrom, loadContent) and + shift.storeInto(nodeTo, storeContent) ) or - exists(DataFlowPrivate::SynthSplatArgumentElementNode mid | - DataFlowPrivate::synthSplatArgumentElementReadStep(nodeFrom, loadContent, mid) and - DataFlowPrivate::synthSplatArgumentElementStoreStep(mid, storeContent, nodeTo) + exists(DataFlowPrivate::SynthSplatArgumentShiftNode shift | + shift.readFrom(nodeFrom, loadContent) and + shift.storeInto(nodeTo, storeContent) ) } diff --git a/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.expected b/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.expected index 3cbbb4a5f4a7e..90e628c6c337d 100644 --- a/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.expected +++ b/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.expected @@ -1,6 +1,6 @@ WARNING: Type BarrierGuard has been deprecated and may be removed in future (barrier-guards.ql:10,3-15) -failures testFailures +failures oldStyleBarrierGuards | barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:4:5:4:7 | foo | barrier-guards.rb:3:4:3:6 | foo | true | | barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:4:5:4:7 | foo | barrier-guards.rb:3:11:3:15 | "foo" | true | diff --git a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected index ee92948044d01..e654f30b966df 100644 --- a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected +++ b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected @@ -74,14 +74,14 @@ edges | semantics.rb:60:5:60:5 | a | semantics.rb:66:14:66:15 | &... | | semantics.rb:60:9:60:18 | call to source | semantics.rb:60:5:60:5 | a | | semantics.rb:60:9:60:18 | call to source | semantics.rb:60:5:60:5 | a | -| semantics.rb:61:10:61:15 | call to s10 [element 0] | semantics.rb:61:10:61:15 | call to s10 | +| semantics.rb:61:10:61:15 | call to s10 [splat position 0] | semantics.rb:61:10:61:15 | call to s10 | | semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 | | semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 | -| semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 [element 0] | -| semantics.rb:62:10:62:18 | call to s10 [element 1] | semantics.rb:62:10:62:18 | call to s10 | +| semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 [splat position 0] | +| semantics.rb:62:10:62:18 | call to s10 [splat position 1] | semantics.rb:62:10:62:18 | call to s10 | | semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 | | semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 | -| semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 [element 1] | +| semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 [splat position 1] | | semantics.rb:63:19:63:19 | a | semantics.rb:63:10:63:20 | call to s10 | | semantics.rb:63:19:63:19 | a | semantics.rb:63:10:63:20 | call to s10 | | semantics.rb:64:27:64:27 | a | semantics.rb:64:10:64:28 | call to s10 | @@ -1122,12 +1122,12 @@ nodes | semantics.rb:60:9:60:18 | call to source | semmle.label | call to source | | semantics.rb:61:10:61:15 | call to s10 | semmle.label | call to s10 | | semantics.rb:61:10:61:15 | call to s10 | semmle.label | call to s10 | -| semantics.rb:61:10:61:15 | call to s10 [element 0] | semmle.label | call to s10 [element 0] | +| semantics.rb:61:10:61:15 | call to s10 [splat position 0] | semmle.label | call to s10 [splat position 0] | | semantics.rb:61:14:61:14 | a | semmle.label | a | | semantics.rb:61:14:61:14 | a | semmle.label | a | | semantics.rb:62:10:62:18 | call to s10 | semmle.label | call to s10 | | semantics.rb:62:10:62:18 | call to s10 | semmle.label | call to s10 | -| semantics.rb:62:10:62:18 | call to s10 [element 1] | semmle.label | call to s10 [element 1] | +| semantics.rb:62:10:62:18 | call to s10 [splat position 1] | semmle.label | call to s10 [splat position 1] | | semantics.rb:62:17:62:17 | a | semmle.label | a | | semantics.rb:62:17:62:17 | a | semmle.label | a | | semantics.rb:63:10:63:20 | call to s10 | semmle.label | call to s10 | diff --git a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected index 79f2565a5904c..83b756bfccfa1 100644 --- a/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/hash-flow/hash-flow.expected @@ -42,10 +42,10 @@ edges | hash_flow.rb:44:10:44:13 | hash [element 0] | hash_flow.rb:44:10:44:16 | ...[...] | | hash_flow.rb:46:10:46:13 | hash [element :a] | hash_flow.rb:46:10:46:17 | ...[...] | | hash_flow.rb:48:10:48:13 | hash [element a] | hash_flow.rb:48:10:48:18 | ...[...] | -| hash_flow.rb:55:5:55:9 | hash1 [element :a] | hash_flow.rb:56:10:56:14 | hash1 [element :a] | -| hash_flow.rb:55:13:55:37 | ...[...] [element :a] | hash_flow.rb:55:5:55:9 | hash1 [element :a] | -| hash_flow.rb:55:21:55:30 | call to taint | hash_flow.rb:55:13:55:37 | ...[...] [element :a] | -| hash_flow.rb:56:10:56:14 | hash1 [element :a] | hash_flow.rb:56:10:56:18 | ...[...] | +| hash_flow.rb:55:5:55:9 | hash1 [hash-splat position :a] | hash_flow.rb:56:10:56:14 | hash1 [hash-splat position :a] | +| hash_flow.rb:55:13:55:37 | ...[...] [hash-splat position :a] | hash_flow.rb:55:5:55:9 | hash1 [hash-splat position :a] | +| hash_flow.rb:55:21:55:30 | call to taint | hash_flow.rb:55:13:55:37 | ...[...] [hash-splat position :a] | +| hash_flow.rb:56:10:56:14 | hash1 [hash-splat position :a] | hash_flow.rb:56:10:56:18 | ...[...] | | hash_flow.rb:59:5:59:5 | x [element :a] | hash_flow.rb:60:18:60:18 | x [element :a] | | hash_flow.rb:59:13:59:22 | call to taint | hash_flow.rb:59:5:59:5 | x [element :a] | | hash_flow.rb:60:5:60:9 | hash2 [element :a] | hash_flow.rb:61:10:61:14 | hash2 [element :a] | @@ -62,10 +62,10 @@ edges | hash_flow.rb:68:13:68:39 | ...[...] [element :a] | hash_flow.rb:68:5:68:9 | hash4 [element :a] | | hash_flow.rb:68:22:68:31 | call to taint | hash_flow.rb:68:13:68:39 | ...[...] [element :a] | | hash_flow.rb:69:10:69:14 | hash4 [element :a] | hash_flow.rb:69:10:69:18 | ...[...] | -| hash_flow.rb:72:5:72:9 | hash5 [element a] | hash_flow.rb:73:10:73:14 | hash5 [element a] | -| hash_flow.rb:72:13:72:45 | ...[...] [element a] | hash_flow.rb:72:5:72:9 | hash5 [element a] | -| hash_flow.rb:72:25:72:34 | call to taint | hash_flow.rb:72:13:72:45 | ...[...] [element a] | -| hash_flow.rb:73:10:73:14 | hash5 [element a] | hash_flow.rb:73:10:73:19 | ...[...] | +| hash_flow.rb:72:5:72:9 | hash5 [hash-splat position a] | hash_flow.rb:73:10:73:14 | hash5 [hash-splat position a] | +| hash_flow.rb:72:13:72:45 | ...[...] [hash-splat position a] | hash_flow.rb:72:5:72:9 | hash5 [hash-splat position a] | +| hash_flow.rb:72:25:72:34 | call to taint | hash_flow.rb:72:13:72:45 | ...[...] [hash-splat position a] | +| hash_flow.rb:73:10:73:14 | hash5 [hash-splat position a] | hash_flow.rb:73:10:73:19 | ...[...] | | hash_flow.rb:76:5:76:9 | hash6 [element a] | hash_flow.rb:77:10:77:14 | hash6 [element a] | | hash_flow.rb:76:13:76:47 | ...[...] [element a] | hash_flow.rb:76:5:76:9 | hash6 [element a] | | hash_flow.rb:76:26:76:35 | call to taint | hash_flow.rb:76:13:76:47 | ...[...] [element a] | @@ -1015,10 +1015,10 @@ nodes | hash_flow.rb:46:10:46:17 | ...[...] | semmle.label | ...[...] | | hash_flow.rb:48:10:48:13 | hash [element a] | semmle.label | hash [element a] | | hash_flow.rb:48:10:48:18 | ...[...] | semmle.label | ...[...] | -| hash_flow.rb:55:5:55:9 | hash1 [element :a] | semmle.label | hash1 [element :a] | -| hash_flow.rb:55:13:55:37 | ...[...] [element :a] | semmle.label | ...[...] [element :a] | +| hash_flow.rb:55:5:55:9 | hash1 [hash-splat position :a] | semmle.label | hash1 [hash-splat position :a] | +| hash_flow.rb:55:13:55:37 | ...[...] [hash-splat position :a] | semmle.label | ...[...] [hash-splat position :a] | | hash_flow.rb:55:21:55:30 | call to taint | semmle.label | call to taint | -| hash_flow.rb:56:10:56:14 | hash1 [element :a] | semmle.label | hash1 [element :a] | +| hash_flow.rb:56:10:56:14 | hash1 [hash-splat position :a] | semmle.label | hash1 [hash-splat position :a] | | hash_flow.rb:56:10:56:18 | ...[...] | semmle.label | ...[...] | | hash_flow.rb:59:5:59:5 | x [element :a] | semmle.label | x [element :a] | | hash_flow.rb:59:13:59:22 | call to taint | semmle.label | call to taint | @@ -1039,10 +1039,10 @@ nodes | hash_flow.rb:68:22:68:31 | call to taint | semmle.label | call to taint | | hash_flow.rb:69:10:69:14 | hash4 [element :a] | semmle.label | hash4 [element :a] | | hash_flow.rb:69:10:69:18 | ...[...] | semmle.label | ...[...] | -| hash_flow.rb:72:5:72:9 | hash5 [element a] | semmle.label | hash5 [element a] | -| hash_flow.rb:72:13:72:45 | ...[...] [element a] | semmle.label | ...[...] [element a] | +| hash_flow.rb:72:5:72:9 | hash5 [hash-splat position a] | semmle.label | hash5 [hash-splat position a] | +| hash_flow.rb:72:13:72:45 | ...[...] [hash-splat position a] | semmle.label | ...[...] [hash-splat position a] | | hash_flow.rb:72:25:72:34 | call to taint | semmle.label | call to taint | -| hash_flow.rb:73:10:73:14 | hash5 [element a] | semmle.label | hash5 [element a] | +| hash_flow.rb:73:10:73:14 | hash5 [hash-splat position a] | semmle.label | hash5 [hash-splat position a] | | hash_flow.rb:73:10:73:19 | ...[...] | semmle.label | ...[...] | | hash_flow.rb:76:5:76:9 | hash6 [element a] | semmle.label | hash6 [element a] | | hash_flow.rb:76:13:76:47 | ...[...] [element a] | semmle.label | ...[...] [element a] | diff --git a/ruby/ql/test/library-tests/dataflow/hash-flow/type-tracking-hash-flow.expected b/ruby/ql/test/library-tests/dataflow/hash-flow/type-tracking-hash-flow.expected index af062eec4fdae..7ffbd73ccbea9 100644 --- a/ruby/ql/test/library-tests/dataflow/hash-flow/type-tracking-hash-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/hash-flow/type-tracking-hash-flow.expected @@ -1,4 +1,3 @@ -failures testFailures | hash_flow.rb:65:21:65:40 | # $ hasValueFlow=3.3 | Missing result:hasValueFlow=3.3 | | hash_flow.rb:66:21:66:49 | # $ SPURIOUS hasValueFlow=3.3 | Missing result:hasValueFlow=3.3 | @@ -39,3 +38,4 @@ testFailures | hash_flow.rb:935:22:935:42 | # $ hasValueFlow=51.4 | Missing result:hasValueFlow=51.4 | | hash_flow.rb:963:22:963:42 | # $ hasValueFlow=52.3 | Missing result:hasValueFlow=52.3 | | hash_flow.rb:965:22:965:42 | # $ hasValueFlow=52.4 | Missing result:hasValueFlow=52.4 | +failures diff --git a/ruby/ql/test/library-tests/dataflow/local/Nodes.expected b/ruby/ql/test/library-tests/dataflow/local/Nodes.expected index ac8dee1a18744..575e8f1dbfc04 100644 --- a/ruby/ql/test/library-tests/dataflow/local/Nodes.expected +++ b/ruby/ql/test/library-tests/dataflow/local/Nodes.expected @@ -24,1535 +24,1535 @@ ret | local_dataflow.rb:132:3:149:5 | if ... | arg | UseUseExplosion.rb:20:13:20:17 | @prop | UseUseExplosion.rb:20:13:20:23 | ... > ... | self | -| UseUseExplosion.rb:20:13:20:23 | * | UseUseExplosion.rb:20:13:20:23 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:13:20:23 | synthetic splat argument | UseUseExplosion.rb:20:13:20:23 | ... > ... | synthetic * | | UseUseExplosion.rb:20:21:20:23 | 100 | UseUseExplosion.rb:20:13:20:23 | ... > ... | position 0 | | UseUseExplosion.rb:20:35:20:39 | @prop | UseUseExplosion.rb:20:35:20:44 | ... > ... | self | -| UseUseExplosion.rb:20:35:20:44 | * | UseUseExplosion.rb:20:35:20:44 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:35:20:44 | synthetic splat argument | UseUseExplosion.rb:20:35:20:44 | ... > ... | synthetic * | | UseUseExplosion.rb:20:43:20:44 | 99 | UseUseExplosion.rb:20:35:20:44 | ... > ... | position 0 | | UseUseExplosion.rb:20:56:20:60 | @prop | UseUseExplosion.rb:20:56:20:65 | ... > ... | self | -| UseUseExplosion.rb:20:56:20:65 | * | UseUseExplosion.rb:20:56:20:65 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:56:20:65 | synthetic splat argument | UseUseExplosion.rb:20:56:20:65 | ... > ... | synthetic * | | UseUseExplosion.rb:20:64:20:65 | 98 | UseUseExplosion.rb:20:56:20:65 | ... > ... | position 0 | | UseUseExplosion.rb:20:77:20:81 | @prop | UseUseExplosion.rb:20:77:20:86 | ... > ... | self | -| UseUseExplosion.rb:20:77:20:86 | * | UseUseExplosion.rb:20:77:20:86 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:77:20:86 | synthetic splat argument | UseUseExplosion.rb:20:77:20:86 | ... > ... | synthetic * | | UseUseExplosion.rb:20:85:20:86 | 97 | UseUseExplosion.rb:20:77:20:86 | ... > ... | position 0 | | UseUseExplosion.rb:20:98:20:102 | @prop | UseUseExplosion.rb:20:98:20:107 | ... > ... | self | -| UseUseExplosion.rb:20:98:20:107 | * | UseUseExplosion.rb:20:98:20:107 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:98:20:107 | synthetic splat argument | UseUseExplosion.rb:20:98:20:107 | ... > ... | synthetic * | | UseUseExplosion.rb:20:106:20:107 | 96 | UseUseExplosion.rb:20:98:20:107 | ... > ... | position 0 | | UseUseExplosion.rb:20:119:20:123 | @prop | UseUseExplosion.rb:20:119:20:128 | ... > ... | self | -| UseUseExplosion.rb:20:119:20:128 | * | UseUseExplosion.rb:20:119:20:128 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:119:20:128 | synthetic splat argument | UseUseExplosion.rb:20:119:20:128 | ... > ... | synthetic * | | UseUseExplosion.rb:20:127:20:128 | 95 | UseUseExplosion.rb:20:119:20:128 | ... > ... | position 0 | | UseUseExplosion.rb:20:140:20:144 | @prop | UseUseExplosion.rb:20:140:20:149 | ... > ... | self | -| UseUseExplosion.rb:20:140:20:149 | * | UseUseExplosion.rb:20:140:20:149 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:140:20:149 | synthetic splat argument | UseUseExplosion.rb:20:140:20:149 | ... > ... | synthetic * | | UseUseExplosion.rb:20:148:20:149 | 94 | UseUseExplosion.rb:20:140:20:149 | ... > ... | position 0 | | UseUseExplosion.rb:20:161:20:165 | @prop | UseUseExplosion.rb:20:161:20:170 | ... > ... | self | -| UseUseExplosion.rb:20:161:20:170 | * | UseUseExplosion.rb:20:161:20:170 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:161:20:170 | synthetic splat argument | UseUseExplosion.rb:20:161:20:170 | ... > ... | synthetic * | | UseUseExplosion.rb:20:169:20:170 | 93 | UseUseExplosion.rb:20:161:20:170 | ... > ... | position 0 | | UseUseExplosion.rb:20:182:20:186 | @prop | UseUseExplosion.rb:20:182:20:191 | ... > ... | self | -| UseUseExplosion.rb:20:182:20:191 | * | UseUseExplosion.rb:20:182:20:191 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:182:20:191 | synthetic splat argument | UseUseExplosion.rb:20:182:20:191 | ... > ... | synthetic * | | UseUseExplosion.rb:20:190:20:191 | 92 | UseUseExplosion.rb:20:182:20:191 | ... > ... | position 0 | | UseUseExplosion.rb:20:203:20:207 | @prop | UseUseExplosion.rb:20:203:20:212 | ... > ... | self | -| UseUseExplosion.rb:20:203:20:212 | * | UseUseExplosion.rb:20:203:20:212 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:203:20:212 | synthetic splat argument | UseUseExplosion.rb:20:203:20:212 | ... > ... | synthetic * | | UseUseExplosion.rb:20:211:20:212 | 91 | UseUseExplosion.rb:20:203:20:212 | ... > ... | position 0 | | UseUseExplosion.rb:20:224:20:228 | @prop | UseUseExplosion.rb:20:224:20:233 | ... > ... | self | -| UseUseExplosion.rb:20:224:20:233 | * | UseUseExplosion.rb:20:224:20:233 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:224:20:233 | synthetic splat argument | UseUseExplosion.rb:20:224:20:233 | ... > ... | synthetic * | | UseUseExplosion.rb:20:232:20:233 | 90 | UseUseExplosion.rb:20:224:20:233 | ... > ... | position 0 | | UseUseExplosion.rb:20:245:20:249 | @prop | UseUseExplosion.rb:20:245:20:254 | ... > ... | self | -| UseUseExplosion.rb:20:245:20:254 | * | UseUseExplosion.rb:20:245:20:254 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:245:20:254 | synthetic splat argument | UseUseExplosion.rb:20:245:20:254 | ... > ... | synthetic * | | UseUseExplosion.rb:20:253:20:254 | 89 | UseUseExplosion.rb:20:245:20:254 | ... > ... | position 0 | | UseUseExplosion.rb:20:266:20:270 | @prop | UseUseExplosion.rb:20:266:20:275 | ... > ... | self | -| UseUseExplosion.rb:20:266:20:275 | * | UseUseExplosion.rb:20:266:20:275 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:266:20:275 | synthetic splat argument | UseUseExplosion.rb:20:266:20:275 | ... > ... | synthetic * | | UseUseExplosion.rb:20:274:20:275 | 88 | UseUseExplosion.rb:20:266:20:275 | ... > ... | position 0 | | UseUseExplosion.rb:20:287:20:291 | @prop | UseUseExplosion.rb:20:287:20:296 | ... > ... | self | -| UseUseExplosion.rb:20:287:20:296 | * | UseUseExplosion.rb:20:287:20:296 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:287:20:296 | synthetic splat argument | UseUseExplosion.rb:20:287:20:296 | ... > ... | synthetic * | | UseUseExplosion.rb:20:295:20:296 | 87 | UseUseExplosion.rb:20:287:20:296 | ... > ... | position 0 | | UseUseExplosion.rb:20:308:20:312 | @prop | UseUseExplosion.rb:20:308:20:317 | ... > ... | self | -| UseUseExplosion.rb:20:308:20:317 | * | UseUseExplosion.rb:20:308:20:317 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:308:20:317 | synthetic splat argument | UseUseExplosion.rb:20:308:20:317 | ... > ... | synthetic * | | UseUseExplosion.rb:20:316:20:317 | 86 | UseUseExplosion.rb:20:308:20:317 | ... > ... | position 0 | | UseUseExplosion.rb:20:329:20:333 | @prop | UseUseExplosion.rb:20:329:20:338 | ... > ... | self | -| UseUseExplosion.rb:20:329:20:338 | * | UseUseExplosion.rb:20:329:20:338 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:329:20:338 | synthetic splat argument | UseUseExplosion.rb:20:329:20:338 | ... > ... | synthetic * | | UseUseExplosion.rb:20:337:20:338 | 85 | UseUseExplosion.rb:20:329:20:338 | ... > ... | position 0 | | UseUseExplosion.rb:20:350:20:354 | @prop | UseUseExplosion.rb:20:350:20:359 | ... > ... | self | -| UseUseExplosion.rb:20:350:20:359 | * | UseUseExplosion.rb:20:350:20:359 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:350:20:359 | synthetic splat argument | UseUseExplosion.rb:20:350:20:359 | ... > ... | synthetic * | | UseUseExplosion.rb:20:358:20:359 | 84 | UseUseExplosion.rb:20:350:20:359 | ... > ... | position 0 | | UseUseExplosion.rb:20:371:20:375 | @prop | UseUseExplosion.rb:20:371:20:380 | ... > ... | self | -| UseUseExplosion.rb:20:371:20:380 | * | UseUseExplosion.rb:20:371:20:380 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:371:20:380 | synthetic splat argument | UseUseExplosion.rb:20:371:20:380 | ... > ... | synthetic * | | UseUseExplosion.rb:20:379:20:380 | 83 | UseUseExplosion.rb:20:371:20:380 | ... > ... | position 0 | | UseUseExplosion.rb:20:392:20:396 | @prop | UseUseExplosion.rb:20:392:20:401 | ... > ... | self | -| UseUseExplosion.rb:20:392:20:401 | * | UseUseExplosion.rb:20:392:20:401 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:392:20:401 | synthetic splat argument | UseUseExplosion.rb:20:392:20:401 | ... > ... | synthetic * | | UseUseExplosion.rb:20:400:20:401 | 82 | UseUseExplosion.rb:20:392:20:401 | ... > ... | position 0 | | UseUseExplosion.rb:20:413:20:417 | @prop | UseUseExplosion.rb:20:413:20:422 | ... > ... | self | -| UseUseExplosion.rb:20:413:20:422 | * | UseUseExplosion.rb:20:413:20:422 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:413:20:422 | synthetic splat argument | UseUseExplosion.rb:20:413:20:422 | ... > ... | synthetic * | | UseUseExplosion.rb:20:421:20:422 | 81 | UseUseExplosion.rb:20:413:20:422 | ... > ... | position 0 | | UseUseExplosion.rb:20:434:20:438 | @prop | UseUseExplosion.rb:20:434:20:443 | ... > ... | self | -| UseUseExplosion.rb:20:434:20:443 | * | UseUseExplosion.rb:20:434:20:443 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:434:20:443 | synthetic splat argument | UseUseExplosion.rb:20:434:20:443 | ... > ... | synthetic * | | UseUseExplosion.rb:20:442:20:443 | 80 | UseUseExplosion.rb:20:434:20:443 | ... > ... | position 0 | | UseUseExplosion.rb:20:455:20:459 | @prop | UseUseExplosion.rb:20:455:20:464 | ... > ... | self | -| UseUseExplosion.rb:20:455:20:464 | * | UseUseExplosion.rb:20:455:20:464 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:455:20:464 | synthetic splat argument | UseUseExplosion.rb:20:455:20:464 | ... > ... | synthetic * | | UseUseExplosion.rb:20:463:20:464 | 79 | UseUseExplosion.rb:20:455:20:464 | ... > ... | position 0 | | UseUseExplosion.rb:20:476:20:480 | @prop | UseUseExplosion.rb:20:476:20:485 | ... > ... | self | -| UseUseExplosion.rb:20:476:20:485 | * | UseUseExplosion.rb:20:476:20:485 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:476:20:485 | synthetic splat argument | UseUseExplosion.rb:20:476:20:485 | ... > ... | synthetic * | | UseUseExplosion.rb:20:484:20:485 | 78 | UseUseExplosion.rb:20:476:20:485 | ... > ... | position 0 | | UseUseExplosion.rb:20:497:20:501 | @prop | UseUseExplosion.rb:20:497:20:506 | ... > ... | self | -| UseUseExplosion.rb:20:497:20:506 | * | UseUseExplosion.rb:20:497:20:506 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:497:20:506 | synthetic splat argument | UseUseExplosion.rb:20:497:20:506 | ... > ... | synthetic * | | UseUseExplosion.rb:20:505:20:506 | 77 | UseUseExplosion.rb:20:497:20:506 | ... > ... | position 0 | | UseUseExplosion.rb:20:518:20:522 | @prop | UseUseExplosion.rb:20:518:20:527 | ... > ... | self | -| UseUseExplosion.rb:20:518:20:527 | * | UseUseExplosion.rb:20:518:20:527 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:518:20:527 | synthetic splat argument | UseUseExplosion.rb:20:518:20:527 | ... > ... | synthetic * | | UseUseExplosion.rb:20:526:20:527 | 76 | UseUseExplosion.rb:20:518:20:527 | ... > ... | position 0 | | UseUseExplosion.rb:20:539:20:543 | @prop | UseUseExplosion.rb:20:539:20:548 | ... > ... | self | -| UseUseExplosion.rb:20:539:20:548 | * | UseUseExplosion.rb:20:539:20:548 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:539:20:548 | synthetic splat argument | UseUseExplosion.rb:20:539:20:548 | ... > ... | synthetic * | | UseUseExplosion.rb:20:547:20:548 | 75 | UseUseExplosion.rb:20:539:20:548 | ... > ... | position 0 | | UseUseExplosion.rb:20:560:20:564 | @prop | UseUseExplosion.rb:20:560:20:569 | ... > ... | self | -| UseUseExplosion.rb:20:560:20:569 | * | UseUseExplosion.rb:20:560:20:569 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:560:20:569 | synthetic splat argument | UseUseExplosion.rb:20:560:20:569 | ... > ... | synthetic * | | UseUseExplosion.rb:20:568:20:569 | 74 | UseUseExplosion.rb:20:560:20:569 | ... > ... | position 0 | | UseUseExplosion.rb:20:581:20:585 | @prop | UseUseExplosion.rb:20:581:20:590 | ... > ... | self | -| UseUseExplosion.rb:20:581:20:590 | * | UseUseExplosion.rb:20:581:20:590 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:581:20:590 | synthetic splat argument | UseUseExplosion.rb:20:581:20:590 | ... > ... | synthetic * | | UseUseExplosion.rb:20:589:20:590 | 73 | UseUseExplosion.rb:20:581:20:590 | ... > ... | position 0 | | UseUseExplosion.rb:20:602:20:606 | @prop | UseUseExplosion.rb:20:602:20:611 | ... > ... | self | -| UseUseExplosion.rb:20:602:20:611 | * | UseUseExplosion.rb:20:602:20:611 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:602:20:611 | synthetic splat argument | UseUseExplosion.rb:20:602:20:611 | ... > ... | synthetic * | | UseUseExplosion.rb:20:610:20:611 | 72 | UseUseExplosion.rb:20:602:20:611 | ... > ... | position 0 | | UseUseExplosion.rb:20:623:20:627 | @prop | UseUseExplosion.rb:20:623:20:632 | ... > ... | self | -| UseUseExplosion.rb:20:623:20:632 | * | UseUseExplosion.rb:20:623:20:632 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:623:20:632 | synthetic splat argument | UseUseExplosion.rb:20:623:20:632 | ... > ... | synthetic * | | UseUseExplosion.rb:20:631:20:632 | 71 | UseUseExplosion.rb:20:623:20:632 | ... > ... | position 0 | | UseUseExplosion.rb:20:644:20:648 | @prop | UseUseExplosion.rb:20:644:20:653 | ... > ... | self | -| UseUseExplosion.rb:20:644:20:653 | * | UseUseExplosion.rb:20:644:20:653 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:644:20:653 | synthetic splat argument | UseUseExplosion.rb:20:644:20:653 | ... > ... | synthetic * | | UseUseExplosion.rb:20:652:20:653 | 70 | UseUseExplosion.rb:20:644:20:653 | ... > ... | position 0 | | UseUseExplosion.rb:20:665:20:669 | @prop | UseUseExplosion.rb:20:665:20:674 | ... > ... | self | -| UseUseExplosion.rb:20:665:20:674 | * | UseUseExplosion.rb:20:665:20:674 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:665:20:674 | synthetic splat argument | UseUseExplosion.rb:20:665:20:674 | ... > ... | synthetic * | | UseUseExplosion.rb:20:673:20:674 | 69 | UseUseExplosion.rb:20:665:20:674 | ... > ... | position 0 | | UseUseExplosion.rb:20:686:20:690 | @prop | UseUseExplosion.rb:20:686:20:695 | ... > ... | self | -| UseUseExplosion.rb:20:686:20:695 | * | UseUseExplosion.rb:20:686:20:695 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:686:20:695 | synthetic splat argument | UseUseExplosion.rb:20:686:20:695 | ... > ... | synthetic * | | UseUseExplosion.rb:20:694:20:695 | 68 | UseUseExplosion.rb:20:686:20:695 | ... > ... | position 0 | | UseUseExplosion.rb:20:707:20:711 | @prop | UseUseExplosion.rb:20:707:20:716 | ... > ... | self | -| UseUseExplosion.rb:20:707:20:716 | * | UseUseExplosion.rb:20:707:20:716 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:707:20:716 | synthetic splat argument | UseUseExplosion.rb:20:707:20:716 | ... > ... | synthetic * | | UseUseExplosion.rb:20:715:20:716 | 67 | UseUseExplosion.rb:20:707:20:716 | ... > ... | position 0 | | UseUseExplosion.rb:20:728:20:732 | @prop | UseUseExplosion.rb:20:728:20:737 | ... > ... | self | -| UseUseExplosion.rb:20:728:20:737 | * | UseUseExplosion.rb:20:728:20:737 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:728:20:737 | synthetic splat argument | UseUseExplosion.rb:20:728:20:737 | ... > ... | synthetic * | | UseUseExplosion.rb:20:736:20:737 | 66 | UseUseExplosion.rb:20:728:20:737 | ... > ... | position 0 | | UseUseExplosion.rb:20:749:20:753 | @prop | UseUseExplosion.rb:20:749:20:758 | ... > ... | self | -| UseUseExplosion.rb:20:749:20:758 | * | UseUseExplosion.rb:20:749:20:758 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:749:20:758 | synthetic splat argument | UseUseExplosion.rb:20:749:20:758 | ... > ... | synthetic * | | UseUseExplosion.rb:20:757:20:758 | 65 | UseUseExplosion.rb:20:749:20:758 | ... > ... | position 0 | | UseUseExplosion.rb:20:770:20:774 | @prop | UseUseExplosion.rb:20:770:20:779 | ... > ... | self | -| UseUseExplosion.rb:20:770:20:779 | * | UseUseExplosion.rb:20:770:20:779 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:770:20:779 | synthetic splat argument | UseUseExplosion.rb:20:770:20:779 | ... > ... | synthetic * | | UseUseExplosion.rb:20:778:20:779 | 64 | UseUseExplosion.rb:20:770:20:779 | ... > ... | position 0 | | UseUseExplosion.rb:20:791:20:795 | @prop | UseUseExplosion.rb:20:791:20:800 | ... > ... | self | -| UseUseExplosion.rb:20:791:20:800 | * | UseUseExplosion.rb:20:791:20:800 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:791:20:800 | synthetic splat argument | UseUseExplosion.rb:20:791:20:800 | ... > ... | synthetic * | | UseUseExplosion.rb:20:799:20:800 | 63 | UseUseExplosion.rb:20:791:20:800 | ... > ... | position 0 | | UseUseExplosion.rb:20:812:20:816 | @prop | UseUseExplosion.rb:20:812:20:821 | ... > ... | self | -| UseUseExplosion.rb:20:812:20:821 | * | UseUseExplosion.rb:20:812:20:821 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:812:20:821 | synthetic splat argument | UseUseExplosion.rb:20:812:20:821 | ... > ... | synthetic * | | UseUseExplosion.rb:20:820:20:821 | 62 | UseUseExplosion.rb:20:812:20:821 | ... > ... | position 0 | | UseUseExplosion.rb:20:833:20:837 | @prop | UseUseExplosion.rb:20:833:20:842 | ... > ... | self | -| UseUseExplosion.rb:20:833:20:842 | * | UseUseExplosion.rb:20:833:20:842 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:833:20:842 | synthetic splat argument | UseUseExplosion.rb:20:833:20:842 | ... > ... | synthetic * | | UseUseExplosion.rb:20:841:20:842 | 61 | UseUseExplosion.rb:20:833:20:842 | ... > ... | position 0 | | UseUseExplosion.rb:20:854:20:858 | @prop | UseUseExplosion.rb:20:854:20:863 | ... > ... | self | -| UseUseExplosion.rb:20:854:20:863 | * | UseUseExplosion.rb:20:854:20:863 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:854:20:863 | synthetic splat argument | UseUseExplosion.rb:20:854:20:863 | ... > ... | synthetic * | | UseUseExplosion.rb:20:862:20:863 | 60 | UseUseExplosion.rb:20:854:20:863 | ... > ... | position 0 | | UseUseExplosion.rb:20:875:20:879 | @prop | UseUseExplosion.rb:20:875:20:884 | ... > ... | self | -| UseUseExplosion.rb:20:875:20:884 | * | UseUseExplosion.rb:20:875:20:884 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:875:20:884 | synthetic splat argument | UseUseExplosion.rb:20:875:20:884 | ... > ... | synthetic * | | UseUseExplosion.rb:20:883:20:884 | 59 | UseUseExplosion.rb:20:875:20:884 | ... > ... | position 0 | | UseUseExplosion.rb:20:896:20:900 | @prop | UseUseExplosion.rb:20:896:20:905 | ... > ... | self | -| UseUseExplosion.rb:20:896:20:905 | * | UseUseExplosion.rb:20:896:20:905 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:896:20:905 | synthetic splat argument | UseUseExplosion.rb:20:896:20:905 | ... > ... | synthetic * | | UseUseExplosion.rb:20:904:20:905 | 58 | UseUseExplosion.rb:20:896:20:905 | ... > ... | position 0 | | UseUseExplosion.rb:20:917:20:921 | @prop | UseUseExplosion.rb:20:917:20:926 | ... > ... | self | -| UseUseExplosion.rb:20:917:20:926 | * | UseUseExplosion.rb:20:917:20:926 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:917:20:926 | synthetic splat argument | UseUseExplosion.rb:20:917:20:926 | ... > ... | synthetic * | | UseUseExplosion.rb:20:925:20:926 | 57 | UseUseExplosion.rb:20:917:20:926 | ... > ... | position 0 | | UseUseExplosion.rb:20:938:20:942 | @prop | UseUseExplosion.rb:20:938:20:947 | ... > ... | self | -| UseUseExplosion.rb:20:938:20:947 | * | UseUseExplosion.rb:20:938:20:947 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:938:20:947 | synthetic splat argument | UseUseExplosion.rb:20:938:20:947 | ... > ... | synthetic * | | UseUseExplosion.rb:20:946:20:947 | 56 | UseUseExplosion.rb:20:938:20:947 | ... > ... | position 0 | | UseUseExplosion.rb:20:959:20:963 | @prop | UseUseExplosion.rb:20:959:20:968 | ... > ... | self | -| UseUseExplosion.rb:20:959:20:968 | * | UseUseExplosion.rb:20:959:20:968 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:959:20:968 | synthetic splat argument | UseUseExplosion.rb:20:959:20:968 | ... > ... | synthetic * | | UseUseExplosion.rb:20:967:20:968 | 55 | UseUseExplosion.rb:20:959:20:968 | ... > ... | position 0 | | UseUseExplosion.rb:20:980:20:984 | @prop | UseUseExplosion.rb:20:980:20:989 | ... > ... | self | -| UseUseExplosion.rb:20:980:20:989 | * | UseUseExplosion.rb:20:980:20:989 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:980:20:989 | synthetic splat argument | UseUseExplosion.rb:20:980:20:989 | ... > ... | synthetic * | | UseUseExplosion.rb:20:988:20:989 | 54 | UseUseExplosion.rb:20:980:20:989 | ... > ... | position 0 | | UseUseExplosion.rb:20:1001:20:1005 | @prop | UseUseExplosion.rb:20:1001:20:1010 | ... > ... | self | -| UseUseExplosion.rb:20:1001:20:1010 | * | UseUseExplosion.rb:20:1001:20:1010 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1001:20:1010 | synthetic splat argument | UseUseExplosion.rb:20:1001:20:1010 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1009:20:1010 | 53 | UseUseExplosion.rb:20:1001:20:1010 | ... > ... | position 0 | | UseUseExplosion.rb:20:1022:20:1026 | @prop | UseUseExplosion.rb:20:1022:20:1031 | ... > ... | self | -| UseUseExplosion.rb:20:1022:20:1031 | * | UseUseExplosion.rb:20:1022:20:1031 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1022:20:1031 | synthetic splat argument | UseUseExplosion.rb:20:1022:20:1031 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1030:20:1031 | 52 | UseUseExplosion.rb:20:1022:20:1031 | ... > ... | position 0 | | UseUseExplosion.rb:20:1043:20:1047 | @prop | UseUseExplosion.rb:20:1043:20:1052 | ... > ... | self | -| UseUseExplosion.rb:20:1043:20:1052 | * | UseUseExplosion.rb:20:1043:20:1052 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1043:20:1052 | synthetic splat argument | UseUseExplosion.rb:20:1043:20:1052 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1051:20:1052 | 51 | UseUseExplosion.rb:20:1043:20:1052 | ... > ... | position 0 | | UseUseExplosion.rb:20:1064:20:1068 | @prop | UseUseExplosion.rb:20:1064:20:1073 | ... > ... | self | -| UseUseExplosion.rb:20:1064:20:1073 | * | UseUseExplosion.rb:20:1064:20:1073 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1064:20:1073 | synthetic splat argument | UseUseExplosion.rb:20:1064:20:1073 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1072:20:1073 | 50 | UseUseExplosion.rb:20:1064:20:1073 | ... > ... | position 0 | | UseUseExplosion.rb:20:1085:20:1089 | @prop | UseUseExplosion.rb:20:1085:20:1094 | ... > ... | self | -| UseUseExplosion.rb:20:1085:20:1094 | * | UseUseExplosion.rb:20:1085:20:1094 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1085:20:1094 | synthetic splat argument | UseUseExplosion.rb:20:1085:20:1094 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1093:20:1094 | 49 | UseUseExplosion.rb:20:1085:20:1094 | ... > ... | position 0 | | UseUseExplosion.rb:20:1106:20:1110 | @prop | UseUseExplosion.rb:20:1106:20:1115 | ... > ... | self | -| UseUseExplosion.rb:20:1106:20:1115 | * | UseUseExplosion.rb:20:1106:20:1115 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1106:20:1115 | synthetic splat argument | UseUseExplosion.rb:20:1106:20:1115 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1114:20:1115 | 48 | UseUseExplosion.rb:20:1106:20:1115 | ... > ... | position 0 | | UseUseExplosion.rb:20:1127:20:1131 | @prop | UseUseExplosion.rb:20:1127:20:1136 | ... > ... | self | -| UseUseExplosion.rb:20:1127:20:1136 | * | UseUseExplosion.rb:20:1127:20:1136 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1127:20:1136 | synthetic splat argument | UseUseExplosion.rb:20:1127:20:1136 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1135:20:1136 | 47 | UseUseExplosion.rb:20:1127:20:1136 | ... > ... | position 0 | | UseUseExplosion.rb:20:1148:20:1152 | @prop | UseUseExplosion.rb:20:1148:20:1157 | ... > ... | self | -| UseUseExplosion.rb:20:1148:20:1157 | * | UseUseExplosion.rb:20:1148:20:1157 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1148:20:1157 | synthetic splat argument | UseUseExplosion.rb:20:1148:20:1157 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1156:20:1157 | 46 | UseUseExplosion.rb:20:1148:20:1157 | ... > ... | position 0 | | UseUseExplosion.rb:20:1169:20:1173 | @prop | UseUseExplosion.rb:20:1169:20:1178 | ... > ... | self | -| UseUseExplosion.rb:20:1169:20:1178 | * | UseUseExplosion.rb:20:1169:20:1178 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1169:20:1178 | synthetic splat argument | UseUseExplosion.rb:20:1169:20:1178 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1177:20:1178 | 45 | UseUseExplosion.rb:20:1169:20:1178 | ... > ... | position 0 | | UseUseExplosion.rb:20:1190:20:1194 | @prop | UseUseExplosion.rb:20:1190:20:1199 | ... > ... | self | -| UseUseExplosion.rb:20:1190:20:1199 | * | UseUseExplosion.rb:20:1190:20:1199 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1190:20:1199 | synthetic splat argument | UseUseExplosion.rb:20:1190:20:1199 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1198:20:1199 | 44 | UseUseExplosion.rb:20:1190:20:1199 | ... > ... | position 0 | | UseUseExplosion.rb:20:1211:20:1215 | @prop | UseUseExplosion.rb:20:1211:20:1220 | ... > ... | self | -| UseUseExplosion.rb:20:1211:20:1220 | * | UseUseExplosion.rb:20:1211:20:1220 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1211:20:1220 | synthetic splat argument | UseUseExplosion.rb:20:1211:20:1220 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1219:20:1220 | 43 | UseUseExplosion.rb:20:1211:20:1220 | ... > ... | position 0 | | UseUseExplosion.rb:20:1232:20:1236 | @prop | UseUseExplosion.rb:20:1232:20:1241 | ... > ... | self | -| UseUseExplosion.rb:20:1232:20:1241 | * | UseUseExplosion.rb:20:1232:20:1241 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1232:20:1241 | synthetic splat argument | UseUseExplosion.rb:20:1232:20:1241 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1240:20:1241 | 42 | UseUseExplosion.rb:20:1232:20:1241 | ... > ... | position 0 | | UseUseExplosion.rb:20:1253:20:1257 | @prop | UseUseExplosion.rb:20:1253:20:1262 | ... > ... | self | -| UseUseExplosion.rb:20:1253:20:1262 | * | UseUseExplosion.rb:20:1253:20:1262 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1253:20:1262 | synthetic splat argument | UseUseExplosion.rb:20:1253:20:1262 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1261:20:1262 | 41 | UseUseExplosion.rb:20:1253:20:1262 | ... > ... | position 0 | | UseUseExplosion.rb:20:1274:20:1278 | @prop | UseUseExplosion.rb:20:1274:20:1283 | ... > ... | self | -| UseUseExplosion.rb:20:1274:20:1283 | * | UseUseExplosion.rb:20:1274:20:1283 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1274:20:1283 | synthetic splat argument | UseUseExplosion.rb:20:1274:20:1283 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1282:20:1283 | 40 | UseUseExplosion.rb:20:1274:20:1283 | ... > ... | position 0 | | UseUseExplosion.rb:20:1295:20:1299 | @prop | UseUseExplosion.rb:20:1295:20:1304 | ... > ... | self | -| UseUseExplosion.rb:20:1295:20:1304 | * | UseUseExplosion.rb:20:1295:20:1304 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1295:20:1304 | synthetic splat argument | UseUseExplosion.rb:20:1295:20:1304 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1303:20:1304 | 39 | UseUseExplosion.rb:20:1295:20:1304 | ... > ... | position 0 | | UseUseExplosion.rb:20:1316:20:1320 | @prop | UseUseExplosion.rb:20:1316:20:1325 | ... > ... | self | -| UseUseExplosion.rb:20:1316:20:1325 | * | UseUseExplosion.rb:20:1316:20:1325 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1316:20:1325 | synthetic splat argument | UseUseExplosion.rb:20:1316:20:1325 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1324:20:1325 | 38 | UseUseExplosion.rb:20:1316:20:1325 | ... > ... | position 0 | | UseUseExplosion.rb:20:1337:20:1341 | @prop | UseUseExplosion.rb:20:1337:20:1346 | ... > ... | self | -| UseUseExplosion.rb:20:1337:20:1346 | * | UseUseExplosion.rb:20:1337:20:1346 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1337:20:1346 | synthetic splat argument | UseUseExplosion.rb:20:1337:20:1346 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1345:20:1346 | 37 | UseUseExplosion.rb:20:1337:20:1346 | ... > ... | position 0 | | UseUseExplosion.rb:20:1358:20:1362 | @prop | UseUseExplosion.rb:20:1358:20:1367 | ... > ... | self | -| UseUseExplosion.rb:20:1358:20:1367 | * | UseUseExplosion.rb:20:1358:20:1367 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1358:20:1367 | synthetic splat argument | UseUseExplosion.rb:20:1358:20:1367 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1366:20:1367 | 36 | UseUseExplosion.rb:20:1358:20:1367 | ... > ... | position 0 | | UseUseExplosion.rb:20:1379:20:1383 | @prop | UseUseExplosion.rb:20:1379:20:1388 | ... > ... | self | -| UseUseExplosion.rb:20:1379:20:1388 | * | UseUseExplosion.rb:20:1379:20:1388 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1379:20:1388 | synthetic splat argument | UseUseExplosion.rb:20:1379:20:1388 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1387:20:1388 | 35 | UseUseExplosion.rb:20:1379:20:1388 | ... > ... | position 0 | | UseUseExplosion.rb:20:1400:20:1404 | @prop | UseUseExplosion.rb:20:1400:20:1409 | ... > ... | self | -| UseUseExplosion.rb:20:1400:20:1409 | * | UseUseExplosion.rb:20:1400:20:1409 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1400:20:1409 | synthetic splat argument | UseUseExplosion.rb:20:1400:20:1409 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1408:20:1409 | 34 | UseUseExplosion.rb:20:1400:20:1409 | ... > ... | position 0 | | UseUseExplosion.rb:20:1421:20:1425 | @prop | UseUseExplosion.rb:20:1421:20:1430 | ... > ... | self | -| UseUseExplosion.rb:20:1421:20:1430 | * | UseUseExplosion.rb:20:1421:20:1430 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1421:20:1430 | synthetic splat argument | UseUseExplosion.rb:20:1421:20:1430 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1429:20:1430 | 33 | UseUseExplosion.rb:20:1421:20:1430 | ... > ... | position 0 | | UseUseExplosion.rb:20:1442:20:1446 | @prop | UseUseExplosion.rb:20:1442:20:1451 | ... > ... | self | -| UseUseExplosion.rb:20:1442:20:1451 | * | UseUseExplosion.rb:20:1442:20:1451 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1442:20:1451 | synthetic splat argument | UseUseExplosion.rb:20:1442:20:1451 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1450:20:1451 | 32 | UseUseExplosion.rb:20:1442:20:1451 | ... > ... | position 0 | | UseUseExplosion.rb:20:1463:20:1467 | @prop | UseUseExplosion.rb:20:1463:20:1472 | ... > ... | self | -| UseUseExplosion.rb:20:1463:20:1472 | * | UseUseExplosion.rb:20:1463:20:1472 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1463:20:1472 | synthetic splat argument | UseUseExplosion.rb:20:1463:20:1472 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1471:20:1472 | 31 | UseUseExplosion.rb:20:1463:20:1472 | ... > ... | position 0 | | UseUseExplosion.rb:20:1484:20:1488 | @prop | UseUseExplosion.rb:20:1484:20:1493 | ... > ... | self | -| UseUseExplosion.rb:20:1484:20:1493 | * | UseUseExplosion.rb:20:1484:20:1493 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1484:20:1493 | synthetic splat argument | UseUseExplosion.rb:20:1484:20:1493 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1492:20:1493 | 30 | UseUseExplosion.rb:20:1484:20:1493 | ... > ... | position 0 | | UseUseExplosion.rb:20:1505:20:1509 | @prop | UseUseExplosion.rb:20:1505:20:1514 | ... > ... | self | -| UseUseExplosion.rb:20:1505:20:1514 | * | UseUseExplosion.rb:20:1505:20:1514 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1505:20:1514 | synthetic splat argument | UseUseExplosion.rb:20:1505:20:1514 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1513:20:1514 | 29 | UseUseExplosion.rb:20:1505:20:1514 | ... > ... | position 0 | | UseUseExplosion.rb:20:1526:20:1530 | @prop | UseUseExplosion.rb:20:1526:20:1535 | ... > ... | self | -| UseUseExplosion.rb:20:1526:20:1535 | * | UseUseExplosion.rb:20:1526:20:1535 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1526:20:1535 | synthetic splat argument | UseUseExplosion.rb:20:1526:20:1535 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1534:20:1535 | 28 | UseUseExplosion.rb:20:1526:20:1535 | ... > ... | position 0 | | UseUseExplosion.rb:20:1547:20:1551 | @prop | UseUseExplosion.rb:20:1547:20:1556 | ... > ... | self | -| UseUseExplosion.rb:20:1547:20:1556 | * | UseUseExplosion.rb:20:1547:20:1556 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1547:20:1556 | synthetic splat argument | UseUseExplosion.rb:20:1547:20:1556 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1555:20:1556 | 27 | UseUseExplosion.rb:20:1547:20:1556 | ... > ... | position 0 | | UseUseExplosion.rb:20:1568:20:1572 | @prop | UseUseExplosion.rb:20:1568:20:1577 | ... > ... | self | -| UseUseExplosion.rb:20:1568:20:1577 | * | UseUseExplosion.rb:20:1568:20:1577 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1568:20:1577 | synthetic splat argument | UseUseExplosion.rb:20:1568:20:1577 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1576:20:1577 | 26 | UseUseExplosion.rb:20:1568:20:1577 | ... > ... | position 0 | | UseUseExplosion.rb:20:1589:20:1593 | @prop | UseUseExplosion.rb:20:1589:20:1598 | ... > ... | self | -| UseUseExplosion.rb:20:1589:20:1598 | * | UseUseExplosion.rb:20:1589:20:1598 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1589:20:1598 | synthetic splat argument | UseUseExplosion.rb:20:1589:20:1598 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1597:20:1598 | 25 | UseUseExplosion.rb:20:1589:20:1598 | ... > ... | position 0 | | UseUseExplosion.rb:20:1610:20:1614 | @prop | UseUseExplosion.rb:20:1610:20:1619 | ... > ... | self | -| UseUseExplosion.rb:20:1610:20:1619 | * | UseUseExplosion.rb:20:1610:20:1619 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1610:20:1619 | synthetic splat argument | UseUseExplosion.rb:20:1610:20:1619 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1618:20:1619 | 24 | UseUseExplosion.rb:20:1610:20:1619 | ... > ... | position 0 | | UseUseExplosion.rb:20:1631:20:1635 | @prop | UseUseExplosion.rb:20:1631:20:1640 | ... > ... | self | -| UseUseExplosion.rb:20:1631:20:1640 | * | UseUseExplosion.rb:20:1631:20:1640 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1631:20:1640 | synthetic splat argument | UseUseExplosion.rb:20:1631:20:1640 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1639:20:1640 | 23 | UseUseExplosion.rb:20:1631:20:1640 | ... > ... | position 0 | | UseUseExplosion.rb:20:1652:20:1656 | @prop | UseUseExplosion.rb:20:1652:20:1661 | ... > ... | self | -| UseUseExplosion.rb:20:1652:20:1661 | * | UseUseExplosion.rb:20:1652:20:1661 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1652:20:1661 | synthetic splat argument | UseUseExplosion.rb:20:1652:20:1661 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1660:20:1661 | 22 | UseUseExplosion.rb:20:1652:20:1661 | ... > ... | position 0 | | UseUseExplosion.rb:20:1673:20:1677 | @prop | UseUseExplosion.rb:20:1673:20:1682 | ... > ... | self | -| UseUseExplosion.rb:20:1673:20:1682 | * | UseUseExplosion.rb:20:1673:20:1682 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1673:20:1682 | synthetic splat argument | UseUseExplosion.rb:20:1673:20:1682 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1681:20:1682 | 21 | UseUseExplosion.rb:20:1673:20:1682 | ... > ... | position 0 | | UseUseExplosion.rb:20:1694:20:1698 | @prop | UseUseExplosion.rb:20:1694:20:1703 | ... > ... | self | -| UseUseExplosion.rb:20:1694:20:1703 | * | UseUseExplosion.rb:20:1694:20:1703 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1694:20:1703 | synthetic splat argument | UseUseExplosion.rb:20:1694:20:1703 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1702:20:1703 | 20 | UseUseExplosion.rb:20:1694:20:1703 | ... > ... | position 0 | | UseUseExplosion.rb:20:1715:20:1719 | @prop | UseUseExplosion.rb:20:1715:20:1724 | ... > ... | self | -| UseUseExplosion.rb:20:1715:20:1724 | * | UseUseExplosion.rb:20:1715:20:1724 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1715:20:1724 | synthetic splat argument | UseUseExplosion.rb:20:1715:20:1724 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1723:20:1724 | 19 | UseUseExplosion.rb:20:1715:20:1724 | ... > ... | position 0 | | UseUseExplosion.rb:20:1736:20:1740 | @prop | UseUseExplosion.rb:20:1736:20:1745 | ... > ... | self | -| UseUseExplosion.rb:20:1736:20:1745 | * | UseUseExplosion.rb:20:1736:20:1745 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1736:20:1745 | synthetic splat argument | UseUseExplosion.rb:20:1736:20:1745 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1744:20:1745 | 18 | UseUseExplosion.rb:20:1736:20:1745 | ... > ... | position 0 | | UseUseExplosion.rb:20:1757:20:1761 | @prop | UseUseExplosion.rb:20:1757:20:1766 | ... > ... | self | -| UseUseExplosion.rb:20:1757:20:1766 | * | UseUseExplosion.rb:20:1757:20:1766 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1757:20:1766 | synthetic splat argument | UseUseExplosion.rb:20:1757:20:1766 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1765:20:1766 | 17 | UseUseExplosion.rb:20:1757:20:1766 | ... > ... | position 0 | | UseUseExplosion.rb:20:1778:20:1782 | @prop | UseUseExplosion.rb:20:1778:20:1787 | ... > ... | self | -| UseUseExplosion.rb:20:1778:20:1787 | * | UseUseExplosion.rb:20:1778:20:1787 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1778:20:1787 | synthetic splat argument | UseUseExplosion.rb:20:1778:20:1787 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1786:20:1787 | 16 | UseUseExplosion.rb:20:1778:20:1787 | ... > ... | position 0 | | UseUseExplosion.rb:20:1799:20:1803 | @prop | UseUseExplosion.rb:20:1799:20:1808 | ... > ... | self | -| UseUseExplosion.rb:20:1799:20:1808 | * | UseUseExplosion.rb:20:1799:20:1808 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1799:20:1808 | synthetic splat argument | UseUseExplosion.rb:20:1799:20:1808 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1807:20:1808 | 15 | UseUseExplosion.rb:20:1799:20:1808 | ... > ... | position 0 | | UseUseExplosion.rb:20:1820:20:1824 | @prop | UseUseExplosion.rb:20:1820:20:1829 | ... > ... | self | -| UseUseExplosion.rb:20:1820:20:1829 | * | UseUseExplosion.rb:20:1820:20:1829 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1820:20:1829 | synthetic splat argument | UseUseExplosion.rb:20:1820:20:1829 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1828:20:1829 | 14 | UseUseExplosion.rb:20:1820:20:1829 | ... > ... | position 0 | | UseUseExplosion.rb:20:1841:20:1845 | @prop | UseUseExplosion.rb:20:1841:20:1850 | ... > ... | self | -| UseUseExplosion.rb:20:1841:20:1850 | * | UseUseExplosion.rb:20:1841:20:1850 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1841:20:1850 | synthetic splat argument | UseUseExplosion.rb:20:1841:20:1850 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1849:20:1850 | 13 | UseUseExplosion.rb:20:1841:20:1850 | ... > ... | position 0 | | UseUseExplosion.rb:20:1862:20:1866 | @prop | UseUseExplosion.rb:20:1862:20:1871 | ... > ... | self | -| UseUseExplosion.rb:20:1862:20:1871 | * | UseUseExplosion.rb:20:1862:20:1871 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1862:20:1871 | synthetic splat argument | UseUseExplosion.rb:20:1862:20:1871 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1870:20:1871 | 12 | UseUseExplosion.rb:20:1862:20:1871 | ... > ... | position 0 | | UseUseExplosion.rb:20:1883:20:1887 | @prop | UseUseExplosion.rb:20:1883:20:1892 | ... > ... | self | -| UseUseExplosion.rb:20:1883:20:1892 | * | UseUseExplosion.rb:20:1883:20:1892 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1883:20:1892 | synthetic splat argument | UseUseExplosion.rb:20:1883:20:1892 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1891:20:1892 | 11 | UseUseExplosion.rb:20:1883:20:1892 | ... > ... | position 0 | | UseUseExplosion.rb:20:1904:20:1908 | @prop | UseUseExplosion.rb:20:1904:20:1913 | ... > ... | self | -| UseUseExplosion.rb:20:1904:20:1913 | * | UseUseExplosion.rb:20:1904:20:1913 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1904:20:1913 | synthetic splat argument | UseUseExplosion.rb:20:1904:20:1913 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1912:20:1913 | 10 | UseUseExplosion.rb:20:1904:20:1913 | ... > ... | position 0 | | UseUseExplosion.rb:20:1925:20:1929 | @prop | UseUseExplosion.rb:20:1925:20:1933 | ... > ... | self | -| UseUseExplosion.rb:20:1925:20:1933 | * | UseUseExplosion.rb:20:1925:20:1933 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1925:20:1933 | synthetic splat argument | UseUseExplosion.rb:20:1925:20:1933 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1933:20:1933 | 9 | UseUseExplosion.rb:20:1925:20:1933 | ... > ... | position 0 | | UseUseExplosion.rb:20:1945:20:1949 | @prop | UseUseExplosion.rb:20:1945:20:1953 | ... > ... | self | -| UseUseExplosion.rb:20:1945:20:1953 | * | UseUseExplosion.rb:20:1945:20:1953 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1945:20:1953 | synthetic splat argument | UseUseExplosion.rb:20:1945:20:1953 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1953:20:1953 | 8 | UseUseExplosion.rb:20:1945:20:1953 | ... > ... | position 0 | | UseUseExplosion.rb:20:1965:20:1969 | @prop | UseUseExplosion.rb:20:1965:20:1973 | ... > ... | self | -| UseUseExplosion.rb:20:1965:20:1973 | * | UseUseExplosion.rb:20:1965:20:1973 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1965:20:1973 | synthetic splat argument | UseUseExplosion.rb:20:1965:20:1973 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1973:20:1973 | 7 | UseUseExplosion.rb:20:1965:20:1973 | ... > ... | position 0 | | UseUseExplosion.rb:20:1985:20:1989 | @prop | UseUseExplosion.rb:20:1985:20:1993 | ... > ... | self | -| UseUseExplosion.rb:20:1985:20:1993 | * | UseUseExplosion.rb:20:1985:20:1993 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:1985:20:1993 | synthetic splat argument | UseUseExplosion.rb:20:1985:20:1993 | ... > ... | synthetic * | | UseUseExplosion.rb:20:1993:20:1993 | 6 | UseUseExplosion.rb:20:1985:20:1993 | ... > ... | position 0 | | UseUseExplosion.rb:20:2005:20:2009 | @prop | UseUseExplosion.rb:20:2005:20:2013 | ... > ... | self | -| UseUseExplosion.rb:20:2005:20:2013 | * | UseUseExplosion.rb:20:2005:20:2013 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:2005:20:2013 | synthetic splat argument | UseUseExplosion.rb:20:2005:20:2013 | ... > ... | synthetic * | | UseUseExplosion.rb:20:2013:20:2013 | 5 | UseUseExplosion.rb:20:2005:20:2013 | ... > ... | position 0 | | UseUseExplosion.rb:20:2025:20:2029 | @prop | UseUseExplosion.rb:20:2025:20:2033 | ... > ... | self | -| UseUseExplosion.rb:20:2025:20:2033 | * | UseUseExplosion.rb:20:2025:20:2033 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:2025:20:2033 | synthetic splat argument | UseUseExplosion.rb:20:2025:20:2033 | ... > ... | synthetic * | | UseUseExplosion.rb:20:2033:20:2033 | 4 | UseUseExplosion.rb:20:2025:20:2033 | ... > ... | position 0 | | UseUseExplosion.rb:20:2045:20:2049 | @prop | UseUseExplosion.rb:20:2045:20:2053 | ... > ... | self | -| UseUseExplosion.rb:20:2045:20:2053 | * | UseUseExplosion.rb:20:2045:20:2053 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:2045:20:2053 | synthetic splat argument | UseUseExplosion.rb:20:2045:20:2053 | ... > ... | synthetic * | | UseUseExplosion.rb:20:2053:20:2053 | 3 | UseUseExplosion.rb:20:2045:20:2053 | ... > ... | position 0 | | UseUseExplosion.rb:20:2065:20:2069 | @prop | UseUseExplosion.rb:20:2065:20:2073 | ... > ... | self | -| UseUseExplosion.rb:20:2065:20:2073 | * | UseUseExplosion.rb:20:2065:20:2073 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:2065:20:2073 | synthetic splat argument | UseUseExplosion.rb:20:2065:20:2073 | ... > ... | synthetic * | | UseUseExplosion.rb:20:2073:20:2073 | 2 | UseUseExplosion.rb:20:2065:20:2073 | ... > ... | position 0 | | UseUseExplosion.rb:20:2085:20:2089 | @prop | UseUseExplosion.rb:20:2085:20:2093 | ... > ... | self | -| UseUseExplosion.rb:20:2085:20:2093 | * | UseUseExplosion.rb:20:2085:20:2093 | ... > ... | synthetic * | +| UseUseExplosion.rb:20:2085:20:2093 | synthetic splat argument | UseUseExplosion.rb:20:2085:20:2093 | ... > ... | synthetic * | | UseUseExplosion.rb:20:2093:20:2093 | 1 | UseUseExplosion.rb:20:2085:20:2093 | ... > ... | position 0 | -| UseUseExplosion.rb:20:2107:20:2112 | * | UseUseExplosion.rb:20:2107:20:2112 | call to use | synthetic * | | UseUseExplosion.rb:20:2107:20:2112 | self | UseUseExplosion.rb:20:2107:20:2112 | call to use | self | +| UseUseExplosion.rb:20:2107:20:2112 | synthetic splat argument | UseUseExplosion.rb:20:2107:20:2112 | call to use | synthetic * | | UseUseExplosion.rb:20:2111:20:2111 | x | UseUseExplosion.rb:20:2107:20:2112 | call to use | position 0 | -| UseUseExplosion.rb:20:2123:20:2128 | * | UseUseExplosion.rb:20:2123:20:2128 | call to use | synthetic * | | UseUseExplosion.rb:20:2123:20:2128 | self | UseUseExplosion.rb:20:2123:20:2128 | call to use | self | +| UseUseExplosion.rb:20:2123:20:2128 | synthetic splat argument | UseUseExplosion.rb:20:2123:20:2128 | call to use | synthetic * | | UseUseExplosion.rb:20:2127:20:2127 | x | UseUseExplosion.rb:20:2123:20:2128 | call to use | position 0 | -| UseUseExplosion.rb:20:2139:20:2144 | * | UseUseExplosion.rb:20:2139:20:2144 | call to use | synthetic * | | UseUseExplosion.rb:20:2139:20:2144 | self | UseUseExplosion.rb:20:2139:20:2144 | call to use | self | +| UseUseExplosion.rb:20:2139:20:2144 | synthetic splat argument | UseUseExplosion.rb:20:2139:20:2144 | call to use | synthetic * | | UseUseExplosion.rb:20:2143:20:2143 | x | UseUseExplosion.rb:20:2139:20:2144 | call to use | position 0 | -| UseUseExplosion.rb:20:2155:20:2160 | * | UseUseExplosion.rb:20:2155:20:2160 | call to use | synthetic * | | UseUseExplosion.rb:20:2155:20:2160 | self | UseUseExplosion.rb:20:2155:20:2160 | call to use | self | +| UseUseExplosion.rb:20:2155:20:2160 | synthetic splat argument | UseUseExplosion.rb:20:2155:20:2160 | call to use | synthetic * | | UseUseExplosion.rb:20:2159:20:2159 | x | UseUseExplosion.rb:20:2155:20:2160 | call to use | position 0 | -| UseUseExplosion.rb:20:2171:20:2176 | * | UseUseExplosion.rb:20:2171:20:2176 | call to use | synthetic * | | UseUseExplosion.rb:20:2171:20:2176 | self | UseUseExplosion.rb:20:2171:20:2176 | call to use | self | +| UseUseExplosion.rb:20:2171:20:2176 | synthetic splat argument | UseUseExplosion.rb:20:2171:20:2176 | call to use | synthetic * | | UseUseExplosion.rb:20:2175:20:2175 | x | UseUseExplosion.rb:20:2171:20:2176 | call to use | position 0 | -| UseUseExplosion.rb:20:2187:20:2192 | * | UseUseExplosion.rb:20:2187:20:2192 | call to use | synthetic * | | UseUseExplosion.rb:20:2187:20:2192 | self | UseUseExplosion.rb:20:2187:20:2192 | call to use | self | +| UseUseExplosion.rb:20:2187:20:2192 | synthetic splat argument | UseUseExplosion.rb:20:2187:20:2192 | call to use | synthetic * | | UseUseExplosion.rb:20:2191:20:2191 | x | UseUseExplosion.rb:20:2187:20:2192 | call to use | position 0 | -| UseUseExplosion.rb:20:2203:20:2208 | * | UseUseExplosion.rb:20:2203:20:2208 | call to use | synthetic * | | UseUseExplosion.rb:20:2203:20:2208 | self | UseUseExplosion.rb:20:2203:20:2208 | call to use | self | +| UseUseExplosion.rb:20:2203:20:2208 | synthetic splat argument | UseUseExplosion.rb:20:2203:20:2208 | call to use | synthetic * | | UseUseExplosion.rb:20:2207:20:2207 | x | UseUseExplosion.rb:20:2203:20:2208 | call to use | position 0 | -| UseUseExplosion.rb:20:2219:20:2224 | * | UseUseExplosion.rb:20:2219:20:2224 | call to use | synthetic * | | UseUseExplosion.rb:20:2219:20:2224 | self | UseUseExplosion.rb:20:2219:20:2224 | call to use | self | +| UseUseExplosion.rb:20:2219:20:2224 | synthetic splat argument | UseUseExplosion.rb:20:2219:20:2224 | call to use | synthetic * | | UseUseExplosion.rb:20:2223:20:2223 | x | UseUseExplosion.rb:20:2219:20:2224 | call to use | position 0 | -| UseUseExplosion.rb:20:2235:20:2240 | * | UseUseExplosion.rb:20:2235:20:2240 | call to use | synthetic * | | UseUseExplosion.rb:20:2235:20:2240 | self | UseUseExplosion.rb:20:2235:20:2240 | call to use | self | +| UseUseExplosion.rb:20:2235:20:2240 | synthetic splat argument | UseUseExplosion.rb:20:2235:20:2240 | call to use | synthetic * | | UseUseExplosion.rb:20:2239:20:2239 | x | UseUseExplosion.rb:20:2235:20:2240 | call to use | position 0 | -| UseUseExplosion.rb:20:2251:20:2256 | * | UseUseExplosion.rb:20:2251:20:2256 | call to use | synthetic * | | UseUseExplosion.rb:20:2251:20:2256 | self | UseUseExplosion.rb:20:2251:20:2256 | call to use | self | +| UseUseExplosion.rb:20:2251:20:2256 | synthetic splat argument | UseUseExplosion.rb:20:2251:20:2256 | call to use | synthetic * | | UseUseExplosion.rb:20:2255:20:2255 | x | UseUseExplosion.rb:20:2251:20:2256 | call to use | position 0 | -| UseUseExplosion.rb:20:2267:20:2272 | * | UseUseExplosion.rb:20:2267:20:2272 | call to use | synthetic * | | UseUseExplosion.rb:20:2267:20:2272 | self | UseUseExplosion.rb:20:2267:20:2272 | call to use | self | +| UseUseExplosion.rb:20:2267:20:2272 | synthetic splat argument | UseUseExplosion.rb:20:2267:20:2272 | call to use | synthetic * | | UseUseExplosion.rb:20:2271:20:2271 | x | UseUseExplosion.rb:20:2267:20:2272 | call to use | position 0 | -| UseUseExplosion.rb:20:2283:20:2288 | * | UseUseExplosion.rb:20:2283:20:2288 | call to use | synthetic * | | UseUseExplosion.rb:20:2283:20:2288 | self | UseUseExplosion.rb:20:2283:20:2288 | call to use | self | +| UseUseExplosion.rb:20:2283:20:2288 | synthetic splat argument | UseUseExplosion.rb:20:2283:20:2288 | call to use | synthetic * | | UseUseExplosion.rb:20:2287:20:2287 | x | UseUseExplosion.rb:20:2283:20:2288 | call to use | position 0 | -| UseUseExplosion.rb:20:2299:20:2304 | * | UseUseExplosion.rb:20:2299:20:2304 | call to use | synthetic * | | UseUseExplosion.rb:20:2299:20:2304 | self | UseUseExplosion.rb:20:2299:20:2304 | call to use | self | +| UseUseExplosion.rb:20:2299:20:2304 | synthetic splat argument | UseUseExplosion.rb:20:2299:20:2304 | call to use | synthetic * | | UseUseExplosion.rb:20:2303:20:2303 | x | UseUseExplosion.rb:20:2299:20:2304 | call to use | position 0 | -| UseUseExplosion.rb:20:2315:20:2320 | * | UseUseExplosion.rb:20:2315:20:2320 | call to use | synthetic * | | UseUseExplosion.rb:20:2315:20:2320 | self | UseUseExplosion.rb:20:2315:20:2320 | call to use | self | +| UseUseExplosion.rb:20:2315:20:2320 | synthetic splat argument | UseUseExplosion.rb:20:2315:20:2320 | call to use | synthetic * | | UseUseExplosion.rb:20:2319:20:2319 | x | UseUseExplosion.rb:20:2315:20:2320 | call to use | position 0 | -| UseUseExplosion.rb:20:2331:20:2336 | * | UseUseExplosion.rb:20:2331:20:2336 | call to use | synthetic * | | UseUseExplosion.rb:20:2331:20:2336 | self | UseUseExplosion.rb:20:2331:20:2336 | call to use | self | +| UseUseExplosion.rb:20:2331:20:2336 | synthetic splat argument | UseUseExplosion.rb:20:2331:20:2336 | call to use | synthetic * | | UseUseExplosion.rb:20:2335:20:2335 | x | UseUseExplosion.rb:20:2331:20:2336 | call to use | position 0 | -| UseUseExplosion.rb:20:2347:20:2352 | * | UseUseExplosion.rb:20:2347:20:2352 | call to use | synthetic * | | UseUseExplosion.rb:20:2347:20:2352 | self | UseUseExplosion.rb:20:2347:20:2352 | call to use | self | +| UseUseExplosion.rb:20:2347:20:2352 | synthetic splat argument | UseUseExplosion.rb:20:2347:20:2352 | call to use | synthetic * | | UseUseExplosion.rb:20:2351:20:2351 | x | UseUseExplosion.rb:20:2347:20:2352 | call to use | position 0 | -| UseUseExplosion.rb:20:2363:20:2368 | * | UseUseExplosion.rb:20:2363:20:2368 | call to use | synthetic * | | UseUseExplosion.rb:20:2363:20:2368 | self | UseUseExplosion.rb:20:2363:20:2368 | call to use | self | +| UseUseExplosion.rb:20:2363:20:2368 | synthetic splat argument | UseUseExplosion.rb:20:2363:20:2368 | call to use | synthetic * | | UseUseExplosion.rb:20:2367:20:2367 | x | UseUseExplosion.rb:20:2363:20:2368 | call to use | position 0 | -| UseUseExplosion.rb:20:2379:20:2384 | * | UseUseExplosion.rb:20:2379:20:2384 | call to use | synthetic * | | UseUseExplosion.rb:20:2379:20:2384 | self | UseUseExplosion.rb:20:2379:20:2384 | call to use | self | +| UseUseExplosion.rb:20:2379:20:2384 | synthetic splat argument | UseUseExplosion.rb:20:2379:20:2384 | call to use | synthetic * | | UseUseExplosion.rb:20:2383:20:2383 | x | UseUseExplosion.rb:20:2379:20:2384 | call to use | position 0 | -| UseUseExplosion.rb:20:2395:20:2400 | * | UseUseExplosion.rb:20:2395:20:2400 | call to use | synthetic * | | UseUseExplosion.rb:20:2395:20:2400 | self | UseUseExplosion.rb:20:2395:20:2400 | call to use | self | +| UseUseExplosion.rb:20:2395:20:2400 | synthetic splat argument | UseUseExplosion.rb:20:2395:20:2400 | call to use | synthetic * | | UseUseExplosion.rb:20:2399:20:2399 | x | UseUseExplosion.rb:20:2395:20:2400 | call to use | position 0 | -| UseUseExplosion.rb:20:2411:20:2416 | * | UseUseExplosion.rb:20:2411:20:2416 | call to use | synthetic * | | UseUseExplosion.rb:20:2411:20:2416 | self | UseUseExplosion.rb:20:2411:20:2416 | call to use | self | +| UseUseExplosion.rb:20:2411:20:2416 | synthetic splat argument | UseUseExplosion.rb:20:2411:20:2416 | call to use | synthetic * | | UseUseExplosion.rb:20:2415:20:2415 | x | UseUseExplosion.rb:20:2411:20:2416 | call to use | position 0 | -| UseUseExplosion.rb:20:2427:20:2432 | * | UseUseExplosion.rb:20:2427:20:2432 | call to use | synthetic * | | UseUseExplosion.rb:20:2427:20:2432 | self | UseUseExplosion.rb:20:2427:20:2432 | call to use | self | +| UseUseExplosion.rb:20:2427:20:2432 | synthetic splat argument | UseUseExplosion.rb:20:2427:20:2432 | call to use | synthetic * | | UseUseExplosion.rb:20:2431:20:2431 | x | UseUseExplosion.rb:20:2427:20:2432 | call to use | position 0 | -| UseUseExplosion.rb:20:2443:20:2448 | * | UseUseExplosion.rb:20:2443:20:2448 | call to use | synthetic * | | UseUseExplosion.rb:20:2443:20:2448 | self | UseUseExplosion.rb:20:2443:20:2448 | call to use | self | +| UseUseExplosion.rb:20:2443:20:2448 | synthetic splat argument | UseUseExplosion.rb:20:2443:20:2448 | call to use | synthetic * | | UseUseExplosion.rb:20:2447:20:2447 | x | UseUseExplosion.rb:20:2443:20:2448 | call to use | position 0 | -| UseUseExplosion.rb:20:2459:20:2464 | * | UseUseExplosion.rb:20:2459:20:2464 | call to use | synthetic * | | UseUseExplosion.rb:20:2459:20:2464 | self | UseUseExplosion.rb:20:2459:20:2464 | call to use | self | +| UseUseExplosion.rb:20:2459:20:2464 | synthetic splat argument | UseUseExplosion.rb:20:2459:20:2464 | call to use | synthetic * | | UseUseExplosion.rb:20:2463:20:2463 | x | UseUseExplosion.rb:20:2459:20:2464 | call to use | position 0 | -| UseUseExplosion.rb:20:2475:20:2480 | * | UseUseExplosion.rb:20:2475:20:2480 | call to use | synthetic * | | UseUseExplosion.rb:20:2475:20:2480 | self | UseUseExplosion.rb:20:2475:20:2480 | call to use | self | +| UseUseExplosion.rb:20:2475:20:2480 | synthetic splat argument | UseUseExplosion.rb:20:2475:20:2480 | call to use | synthetic * | | UseUseExplosion.rb:20:2479:20:2479 | x | UseUseExplosion.rb:20:2475:20:2480 | call to use | position 0 | -| UseUseExplosion.rb:20:2491:20:2496 | * | UseUseExplosion.rb:20:2491:20:2496 | call to use | synthetic * | | UseUseExplosion.rb:20:2491:20:2496 | self | UseUseExplosion.rb:20:2491:20:2496 | call to use | self | +| UseUseExplosion.rb:20:2491:20:2496 | synthetic splat argument | UseUseExplosion.rb:20:2491:20:2496 | call to use | synthetic * | | UseUseExplosion.rb:20:2495:20:2495 | x | UseUseExplosion.rb:20:2491:20:2496 | call to use | position 0 | -| UseUseExplosion.rb:20:2507:20:2512 | * | UseUseExplosion.rb:20:2507:20:2512 | call to use | synthetic * | | UseUseExplosion.rb:20:2507:20:2512 | self | UseUseExplosion.rb:20:2507:20:2512 | call to use | self | +| UseUseExplosion.rb:20:2507:20:2512 | synthetic splat argument | UseUseExplosion.rb:20:2507:20:2512 | call to use | synthetic * | | UseUseExplosion.rb:20:2511:20:2511 | x | UseUseExplosion.rb:20:2507:20:2512 | call to use | position 0 | -| UseUseExplosion.rb:20:2523:20:2528 | * | UseUseExplosion.rb:20:2523:20:2528 | call to use | synthetic * | | UseUseExplosion.rb:20:2523:20:2528 | self | UseUseExplosion.rb:20:2523:20:2528 | call to use | self | +| UseUseExplosion.rb:20:2523:20:2528 | synthetic splat argument | UseUseExplosion.rb:20:2523:20:2528 | call to use | synthetic * | | UseUseExplosion.rb:20:2527:20:2527 | x | UseUseExplosion.rb:20:2523:20:2528 | call to use | position 0 | -| UseUseExplosion.rb:20:2539:20:2544 | * | UseUseExplosion.rb:20:2539:20:2544 | call to use | synthetic * | | UseUseExplosion.rb:20:2539:20:2544 | self | UseUseExplosion.rb:20:2539:20:2544 | call to use | self | +| UseUseExplosion.rb:20:2539:20:2544 | synthetic splat argument | UseUseExplosion.rb:20:2539:20:2544 | call to use | synthetic * | | UseUseExplosion.rb:20:2543:20:2543 | x | UseUseExplosion.rb:20:2539:20:2544 | call to use | position 0 | -| UseUseExplosion.rb:20:2555:20:2560 | * | UseUseExplosion.rb:20:2555:20:2560 | call to use | synthetic * | | UseUseExplosion.rb:20:2555:20:2560 | self | UseUseExplosion.rb:20:2555:20:2560 | call to use | self | +| UseUseExplosion.rb:20:2555:20:2560 | synthetic splat argument | UseUseExplosion.rb:20:2555:20:2560 | call to use | synthetic * | | UseUseExplosion.rb:20:2559:20:2559 | x | UseUseExplosion.rb:20:2555:20:2560 | call to use | position 0 | -| UseUseExplosion.rb:20:2571:20:2576 | * | UseUseExplosion.rb:20:2571:20:2576 | call to use | synthetic * | | UseUseExplosion.rb:20:2571:20:2576 | self | UseUseExplosion.rb:20:2571:20:2576 | call to use | self | +| UseUseExplosion.rb:20:2571:20:2576 | synthetic splat argument | UseUseExplosion.rb:20:2571:20:2576 | call to use | synthetic * | | UseUseExplosion.rb:20:2575:20:2575 | x | UseUseExplosion.rb:20:2571:20:2576 | call to use | position 0 | -| UseUseExplosion.rb:20:2587:20:2592 | * | UseUseExplosion.rb:20:2587:20:2592 | call to use | synthetic * | | UseUseExplosion.rb:20:2587:20:2592 | self | UseUseExplosion.rb:20:2587:20:2592 | call to use | self | +| UseUseExplosion.rb:20:2587:20:2592 | synthetic splat argument | UseUseExplosion.rb:20:2587:20:2592 | call to use | synthetic * | | UseUseExplosion.rb:20:2591:20:2591 | x | UseUseExplosion.rb:20:2587:20:2592 | call to use | position 0 | -| UseUseExplosion.rb:20:2603:20:2608 | * | UseUseExplosion.rb:20:2603:20:2608 | call to use | synthetic * | | UseUseExplosion.rb:20:2603:20:2608 | self | UseUseExplosion.rb:20:2603:20:2608 | call to use | self | +| UseUseExplosion.rb:20:2603:20:2608 | synthetic splat argument | UseUseExplosion.rb:20:2603:20:2608 | call to use | synthetic * | | UseUseExplosion.rb:20:2607:20:2607 | x | UseUseExplosion.rb:20:2603:20:2608 | call to use | position 0 | -| UseUseExplosion.rb:20:2619:20:2624 | * | UseUseExplosion.rb:20:2619:20:2624 | call to use | synthetic * | | UseUseExplosion.rb:20:2619:20:2624 | self | UseUseExplosion.rb:20:2619:20:2624 | call to use | self | +| UseUseExplosion.rb:20:2619:20:2624 | synthetic splat argument | UseUseExplosion.rb:20:2619:20:2624 | call to use | synthetic * | | UseUseExplosion.rb:20:2623:20:2623 | x | UseUseExplosion.rb:20:2619:20:2624 | call to use | position 0 | -| UseUseExplosion.rb:20:2635:20:2640 | * | UseUseExplosion.rb:20:2635:20:2640 | call to use | synthetic * | | UseUseExplosion.rb:20:2635:20:2640 | self | UseUseExplosion.rb:20:2635:20:2640 | call to use | self | +| UseUseExplosion.rb:20:2635:20:2640 | synthetic splat argument | UseUseExplosion.rb:20:2635:20:2640 | call to use | synthetic * | | UseUseExplosion.rb:20:2639:20:2639 | x | UseUseExplosion.rb:20:2635:20:2640 | call to use | position 0 | -| UseUseExplosion.rb:20:2651:20:2656 | * | UseUseExplosion.rb:20:2651:20:2656 | call to use | synthetic * | | UseUseExplosion.rb:20:2651:20:2656 | self | UseUseExplosion.rb:20:2651:20:2656 | call to use | self | +| UseUseExplosion.rb:20:2651:20:2656 | synthetic splat argument | UseUseExplosion.rb:20:2651:20:2656 | call to use | synthetic * | | UseUseExplosion.rb:20:2655:20:2655 | x | UseUseExplosion.rb:20:2651:20:2656 | call to use | position 0 | -| UseUseExplosion.rb:20:2667:20:2672 | * | UseUseExplosion.rb:20:2667:20:2672 | call to use | synthetic * | | UseUseExplosion.rb:20:2667:20:2672 | self | UseUseExplosion.rb:20:2667:20:2672 | call to use | self | +| UseUseExplosion.rb:20:2667:20:2672 | synthetic splat argument | UseUseExplosion.rb:20:2667:20:2672 | call to use | synthetic * | | UseUseExplosion.rb:20:2671:20:2671 | x | UseUseExplosion.rb:20:2667:20:2672 | call to use | position 0 | -| UseUseExplosion.rb:20:2683:20:2688 | * | UseUseExplosion.rb:20:2683:20:2688 | call to use | synthetic * | | UseUseExplosion.rb:20:2683:20:2688 | self | UseUseExplosion.rb:20:2683:20:2688 | call to use | self | +| UseUseExplosion.rb:20:2683:20:2688 | synthetic splat argument | UseUseExplosion.rb:20:2683:20:2688 | call to use | synthetic * | | UseUseExplosion.rb:20:2687:20:2687 | x | UseUseExplosion.rb:20:2683:20:2688 | call to use | position 0 | -| UseUseExplosion.rb:20:2699:20:2704 | * | UseUseExplosion.rb:20:2699:20:2704 | call to use | synthetic * | | UseUseExplosion.rb:20:2699:20:2704 | self | UseUseExplosion.rb:20:2699:20:2704 | call to use | self | +| UseUseExplosion.rb:20:2699:20:2704 | synthetic splat argument | UseUseExplosion.rb:20:2699:20:2704 | call to use | synthetic * | | UseUseExplosion.rb:20:2703:20:2703 | x | UseUseExplosion.rb:20:2699:20:2704 | call to use | position 0 | -| UseUseExplosion.rb:20:2715:20:2720 | * | UseUseExplosion.rb:20:2715:20:2720 | call to use | synthetic * | | UseUseExplosion.rb:20:2715:20:2720 | self | UseUseExplosion.rb:20:2715:20:2720 | call to use | self | +| UseUseExplosion.rb:20:2715:20:2720 | synthetic splat argument | UseUseExplosion.rb:20:2715:20:2720 | call to use | synthetic * | | UseUseExplosion.rb:20:2719:20:2719 | x | UseUseExplosion.rb:20:2715:20:2720 | call to use | position 0 | -| UseUseExplosion.rb:20:2731:20:2736 | * | UseUseExplosion.rb:20:2731:20:2736 | call to use | synthetic * | | UseUseExplosion.rb:20:2731:20:2736 | self | UseUseExplosion.rb:20:2731:20:2736 | call to use | self | +| UseUseExplosion.rb:20:2731:20:2736 | synthetic splat argument | UseUseExplosion.rb:20:2731:20:2736 | call to use | synthetic * | | UseUseExplosion.rb:20:2735:20:2735 | x | UseUseExplosion.rb:20:2731:20:2736 | call to use | position 0 | -| UseUseExplosion.rb:20:2747:20:2752 | * | UseUseExplosion.rb:20:2747:20:2752 | call to use | synthetic * | | UseUseExplosion.rb:20:2747:20:2752 | self | UseUseExplosion.rb:20:2747:20:2752 | call to use | self | +| UseUseExplosion.rb:20:2747:20:2752 | synthetic splat argument | UseUseExplosion.rb:20:2747:20:2752 | call to use | synthetic * | | UseUseExplosion.rb:20:2751:20:2751 | x | UseUseExplosion.rb:20:2747:20:2752 | call to use | position 0 | -| UseUseExplosion.rb:20:2763:20:2768 | * | UseUseExplosion.rb:20:2763:20:2768 | call to use | synthetic * | | UseUseExplosion.rb:20:2763:20:2768 | self | UseUseExplosion.rb:20:2763:20:2768 | call to use | self | +| UseUseExplosion.rb:20:2763:20:2768 | synthetic splat argument | UseUseExplosion.rb:20:2763:20:2768 | call to use | synthetic * | | UseUseExplosion.rb:20:2767:20:2767 | x | UseUseExplosion.rb:20:2763:20:2768 | call to use | position 0 | -| UseUseExplosion.rb:20:2779:20:2784 | * | UseUseExplosion.rb:20:2779:20:2784 | call to use | synthetic * | | UseUseExplosion.rb:20:2779:20:2784 | self | UseUseExplosion.rb:20:2779:20:2784 | call to use | self | +| UseUseExplosion.rb:20:2779:20:2784 | synthetic splat argument | UseUseExplosion.rb:20:2779:20:2784 | call to use | synthetic * | | UseUseExplosion.rb:20:2783:20:2783 | x | UseUseExplosion.rb:20:2779:20:2784 | call to use | position 0 | -| UseUseExplosion.rb:20:2795:20:2800 | * | UseUseExplosion.rb:20:2795:20:2800 | call to use | synthetic * | | UseUseExplosion.rb:20:2795:20:2800 | self | UseUseExplosion.rb:20:2795:20:2800 | call to use | self | +| UseUseExplosion.rb:20:2795:20:2800 | synthetic splat argument | UseUseExplosion.rb:20:2795:20:2800 | call to use | synthetic * | | UseUseExplosion.rb:20:2799:20:2799 | x | UseUseExplosion.rb:20:2795:20:2800 | call to use | position 0 | -| UseUseExplosion.rb:20:2811:20:2816 | * | UseUseExplosion.rb:20:2811:20:2816 | call to use | synthetic * | | UseUseExplosion.rb:20:2811:20:2816 | self | UseUseExplosion.rb:20:2811:20:2816 | call to use | self | +| UseUseExplosion.rb:20:2811:20:2816 | synthetic splat argument | UseUseExplosion.rb:20:2811:20:2816 | call to use | synthetic * | | UseUseExplosion.rb:20:2815:20:2815 | x | UseUseExplosion.rb:20:2811:20:2816 | call to use | position 0 | -| UseUseExplosion.rb:20:2827:20:2832 | * | UseUseExplosion.rb:20:2827:20:2832 | call to use | synthetic * | | UseUseExplosion.rb:20:2827:20:2832 | self | UseUseExplosion.rb:20:2827:20:2832 | call to use | self | +| UseUseExplosion.rb:20:2827:20:2832 | synthetic splat argument | UseUseExplosion.rb:20:2827:20:2832 | call to use | synthetic * | | UseUseExplosion.rb:20:2831:20:2831 | x | UseUseExplosion.rb:20:2827:20:2832 | call to use | position 0 | -| UseUseExplosion.rb:20:2843:20:2848 | * | UseUseExplosion.rb:20:2843:20:2848 | call to use | synthetic * | | UseUseExplosion.rb:20:2843:20:2848 | self | UseUseExplosion.rb:20:2843:20:2848 | call to use | self | +| UseUseExplosion.rb:20:2843:20:2848 | synthetic splat argument | UseUseExplosion.rb:20:2843:20:2848 | call to use | synthetic * | | UseUseExplosion.rb:20:2847:20:2847 | x | UseUseExplosion.rb:20:2843:20:2848 | call to use | position 0 | -| UseUseExplosion.rb:20:2859:20:2864 | * | UseUseExplosion.rb:20:2859:20:2864 | call to use | synthetic * | | UseUseExplosion.rb:20:2859:20:2864 | self | UseUseExplosion.rb:20:2859:20:2864 | call to use | self | +| UseUseExplosion.rb:20:2859:20:2864 | synthetic splat argument | UseUseExplosion.rb:20:2859:20:2864 | call to use | synthetic * | | UseUseExplosion.rb:20:2863:20:2863 | x | UseUseExplosion.rb:20:2859:20:2864 | call to use | position 0 | -| UseUseExplosion.rb:20:2875:20:2880 | * | UseUseExplosion.rb:20:2875:20:2880 | call to use | synthetic * | | UseUseExplosion.rb:20:2875:20:2880 | self | UseUseExplosion.rb:20:2875:20:2880 | call to use | self | +| UseUseExplosion.rb:20:2875:20:2880 | synthetic splat argument | UseUseExplosion.rb:20:2875:20:2880 | call to use | synthetic * | | UseUseExplosion.rb:20:2879:20:2879 | x | UseUseExplosion.rb:20:2875:20:2880 | call to use | position 0 | -| UseUseExplosion.rb:20:2891:20:2896 | * | UseUseExplosion.rb:20:2891:20:2896 | call to use | synthetic * | | UseUseExplosion.rb:20:2891:20:2896 | self | UseUseExplosion.rb:20:2891:20:2896 | call to use | self | +| UseUseExplosion.rb:20:2891:20:2896 | synthetic splat argument | UseUseExplosion.rb:20:2891:20:2896 | call to use | synthetic * | | UseUseExplosion.rb:20:2895:20:2895 | x | UseUseExplosion.rb:20:2891:20:2896 | call to use | position 0 | -| UseUseExplosion.rb:20:2907:20:2912 | * | UseUseExplosion.rb:20:2907:20:2912 | call to use | synthetic * | | UseUseExplosion.rb:20:2907:20:2912 | self | UseUseExplosion.rb:20:2907:20:2912 | call to use | self | +| UseUseExplosion.rb:20:2907:20:2912 | synthetic splat argument | UseUseExplosion.rb:20:2907:20:2912 | call to use | synthetic * | | UseUseExplosion.rb:20:2911:20:2911 | x | UseUseExplosion.rb:20:2907:20:2912 | call to use | position 0 | -| UseUseExplosion.rb:20:2923:20:2928 | * | UseUseExplosion.rb:20:2923:20:2928 | call to use | synthetic * | | UseUseExplosion.rb:20:2923:20:2928 | self | UseUseExplosion.rb:20:2923:20:2928 | call to use | self | +| UseUseExplosion.rb:20:2923:20:2928 | synthetic splat argument | UseUseExplosion.rb:20:2923:20:2928 | call to use | synthetic * | | UseUseExplosion.rb:20:2927:20:2927 | x | UseUseExplosion.rb:20:2923:20:2928 | call to use | position 0 | -| UseUseExplosion.rb:20:2939:20:2944 | * | UseUseExplosion.rb:20:2939:20:2944 | call to use | synthetic * | | UseUseExplosion.rb:20:2939:20:2944 | self | UseUseExplosion.rb:20:2939:20:2944 | call to use | self | +| UseUseExplosion.rb:20:2939:20:2944 | synthetic splat argument | UseUseExplosion.rb:20:2939:20:2944 | call to use | synthetic * | | UseUseExplosion.rb:20:2943:20:2943 | x | UseUseExplosion.rb:20:2939:20:2944 | call to use | position 0 | -| UseUseExplosion.rb:20:2955:20:2960 | * | UseUseExplosion.rb:20:2955:20:2960 | call to use | synthetic * | | UseUseExplosion.rb:20:2955:20:2960 | self | UseUseExplosion.rb:20:2955:20:2960 | call to use | self | +| UseUseExplosion.rb:20:2955:20:2960 | synthetic splat argument | UseUseExplosion.rb:20:2955:20:2960 | call to use | synthetic * | | UseUseExplosion.rb:20:2959:20:2959 | x | UseUseExplosion.rb:20:2955:20:2960 | call to use | position 0 | -| UseUseExplosion.rb:20:2971:20:2976 | * | UseUseExplosion.rb:20:2971:20:2976 | call to use | synthetic * | | UseUseExplosion.rb:20:2971:20:2976 | self | UseUseExplosion.rb:20:2971:20:2976 | call to use | self | +| UseUseExplosion.rb:20:2971:20:2976 | synthetic splat argument | UseUseExplosion.rb:20:2971:20:2976 | call to use | synthetic * | | UseUseExplosion.rb:20:2975:20:2975 | x | UseUseExplosion.rb:20:2971:20:2976 | call to use | position 0 | -| UseUseExplosion.rb:20:2987:20:2992 | * | UseUseExplosion.rb:20:2987:20:2992 | call to use | synthetic * | | UseUseExplosion.rb:20:2987:20:2992 | self | UseUseExplosion.rb:20:2987:20:2992 | call to use | self | +| UseUseExplosion.rb:20:2987:20:2992 | synthetic splat argument | UseUseExplosion.rb:20:2987:20:2992 | call to use | synthetic * | | UseUseExplosion.rb:20:2991:20:2991 | x | UseUseExplosion.rb:20:2987:20:2992 | call to use | position 0 | -| UseUseExplosion.rb:20:3003:20:3008 | * | UseUseExplosion.rb:20:3003:20:3008 | call to use | synthetic * | | UseUseExplosion.rb:20:3003:20:3008 | self | UseUseExplosion.rb:20:3003:20:3008 | call to use | self | +| UseUseExplosion.rb:20:3003:20:3008 | synthetic splat argument | UseUseExplosion.rb:20:3003:20:3008 | call to use | synthetic * | | UseUseExplosion.rb:20:3007:20:3007 | x | UseUseExplosion.rb:20:3003:20:3008 | call to use | position 0 | -| UseUseExplosion.rb:20:3019:20:3024 | * | UseUseExplosion.rb:20:3019:20:3024 | call to use | synthetic * | | UseUseExplosion.rb:20:3019:20:3024 | self | UseUseExplosion.rb:20:3019:20:3024 | call to use | self | +| UseUseExplosion.rb:20:3019:20:3024 | synthetic splat argument | UseUseExplosion.rb:20:3019:20:3024 | call to use | synthetic * | | UseUseExplosion.rb:20:3023:20:3023 | x | UseUseExplosion.rb:20:3019:20:3024 | call to use | position 0 | -| UseUseExplosion.rb:20:3035:20:3040 | * | UseUseExplosion.rb:20:3035:20:3040 | call to use | synthetic * | | UseUseExplosion.rb:20:3035:20:3040 | self | UseUseExplosion.rb:20:3035:20:3040 | call to use | self | +| UseUseExplosion.rb:20:3035:20:3040 | synthetic splat argument | UseUseExplosion.rb:20:3035:20:3040 | call to use | synthetic * | | UseUseExplosion.rb:20:3039:20:3039 | x | UseUseExplosion.rb:20:3035:20:3040 | call to use | position 0 | -| UseUseExplosion.rb:20:3051:20:3056 | * | UseUseExplosion.rb:20:3051:20:3056 | call to use | synthetic * | | UseUseExplosion.rb:20:3051:20:3056 | self | UseUseExplosion.rb:20:3051:20:3056 | call to use | self | +| UseUseExplosion.rb:20:3051:20:3056 | synthetic splat argument | UseUseExplosion.rb:20:3051:20:3056 | call to use | synthetic * | | UseUseExplosion.rb:20:3055:20:3055 | x | UseUseExplosion.rb:20:3051:20:3056 | call to use | position 0 | -| UseUseExplosion.rb:20:3067:20:3072 | * | UseUseExplosion.rb:20:3067:20:3072 | call to use | synthetic * | | UseUseExplosion.rb:20:3067:20:3072 | self | UseUseExplosion.rb:20:3067:20:3072 | call to use | self | +| UseUseExplosion.rb:20:3067:20:3072 | synthetic splat argument | UseUseExplosion.rb:20:3067:20:3072 | call to use | synthetic * | | UseUseExplosion.rb:20:3071:20:3071 | x | UseUseExplosion.rb:20:3067:20:3072 | call to use | position 0 | -| UseUseExplosion.rb:20:3083:20:3088 | * | UseUseExplosion.rb:20:3083:20:3088 | call to use | synthetic * | | UseUseExplosion.rb:20:3083:20:3088 | self | UseUseExplosion.rb:20:3083:20:3088 | call to use | self | +| UseUseExplosion.rb:20:3083:20:3088 | synthetic splat argument | UseUseExplosion.rb:20:3083:20:3088 | call to use | synthetic * | | UseUseExplosion.rb:20:3087:20:3087 | x | UseUseExplosion.rb:20:3083:20:3088 | call to use | position 0 | -| UseUseExplosion.rb:20:3099:20:3104 | * | UseUseExplosion.rb:20:3099:20:3104 | call to use | synthetic * | | UseUseExplosion.rb:20:3099:20:3104 | self | UseUseExplosion.rb:20:3099:20:3104 | call to use | self | +| UseUseExplosion.rb:20:3099:20:3104 | synthetic splat argument | UseUseExplosion.rb:20:3099:20:3104 | call to use | synthetic * | | UseUseExplosion.rb:20:3103:20:3103 | x | UseUseExplosion.rb:20:3099:20:3104 | call to use | position 0 | -| UseUseExplosion.rb:20:3115:20:3120 | * | UseUseExplosion.rb:20:3115:20:3120 | call to use | synthetic * | | UseUseExplosion.rb:20:3115:20:3120 | self | UseUseExplosion.rb:20:3115:20:3120 | call to use | self | +| UseUseExplosion.rb:20:3115:20:3120 | synthetic splat argument | UseUseExplosion.rb:20:3115:20:3120 | call to use | synthetic * | | UseUseExplosion.rb:20:3119:20:3119 | x | UseUseExplosion.rb:20:3115:20:3120 | call to use | position 0 | -| UseUseExplosion.rb:20:3131:20:3136 | * | UseUseExplosion.rb:20:3131:20:3136 | call to use | synthetic * | | UseUseExplosion.rb:20:3131:20:3136 | self | UseUseExplosion.rb:20:3131:20:3136 | call to use | self | +| UseUseExplosion.rb:20:3131:20:3136 | synthetic splat argument | UseUseExplosion.rb:20:3131:20:3136 | call to use | synthetic * | | UseUseExplosion.rb:20:3135:20:3135 | x | UseUseExplosion.rb:20:3131:20:3136 | call to use | position 0 | -| UseUseExplosion.rb:20:3147:20:3152 | * | UseUseExplosion.rb:20:3147:20:3152 | call to use | synthetic * | | UseUseExplosion.rb:20:3147:20:3152 | self | UseUseExplosion.rb:20:3147:20:3152 | call to use | self | +| UseUseExplosion.rb:20:3147:20:3152 | synthetic splat argument | UseUseExplosion.rb:20:3147:20:3152 | call to use | synthetic * | | UseUseExplosion.rb:20:3151:20:3151 | x | UseUseExplosion.rb:20:3147:20:3152 | call to use | position 0 | -| UseUseExplosion.rb:20:3163:20:3168 | * | UseUseExplosion.rb:20:3163:20:3168 | call to use | synthetic * | | UseUseExplosion.rb:20:3163:20:3168 | self | UseUseExplosion.rb:20:3163:20:3168 | call to use | self | +| UseUseExplosion.rb:20:3163:20:3168 | synthetic splat argument | UseUseExplosion.rb:20:3163:20:3168 | call to use | synthetic * | | UseUseExplosion.rb:20:3167:20:3167 | x | UseUseExplosion.rb:20:3163:20:3168 | call to use | position 0 | -| UseUseExplosion.rb:20:3179:20:3184 | * | UseUseExplosion.rb:20:3179:20:3184 | call to use | synthetic * | | UseUseExplosion.rb:20:3179:20:3184 | self | UseUseExplosion.rb:20:3179:20:3184 | call to use | self | +| UseUseExplosion.rb:20:3179:20:3184 | synthetic splat argument | UseUseExplosion.rb:20:3179:20:3184 | call to use | synthetic * | | UseUseExplosion.rb:20:3183:20:3183 | x | UseUseExplosion.rb:20:3179:20:3184 | call to use | position 0 | -| UseUseExplosion.rb:20:3195:20:3200 | * | UseUseExplosion.rb:20:3195:20:3200 | call to use | synthetic * | | UseUseExplosion.rb:20:3195:20:3200 | self | UseUseExplosion.rb:20:3195:20:3200 | call to use | self | +| UseUseExplosion.rb:20:3195:20:3200 | synthetic splat argument | UseUseExplosion.rb:20:3195:20:3200 | call to use | synthetic * | | UseUseExplosion.rb:20:3199:20:3199 | x | UseUseExplosion.rb:20:3195:20:3200 | call to use | position 0 | -| UseUseExplosion.rb:20:3211:20:3216 | * | UseUseExplosion.rb:20:3211:20:3216 | call to use | synthetic * | | UseUseExplosion.rb:20:3211:20:3216 | self | UseUseExplosion.rb:20:3211:20:3216 | call to use | self | +| UseUseExplosion.rb:20:3211:20:3216 | synthetic splat argument | UseUseExplosion.rb:20:3211:20:3216 | call to use | synthetic * | | UseUseExplosion.rb:20:3215:20:3215 | x | UseUseExplosion.rb:20:3211:20:3216 | call to use | position 0 | -| UseUseExplosion.rb:20:3227:20:3232 | * | UseUseExplosion.rb:20:3227:20:3232 | call to use | synthetic * | | UseUseExplosion.rb:20:3227:20:3232 | self | UseUseExplosion.rb:20:3227:20:3232 | call to use | self | +| UseUseExplosion.rb:20:3227:20:3232 | synthetic splat argument | UseUseExplosion.rb:20:3227:20:3232 | call to use | synthetic * | | UseUseExplosion.rb:20:3231:20:3231 | x | UseUseExplosion.rb:20:3227:20:3232 | call to use | position 0 | -| UseUseExplosion.rb:20:3243:20:3248 | * | UseUseExplosion.rb:20:3243:20:3248 | call to use | synthetic * | | UseUseExplosion.rb:20:3243:20:3248 | self | UseUseExplosion.rb:20:3243:20:3248 | call to use | self | +| UseUseExplosion.rb:20:3243:20:3248 | synthetic splat argument | UseUseExplosion.rb:20:3243:20:3248 | call to use | synthetic * | | UseUseExplosion.rb:20:3247:20:3247 | x | UseUseExplosion.rb:20:3243:20:3248 | call to use | position 0 | -| UseUseExplosion.rb:20:3259:20:3264 | * | UseUseExplosion.rb:20:3259:20:3264 | call to use | synthetic * | | UseUseExplosion.rb:20:3259:20:3264 | self | UseUseExplosion.rb:20:3259:20:3264 | call to use | self | +| UseUseExplosion.rb:20:3259:20:3264 | synthetic splat argument | UseUseExplosion.rb:20:3259:20:3264 | call to use | synthetic * | | UseUseExplosion.rb:20:3263:20:3263 | x | UseUseExplosion.rb:20:3259:20:3264 | call to use | position 0 | -| UseUseExplosion.rb:20:3275:20:3280 | * | UseUseExplosion.rb:20:3275:20:3280 | call to use | synthetic * | | UseUseExplosion.rb:20:3275:20:3280 | self | UseUseExplosion.rb:20:3275:20:3280 | call to use | self | +| UseUseExplosion.rb:20:3275:20:3280 | synthetic splat argument | UseUseExplosion.rb:20:3275:20:3280 | call to use | synthetic * | | UseUseExplosion.rb:20:3279:20:3279 | x | UseUseExplosion.rb:20:3275:20:3280 | call to use | position 0 | -| UseUseExplosion.rb:20:3291:20:3296 | * | UseUseExplosion.rb:20:3291:20:3296 | call to use | synthetic * | | UseUseExplosion.rb:20:3291:20:3296 | self | UseUseExplosion.rb:20:3291:20:3296 | call to use | self | +| UseUseExplosion.rb:20:3291:20:3296 | synthetic splat argument | UseUseExplosion.rb:20:3291:20:3296 | call to use | synthetic * | | UseUseExplosion.rb:20:3295:20:3295 | x | UseUseExplosion.rb:20:3291:20:3296 | call to use | position 0 | -| UseUseExplosion.rb:20:3307:20:3312 | * | UseUseExplosion.rb:20:3307:20:3312 | call to use | synthetic * | | UseUseExplosion.rb:20:3307:20:3312 | self | UseUseExplosion.rb:20:3307:20:3312 | call to use | self | +| UseUseExplosion.rb:20:3307:20:3312 | synthetic splat argument | UseUseExplosion.rb:20:3307:20:3312 | call to use | synthetic * | | UseUseExplosion.rb:20:3311:20:3311 | x | UseUseExplosion.rb:20:3307:20:3312 | call to use | position 0 | -| UseUseExplosion.rb:20:3323:20:3328 | * | UseUseExplosion.rb:20:3323:20:3328 | call to use | synthetic * | | UseUseExplosion.rb:20:3323:20:3328 | self | UseUseExplosion.rb:20:3323:20:3328 | call to use | self | +| UseUseExplosion.rb:20:3323:20:3328 | synthetic splat argument | UseUseExplosion.rb:20:3323:20:3328 | call to use | synthetic * | | UseUseExplosion.rb:20:3327:20:3327 | x | UseUseExplosion.rb:20:3323:20:3328 | call to use | position 0 | -| UseUseExplosion.rb:20:3339:20:3344 | * | UseUseExplosion.rb:20:3339:20:3344 | call to use | synthetic * | | UseUseExplosion.rb:20:3339:20:3344 | self | UseUseExplosion.rb:20:3339:20:3344 | call to use | self | +| UseUseExplosion.rb:20:3339:20:3344 | synthetic splat argument | UseUseExplosion.rb:20:3339:20:3344 | call to use | synthetic * | | UseUseExplosion.rb:20:3343:20:3343 | x | UseUseExplosion.rb:20:3339:20:3344 | call to use | position 0 | -| UseUseExplosion.rb:20:3355:20:3360 | * | UseUseExplosion.rb:20:3355:20:3360 | call to use | synthetic * | | UseUseExplosion.rb:20:3355:20:3360 | self | UseUseExplosion.rb:20:3355:20:3360 | call to use | self | +| UseUseExplosion.rb:20:3355:20:3360 | synthetic splat argument | UseUseExplosion.rb:20:3355:20:3360 | call to use | synthetic * | | UseUseExplosion.rb:20:3359:20:3359 | x | UseUseExplosion.rb:20:3355:20:3360 | call to use | position 0 | -| UseUseExplosion.rb:20:3371:20:3376 | * | UseUseExplosion.rb:20:3371:20:3376 | call to use | synthetic * | | UseUseExplosion.rb:20:3371:20:3376 | self | UseUseExplosion.rb:20:3371:20:3376 | call to use | self | +| UseUseExplosion.rb:20:3371:20:3376 | synthetic splat argument | UseUseExplosion.rb:20:3371:20:3376 | call to use | synthetic * | | UseUseExplosion.rb:20:3375:20:3375 | x | UseUseExplosion.rb:20:3371:20:3376 | call to use | position 0 | -| UseUseExplosion.rb:20:3387:20:3392 | * | UseUseExplosion.rb:20:3387:20:3392 | call to use | synthetic * | | UseUseExplosion.rb:20:3387:20:3392 | self | UseUseExplosion.rb:20:3387:20:3392 | call to use | self | +| UseUseExplosion.rb:20:3387:20:3392 | synthetic splat argument | UseUseExplosion.rb:20:3387:20:3392 | call to use | synthetic * | | UseUseExplosion.rb:20:3391:20:3391 | x | UseUseExplosion.rb:20:3387:20:3392 | call to use | position 0 | -| UseUseExplosion.rb:20:3403:20:3408 | * | UseUseExplosion.rb:20:3403:20:3408 | call to use | synthetic * | | UseUseExplosion.rb:20:3403:20:3408 | self | UseUseExplosion.rb:20:3403:20:3408 | call to use | self | +| UseUseExplosion.rb:20:3403:20:3408 | synthetic splat argument | UseUseExplosion.rb:20:3403:20:3408 | call to use | synthetic * | | UseUseExplosion.rb:20:3407:20:3407 | x | UseUseExplosion.rb:20:3403:20:3408 | call to use | position 0 | -| UseUseExplosion.rb:20:3419:20:3424 | * | UseUseExplosion.rb:20:3419:20:3424 | call to use | synthetic * | | UseUseExplosion.rb:20:3419:20:3424 | self | UseUseExplosion.rb:20:3419:20:3424 | call to use | self | +| UseUseExplosion.rb:20:3419:20:3424 | synthetic splat argument | UseUseExplosion.rb:20:3419:20:3424 | call to use | synthetic * | | UseUseExplosion.rb:20:3423:20:3423 | x | UseUseExplosion.rb:20:3419:20:3424 | call to use | position 0 | -| UseUseExplosion.rb:20:3435:20:3440 | * | UseUseExplosion.rb:20:3435:20:3440 | call to use | synthetic * | | UseUseExplosion.rb:20:3435:20:3440 | self | UseUseExplosion.rb:20:3435:20:3440 | call to use | self | +| UseUseExplosion.rb:20:3435:20:3440 | synthetic splat argument | UseUseExplosion.rb:20:3435:20:3440 | call to use | synthetic * | | UseUseExplosion.rb:20:3439:20:3439 | x | UseUseExplosion.rb:20:3435:20:3440 | call to use | position 0 | -| UseUseExplosion.rb:20:3451:20:3456 | * | UseUseExplosion.rb:20:3451:20:3456 | call to use | synthetic * | | UseUseExplosion.rb:20:3451:20:3456 | self | UseUseExplosion.rb:20:3451:20:3456 | call to use | self | +| UseUseExplosion.rb:20:3451:20:3456 | synthetic splat argument | UseUseExplosion.rb:20:3451:20:3456 | call to use | synthetic * | | UseUseExplosion.rb:20:3455:20:3455 | x | UseUseExplosion.rb:20:3451:20:3456 | call to use | position 0 | -| UseUseExplosion.rb:20:3467:20:3472 | * | UseUseExplosion.rb:20:3467:20:3472 | call to use | synthetic * | | UseUseExplosion.rb:20:3467:20:3472 | self | UseUseExplosion.rb:20:3467:20:3472 | call to use | self | +| UseUseExplosion.rb:20:3467:20:3472 | synthetic splat argument | UseUseExplosion.rb:20:3467:20:3472 | call to use | synthetic * | | UseUseExplosion.rb:20:3471:20:3471 | x | UseUseExplosion.rb:20:3467:20:3472 | call to use | position 0 | -| UseUseExplosion.rb:20:3483:20:3488 | * | UseUseExplosion.rb:20:3483:20:3488 | call to use | synthetic * | | UseUseExplosion.rb:20:3483:20:3488 | self | UseUseExplosion.rb:20:3483:20:3488 | call to use | self | +| UseUseExplosion.rb:20:3483:20:3488 | synthetic splat argument | UseUseExplosion.rb:20:3483:20:3488 | call to use | synthetic * | | UseUseExplosion.rb:20:3487:20:3487 | x | UseUseExplosion.rb:20:3483:20:3488 | call to use | position 0 | -| UseUseExplosion.rb:20:3499:20:3504 | * | UseUseExplosion.rb:20:3499:20:3504 | call to use | synthetic * | | UseUseExplosion.rb:20:3499:20:3504 | self | UseUseExplosion.rb:20:3499:20:3504 | call to use | self | +| UseUseExplosion.rb:20:3499:20:3504 | synthetic splat argument | UseUseExplosion.rb:20:3499:20:3504 | call to use | synthetic * | | UseUseExplosion.rb:20:3503:20:3503 | x | UseUseExplosion.rb:20:3499:20:3504 | call to use | position 0 | -| UseUseExplosion.rb:20:3515:20:3520 | * | UseUseExplosion.rb:20:3515:20:3520 | call to use | synthetic * | | UseUseExplosion.rb:20:3515:20:3520 | self | UseUseExplosion.rb:20:3515:20:3520 | call to use | self | +| UseUseExplosion.rb:20:3515:20:3520 | synthetic splat argument | UseUseExplosion.rb:20:3515:20:3520 | call to use | synthetic * | | UseUseExplosion.rb:20:3519:20:3519 | x | UseUseExplosion.rb:20:3515:20:3520 | call to use | position 0 | -| UseUseExplosion.rb:20:3531:20:3536 | * | UseUseExplosion.rb:20:3531:20:3536 | call to use | synthetic * | | UseUseExplosion.rb:20:3531:20:3536 | self | UseUseExplosion.rb:20:3531:20:3536 | call to use | self | +| UseUseExplosion.rb:20:3531:20:3536 | synthetic splat argument | UseUseExplosion.rb:20:3531:20:3536 | call to use | synthetic * | | UseUseExplosion.rb:20:3535:20:3535 | x | UseUseExplosion.rb:20:3531:20:3536 | call to use | position 0 | -| UseUseExplosion.rb:20:3547:20:3552 | * | UseUseExplosion.rb:20:3547:20:3552 | call to use | synthetic * | | UseUseExplosion.rb:20:3547:20:3552 | self | UseUseExplosion.rb:20:3547:20:3552 | call to use | self | +| UseUseExplosion.rb:20:3547:20:3552 | synthetic splat argument | UseUseExplosion.rb:20:3547:20:3552 | call to use | synthetic * | | UseUseExplosion.rb:20:3551:20:3551 | x | UseUseExplosion.rb:20:3547:20:3552 | call to use | position 0 | -| UseUseExplosion.rb:20:3563:20:3568 | * | UseUseExplosion.rb:20:3563:20:3568 | call to use | synthetic * | | UseUseExplosion.rb:20:3563:20:3568 | self | UseUseExplosion.rb:20:3563:20:3568 | call to use | self | +| UseUseExplosion.rb:20:3563:20:3568 | synthetic splat argument | UseUseExplosion.rb:20:3563:20:3568 | call to use | synthetic * | | UseUseExplosion.rb:20:3567:20:3567 | x | UseUseExplosion.rb:20:3563:20:3568 | call to use | position 0 | -| UseUseExplosion.rb:20:3579:20:3584 | * | UseUseExplosion.rb:20:3579:20:3584 | call to use | synthetic * | | UseUseExplosion.rb:20:3579:20:3584 | self | UseUseExplosion.rb:20:3579:20:3584 | call to use | self | +| UseUseExplosion.rb:20:3579:20:3584 | synthetic splat argument | UseUseExplosion.rb:20:3579:20:3584 | call to use | synthetic * | | UseUseExplosion.rb:20:3583:20:3583 | x | UseUseExplosion.rb:20:3579:20:3584 | call to use | position 0 | -| UseUseExplosion.rb:20:3595:20:3600 | * | UseUseExplosion.rb:20:3595:20:3600 | call to use | synthetic * | | UseUseExplosion.rb:20:3595:20:3600 | self | UseUseExplosion.rb:20:3595:20:3600 | call to use | self | +| UseUseExplosion.rb:20:3595:20:3600 | synthetic splat argument | UseUseExplosion.rb:20:3595:20:3600 | call to use | synthetic * | | UseUseExplosion.rb:20:3599:20:3599 | x | UseUseExplosion.rb:20:3595:20:3600 | call to use | position 0 | -| UseUseExplosion.rb:20:3611:20:3616 | * | UseUseExplosion.rb:20:3611:20:3616 | call to use | synthetic * | | UseUseExplosion.rb:20:3611:20:3616 | self | UseUseExplosion.rb:20:3611:20:3616 | call to use | self | +| UseUseExplosion.rb:20:3611:20:3616 | synthetic splat argument | UseUseExplosion.rb:20:3611:20:3616 | call to use | synthetic * | | UseUseExplosion.rb:20:3615:20:3615 | x | UseUseExplosion.rb:20:3611:20:3616 | call to use | position 0 | -| UseUseExplosion.rb:20:3627:20:3632 | * | UseUseExplosion.rb:20:3627:20:3632 | call to use | synthetic * | | UseUseExplosion.rb:20:3627:20:3632 | self | UseUseExplosion.rb:20:3627:20:3632 | call to use | self | +| UseUseExplosion.rb:20:3627:20:3632 | synthetic splat argument | UseUseExplosion.rb:20:3627:20:3632 | call to use | synthetic * | | UseUseExplosion.rb:20:3631:20:3631 | x | UseUseExplosion.rb:20:3627:20:3632 | call to use | position 0 | -| UseUseExplosion.rb:20:3643:20:3648 | * | UseUseExplosion.rb:20:3643:20:3648 | call to use | synthetic * | | UseUseExplosion.rb:20:3643:20:3648 | self | UseUseExplosion.rb:20:3643:20:3648 | call to use | self | +| UseUseExplosion.rb:20:3643:20:3648 | synthetic splat argument | UseUseExplosion.rb:20:3643:20:3648 | call to use | synthetic * | | UseUseExplosion.rb:20:3647:20:3647 | x | UseUseExplosion.rb:20:3643:20:3648 | call to use | position 0 | -| UseUseExplosion.rb:20:3659:20:3664 | * | UseUseExplosion.rb:20:3659:20:3664 | call to use | synthetic * | | UseUseExplosion.rb:20:3659:20:3664 | self | UseUseExplosion.rb:20:3659:20:3664 | call to use | self | +| UseUseExplosion.rb:20:3659:20:3664 | synthetic splat argument | UseUseExplosion.rb:20:3659:20:3664 | call to use | synthetic * | | UseUseExplosion.rb:20:3663:20:3663 | x | UseUseExplosion.rb:20:3659:20:3664 | call to use | position 0 | -| UseUseExplosion.rb:20:3675:20:3680 | * | UseUseExplosion.rb:20:3675:20:3680 | call to use | synthetic * | | UseUseExplosion.rb:20:3675:20:3680 | self | UseUseExplosion.rb:20:3675:20:3680 | call to use | self | +| UseUseExplosion.rb:20:3675:20:3680 | synthetic splat argument | UseUseExplosion.rb:20:3675:20:3680 | call to use | synthetic * | | UseUseExplosion.rb:20:3679:20:3679 | x | UseUseExplosion.rb:20:3675:20:3680 | call to use | position 0 | -| UseUseExplosion.rb:20:3691:20:3696 | * | UseUseExplosion.rb:20:3691:20:3696 | call to use | synthetic * | | UseUseExplosion.rb:20:3691:20:3696 | self | UseUseExplosion.rb:20:3691:20:3696 | call to use | self | +| UseUseExplosion.rb:20:3691:20:3696 | synthetic splat argument | UseUseExplosion.rb:20:3691:20:3696 | call to use | synthetic * | | UseUseExplosion.rb:20:3695:20:3695 | x | UseUseExplosion.rb:20:3691:20:3696 | call to use | position 0 | | UseUseExplosion.rb:21:13:21:17 | @prop | UseUseExplosion.rb:21:13:21:23 | ... > ... | self | -| UseUseExplosion.rb:21:13:21:23 | * | UseUseExplosion.rb:21:13:21:23 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:13:21:23 | synthetic splat argument | UseUseExplosion.rb:21:13:21:23 | ... > ... | synthetic * | | UseUseExplosion.rb:21:21:21:23 | 100 | UseUseExplosion.rb:21:13:21:23 | ... > ... | position 0 | | UseUseExplosion.rb:21:35:21:39 | @prop | UseUseExplosion.rb:21:35:21:44 | ... > ... | self | -| UseUseExplosion.rb:21:35:21:44 | * | UseUseExplosion.rb:21:35:21:44 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:35:21:44 | synthetic splat argument | UseUseExplosion.rb:21:35:21:44 | ... > ... | synthetic * | | UseUseExplosion.rb:21:43:21:44 | 99 | UseUseExplosion.rb:21:35:21:44 | ... > ... | position 0 | | UseUseExplosion.rb:21:56:21:60 | @prop | UseUseExplosion.rb:21:56:21:65 | ... > ... | self | -| UseUseExplosion.rb:21:56:21:65 | * | UseUseExplosion.rb:21:56:21:65 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:56:21:65 | synthetic splat argument | UseUseExplosion.rb:21:56:21:65 | ... > ... | synthetic * | | UseUseExplosion.rb:21:64:21:65 | 98 | UseUseExplosion.rb:21:56:21:65 | ... > ... | position 0 | | UseUseExplosion.rb:21:77:21:81 | @prop | UseUseExplosion.rb:21:77:21:86 | ... > ... | self | -| UseUseExplosion.rb:21:77:21:86 | * | UseUseExplosion.rb:21:77:21:86 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:77:21:86 | synthetic splat argument | UseUseExplosion.rb:21:77:21:86 | ... > ... | synthetic * | | UseUseExplosion.rb:21:85:21:86 | 97 | UseUseExplosion.rb:21:77:21:86 | ... > ... | position 0 | | UseUseExplosion.rb:21:98:21:102 | @prop | UseUseExplosion.rb:21:98:21:107 | ... > ... | self | -| UseUseExplosion.rb:21:98:21:107 | * | UseUseExplosion.rb:21:98:21:107 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:98:21:107 | synthetic splat argument | UseUseExplosion.rb:21:98:21:107 | ... > ... | synthetic * | | UseUseExplosion.rb:21:106:21:107 | 96 | UseUseExplosion.rb:21:98:21:107 | ... > ... | position 0 | | UseUseExplosion.rb:21:119:21:123 | @prop | UseUseExplosion.rb:21:119:21:128 | ... > ... | self | -| UseUseExplosion.rb:21:119:21:128 | * | UseUseExplosion.rb:21:119:21:128 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:119:21:128 | synthetic splat argument | UseUseExplosion.rb:21:119:21:128 | ... > ... | synthetic * | | UseUseExplosion.rb:21:127:21:128 | 95 | UseUseExplosion.rb:21:119:21:128 | ... > ... | position 0 | | UseUseExplosion.rb:21:140:21:144 | @prop | UseUseExplosion.rb:21:140:21:149 | ... > ... | self | -| UseUseExplosion.rb:21:140:21:149 | * | UseUseExplosion.rb:21:140:21:149 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:140:21:149 | synthetic splat argument | UseUseExplosion.rb:21:140:21:149 | ... > ... | synthetic * | | UseUseExplosion.rb:21:148:21:149 | 94 | UseUseExplosion.rb:21:140:21:149 | ... > ... | position 0 | | UseUseExplosion.rb:21:161:21:165 | @prop | UseUseExplosion.rb:21:161:21:170 | ... > ... | self | -| UseUseExplosion.rb:21:161:21:170 | * | UseUseExplosion.rb:21:161:21:170 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:161:21:170 | synthetic splat argument | UseUseExplosion.rb:21:161:21:170 | ... > ... | synthetic * | | UseUseExplosion.rb:21:169:21:170 | 93 | UseUseExplosion.rb:21:161:21:170 | ... > ... | position 0 | | UseUseExplosion.rb:21:182:21:186 | @prop | UseUseExplosion.rb:21:182:21:191 | ... > ... | self | -| UseUseExplosion.rb:21:182:21:191 | * | UseUseExplosion.rb:21:182:21:191 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:182:21:191 | synthetic splat argument | UseUseExplosion.rb:21:182:21:191 | ... > ... | synthetic * | | UseUseExplosion.rb:21:190:21:191 | 92 | UseUseExplosion.rb:21:182:21:191 | ... > ... | position 0 | | UseUseExplosion.rb:21:203:21:207 | @prop | UseUseExplosion.rb:21:203:21:212 | ... > ... | self | -| UseUseExplosion.rb:21:203:21:212 | * | UseUseExplosion.rb:21:203:21:212 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:203:21:212 | synthetic splat argument | UseUseExplosion.rb:21:203:21:212 | ... > ... | synthetic * | | UseUseExplosion.rb:21:211:21:212 | 91 | UseUseExplosion.rb:21:203:21:212 | ... > ... | position 0 | | UseUseExplosion.rb:21:224:21:228 | @prop | UseUseExplosion.rb:21:224:21:233 | ... > ... | self | -| UseUseExplosion.rb:21:224:21:233 | * | UseUseExplosion.rb:21:224:21:233 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:224:21:233 | synthetic splat argument | UseUseExplosion.rb:21:224:21:233 | ... > ... | synthetic * | | UseUseExplosion.rb:21:232:21:233 | 90 | UseUseExplosion.rb:21:224:21:233 | ... > ... | position 0 | | UseUseExplosion.rb:21:245:21:249 | @prop | UseUseExplosion.rb:21:245:21:254 | ... > ... | self | -| UseUseExplosion.rb:21:245:21:254 | * | UseUseExplosion.rb:21:245:21:254 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:245:21:254 | synthetic splat argument | UseUseExplosion.rb:21:245:21:254 | ... > ... | synthetic * | | UseUseExplosion.rb:21:253:21:254 | 89 | UseUseExplosion.rb:21:245:21:254 | ... > ... | position 0 | | UseUseExplosion.rb:21:266:21:270 | @prop | UseUseExplosion.rb:21:266:21:275 | ... > ... | self | -| UseUseExplosion.rb:21:266:21:275 | * | UseUseExplosion.rb:21:266:21:275 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:266:21:275 | synthetic splat argument | UseUseExplosion.rb:21:266:21:275 | ... > ... | synthetic * | | UseUseExplosion.rb:21:274:21:275 | 88 | UseUseExplosion.rb:21:266:21:275 | ... > ... | position 0 | | UseUseExplosion.rb:21:287:21:291 | @prop | UseUseExplosion.rb:21:287:21:296 | ... > ... | self | -| UseUseExplosion.rb:21:287:21:296 | * | UseUseExplosion.rb:21:287:21:296 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:287:21:296 | synthetic splat argument | UseUseExplosion.rb:21:287:21:296 | ... > ... | synthetic * | | UseUseExplosion.rb:21:295:21:296 | 87 | UseUseExplosion.rb:21:287:21:296 | ... > ... | position 0 | | UseUseExplosion.rb:21:308:21:312 | @prop | UseUseExplosion.rb:21:308:21:317 | ... > ... | self | -| UseUseExplosion.rb:21:308:21:317 | * | UseUseExplosion.rb:21:308:21:317 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:308:21:317 | synthetic splat argument | UseUseExplosion.rb:21:308:21:317 | ... > ... | synthetic * | | UseUseExplosion.rb:21:316:21:317 | 86 | UseUseExplosion.rb:21:308:21:317 | ... > ... | position 0 | | UseUseExplosion.rb:21:329:21:333 | @prop | UseUseExplosion.rb:21:329:21:338 | ... > ... | self | -| UseUseExplosion.rb:21:329:21:338 | * | UseUseExplosion.rb:21:329:21:338 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:329:21:338 | synthetic splat argument | UseUseExplosion.rb:21:329:21:338 | ... > ... | synthetic * | | UseUseExplosion.rb:21:337:21:338 | 85 | UseUseExplosion.rb:21:329:21:338 | ... > ... | position 0 | | UseUseExplosion.rb:21:350:21:354 | @prop | UseUseExplosion.rb:21:350:21:359 | ... > ... | self | -| UseUseExplosion.rb:21:350:21:359 | * | UseUseExplosion.rb:21:350:21:359 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:350:21:359 | synthetic splat argument | UseUseExplosion.rb:21:350:21:359 | ... > ... | synthetic * | | UseUseExplosion.rb:21:358:21:359 | 84 | UseUseExplosion.rb:21:350:21:359 | ... > ... | position 0 | | UseUseExplosion.rb:21:371:21:375 | @prop | UseUseExplosion.rb:21:371:21:380 | ... > ... | self | -| UseUseExplosion.rb:21:371:21:380 | * | UseUseExplosion.rb:21:371:21:380 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:371:21:380 | synthetic splat argument | UseUseExplosion.rb:21:371:21:380 | ... > ... | synthetic * | | UseUseExplosion.rb:21:379:21:380 | 83 | UseUseExplosion.rb:21:371:21:380 | ... > ... | position 0 | | UseUseExplosion.rb:21:392:21:396 | @prop | UseUseExplosion.rb:21:392:21:401 | ... > ... | self | -| UseUseExplosion.rb:21:392:21:401 | * | UseUseExplosion.rb:21:392:21:401 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:392:21:401 | synthetic splat argument | UseUseExplosion.rb:21:392:21:401 | ... > ... | synthetic * | | UseUseExplosion.rb:21:400:21:401 | 82 | UseUseExplosion.rb:21:392:21:401 | ... > ... | position 0 | | UseUseExplosion.rb:21:413:21:417 | @prop | UseUseExplosion.rb:21:413:21:422 | ... > ... | self | -| UseUseExplosion.rb:21:413:21:422 | * | UseUseExplosion.rb:21:413:21:422 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:413:21:422 | synthetic splat argument | UseUseExplosion.rb:21:413:21:422 | ... > ... | synthetic * | | UseUseExplosion.rb:21:421:21:422 | 81 | UseUseExplosion.rb:21:413:21:422 | ... > ... | position 0 | | UseUseExplosion.rb:21:434:21:438 | @prop | UseUseExplosion.rb:21:434:21:443 | ... > ... | self | -| UseUseExplosion.rb:21:434:21:443 | * | UseUseExplosion.rb:21:434:21:443 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:434:21:443 | synthetic splat argument | UseUseExplosion.rb:21:434:21:443 | ... > ... | synthetic * | | UseUseExplosion.rb:21:442:21:443 | 80 | UseUseExplosion.rb:21:434:21:443 | ... > ... | position 0 | | UseUseExplosion.rb:21:455:21:459 | @prop | UseUseExplosion.rb:21:455:21:464 | ... > ... | self | -| UseUseExplosion.rb:21:455:21:464 | * | UseUseExplosion.rb:21:455:21:464 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:455:21:464 | synthetic splat argument | UseUseExplosion.rb:21:455:21:464 | ... > ... | synthetic * | | UseUseExplosion.rb:21:463:21:464 | 79 | UseUseExplosion.rb:21:455:21:464 | ... > ... | position 0 | | UseUseExplosion.rb:21:476:21:480 | @prop | UseUseExplosion.rb:21:476:21:485 | ... > ... | self | -| UseUseExplosion.rb:21:476:21:485 | * | UseUseExplosion.rb:21:476:21:485 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:476:21:485 | synthetic splat argument | UseUseExplosion.rb:21:476:21:485 | ... > ... | synthetic * | | UseUseExplosion.rb:21:484:21:485 | 78 | UseUseExplosion.rb:21:476:21:485 | ... > ... | position 0 | | UseUseExplosion.rb:21:497:21:501 | @prop | UseUseExplosion.rb:21:497:21:506 | ... > ... | self | -| UseUseExplosion.rb:21:497:21:506 | * | UseUseExplosion.rb:21:497:21:506 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:497:21:506 | synthetic splat argument | UseUseExplosion.rb:21:497:21:506 | ... > ... | synthetic * | | UseUseExplosion.rb:21:505:21:506 | 77 | UseUseExplosion.rb:21:497:21:506 | ... > ... | position 0 | | UseUseExplosion.rb:21:518:21:522 | @prop | UseUseExplosion.rb:21:518:21:527 | ... > ... | self | -| UseUseExplosion.rb:21:518:21:527 | * | UseUseExplosion.rb:21:518:21:527 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:518:21:527 | synthetic splat argument | UseUseExplosion.rb:21:518:21:527 | ... > ... | synthetic * | | UseUseExplosion.rb:21:526:21:527 | 76 | UseUseExplosion.rb:21:518:21:527 | ... > ... | position 0 | | UseUseExplosion.rb:21:539:21:543 | @prop | UseUseExplosion.rb:21:539:21:548 | ... > ... | self | -| UseUseExplosion.rb:21:539:21:548 | * | UseUseExplosion.rb:21:539:21:548 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:539:21:548 | synthetic splat argument | UseUseExplosion.rb:21:539:21:548 | ... > ... | synthetic * | | UseUseExplosion.rb:21:547:21:548 | 75 | UseUseExplosion.rb:21:539:21:548 | ... > ... | position 0 | | UseUseExplosion.rb:21:560:21:564 | @prop | UseUseExplosion.rb:21:560:21:569 | ... > ... | self | -| UseUseExplosion.rb:21:560:21:569 | * | UseUseExplosion.rb:21:560:21:569 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:560:21:569 | synthetic splat argument | UseUseExplosion.rb:21:560:21:569 | ... > ... | synthetic * | | UseUseExplosion.rb:21:568:21:569 | 74 | UseUseExplosion.rb:21:560:21:569 | ... > ... | position 0 | | UseUseExplosion.rb:21:581:21:585 | @prop | UseUseExplosion.rb:21:581:21:590 | ... > ... | self | -| UseUseExplosion.rb:21:581:21:590 | * | UseUseExplosion.rb:21:581:21:590 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:581:21:590 | synthetic splat argument | UseUseExplosion.rb:21:581:21:590 | ... > ... | synthetic * | | UseUseExplosion.rb:21:589:21:590 | 73 | UseUseExplosion.rb:21:581:21:590 | ... > ... | position 0 | | UseUseExplosion.rb:21:602:21:606 | @prop | UseUseExplosion.rb:21:602:21:611 | ... > ... | self | -| UseUseExplosion.rb:21:602:21:611 | * | UseUseExplosion.rb:21:602:21:611 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:602:21:611 | synthetic splat argument | UseUseExplosion.rb:21:602:21:611 | ... > ... | synthetic * | | UseUseExplosion.rb:21:610:21:611 | 72 | UseUseExplosion.rb:21:602:21:611 | ... > ... | position 0 | | UseUseExplosion.rb:21:623:21:627 | @prop | UseUseExplosion.rb:21:623:21:632 | ... > ... | self | -| UseUseExplosion.rb:21:623:21:632 | * | UseUseExplosion.rb:21:623:21:632 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:623:21:632 | synthetic splat argument | UseUseExplosion.rb:21:623:21:632 | ... > ... | synthetic * | | UseUseExplosion.rb:21:631:21:632 | 71 | UseUseExplosion.rb:21:623:21:632 | ... > ... | position 0 | | UseUseExplosion.rb:21:644:21:648 | @prop | UseUseExplosion.rb:21:644:21:653 | ... > ... | self | -| UseUseExplosion.rb:21:644:21:653 | * | UseUseExplosion.rb:21:644:21:653 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:644:21:653 | synthetic splat argument | UseUseExplosion.rb:21:644:21:653 | ... > ... | synthetic * | | UseUseExplosion.rb:21:652:21:653 | 70 | UseUseExplosion.rb:21:644:21:653 | ... > ... | position 0 | | UseUseExplosion.rb:21:665:21:669 | @prop | UseUseExplosion.rb:21:665:21:674 | ... > ... | self | -| UseUseExplosion.rb:21:665:21:674 | * | UseUseExplosion.rb:21:665:21:674 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:665:21:674 | synthetic splat argument | UseUseExplosion.rb:21:665:21:674 | ... > ... | synthetic * | | UseUseExplosion.rb:21:673:21:674 | 69 | UseUseExplosion.rb:21:665:21:674 | ... > ... | position 0 | | UseUseExplosion.rb:21:686:21:690 | @prop | UseUseExplosion.rb:21:686:21:695 | ... > ... | self | -| UseUseExplosion.rb:21:686:21:695 | * | UseUseExplosion.rb:21:686:21:695 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:686:21:695 | synthetic splat argument | UseUseExplosion.rb:21:686:21:695 | ... > ... | synthetic * | | UseUseExplosion.rb:21:694:21:695 | 68 | UseUseExplosion.rb:21:686:21:695 | ... > ... | position 0 | | UseUseExplosion.rb:21:707:21:711 | @prop | UseUseExplosion.rb:21:707:21:716 | ... > ... | self | -| UseUseExplosion.rb:21:707:21:716 | * | UseUseExplosion.rb:21:707:21:716 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:707:21:716 | synthetic splat argument | UseUseExplosion.rb:21:707:21:716 | ... > ... | synthetic * | | UseUseExplosion.rb:21:715:21:716 | 67 | UseUseExplosion.rb:21:707:21:716 | ... > ... | position 0 | | UseUseExplosion.rb:21:728:21:732 | @prop | UseUseExplosion.rb:21:728:21:737 | ... > ... | self | -| UseUseExplosion.rb:21:728:21:737 | * | UseUseExplosion.rb:21:728:21:737 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:728:21:737 | synthetic splat argument | UseUseExplosion.rb:21:728:21:737 | ... > ... | synthetic * | | UseUseExplosion.rb:21:736:21:737 | 66 | UseUseExplosion.rb:21:728:21:737 | ... > ... | position 0 | | UseUseExplosion.rb:21:749:21:753 | @prop | UseUseExplosion.rb:21:749:21:758 | ... > ... | self | -| UseUseExplosion.rb:21:749:21:758 | * | UseUseExplosion.rb:21:749:21:758 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:749:21:758 | synthetic splat argument | UseUseExplosion.rb:21:749:21:758 | ... > ... | synthetic * | | UseUseExplosion.rb:21:757:21:758 | 65 | UseUseExplosion.rb:21:749:21:758 | ... > ... | position 0 | | UseUseExplosion.rb:21:770:21:774 | @prop | UseUseExplosion.rb:21:770:21:779 | ... > ... | self | -| UseUseExplosion.rb:21:770:21:779 | * | UseUseExplosion.rb:21:770:21:779 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:770:21:779 | synthetic splat argument | UseUseExplosion.rb:21:770:21:779 | ... > ... | synthetic * | | UseUseExplosion.rb:21:778:21:779 | 64 | UseUseExplosion.rb:21:770:21:779 | ... > ... | position 0 | | UseUseExplosion.rb:21:791:21:795 | @prop | UseUseExplosion.rb:21:791:21:800 | ... > ... | self | -| UseUseExplosion.rb:21:791:21:800 | * | UseUseExplosion.rb:21:791:21:800 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:791:21:800 | synthetic splat argument | UseUseExplosion.rb:21:791:21:800 | ... > ... | synthetic * | | UseUseExplosion.rb:21:799:21:800 | 63 | UseUseExplosion.rb:21:791:21:800 | ... > ... | position 0 | | UseUseExplosion.rb:21:812:21:816 | @prop | UseUseExplosion.rb:21:812:21:821 | ... > ... | self | -| UseUseExplosion.rb:21:812:21:821 | * | UseUseExplosion.rb:21:812:21:821 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:812:21:821 | synthetic splat argument | UseUseExplosion.rb:21:812:21:821 | ... > ... | synthetic * | | UseUseExplosion.rb:21:820:21:821 | 62 | UseUseExplosion.rb:21:812:21:821 | ... > ... | position 0 | | UseUseExplosion.rb:21:833:21:837 | @prop | UseUseExplosion.rb:21:833:21:842 | ... > ... | self | -| UseUseExplosion.rb:21:833:21:842 | * | UseUseExplosion.rb:21:833:21:842 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:833:21:842 | synthetic splat argument | UseUseExplosion.rb:21:833:21:842 | ... > ... | synthetic * | | UseUseExplosion.rb:21:841:21:842 | 61 | UseUseExplosion.rb:21:833:21:842 | ... > ... | position 0 | | UseUseExplosion.rb:21:854:21:858 | @prop | UseUseExplosion.rb:21:854:21:863 | ... > ... | self | -| UseUseExplosion.rb:21:854:21:863 | * | UseUseExplosion.rb:21:854:21:863 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:854:21:863 | synthetic splat argument | UseUseExplosion.rb:21:854:21:863 | ... > ... | synthetic * | | UseUseExplosion.rb:21:862:21:863 | 60 | UseUseExplosion.rb:21:854:21:863 | ... > ... | position 0 | | UseUseExplosion.rb:21:875:21:879 | @prop | UseUseExplosion.rb:21:875:21:884 | ... > ... | self | -| UseUseExplosion.rb:21:875:21:884 | * | UseUseExplosion.rb:21:875:21:884 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:875:21:884 | synthetic splat argument | UseUseExplosion.rb:21:875:21:884 | ... > ... | synthetic * | | UseUseExplosion.rb:21:883:21:884 | 59 | UseUseExplosion.rb:21:875:21:884 | ... > ... | position 0 | | UseUseExplosion.rb:21:896:21:900 | @prop | UseUseExplosion.rb:21:896:21:905 | ... > ... | self | -| UseUseExplosion.rb:21:896:21:905 | * | UseUseExplosion.rb:21:896:21:905 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:896:21:905 | synthetic splat argument | UseUseExplosion.rb:21:896:21:905 | ... > ... | synthetic * | | UseUseExplosion.rb:21:904:21:905 | 58 | UseUseExplosion.rb:21:896:21:905 | ... > ... | position 0 | | UseUseExplosion.rb:21:917:21:921 | @prop | UseUseExplosion.rb:21:917:21:926 | ... > ... | self | -| UseUseExplosion.rb:21:917:21:926 | * | UseUseExplosion.rb:21:917:21:926 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:917:21:926 | synthetic splat argument | UseUseExplosion.rb:21:917:21:926 | ... > ... | synthetic * | | UseUseExplosion.rb:21:925:21:926 | 57 | UseUseExplosion.rb:21:917:21:926 | ... > ... | position 0 | | UseUseExplosion.rb:21:938:21:942 | @prop | UseUseExplosion.rb:21:938:21:947 | ... > ... | self | -| UseUseExplosion.rb:21:938:21:947 | * | UseUseExplosion.rb:21:938:21:947 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:938:21:947 | synthetic splat argument | UseUseExplosion.rb:21:938:21:947 | ... > ... | synthetic * | | UseUseExplosion.rb:21:946:21:947 | 56 | UseUseExplosion.rb:21:938:21:947 | ... > ... | position 0 | | UseUseExplosion.rb:21:959:21:963 | @prop | UseUseExplosion.rb:21:959:21:968 | ... > ... | self | -| UseUseExplosion.rb:21:959:21:968 | * | UseUseExplosion.rb:21:959:21:968 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:959:21:968 | synthetic splat argument | UseUseExplosion.rb:21:959:21:968 | ... > ... | synthetic * | | UseUseExplosion.rb:21:967:21:968 | 55 | UseUseExplosion.rb:21:959:21:968 | ... > ... | position 0 | | UseUseExplosion.rb:21:980:21:984 | @prop | UseUseExplosion.rb:21:980:21:989 | ... > ... | self | -| UseUseExplosion.rb:21:980:21:989 | * | UseUseExplosion.rb:21:980:21:989 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:980:21:989 | synthetic splat argument | UseUseExplosion.rb:21:980:21:989 | ... > ... | synthetic * | | UseUseExplosion.rb:21:988:21:989 | 54 | UseUseExplosion.rb:21:980:21:989 | ... > ... | position 0 | | UseUseExplosion.rb:21:1001:21:1005 | @prop | UseUseExplosion.rb:21:1001:21:1010 | ... > ... | self | -| UseUseExplosion.rb:21:1001:21:1010 | * | UseUseExplosion.rb:21:1001:21:1010 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1001:21:1010 | synthetic splat argument | UseUseExplosion.rb:21:1001:21:1010 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1009:21:1010 | 53 | UseUseExplosion.rb:21:1001:21:1010 | ... > ... | position 0 | | UseUseExplosion.rb:21:1022:21:1026 | @prop | UseUseExplosion.rb:21:1022:21:1031 | ... > ... | self | -| UseUseExplosion.rb:21:1022:21:1031 | * | UseUseExplosion.rb:21:1022:21:1031 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1022:21:1031 | synthetic splat argument | UseUseExplosion.rb:21:1022:21:1031 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1030:21:1031 | 52 | UseUseExplosion.rb:21:1022:21:1031 | ... > ... | position 0 | | UseUseExplosion.rb:21:1043:21:1047 | @prop | UseUseExplosion.rb:21:1043:21:1052 | ... > ... | self | -| UseUseExplosion.rb:21:1043:21:1052 | * | UseUseExplosion.rb:21:1043:21:1052 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1043:21:1052 | synthetic splat argument | UseUseExplosion.rb:21:1043:21:1052 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1051:21:1052 | 51 | UseUseExplosion.rb:21:1043:21:1052 | ... > ... | position 0 | | UseUseExplosion.rb:21:1064:21:1068 | @prop | UseUseExplosion.rb:21:1064:21:1073 | ... > ... | self | -| UseUseExplosion.rb:21:1064:21:1073 | * | UseUseExplosion.rb:21:1064:21:1073 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1064:21:1073 | synthetic splat argument | UseUseExplosion.rb:21:1064:21:1073 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1072:21:1073 | 50 | UseUseExplosion.rb:21:1064:21:1073 | ... > ... | position 0 | | UseUseExplosion.rb:21:1085:21:1089 | @prop | UseUseExplosion.rb:21:1085:21:1094 | ... > ... | self | -| UseUseExplosion.rb:21:1085:21:1094 | * | UseUseExplosion.rb:21:1085:21:1094 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1085:21:1094 | synthetic splat argument | UseUseExplosion.rb:21:1085:21:1094 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1093:21:1094 | 49 | UseUseExplosion.rb:21:1085:21:1094 | ... > ... | position 0 | | UseUseExplosion.rb:21:1106:21:1110 | @prop | UseUseExplosion.rb:21:1106:21:1115 | ... > ... | self | -| UseUseExplosion.rb:21:1106:21:1115 | * | UseUseExplosion.rb:21:1106:21:1115 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1106:21:1115 | synthetic splat argument | UseUseExplosion.rb:21:1106:21:1115 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1114:21:1115 | 48 | UseUseExplosion.rb:21:1106:21:1115 | ... > ... | position 0 | | UseUseExplosion.rb:21:1127:21:1131 | @prop | UseUseExplosion.rb:21:1127:21:1136 | ... > ... | self | -| UseUseExplosion.rb:21:1127:21:1136 | * | UseUseExplosion.rb:21:1127:21:1136 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1127:21:1136 | synthetic splat argument | UseUseExplosion.rb:21:1127:21:1136 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1135:21:1136 | 47 | UseUseExplosion.rb:21:1127:21:1136 | ... > ... | position 0 | | UseUseExplosion.rb:21:1148:21:1152 | @prop | UseUseExplosion.rb:21:1148:21:1157 | ... > ... | self | -| UseUseExplosion.rb:21:1148:21:1157 | * | UseUseExplosion.rb:21:1148:21:1157 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1148:21:1157 | synthetic splat argument | UseUseExplosion.rb:21:1148:21:1157 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1156:21:1157 | 46 | UseUseExplosion.rb:21:1148:21:1157 | ... > ... | position 0 | | UseUseExplosion.rb:21:1169:21:1173 | @prop | UseUseExplosion.rb:21:1169:21:1178 | ... > ... | self | -| UseUseExplosion.rb:21:1169:21:1178 | * | UseUseExplosion.rb:21:1169:21:1178 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1169:21:1178 | synthetic splat argument | UseUseExplosion.rb:21:1169:21:1178 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1177:21:1178 | 45 | UseUseExplosion.rb:21:1169:21:1178 | ... > ... | position 0 | | UseUseExplosion.rb:21:1190:21:1194 | @prop | UseUseExplosion.rb:21:1190:21:1199 | ... > ... | self | -| UseUseExplosion.rb:21:1190:21:1199 | * | UseUseExplosion.rb:21:1190:21:1199 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1190:21:1199 | synthetic splat argument | UseUseExplosion.rb:21:1190:21:1199 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1198:21:1199 | 44 | UseUseExplosion.rb:21:1190:21:1199 | ... > ... | position 0 | | UseUseExplosion.rb:21:1211:21:1215 | @prop | UseUseExplosion.rb:21:1211:21:1220 | ... > ... | self | -| UseUseExplosion.rb:21:1211:21:1220 | * | UseUseExplosion.rb:21:1211:21:1220 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1211:21:1220 | synthetic splat argument | UseUseExplosion.rb:21:1211:21:1220 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1219:21:1220 | 43 | UseUseExplosion.rb:21:1211:21:1220 | ... > ... | position 0 | | UseUseExplosion.rb:21:1232:21:1236 | @prop | UseUseExplosion.rb:21:1232:21:1241 | ... > ... | self | -| UseUseExplosion.rb:21:1232:21:1241 | * | UseUseExplosion.rb:21:1232:21:1241 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1232:21:1241 | synthetic splat argument | UseUseExplosion.rb:21:1232:21:1241 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1240:21:1241 | 42 | UseUseExplosion.rb:21:1232:21:1241 | ... > ... | position 0 | | UseUseExplosion.rb:21:1253:21:1257 | @prop | UseUseExplosion.rb:21:1253:21:1262 | ... > ... | self | -| UseUseExplosion.rb:21:1253:21:1262 | * | UseUseExplosion.rb:21:1253:21:1262 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1253:21:1262 | synthetic splat argument | UseUseExplosion.rb:21:1253:21:1262 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1261:21:1262 | 41 | UseUseExplosion.rb:21:1253:21:1262 | ... > ... | position 0 | | UseUseExplosion.rb:21:1274:21:1278 | @prop | UseUseExplosion.rb:21:1274:21:1283 | ... > ... | self | -| UseUseExplosion.rb:21:1274:21:1283 | * | UseUseExplosion.rb:21:1274:21:1283 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1274:21:1283 | synthetic splat argument | UseUseExplosion.rb:21:1274:21:1283 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1282:21:1283 | 40 | UseUseExplosion.rb:21:1274:21:1283 | ... > ... | position 0 | | UseUseExplosion.rb:21:1295:21:1299 | @prop | UseUseExplosion.rb:21:1295:21:1304 | ... > ... | self | -| UseUseExplosion.rb:21:1295:21:1304 | * | UseUseExplosion.rb:21:1295:21:1304 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1295:21:1304 | synthetic splat argument | UseUseExplosion.rb:21:1295:21:1304 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1303:21:1304 | 39 | UseUseExplosion.rb:21:1295:21:1304 | ... > ... | position 0 | | UseUseExplosion.rb:21:1316:21:1320 | @prop | UseUseExplosion.rb:21:1316:21:1325 | ... > ... | self | -| UseUseExplosion.rb:21:1316:21:1325 | * | UseUseExplosion.rb:21:1316:21:1325 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1316:21:1325 | synthetic splat argument | UseUseExplosion.rb:21:1316:21:1325 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1324:21:1325 | 38 | UseUseExplosion.rb:21:1316:21:1325 | ... > ... | position 0 | | UseUseExplosion.rb:21:1337:21:1341 | @prop | UseUseExplosion.rb:21:1337:21:1346 | ... > ... | self | -| UseUseExplosion.rb:21:1337:21:1346 | * | UseUseExplosion.rb:21:1337:21:1346 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1337:21:1346 | synthetic splat argument | UseUseExplosion.rb:21:1337:21:1346 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1345:21:1346 | 37 | UseUseExplosion.rb:21:1337:21:1346 | ... > ... | position 0 | | UseUseExplosion.rb:21:1358:21:1362 | @prop | UseUseExplosion.rb:21:1358:21:1367 | ... > ... | self | -| UseUseExplosion.rb:21:1358:21:1367 | * | UseUseExplosion.rb:21:1358:21:1367 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1358:21:1367 | synthetic splat argument | UseUseExplosion.rb:21:1358:21:1367 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1366:21:1367 | 36 | UseUseExplosion.rb:21:1358:21:1367 | ... > ... | position 0 | | UseUseExplosion.rb:21:1379:21:1383 | @prop | UseUseExplosion.rb:21:1379:21:1388 | ... > ... | self | -| UseUseExplosion.rb:21:1379:21:1388 | * | UseUseExplosion.rb:21:1379:21:1388 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1379:21:1388 | synthetic splat argument | UseUseExplosion.rb:21:1379:21:1388 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1387:21:1388 | 35 | UseUseExplosion.rb:21:1379:21:1388 | ... > ... | position 0 | | UseUseExplosion.rb:21:1400:21:1404 | @prop | UseUseExplosion.rb:21:1400:21:1409 | ... > ... | self | -| UseUseExplosion.rb:21:1400:21:1409 | * | UseUseExplosion.rb:21:1400:21:1409 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1400:21:1409 | synthetic splat argument | UseUseExplosion.rb:21:1400:21:1409 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1408:21:1409 | 34 | UseUseExplosion.rb:21:1400:21:1409 | ... > ... | position 0 | | UseUseExplosion.rb:21:1421:21:1425 | @prop | UseUseExplosion.rb:21:1421:21:1430 | ... > ... | self | -| UseUseExplosion.rb:21:1421:21:1430 | * | UseUseExplosion.rb:21:1421:21:1430 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1421:21:1430 | synthetic splat argument | UseUseExplosion.rb:21:1421:21:1430 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1429:21:1430 | 33 | UseUseExplosion.rb:21:1421:21:1430 | ... > ... | position 0 | | UseUseExplosion.rb:21:1442:21:1446 | @prop | UseUseExplosion.rb:21:1442:21:1451 | ... > ... | self | -| UseUseExplosion.rb:21:1442:21:1451 | * | UseUseExplosion.rb:21:1442:21:1451 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1442:21:1451 | synthetic splat argument | UseUseExplosion.rb:21:1442:21:1451 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1450:21:1451 | 32 | UseUseExplosion.rb:21:1442:21:1451 | ... > ... | position 0 | | UseUseExplosion.rb:21:1463:21:1467 | @prop | UseUseExplosion.rb:21:1463:21:1472 | ... > ... | self | -| UseUseExplosion.rb:21:1463:21:1472 | * | UseUseExplosion.rb:21:1463:21:1472 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1463:21:1472 | synthetic splat argument | UseUseExplosion.rb:21:1463:21:1472 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1471:21:1472 | 31 | UseUseExplosion.rb:21:1463:21:1472 | ... > ... | position 0 | | UseUseExplosion.rb:21:1484:21:1488 | @prop | UseUseExplosion.rb:21:1484:21:1493 | ... > ... | self | -| UseUseExplosion.rb:21:1484:21:1493 | * | UseUseExplosion.rb:21:1484:21:1493 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1484:21:1493 | synthetic splat argument | UseUseExplosion.rb:21:1484:21:1493 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1492:21:1493 | 30 | UseUseExplosion.rb:21:1484:21:1493 | ... > ... | position 0 | | UseUseExplosion.rb:21:1505:21:1509 | @prop | UseUseExplosion.rb:21:1505:21:1514 | ... > ... | self | -| UseUseExplosion.rb:21:1505:21:1514 | * | UseUseExplosion.rb:21:1505:21:1514 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1505:21:1514 | synthetic splat argument | UseUseExplosion.rb:21:1505:21:1514 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1513:21:1514 | 29 | UseUseExplosion.rb:21:1505:21:1514 | ... > ... | position 0 | | UseUseExplosion.rb:21:1526:21:1530 | @prop | UseUseExplosion.rb:21:1526:21:1535 | ... > ... | self | -| UseUseExplosion.rb:21:1526:21:1535 | * | UseUseExplosion.rb:21:1526:21:1535 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1526:21:1535 | synthetic splat argument | UseUseExplosion.rb:21:1526:21:1535 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1534:21:1535 | 28 | UseUseExplosion.rb:21:1526:21:1535 | ... > ... | position 0 | | UseUseExplosion.rb:21:1547:21:1551 | @prop | UseUseExplosion.rb:21:1547:21:1556 | ... > ... | self | -| UseUseExplosion.rb:21:1547:21:1556 | * | UseUseExplosion.rb:21:1547:21:1556 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1547:21:1556 | synthetic splat argument | UseUseExplosion.rb:21:1547:21:1556 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1555:21:1556 | 27 | UseUseExplosion.rb:21:1547:21:1556 | ... > ... | position 0 | | UseUseExplosion.rb:21:1568:21:1572 | @prop | UseUseExplosion.rb:21:1568:21:1577 | ... > ... | self | -| UseUseExplosion.rb:21:1568:21:1577 | * | UseUseExplosion.rb:21:1568:21:1577 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1568:21:1577 | synthetic splat argument | UseUseExplosion.rb:21:1568:21:1577 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1576:21:1577 | 26 | UseUseExplosion.rb:21:1568:21:1577 | ... > ... | position 0 | | UseUseExplosion.rb:21:1589:21:1593 | @prop | UseUseExplosion.rb:21:1589:21:1598 | ... > ... | self | -| UseUseExplosion.rb:21:1589:21:1598 | * | UseUseExplosion.rb:21:1589:21:1598 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1589:21:1598 | synthetic splat argument | UseUseExplosion.rb:21:1589:21:1598 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1597:21:1598 | 25 | UseUseExplosion.rb:21:1589:21:1598 | ... > ... | position 0 | | UseUseExplosion.rb:21:1610:21:1614 | @prop | UseUseExplosion.rb:21:1610:21:1619 | ... > ... | self | -| UseUseExplosion.rb:21:1610:21:1619 | * | UseUseExplosion.rb:21:1610:21:1619 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1610:21:1619 | synthetic splat argument | UseUseExplosion.rb:21:1610:21:1619 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1618:21:1619 | 24 | UseUseExplosion.rb:21:1610:21:1619 | ... > ... | position 0 | | UseUseExplosion.rb:21:1631:21:1635 | @prop | UseUseExplosion.rb:21:1631:21:1640 | ... > ... | self | -| UseUseExplosion.rb:21:1631:21:1640 | * | UseUseExplosion.rb:21:1631:21:1640 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1631:21:1640 | synthetic splat argument | UseUseExplosion.rb:21:1631:21:1640 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1639:21:1640 | 23 | UseUseExplosion.rb:21:1631:21:1640 | ... > ... | position 0 | | UseUseExplosion.rb:21:1652:21:1656 | @prop | UseUseExplosion.rb:21:1652:21:1661 | ... > ... | self | -| UseUseExplosion.rb:21:1652:21:1661 | * | UseUseExplosion.rb:21:1652:21:1661 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1652:21:1661 | synthetic splat argument | UseUseExplosion.rb:21:1652:21:1661 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1660:21:1661 | 22 | UseUseExplosion.rb:21:1652:21:1661 | ... > ... | position 0 | | UseUseExplosion.rb:21:1673:21:1677 | @prop | UseUseExplosion.rb:21:1673:21:1682 | ... > ... | self | -| UseUseExplosion.rb:21:1673:21:1682 | * | UseUseExplosion.rb:21:1673:21:1682 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1673:21:1682 | synthetic splat argument | UseUseExplosion.rb:21:1673:21:1682 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1681:21:1682 | 21 | UseUseExplosion.rb:21:1673:21:1682 | ... > ... | position 0 | | UseUseExplosion.rb:21:1694:21:1698 | @prop | UseUseExplosion.rb:21:1694:21:1703 | ... > ... | self | -| UseUseExplosion.rb:21:1694:21:1703 | * | UseUseExplosion.rb:21:1694:21:1703 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1694:21:1703 | synthetic splat argument | UseUseExplosion.rb:21:1694:21:1703 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1702:21:1703 | 20 | UseUseExplosion.rb:21:1694:21:1703 | ... > ... | position 0 | | UseUseExplosion.rb:21:1715:21:1719 | @prop | UseUseExplosion.rb:21:1715:21:1724 | ... > ... | self | -| UseUseExplosion.rb:21:1715:21:1724 | * | UseUseExplosion.rb:21:1715:21:1724 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1715:21:1724 | synthetic splat argument | UseUseExplosion.rb:21:1715:21:1724 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1723:21:1724 | 19 | UseUseExplosion.rb:21:1715:21:1724 | ... > ... | position 0 | | UseUseExplosion.rb:21:1736:21:1740 | @prop | UseUseExplosion.rb:21:1736:21:1745 | ... > ... | self | -| UseUseExplosion.rb:21:1736:21:1745 | * | UseUseExplosion.rb:21:1736:21:1745 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1736:21:1745 | synthetic splat argument | UseUseExplosion.rb:21:1736:21:1745 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1744:21:1745 | 18 | UseUseExplosion.rb:21:1736:21:1745 | ... > ... | position 0 | | UseUseExplosion.rb:21:1757:21:1761 | @prop | UseUseExplosion.rb:21:1757:21:1766 | ... > ... | self | -| UseUseExplosion.rb:21:1757:21:1766 | * | UseUseExplosion.rb:21:1757:21:1766 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1757:21:1766 | synthetic splat argument | UseUseExplosion.rb:21:1757:21:1766 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1765:21:1766 | 17 | UseUseExplosion.rb:21:1757:21:1766 | ... > ... | position 0 | | UseUseExplosion.rb:21:1778:21:1782 | @prop | UseUseExplosion.rb:21:1778:21:1787 | ... > ... | self | -| UseUseExplosion.rb:21:1778:21:1787 | * | UseUseExplosion.rb:21:1778:21:1787 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1778:21:1787 | synthetic splat argument | UseUseExplosion.rb:21:1778:21:1787 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1786:21:1787 | 16 | UseUseExplosion.rb:21:1778:21:1787 | ... > ... | position 0 | | UseUseExplosion.rb:21:1799:21:1803 | @prop | UseUseExplosion.rb:21:1799:21:1808 | ... > ... | self | -| UseUseExplosion.rb:21:1799:21:1808 | * | UseUseExplosion.rb:21:1799:21:1808 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1799:21:1808 | synthetic splat argument | UseUseExplosion.rb:21:1799:21:1808 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1807:21:1808 | 15 | UseUseExplosion.rb:21:1799:21:1808 | ... > ... | position 0 | | UseUseExplosion.rb:21:1820:21:1824 | @prop | UseUseExplosion.rb:21:1820:21:1829 | ... > ... | self | -| UseUseExplosion.rb:21:1820:21:1829 | * | UseUseExplosion.rb:21:1820:21:1829 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1820:21:1829 | synthetic splat argument | UseUseExplosion.rb:21:1820:21:1829 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1828:21:1829 | 14 | UseUseExplosion.rb:21:1820:21:1829 | ... > ... | position 0 | | UseUseExplosion.rb:21:1841:21:1845 | @prop | UseUseExplosion.rb:21:1841:21:1850 | ... > ... | self | -| UseUseExplosion.rb:21:1841:21:1850 | * | UseUseExplosion.rb:21:1841:21:1850 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1841:21:1850 | synthetic splat argument | UseUseExplosion.rb:21:1841:21:1850 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1849:21:1850 | 13 | UseUseExplosion.rb:21:1841:21:1850 | ... > ... | position 0 | | UseUseExplosion.rb:21:1862:21:1866 | @prop | UseUseExplosion.rb:21:1862:21:1871 | ... > ... | self | -| UseUseExplosion.rb:21:1862:21:1871 | * | UseUseExplosion.rb:21:1862:21:1871 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1862:21:1871 | synthetic splat argument | UseUseExplosion.rb:21:1862:21:1871 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1870:21:1871 | 12 | UseUseExplosion.rb:21:1862:21:1871 | ... > ... | position 0 | | UseUseExplosion.rb:21:1883:21:1887 | @prop | UseUseExplosion.rb:21:1883:21:1892 | ... > ... | self | -| UseUseExplosion.rb:21:1883:21:1892 | * | UseUseExplosion.rb:21:1883:21:1892 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1883:21:1892 | synthetic splat argument | UseUseExplosion.rb:21:1883:21:1892 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1891:21:1892 | 11 | UseUseExplosion.rb:21:1883:21:1892 | ... > ... | position 0 | | UseUseExplosion.rb:21:1904:21:1908 | @prop | UseUseExplosion.rb:21:1904:21:1913 | ... > ... | self | -| UseUseExplosion.rb:21:1904:21:1913 | * | UseUseExplosion.rb:21:1904:21:1913 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1904:21:1913 | synthetic splat argument | UseUseExplosion.rb:21:1904:21:1913 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1912:21:1913 | 10 | UseUseExplosion.rb:21:1904:21:1913 | ... > ... | position 0 | | UseUseExplosion.rb:21:1925:21:1929 | @prop | UseUseExplosion.rb:21:1925:21:1933 | ... > ... | self | -| UseUseExplosion.rb:21:1925:21:1933 | * | UseUseExplosion.rb:21:1925:21:1933 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1925:21:1933 | synthetic splat argument | UseUseExplosion.rb:21:1925:21:1933 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1933:21:1933 | 9 | UseUseExplosion.rb:21:1925:21:1933 | ... > ... | position 0 | | UseUseExplosion.rb:21:1945:21:1949 | @prop | UseUseExplosion.rb:21:1945:21:1953 | ... > ... | self | -| UseUseExplosion.rb:21:1945:21:1953 | * | UseUseExplosion.rb:21:1945:21:1953 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1945:21:1953 | synthetic splat argument | UseUseExplosion.rb:21:1945:21:1953 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1953:21:1953 | 8 | UseUseExplosion.rb:21:1945:21:1953 | ... > ... | position 0 | | UseUseExplosion.rb:21:1965:21:1969 | @prop | UseUseExplosion.rb:21:1965:21:1973 | ... > ... | self | -| UseUseExplosion.rb:21:1965:21:1973 | * | UseUseExplosion.rb:21:1965:21:1973 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1965:21:1973 | synthetic splat argument | UseUseExplosion.rb:21:1965:21:1973 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1973:21:1973 | 7 | UseUseExplosion.rb:21:1965:21:1973 | ... > ... | position 0 | | UseUseExplosion.rb:21:1985:21:1989 | @prop | UseUseExplosion.rb:21:1985:21:1993 | ... > ... | self | -| UseUseExplosion.rb:21:1985:21:1993 | * | UseUseExplosion.rb:21:1985:21:1993 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:1985:21:1993 | synthetic splat argument | UseUseExplosion.rb:21:1985:21:1993 | ... > ... | synthetic * | | UseUseExplosion.rb:21:1993:21:1993 | 6 | UseUseExplosion.rb:21:1985:21:1993 | ... > ... | position 0 | | UseUseExplosion.rb:21:2005:21:2009 | @prop | UseUseExplosion.rb:21:2005:21:2013 | ... > ... | self | -| UseUseExplosion.rb:21:2005:21:2013 | * | UseUseExplosion.rb:21:2005:21:2013 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:2005:21:2013 | synthetic splat argument | UseUseExplosion.rb:21:2005:21:2013 | ... > ... | synthetic * | | UseUseExplosion.rb:21:2013:21:2013 | 5 | UseUseExplosion.rb:21:2005:21:2013 | ... > ... | position 0 | | UseUseExplosion.rb:21:2025:21:2029 | @prop | UseUseExplosion.rb:21:2025:21:2033 | ... > ... | self | -| UseUseExplosion.rb:21:2025:21:2033 | * | UseUseExplosion.rb:21:2025:21:2033 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:2025:21:2033 | synthetic splat argument | UseUseExplosion.rb:21:2025:21:2033 | ... > ... | synthetic * | | UseUseExplosion.rb:21:2033:21:2033 | 4 | UseUseExplosion.rb:21:2025:21:2033 | ... > ... | position 0 | | UseUseExplosion.rb:21:2045:21:2049 | @prop | UseUseExplosion.rb:21:2045:21:2053 | ... > ... | self | -| UseUseExplosion.rb:21:2045:21:2053 | * | UseUseExplosion.rb:21:2045:21:2053 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:2045:21:2053 | synthetic splat argument | UseUseExplosion.rb:21:2045:21:2053 | ... > ... | synthetic * | | UseUseExplosion.rb:21:2053:21:2053 | 3 | UseUseExplosion.rb:21:2045:21:2053 | ... > ... | position 0 | | UseUseExplosion.rb:21:2065:21:2069 | @prop | UseUseExplosion.rb:21:2065:21:2073 | ... > ... | self | -| UseUseExplosion.rb:21:2065:21:2073 | * | UseUseExplosion.rb:21:2065:21:2073 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:2065:21:2073 | synthetic splat argument | UseUseExplosion.rb:21:2065:21:2073 | ... > ... | synthetic * | | UseUseExplosion.rb:21:2073:21:2073 | 2 | UseUseExplosion.rb:21:2065:21:2073 | ... > ... | position 0 | | UseUseExplosion.rb:21:2085:21:2089 | @prop | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | self | -| UseUseExplosion.rb:21:2085:21:2093 | * | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | synthetic * | +| UseUseExplosion.rb:21:2085:21:2093 | synthetic splat argument | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | synthetic * | | UseUseExplosion.rb:21:2093:21:2093 | 1 | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | position 0 | -| UseUseExplosion.rb:21:2107:21:2112 | * | UseUseExplosion.rb:21:2107:21:2112 | call to use | synthetic * | | UseUseExplosion.rb:21:2107:21:2112 | self | UseUseExplosion.rb:21:2107:21:2112 | call to use | self | +| UseUseExplosion.rb:21:2107:21:2112 | synthetic splat argument | UseUseExplosion.rb:21:2107:21:2112 | call to use | synthetic * | | UseUseExplosion.rb:21:2111:21:2111 | x | UseUseExplosion.rb:21:2107:21:2112 | call to use | position 0 | -| UseUseExplosion.rb:21:2123:21:2128 | * | UseUseExplosion.rb:21:2123:21:2128 | call to use | synthetic * | | UseUseExplosion.rb:21:2123:21:2128 | self | UseUseExplosion.rb:21:2123:21:2128 | call to use | self | +| UseUseExplosion.rb:21:2123:21:2128 | synthetic splat argument | UseUseExplosion.rb:21:2123:21:2128 | call to use | synthetic * | | UseUseExplosion.rb:21:2127:21:2127 | x | UseUseExplosion.rb:21:2123:21:2128 | call to use | position 0 | -| UseUseExplosion.rb:21:2139:21:2144 | * | UseUseExplosion.rb:21:2139:21:2144 | call to use | synthetic * | | UseUseExplosion.rb:21:2139:21:2144 | self | UseUseExplosion.rb:21:2139:21:2144 | call to use | self | +| UseUseExplosion.rb:21:2139:21:2144 | synthetic splat argument | UseUseExplosion.rb:21:2139:21:2144 | call to use | synthetic * | | UseUseExplosion.rb:21:2143:21:2143 | x | UseUseExplosion.rb:21:2139:21:2144 | call to use | position 0 | -| UseUseExplosion.rb:21:2155:21:2160 | * | UseUseExplosion.rb:21:2155:21:2160 | call to use | synthetic * | | UseUseExplosion.rb:21:2155:21:2160 | self | UseUseExplosion.rb:21:2155:21:2160 | call to use | self | +| UseUseExplosion.rb:21:2155:21:2160 | synthetic splat argument | UseUseExplosion.rb:21:2155:21:2160 | call to use | synthetic * | | UseUseExplosion.rb:21:2159:21:2159 | x | UseUseExplosion.rb:21:2155:21:2160 | call to use | position 0 | -| UseUseExplosion.rb:21:2171:21:2176 | * | UseUseExplosion.rb:21:2171:21:2176 | call to use | synthetic * | | UseUseExplosion.rb:21:2171:21:2176 | self | UseUseExplosion.rb:21:2171:21:2176 | call to use | self | +| UseUseExplosion.rb:21:2171:21:2176 | synthetic splat argument | UseUseExplosion.rb:21:2171:21:2176 | call to use | synthetic * | | UseUseExplosion.rb:21:2175:21:2175 | x | UseUseExplosion.rb:21:2171:21:2176 | call to use | position 0 | -| UseUseExplosion.rb:21:2187:21:2192 | * | UseUseExplosion.rb:21:2187:21:2192 | call to use | synthetic * | | UseUseExplosion.rb:21:2187:21:2192 | self | UseUseExplosion.rb:21:2187:21:2192 | call to use | self | +| UseUseExplosion.rb:21:2187:21:2192 | synthetic splat argument | UseUseExplosion.rb:21:2187:21:2192 | call to use | synthetic * | | UseUseExplosion.rb:21:2191:21:2191 | x | UseUseExplosion.rb:21:2187:21:2192 | call to use | position 0 | -| UseUseExplosion.rb:21:2203:21:2208 | * | UseUseExplosion.rb:21:2203:21:2208 | call to use | synthetic * | | UseUseExplosion.rb:21:2203:21:2208 | self | UseUseExplosion.rb:21:2203:21:2208 | call to use | self | +| UseUseExplosion.rb:21:2203:21:2208 | synthetic splat argument | UseUseExplosion.rb:21:2203:21:2208 | call to use | synthetic * | | UseUseExplosion.rb:21:2207:21:2207 | x | UseUseExplosion.rb:21:2203:21:2208 | call to use | position 0 | -| UseUseExplosion.rb:21:2219:21:2224 | * | UseUseExplosion.rb:21:2219:21:2224 | call to use | synthetic * | | UseUseExplosion.rb:21:2219:21:2224 | self | UseUseExplosion.rb:21:2219:21:2224 | call to use | self | +| UseUseExplosion.rb:21:2219:21:2224 | synthetic splat argument | UseUseExplosion.rb:21:2219:21:2224 | call to use | synthetic * | | UseUseExplosion.rb:21:2223:21:2223 | x | UseUseExplosion.rb:21:2219:21:2224 | call to use | position 0 | -| UseUseExplosion.rb:21:2235:21:2240 | * | UseUseExplosion.rb:21:2235:21:2240 | call to use | synthetic * | | UseUseExplosion.rb:21:2235:21:2240 | self | UseUseExplosion.rb:21:2235:21:2240 | call to use | self | +| UseUseExplosion.rb:21:2235:21:2240 | synthetic splat argument | UseUseExplosion.rb:21:2235:21:2240 | call to use | synthetic * | | UseUseExplosion.rb:21:2239:21:2239 | x | UseUseExplosion.rb:21:2235:21:2240 | call to use | position 0 | -| UseUseExplosion.rb:21:2251:21:2256 | * | UseUseExplosion.rb:21:2251:21:2256 | call to use | synthetic * | | UseUseExplosion.rb:21:2251:21:2256 | self | UseUseExplosion.rb:21:2251:21:2256 | call to use | self | +| UseUseExplosion.rb:21:2251:21:2256 | synthetic splat argument | UseUseExplosion.rb:21:2251:21:2256 | call to use | synthetic * | | UseUseExplosion.rb:21:2255:21:2255 | x | UseUseExplosion.rb:21:2251:21:2256 | call to use | position 0 | -| UseUseExplosion.rb:21:2267:21:2272 | * | UseUseExplosion.rb:21:2267:21:2272 | call to use | synthetic * | | UseUseExplosion.rb:21:2267:21:2272 | self | UseUseExplosion.rb:21:2267:21:2272 | call to use | self | +| UseUseExplosion.rb:21:2267:21:2272 | synthetic splat argument | UseUseExplosion.rb:21:2267:21:2272 | call to use | synthetic * | | UseUseExplosion.rb:21:2271:21:2271 | x | UseUseExplosion.rb:21:2267:21:2272 | call to use | position 0 | -| UseUseExplosion.rb:21:2283:21:2288 | * | UseUseExplosion.rb:21:2283:21:2288 | call to use | synthetic * | | UseUseExplosion.rb:21:2283:21:2288 | self | UseUseExplosion.rb:21:2283:21:2288 | call to use | self | +| UseUseExplosion.rb:21:2283:21:2288 | synthetic splat argument | UseUseExplosion.rb:21:2283:21:2288 | call to use | synthetic * | | UseUseExplosion.rb:21:2287:21:2287 | x | UseUseExplosion.rb:21:2283:21:2288 | call to use | position 0 | -| UseUseExplosion.rb:21:2299:21:2304 | * | UseUseExplosion.rb:21:2299:21:2304 | call to use | synthetic * | | UseUseExplosion.rb:21:2299:21:2304 | self | UseUseExplosion.rb:21:2299:21:2304 | call to use | self | +| UseUseExplosion.rb:21:2299:21:2304 | synthetic splat argument | UseUseExplosion.rb:21:2299:21:2304 | call to use | synthetic * | | UseUseExplosion.rb:21:2303:21:2303 | x | UseUseExplosion.rb:21:2299:21:2304 | call to use | position 0 | -| UseUseExplosion.rb:21:2315:21:2320 | * | UseUseExplosion.rb:21:2315:21:2320 | call to use | synthetic * | | UseUseExplosion.rb:21:2315:21:2320 | self | UseUseExplosion.rb:21:2315:21:2320 | call to use | self | +| UseUseExplosion.rb:21:2315:21:2320 | synthetic splat argument | UseUseExplosion.rb:21:2315:21:2320 | call to use | synthetic * | | UseUseExplosion.rb:21:2319:21:2319 | x | UseUseExplosion.rb:21:2315:21:2320 | call to use | position 0 | -| UseUseExplosion.rb:21:2331:21:2336 | * | UseUseExplosion.rb:21:2331:21:2336 | call to use | synthetic * | | UseUseExplosion.rb:21:2331:21:2336 | self | UseUseExplosion.rb:21:2331:21:2336 | call to use | self | +| UseUseExplosion.rb:21:2331:21:2336 | synthetic splat argument | UseUseExplosion.rb:21:2331:21:2336 | call to use | synthetic * | | UseUseExplosion.rb:21:2335:21:2335 | x | UseUseExplosion.rb:21:2331:21:2336 | call to use | position 0 | -| UseUseExplosion.rb:21:2347:21:2352 | * | UseUseExplosion.rb:21:2347:21:2352 | call to use | synthetic * | | UseUseExplosion.rb:21:2347:21:2352 | self | UseUseExplosion.rb:21:2347:21:2352 | call to use | self | +| UseUseExplosion.rb:21:2347:21:2352 | synthetic splat argument | UseUseExplosion.rb:21:2347:21:2352 | call to use | synthetic * | | UseUseExplosion.rb:21:2351:21:2351 | x | UseUseExplosion.rb:21:2347:21:2352 | call to use | position 0 | -| UseUseExplosion.rb:21:2363:21:2368 | * | UseUseExplosion.rb:21:2363:21:2368 | call to use | synthetic * | | UseUseExplosion.rb:21:2363:21:2368 | self | UseUseExplosion.rb:21:2363:21:2368 | call to use | self | +| UseUseExplosion.rb:21:2363:21:2368 | synthetic splat argument | UseUseExplosion.rb:21:2363:21:2368 | call to use | synthetic * | | UseUseExplosion.rb:21:2367:21:2367 | x | UseUseExplosion.rb:21:2363:21:2368 | call to use | position 0 | -| UseUseExplosion.rb:21:2379:21:2384 | * | UseUseExplosion.rb:21:2379:21:2384 | call to use | synthetic * | | UseUseExplosion.rb:21:2379:21:2384 | self | UseUseExplosion.rb:21:2379:21:2384 | call to use | self | +| UseUseExplosion.rb:21:2379:21:2384 | synthetic splat argument | UseUseExplosion.rb:21:2379:21:2384 | call to use | synthetic * | | UseUseExplosion.rb:21:2383:21:2383 | x | UseUseExplosion.rb:21:2379:21:2384 | call to use | position 0 | -| UseUseExplosion.rb:21:2395:21:2400 | * | UseUseExplosion.rb:21:2395:21:2400 | call to use | synthetic * | | UseUseExplosion.rb:21:2395:21:2400 | self | UseUseExplosion.rb:21:2395:21:2400 | call to use | self | +| UseUseExplosion.rb:21:2395:21:2400 | synthetic splat argument | UseUseExplosion.rb:21:2395:21:2400 | call to use | synthetic * | | UseUseExplosion.rb:21:2399:21:2399 | x | UseUseExplosion.rb:21:2395:21:2400 | call to use | position 0 | -| UseUseExplosion.rb:21:2411:21:2416 | * | UseUseExplosion.rb:21:2411:21:2416 | call to use | synthetic * | | UseUseExplosion.rb:21:2411:21:2416 | self | UseUseExplosion.rb:21:2411:21:2416 | call to use | self | +| UseUseExplosion.rb:21:2411:21:2416 | synthetic splat argument | UseUseExplosion.rb:21:2411:21:2416 | call to use | synthetic * | | UseUseExplosion.rb:21:2415:21:2415 | x | UseUseExplosion.rb:21:2411:21:2416 | call to use | position 0 | -| UseUseExplosion.rb:21:2427:21:2432 | * | UseUseExplosion.rb:21:2427:21:2432 | call to use | synthetic * | | UseUseExplosion.rb:21:2427:21:2432 | self | UseUseExplosion.rb:21:2427:21:2432 | call to use | self | +| UseUseExplosion.rb:21:2427:21:2432 | synthetic splat argument | UseUseExplosion.rb:21:2427:21:2432 | call to use | synthetic * | | UseUseExplosion.rb:21:2431:21:2431 | x | UseUseExplosion.rb:21:2427:21:2432 | call to use | position 0 | -| UseUseExplosion.rb:21:2443:21:2448 | * | UseUseExplosion.rb:21:2443:21:2448 | call to use | synthetic * | | UseUseExplosion.rb:21:2443:21:2448 | self | UseUseExplosion.rb:21:2443:21:2448 | call to use | self | +| UseUseExplosion.rb:21:2443:21:2448 | synthetic splat argument | UseUseExplosion.rb:21:2443:21:2448 | call to use | synthetic * | | UseUseExplosion.rb:21:2447:21:2447 | x | UseUseExplosion.rb:21:2443:21:2448 | call to use | position 0 | -| UseUseExplosion.rb:21:2459:21:2464 | * | UseUseExplosion.rb:21:2459:21:2464 | call to use | synthetic * | | UseUseExplosion.rb:21:2459:21:2464 | self | UseUseExplosion.rb:21:2459:21:2464 | call to use | self | +| UseUseExplosion.rb:21:2459:21:2464 | synthetic splat argument | UseUseExplosion.rb:21:2459:21:2464 | call to use | synthetic * | | UseUseExplosion.rb:21:2463:21:2463 | x | UseUseExplosion.rb:21:2459:21:2464 | call to use | position 0 | -| UseUseExplosion.rb:21:2475:21:2480 | * | UseUseExplosion.rb:21:2475:21:2480 | call to use | synthetic * | | UseUseExplosion.rb:21:2475:21:2480 | self | UseUseExplosion.rb:21:2475:21:2480 | call to use | self | +| UseUseExplosion.rb:21:2475:21:2480 | synthetic splat argument | UseUseExplosion.rb:21:2475:21:2480 | call to use | synthetic * | | UseUseExplosion.rb:21:2479:21:2479 | x | UseUseExplosion.rb:21:2475:21:2480 | call to use | position 0 | -| UseUseExplosion.rb:21:2491:21:2496 | * | UseUseExplosion.rb:21:2491:21:2496 | call to use | synthetic * | | UseUseExplosion.rb:21:2491:21:2496 | self | UseUseExplosion.rb:21:2491:21:2496 | call to use | self | +| UseUseExplosion.rb:21:2491:21:2496 | synthetic splat argument | UseUseExplosion.rb:21:2491:21:2496 | call to use | synthetic * | | UseUseExplosion.rb:21:2495:21:2495 | x | UseUseExplosion.rb:21:2491:21:2496 | call to use | position 0 | -| UseUseExplosion.rb:21:2507:21:2512 | * | UseUseExplosion.rb:21:2507:21:2512 | call to use | synthetic * | | UseUseExplosion.rb:21:2507:21:2512 | self | UseUseExplosion.rb:21:2507:21:2512 | call to use | self | +| UseUseExplosion.rb:21:2507:21:2512 | synthetic splat argument | UseUseExplosion.rb:21:2507:21:2512 | call to use | synthetic * | | UseUseExplosion.rb:21:2511:21:2511 | x | UseUseExplosion.rb:21:2507:21:2512 | call to use | position 0 | -| UseUseExplosion.rb:21:2523:21:2528 | * | UseUseExplosion.rb:21:2523:21:2528 | call to use | synthetic * | | UseUseExplosion.rb:21:2523:21:2528 | self | UseUseExplosion.rb:21:2523:21:2528 | call to use | self | +| UseUseExplosion.rb:21:2523:21:2528 | synthetic splat argument | UseUseExplosion.rb:21:2523:21:2528 | call to use | synthetic * | | UseUseExplosion.rb:21:2527:21:2527 | x | UseUseExplosion.rb:21:2523:21:2528 | call to use | position 0 | -| UseUseExplosion.rb:21:2539:21:2544 | * | UseUseExplosion.rb:21:2539:21:2544 | call to use | synthetic * | | UseUseExplosion.rb:21:2539:21:2544 | self | UseUseExplosion.rb:21:2539:21:2544 | call to use | self | +| UseUseExplosion.rb:21:2539:21:2544 | synthetic splat argument | UseUseExplosion.rb:21:2539:21:2544 | call to use | synthetic * | | UseUseExplosion.rb:21:2543:21:2543 | x | UseUseExplosion.rb:21:2539:21:2544 | call to use | position 0 | -| UseUseExplosion.rb:21:2555:21:2560 | * | UseUseExplosion.rb:21:2555:21:2560 | call to use | synthetic * | | UseUseExplosion.rb:21:2555:21:2560 | self | UseUseExplosion.rb:21:2555:21:2560 | call to use | self | +| UseUseExplosion.rb:21:2555:21:2560 | synthetic splat argument | UseUseExplosion.rb:21:2555:21:2560 | call to use | synthetic * | | UseUseExplosion.rb:21:2559:21:2559 | x | UseUseExplosion.rb:21:2555:21:2560 | call to use | position 0 | -| UseUseExplosion.rb:21:2571:21:2576 | * | UseUseExplosion.rb:21:2571:21:2576 | call to use | synthetic * | | UseUseExplosion.rb:21:2571:21:2576 | self | UseUseExplosion.rb:21:2571:21:2576 | call to use | self | +| UseUseExplosion.rb:21:2571:21:2576 | synthetic splat argument | UseUseExplosion.rb:21:2571:21:2576 | call to use | synthetic * | | UseUseExplosion.rb:21:2575:21:2575 | x | UseUseExplosion.rb:21:2571:21:2576 | call to use | position 0 | -| UseUseExplosion.rb:21:2587:21:2592 | * | UseUseExplosion.rb:21:2587:21:2592 | call to use | synthetic * | | UseUseExplosion.rb:21:2587:21:2592 | self | UseUseExplosion.rb:21:2587:21:2592 | call to use | self | +| UseUseExplosion.rb:21:2587:21:2592 | synthetic splat argument | UseUseExplosion.rb:21:2587:21:2592 | call to use | synthetic * | | UseUseExplosion.rb:21:2591:21:2591 | x | UseUseExplosion.rb:21:2587:21:2592 | call to use | position 0 | -| UseUseExplosion.rb:21:2603:21:2608 | * | UseUseExplosion.rb:21:2603:21:2608 | call to use | synthetic * | | UseUseExplosion.rb:21:2603:21:2608 | self | UseUseExplosion.rb:21:2603:21:2608 | call to use | self | +| UseUseExplosion.rb:21:2603:21:2608 | synthetic splat argument | UseUseExplosion.rb:21:2603:21:2608 | call to use | synthetic * | | UseUseExplosion.rb:21:2607:21:2607 | x | UseUseExplosion.rb:21:2603:21:2608 | call to use | position 0 | -| UseUseExplosion.rb:21:2619:21:2624 | * | UseUseExplosion.rb:21:2619:21:2624 | call to use | synthetic * | | UseUseExplosion.rb:21:2619:21:2624 | self | UseUseExplosion.rb:21:2619:21:2624 | call to use | self | +| UseUseExplosion.rb:21:2619:21:2624 | synthetic splat argument | UseUseExplosion.rb:21:2619:21:2624 | call to use | synthetic * | | UseUseExplosion.rb:21:2623:21:2623 | x | UseUseExplosion.rb:21:2619:21:2624 | call to use | position 0 | -| UseUseExplosion.rb:21:2635:21:2640 | * | UseUseExplosion.rb:21:2635:21:2640 | call to use | synthetic * | | UseUseExplosion.rb:21:2635:21:2640 | self | UseUseExplosion.rb:21:2635:21:2640 | call to use | self | +| UseUseExplosion.rb:21:2635:21:2640 | synthetic splat argument | UseUseExplosion.rb:21:2635:21:2640 | call to use | synthetic * | | UseUseExplosion.rb:21:2639:21:2639 | x | UseUseExplosion.rb:21:2635:21:2640 | call to use | position 0 | -| UseUseExplosion.rb:21:2651:21:2656 | * | UseUseExplosion.rb:21:2651:21:2656 | call to use | synthetic * | | UseUseExplosion.rb:21:2651:21:2656 | self | UseUseExplosion.rb:21:2651:21:2656 | call to use | self | +| UseUseExplosion.rb:21:2651:21:2656 | synthetic splat argument | UseUseExplosion.rb:21:2651:21:2656 | call to use | synthetic * | | UseUseExplosion.rb:21:2655:21:2655 | x | UseUseExplosion.rb:21:2651:21:2656 | call to use | position 0 | -| UseUseExplosion.rb:21:2667:21:2672 | * | UseUseExplosion.rb:21:2667:21:2672 | call to use | synthetic * | | UseUseExplosion.rb:21:2667:21:2672 | self | UseUseExplosion.rb:21:2667:21:2672 | call to use | self | +| UseUseExplosion.rb:21:2667:21:2672 | synthetic splat argument | UseUseExplosion.rb:21:2667:21:2672 | call to use | synthetic * | | UseUseExplosion.rb:21:2671:21:2671 | x | UseUseExplosion.rb:21:2667:21:2672 | call to use | position 0 | -| UseUseExplosion.rb:21:2683:21:2688 | * | UseUseExplosion.rb:21:2683:21:2688 | call to use | synthetic * | | UseUseExplosion.rb:21:2683:21:2688 | self | UseUseExplosion.rb:21:2683:21:2688 | call to use | self | +| UseUseExplosion.rb:21:2683:21:2688 | synthetic splat argument | UseUseExplosion.rb:21:2683:21:2688 | call to use | synthetic * | | UseUseExplosion.rb:21:2687:21:2687 | x | UseUseExplosion.rb:21:2683:21:2688 | call to use | position 0 | -| UseUseExplosion.rb:21:2699:21:2704 | * | UseUseExplosion.rb:21:2699:21:2704 | call to use | synthetic * | | UseUseExplosion.rb:21:2699:21:2704 | self | UseUseExplosion.rb:21:2699:21:2704 | call to use | self | +| UseUseExplosion.rb:21:2699:21:2704 | synthetic splat argument | UseUseExplosion.rb:21:2699:21:2704 | call to use | synthetic * | | UseUseExplosion.rb:21:2703:21:2703 | x | UseUseExplosion.rb:21:2699:21:2704 | call to use | position 0 | -| UseUseExplosion.rb:21:2715:21:2720 | * | UseUseExplosion.rb:21:2715:21:2720 | call to use | synthetic * | | UseUseExplosion.rb:21:2715:21:2720 | self | UseUseExplosion.rb:21:2715:21:2720 | call to use | self | +| UseUseExplosion.rb:21:2715:21:2720 | synthetic splat argument | UseUseExplosion.rb:21:2715:21:2720 | call to use | synthetic * | | UseUseExplosion.rb:21:2719:21:2719 | x | UseUseExplosion.rb:21:2715:21:2720 | call to use | position 0 | -| UseUseExplosion.rb:21:2731:21:2736 | * | UseUseExplosion.rb:21:2731:21:2736 | call to use | synthetic * | | UseUseExplosion.rb:21:2731:21:2736 | self | UseUseExplosion.rb:21:2731:21:2736 | call to use | self | +| UseUseExplosion.rb:21:2731:21:2736 | synthetic splat argument | UseUseExplosion.rb:21:2731:21:2736 | call to use | synthetic * | | UseUseExplosion.rb:21:2735:21:2735 | x | UseUseExplosion.rb:21:2731:21:2736 | call to use | position 0 | -| UseUseExplosion.rb:21:2747:21:2752 | * | UseUseExplosion.rb:21:2747:21:2752 | call to use | synthetic * | | UseUseExplosion.rb:21:2747:21:2752 | self | UseUseExplosion.rb:21:2747:21:2752 | call to use | self | +| UseUseExplosion.rb:21:2747:21:2752 | synthetic splat argument | UseUseExplosion.rb:21:2747:21:2752 | call to use | synthetic * | | UseUseExplosion.rb:21:2751:21:2751 | x | UseUseExplosion.rb:21:2747:21:2752 | call to use | position 0 | -| UseUseExplosion.rb:21:2763:21:2768 | * | UseUseExplosion.rb:21:2763:21:2768 | call to use | synthetic * | | UseUseExplosion.rb:21:2763:21:2768 | self | UseUseExplosion.rb:21:2763:21:2768 | call to use | self | +| UseUseExplosion.rb:21:2763:21:2768 | synthetic splat argument | UseUseExplosion.rb:21:2763:21:2768 | call to use | synthetic * | | UseUseExplosion.rb:21:2767:21:2767 | x | UseUseExplosion.rb:21:2763:21:2768 | call to use | position 0 | -| UseUseExplosion.rb:21:2779:21:2784 | * | UseUseExplosion.rb:21:2779:21:2784 | call to use | synthetic * | | UseUseExplosion.rb:21:2779:21:2784 | self | UseUseExplosion.rb:21:2779:21:2784 | call to use | self | +| UseUseExplosion.rb:21:2779:21:2784 | synthetic splat argument | UseUseExplosion.rb:21:2779:21:2784 | call to use | synthetic * | | UseUseExplosion.rb:21:2783:21:2783 | x | UseUseExplosion.rb:21:2779:21:2784 | call to use | position 0 | -| UseUseExplosion.rb:21:2795:21:2800 | * | UseUseExplosion.rb:21:2795:21:2800 | call to use | synthetic * | | UseUseExplosion.rb:21:2795:21:2800 | self | UseUseExplosion.rb:21:2795:21:2800 | call to use | self | +| UseUseExplosion.rb:21:2795:21:2800 | synthetic splat argument | UseUseExplosion.rb:21:2795:21:2800 | call to use | synthetic * | | UseUseExplosion.rb:21:2799:21:2799 | x | UseUseExplosion.rb:21:2795:21:2800 | call to use | position 0 | -| UseUseExplosion.rb:21:2811:21:2816 | * | UseUseExplosion.rb:21:2811:21:2816 | call to use | synthetic * | | UseUseExplosion.rb:21:2811:21:2816 | self | UseUseExplosion.rb:21:2811:21:2816 | call to use | self | +| UseUseExplosion.rb:21:2811:21:2816 | synthetic splat argument | UseUseExplosion.rb:21:2811:21:2816 | call to use | synthetic * | | UseUseExplosion.rb:21:2815:21:2815 | x | UseUseExplosion.rb:21:2811:21:2816 | call to use | position 0 | -| UseUseExplosion.rb:21:2827:21:2832 | * | UseUseExplosion.rb:21:2827:21:2832 | call to use | synthetic * | | UseUseExplosion.rb:21:2827:21:2832 | self | UseUseExplosion.rb:21:2827:21:2832 | call to use | self | +| UseUseExplosion.rb:21:2827:21:2832 | synthetic splat argument | UseUseExplosion.rb:21:2827:21:2832 | call to use | synthetic * | | UseUseExplosion.rb:21:2831:21:2831 | x | UseUseExplosion.rb:21:2827:21:2832 | call to use | position 0 | -| UseUseExplosion.rb:21:2843:21:2848 | * | UseUseExplosion.rb:21:2843:21:2848 | call to use | synthetic * | | UseUseExplosion.rb:21:2843:21:2848 | self | UseUseExplosion.rb:21:2843:21:2848 | call to use | self | +| UseUseExplosion.rb:21:2843:21:2848 | synthetic splat argument | UseUseExplosion.rb:21:2843:21:2848 | call to use | synthetic * | | UseUseExplosion.rb:21:2847:21:2847 | x | UseUseExplosion.rb:21:2843:21:2848 | call to use | position 0 | -| UseUseExplosion.rb:21:2859:21:2864 | * | UseUseExplosion.rb:21:2859:21:2864 | call to use | synthetic * | | UseUseExplosion.rb:21:2859:21:2864 | self | UseUseExplosion.rb:21:2859:21:2864 | call to use | self | +| UseUseExplosion.rb:21:2859:21:2864 | synthetic splat argument | UseUseExplosion.rb:21:2859:21:2864 | call to use | synthetic * | | UseUseExplosion.rb:21:2863:21:2863 | x | UseUseExplosion.rb:21:2859:21:2864 | call to use | position 0 | -| UseUseExplosion.rb:21:2875:21:2880 | * | UseUseExplosion.rb:21:2875:21:2880 | call to use | synthetic * | | UseUseExplosion.rb:21:2875:21:2880 | self | UseUseExplosion.rb:21:2875:21:2880 | call to use | self | +| UseUseExplosion.rb:21:2875:21:2880 | synthetic splat argument | UseUseExplosion.rb:21:2875:21:2880 | call to use | synthetic * | | UseUseExplosion.rb:21:2879:21:2879 | x | UseUseExplosion.rb:21:2875:21:2880 | call to use | position 0 | -| UseUseExplosion.rb:21:2891:21:2896 | * | UseUseExplosion.rb:21:2891:21:2896 | call to use | synthetic * | | UseUseExplosion.rb:21:2891:21:2896 | self | UseUseExplosion.rb:21:2891:21:2896 | call to use | self | +| UseUseExplosion.rb:21:2891:21:2896 | synthetic splat argument | UseUseExplosion.rb:21:2891:21:2896 | call to use | synthetic * | | UseUseExplosion.rb:21:2895:21:2895 | x | UseUseExplosion.rb:21:2891:21:2896 | call to use | position 0 | -| UseUseExplosion.rb:21:2907:21:2912 | * | UseUseExplosion.rb:21:2907:21:2912 | call to use | synthetic * | | UseUseExplosion.rb:21:2907:21:2912 | self | UseUseExplosion.rb:21:2907:21:2912 | call to use | self | +| UseUseExplosion.rb:21:2907:21:2912 | synthetic splat argument | UseUseExplosion.rb:21:2907:21:2912 | call to use | synthetic * | | UseUseExplosion.rb:21:2911:21:2911 | x | UseUseExplosion.rb:21:2907:21:2912 | call to use | position 0 | -| UseUseExplosion.rb:21:2923:21:2928 | * | UseUseExplosion.rb:21:2923:21:2928 | call to use | synthetic * | | UseUseExplosion.rb:21:2923:21:2928 | self | UseUseExplosion.rb:21:2923:21:2928 | call to use | self | +| UseUseExplosion.rb:21:2923:21:2928 | synthetic splat argument | UseUseExplosion.rb:21:2923:21:2928 | call to use | synthetic * | | UseUseExplosion.rb:21:2927:21:2927 | x | UseUseExplosion.rb:21:2923:21:2928 | call to use | position 0 | -| UseUseExplosion.rb:21:2939:21:2944 | * | UseUseExplosion.rb:21:2939:21:2944 | call to use | synthetic * | | UseUseExplosion.rb:21:2939:21:2944 | self | UseUseExplosion.rb:21:2939:21:2944 | call to use | self | +| UseUseExplosion.rb:21:2939:21:2944 | synthetic splat argument | UseUseExplosion.rb:21:2939:21:2944 | call to use | synthetic * | | UseUseExplosion.rb:21:2943:21:2943 | x | UseUseExplosion.rb:21:2939:21:2944 | call to use | position 0 | -| UseUseExplosion.rb:21:2955:21:2960 | * | UseUseExplosion.rb:21:2955:21:2960 | call to use | synthetic * | | UseUseExplosion.rb:21:2955:21:2960 | self | UseUseExplosion.rb:21:2955:21:2960 | call to use | self | +| UseUseExplosion.rb:21:2955:21:2960 | synthetic splat argument | UseUseExplosion.rb:21:2955:21:2960 | call to use | synthetic * | | UseUseExplosion.rb:21:2959:21:2959 | x | UseUseExplosion.rb:21:2955:21:2960 | call to use | position 0 | -| UseUseExplosion.rb:21:2971:21:2976 | * | UseUseExplosion.rb:21:2971:21:2976 | call to use | synthetic * | | UseUseExplosion.rb:21:2971:21:2976 | self | UseUseExplosion.rb:21:2971:21:2976 | call to use | self | +| UseUseExplosion.rb:21:2971:21:2976 | synthetic splat argument | UseUseExplosion.rb:21:2971:21:2976 | call to use | synthetic * | | UseUseExplosion.rb:21:2975:21:2975 | x | UseUseExplosion.rb:21:2971:21:2976 | call to use | position 0 | -| UseUseExplosion.rb:21:2987:21:2992 | * | UseUseExplosion.rb:21:2987:21:2992 | call to use | synthetic * | | UseUseExplosion.rb:21:2987:21:2992 | self | UseUseExplosion.rb:21:2987:21:2992 | call to use | self | +| UseUseExplosion.rb:21:2987:21:2992 | synthetic splat argument | UseUseExplosion.rb:21:2987:21:2992 | call to use | synthetic * | | UseUseExplosion.rb:21:2991:21:2991 | x | UseUseExplosion.rb:21:2987:21:2992 | call to use | position 0 | -| UseUseExplosion.rb:21:3003:21:3008 | * | UseUseExplosion.rb:21:3003:21:3008 | call to use | synthetic * | | UseUseExplosion.rb:21:3003:21:3008 | self | UseUseExplosion.rb:21:3003:21:3008 | call to use | self | +| UseUseExplosion.rb:21:3003:21:3008 | synthetic splat argument | UseUseExplosion.rb:21:3003:21:3008 | call to use | synthetic * | | UseUseExplosion.rb:21:3007:21:3007 | x | UseUseExplosion.rb:21:3003:21:3008 | call to use | position 0 | -| UseUseExplosion.rb:21:3019:21:3024 | * | UseUseExplosion.rb:21:3019:21:3024 | call to use | synthetic * | | UseUseExplosion.rb:21:3019:21:3024 | self | UseUseExplosion.rb:21:3019:21:3024 | call to use | self | +| UseUseExplosion.rb:21:3019:21:3024 | synthetic splat argument | UseUseExplosion.rb:21:3019:21:3024 | call to use | synthetic * | | UseUseExplosion.rb:21:3023:21:3023 | x | UseUseExplosion.rb:21:3019:21:3024 | call to use | position 0 | -| UseUseExplosion.rb:21:3035:21:3040 | * | UseUseExplosion.rb:21:3035:21:3040 | call to use | synthetic * | | UseUseExplosion.rb:21:3035:21:3040 | self | UseUseExplosion.rb:21:3035:21:3040 | call to use | self | +| UseUseExplosion.rb:21:3035:21:3040 | synthetic splat argument | UseUseExplosion.rb:21:3035:21:3040 | call to use | synthetic * | | UseUseExplosion.rb:21:3039:21:3039 | x | UseUseExplosion.rb:21:3035:21:3040 | call to use | position 0 | -| UseUseExplosion.rb:21:3051:21:3056 | * | UseUseExplosion.rb:21:3051:21:3056 | call to use | synthetic * | | UseUseExplosion.rb:21:3051:21:3056 | self | UseUseExplosion.rb:21:3051:21:3056 | call to use | self | +| UseUseExplosion.rb:21:3051:21:3056 | synthetic splat argument | UseUseExplosion.rb:21:3051:21:3056 | call to use | synthetic * | | UseUseExplosion.rb:21:3055:21:3055 | x | UseUseExplosion.rb:21:3051:21:3056 | call to use | position 0 | -| UseUseExplosion.rb:21:3067:21:3072 | * | UseUseExplosion.rb:21:3067:21:3072 | call to use | synthetic * | | UseUseExplosion.rb:21:3067:21:3072 | self | UseUseExplosion.rb:21:3067:21:3072 | call to use | self | +| UseUseExplosion.rb:21:3067:21:3072 | synthetic splat argument | UseUseExplosion.rb:21:3067:21:3072 | call to use | synthetic * | | UseUseExplosion.rb:21:3071:21:3071 | x | UseUseExplosion.rb:21:3067:21:3072 | call to use | position 0 | -| UseUseExplosion.rb:21:3083:21:3088 | * | UseUseExplosion.rb:21:3083:21:3088 | call to use | synthetic * | | UseUseExplosion.rb:21:3083:21:3088 | self | UseUseExplosion.rb:21:3083:21:3088 | call to use | self | +| UseUseExplosion.rb:21:3083:21:3088 | synthetic splat argument | UseUseExplosion.rb:21:3083:21:3088 | call to use | synthetic * | | UseUseExplosion.rb:21:3087:21:3087 | x | UseUseExplosion.rb:21:3083:21:3088 | call to use | position 0 | -| UseUseExplosion.rb:21:3099:21:3104 | * | UseUseExplosion.rb:21:3099:21:3104 | call to use | synthetic * | | UseUseExplosion.rb:21:3099:21:3104 | self | UseUseExplosion.rb:21:3099:21:3104 | call to use | self | +| UseUseExplosion.rb:21:3099:21:3104 | synthetic splat argument | UseUseExplosion.rb:21:3099:21:3104 | call to use | synthetic * | | UseUseExplosion.rb:21:3103:21:3103 | x | UseUseExplosion.rb:21:3099:21:3104 | call to use | position 0 | -| UseUseExplosion.rb:21:3115:21:3120 | * | UseUseExplosion.rb:21:3115:21:3120 | call to use | synthetic * | | UseUseExplosion.rb:21:3115:21:3120 | self | UseUseExplosion.rb:21:3115:21:3120 | call to use | self | +| UseUseExplosion.rb:21:3115:21:3120 | synthetic splat argument | UseUseExplosion.rb:21:3115:21:3120 | call to use | synthetic * | | UseUseExplosion.rb:21:3119:21:3119 | x | UseUseExplosion.rb:21:3115:21:3120 | call to use | position 0 | -| UseUseExplosion.rb:21:3131:21:3136 | * | UseUseExplosion.rb:21:3131:21:3136 | call to use | synthetic * | | UseUseExplosion.rb:21:3131:21:3136 | self | UseUseExplosion.rb:21:3131:21:3136 | call to use | self | +| UseUseExplosion.rb:21:3131:21:3136 | synthetic splat argument | UseUseExplosion.rb:21:3131:21:3136 | call to use | synthetic * | | UseUseExplosion.rb:21:3135:21:3135 | x | UseUseExplosion.rb:21:3131:21:3136 | call to use | position 0 | -| UseUseExplosion.rb:21:3147:21:3152 | * | UseUseExplosion.rb:21:3147:21:3152 | call to use | synthetic * | | UseUseExplosion.rb:21:3147:21:3152 | self | UseUseExplosion.rb:21:3147:21:3152 | call to use | self | +| UseUseExplosion.rb:21:3147:21:3152 | synthetic splat argument | UseUseExplosion.rb:21:3147:21:3152 | call to use | synthetic * | | UseUseExplosion.rb:21:3151:21:3151 | x | UseUseExplosion.rb:21:3147:21:3152 | call to use | position 0 | -| UseUseExplosion.rb:21:3163:21:3168 | * | UseUseExplosion.rb:21:3163:21:3168 | call to use | synthetic * | | UseUseExplosion.rb:21:3163:21:3168 | self | UseUseExplosion.rb:21:3163:21:3168 | call to use | self | +| UseUseExplosion.rb:21:3163:21:3168 | synthetic splat argument | UseUseExplosion.rb:21:3163:21:3168 | call to use | synthetic * | | UseUseExplosion.rb:21:3167:21:3167 | x | UseUseExplosion.rb:21:3163:21:3168 | call to use | position 0 | -| UseUseExplosion.rb:21:3179:21:3184 | * | UseUseExplosion.rb:21:3179:21:3184 | call to use | synthetic * | | UseUseExplosion.rb:21:3179:21:3184 | self | UseUseExplosion.rb:21:3179:21:3184 | call to use | self | +| UseUseExplosion.rb:21:3179:21:3184 | synthetic splat argument | UseUseExplosion.rb:21:3179:21:3184 | call to use | synthetic * | | UseUseExplosion.rb:21:3183:21:3183 | x | UseUseExplosion.rb:21:3179:21:3184 | call to use | position 0 | -| UseUseExplosion.rb:21:3195:21:3200 | * | UseUseExplosion.rb:21:3195:21:3200 | call to use | synthetic * | | UseUseExplosion.rb:21:3195:21:3200 | self | UseUseExplosion.rb:21:3195:21:3200 | call to use | self | +| UseUseExplosion.rb:21:3195:21:3200 | synthetic splat argument | UseUseExplosion.rb:21:3195:21:3200 | call to use | synthetic * | | UseUseExplosion.rb:21:3199:21:3199 | x | UseUseExplosion.rb:21:3195:21:3200 | call to use | position 0 | -| UseUseExplosion.rb:21:3211:21:3216 | * | UseUseExplosion.rb:21:3211:21:3216 | call to use | synthetic * | | UseUseExplosion.rb:21:3211:21:3216 | self | UseUseExplosion.rb:21:3211:21:3216 | call to use | self | +| UseUseExplosion.rb:21:3211:21:3216 | synthetic splat argument | UseUseExplosion.rb:21:3211:21:3216 | call to use | synthetic * | | UseUseExplosion.rb:21:3215:21:3215 | x | UseUseExplosion.rb:21:3211:21:3216 | call to use | position 0 | -| UseUseExplosion.rb:21:3227:21:3232 | * | UseUseExplosion.rb:21:3227:21:3232 | call to use | synthetic * | | UseUseExplosion.rb:21:3227:21:3232 | self | UseUseExplosion.rb:21:3227:21:3232 | call to use | self | +| UseUseExplosion.rb:21:3227:21:3232 | synthetic splat argument | UseUseExplosion.rb:21:3227:21:3232 | call to use | synthetic * | | UseUseExplosion.rb:21:3231:21:3231 | x | UseUseExplosion.rb:21:3227:21:3232 | call to use | position 0 | -| UseUseExplosion.rb:21:3243:21:3248 | * | UseUseExplosion.rb:21:3243:21:3248 | call to use | synthetic * | | UseUseExplosion.rb:21:3243:21:3248 | self | UseUseExplosion.rb:21:3243:21:3248 | call to use | self | +| UseUseExplosion.rb:21:3243:21:3248 | synthetic splat argument | UseUseExplosion.rb:21:3243:21:3248 | call to use | synthetic * | | UseUseExplosion.rb:21:3247:21:3247 | x | UseUseExplosion.rb:21:3243:21:3248 | call to use | position 0 | -| UseUseExplosion.rb:21:3259:21:3264 | * | UseUseExplosion.rb:21:3259:21:3264 | call to use | synthetic * | | UseUseExplosion.rb:21:3259:21:3264 | self | UseUseExplosion.rb:21:3259:21:3264 | call to use | self | +| UseUseExplosion.rb:21:3259:21:3264 | synthetic splat argument | UseUseExplosion.rb:21:3259:21:3264 | call to use | synthetic * | | UseUseExplosion.rb:21:3263:21:3263 | x | UseUseExplosion.rb:21:3259:21:3264 | call to use | position 0 | -| UseUseExplosion.rb:21:3275:21:3280 | * | UseUseExplosion.rb:21:3275:21:3280 | call to use | synthetic * | | UseUseExplosion.rb:21:3275:21:3280 | self | UseUseExplosion.rb:21:3275:21:3280 | call to use | self | +| UseUseExplosion.rb:21:3275:21:3280 | synthetic splat argument | UseUseExplosion.rb:21:3275:21:3280 | call to use | synthetic * | | UseUseExplosion.rb:21:3279:21:3279 | x | UseUseExplosion.rb:21:3275:21:3280 | call to use | position 0 | -| UseUseExplosion.rb:21:3291:21:3296 | * | UseUseExplosion.rb:21:3291:21:3296 | call to use | synthetic * | | UseUseExplosion.rb:21:3291:21:3296 | self | UseUseExplosion.rb:21:3291:21:3296 | call to use | self | +| UseUseExplosion.rb:21:3291:21:3296 | synthetic splat argument | UseUseExplosion.rb:21:3291:21:3296 | call to use | synthetic * | | UseUseExplosion.rb:21:3295:21:3295 | x | UseUseExplosion.rb:21:3291:21:3296 | call to use | position 0 | -| UseUseExplosion.rb:21:3307:21:3312 | * | UseUseExplosion.rb:21:3307:21:3312 | call to use | synthetic * | | UseUseExplosion.rb:21:3307:21:3312 | self | UseUseExplosion.rb:21:3307:21:3312 | call to use | self | +| UseUseExplosion.rb:21:3307:21:3312 | synthetic splat argument | UseUseExplosion.rb:21:3307:21:3312 | call to use | synthetic * | | UseUseExplosion.rb:21:3311:21:3311 | x | UseUseExplosion.rb:21:3307:21:3312 | call to use | position 0 | -| UseUseExplosion.rb:21:3323:21:3328 | * | UseUseExplosion.rb:21:3323:21:3328 | call to use | synthetic * | | UseUseExplosion.rb:21:3323:21:3328 | self | UseUseExplosion.rb:21:3323:21:3328 | call to use | self | +| UseUseExplosion.rb:21:3323:21:3328 | synthetic splat argument | UseUseExplosion.rb:21:3323:21:3328 | call to use | synthetic * | | UseUseExplosion.rb:21:3327:21:3327 | x | UseUseExplosion.rb:21:3323:21:3328 | call to use | position 0 | -| UseUseExplosion.rb:21:3339:21:3344 | * | UseUseExplosion.rb:21:3339:21:3344 | call to use | synthetic * | | UseUseExplosion.rb:21:3339:21:3344 | self | UseUseExplosion.rb:21:3339:21:3344 | call to use | self | +| UseUseExplosion.rb:21:3339:21:3344 | synthetic splat argument | UseUseExplosion.rb:21:3339:21:3344 | call to use | synthetic * | | UseUseExplosion.rb:21:3343:21:3343 | x | UseUseExplosion.rb:21:3339:21:3344 | call to use | position 0 | -| UseUseExplosion.rb:21:3355:21:3360 | * | UseUseExplosion.rb:21:3355:21:3360 | call to use | synthetic * | | UseUseExplosion.rb:21:3355:21:3360 | self | UseUseExplosion.rb:21:3355:21:3360 | call to use | self | +| UseUseExplosion.rb:21:3355:21:3360 | synthetic splat argument | UseUseExplosion.rb:21:3355:21:3360 | call to use | synthetic * | | UseUseExplosion.rb:21:3359:21:3359 | x | UseUseExplosion.rb:21:3355:21:3360 | call to use | position 0 | -| UseUseExplosion.rb:21:3371:21:3376 | * | UseUseExplosion.rb:21:3371:21:3376 | call to use | synthetic * | | UseUseExplosion.rb:21:3371:21:3376 | self | UseUseExplosion.rb:21:3371:21:3376 | call to use | self | +| UseUseExplosion.rb:21:3371:21:3376 | synthetic splat argument | UseUseExplosion.rb:21:3371:21:3376 | call to use | synthetic * | | UseUseExplosion.rb:21:3375:21:3375 | x | UseUseExplosion.rb:21:3371:21:3376 | call to use | position 0 | -| UseUseExplosion.rb:21:3387:21:3392 | * | UseUseExplosion.rb:21:3387:21:3392 | call to use | synthetic * | | UseUseExplosion.rb:21:3387:21:3392 | self | UseUseExplosion.rb:21:3387:21:3392 | call to use | self | +| UseUseExplosion.rb:21:3387:21:3392 | synthetic splat argument | UseUseExplosion.rb:21:3387:21:3392 | call to use | synthetic * | | UseUseExplosion.rb:21:3391:21:3391 | x | UseUseExplosion.rb:21:3387:21:3392 | call to use | position 0 | -| UseUseExplosion.rb:21:3403:21:3408 | * | UseUseExplosion.rb:21:3403:21:3408 | call to use | synthetic * | | UseUseExplosion.rb:21:3403:21:3408 | self | UseUseExplosion.rb:21:3403:21:3408 | call to use | self | +| UseUseExplosion.rb:21:3403:21:3408 | synthetic splat argument | UseUseExplosion.rb:21:3403:21:3408 | call to use | synthetic * | | UseUseExplosion.rb:21:3407:21:3407 | x | UseUseExplosion.rb:21:3403:21:3408 | call to use | position 0 | -| UseUseExplosion.rb:21:3419:21:3424 | * | UseUseExplosion.rb:21:3419:21:3424 | call to use | synthetic * | | UseUseExplosion.rb:21:3419:21:3424 | self | UseUseExplosion.rb:21:3419:21:3424 | call to use | self | +| UseUseExplosion.rb:21:3419:21:3424 | synthetic splat argument | UseUseExplosion.rb:21:3419:21:3424 | call to use | synthetic * | | UseUseExplosion.rb:21:3423:21:3423 | x | UseUseExplosion.rb:21:3419:21:3424 | call to use | position 0 | -| UseUseExplosion.rb:21:3435:21:3440 | * | UseUseExplosion.rb:21:3435:21:3440 | call to use | synthetic * | | UseUseExplosion.rb:21:3435:21:3440 | self | UseUseExplosion.rb:21:3435:21:3440 | call to use | self | +| UseUseExplosion.rb:21:3435:21:3440 | synthetic splat argument | UseUseExplosion.rb:21:3435:21:3440 | call to use | synthetic * | | UseUseExplosion.rb:21:3439:21:3439 | x | UseUseExplosion.rb:21:3435:21:3440 | call to use | position 0 | -| UseUseExplosion.rb:21:3451:21:3456 | * | UseUseExplosion.rb:21:3451:21:3456 | call to use | synthetic * | | UseUseExplosion.rb:21:3451:21:3456 | self | UseUseExplosion.rb:21:3451:21:3456 | call to use | self | +| UseUseExplosion.rb:21:3451:21:3456 | synthetic splat argument | UseUseExplosion.rb:21:3451:21:3456 | call to use | synthetic * | | UseUseExplosion.rb:21:3455:21:3455 | x | UseUseExplosion.rb:21:3451:21:3456 | call to use | position 0 | -| UseUseExplosion.rb:21:3467:21:3472 | * | UseUseExplosion.rb:21:3467:21:3472 | call to use | synthetic * | | UseUseExplosion.rb:21:3467:21:3472 | self | UseUseExplosion.rb:21:3467:21:3472 | call to use | self | +| UseUseExplosion.rb:21:3467:21:3472 | synthetic splat argument | UseUseExplosion.rb:21:3467:21:3472 | call to use | synthetic * | | UseUseExplosion.rb:21:3471:21:3471 | x | UseUseExplosion.rb:21:3467:21:3472 | call to use | position 0 | -| UseUseExplosion.rb:21:3483:21:3488 | * | UseUseExplosion.rb:21:3483:21:3488 | call to use | synthetic * | | UseUseExplosion.rb:21:3483:21:3488 | self | UseUseExplosion.rb:21:3483:21:3488 | call to use | self | +| UseUseExplosion.rb:21:3483:21:3488 | synthetic splat argument | UseUseExplosion.rb:21:3483:21:3488 | call to use | synthetic * | | UseUseExplosion.rb:21:3487:21:3487 | x | UseUseExplosion.rb:21:3483:21:3488 | call to use | position 0 | -| UseUseExplosion.rb:21:3499:21:3504 | * | UseUseExplosion.rb:21:3499:21:3504 | call to use | synthetic * | | UseUseExplosion.rb:21:3499:21:3504 | self | UseUseExplosion.rb:21:3499:21:3504 | call to use | self | +| UseUseExplosion.rb:21:3499:21:3504 | synthetic splat argument | UseUseExplosion.rb:21:3499:21:3504 | call to use | synthetic * | | UseUseExplosion.rb:21:3503:21:3503 | x | UseUseExplosion.rb:21:3499:21:3504 | call to use | position 0 | -| UseUseExplosion.rb:21:3515:21:3520 | * | UseUseExplosion.rb:21:3515:21:3520 | call to use | synthetic * | | UseUseExplosion.rb:21:3515:21:3520 | self | UseUseExplosion.rb:21:3515:21:3520 | call to use | self | +| UseUseExplosion.rb:21:3515:21:3520 | synthetic splat argument | UseUseExplosion.rb:21:3515:21:3520 | call to use | synthetic * | | UseUseExplosion.rb:21:3519:21:3519 | x | UseUseExplosion.rb:21:3515:21:3520 | call to use | position 0 | -| UseUseExplosion.rb:21:3531:21:3536 | * | UseUseExplosion.rb:21:3531:21:3536 | call to use | synthetic * | | UseUseExplosion.rb:21:3531:21:3536 | self | UseUseExplosion.rb:21:3531:21:3536 | call to use | self | +| UseUseExplosion.rb:21:3531:21:3536 | synthetic splat argument | UseUseExplosion.rb:21:3531:21:3536 | call to use | synthetic * | | UseUseExplosion.rb:21:3535:21:3535 | x | UseUseExplosion.rb:21:3531:21:3536 | call to use | position 0 | -| UseUseExplosion.rb:21:3547:21:3552 | * | UseUseExplosion.rb:21:3547:21:3552 | call to use | synthetic * | | UseUseExplosion.rb:21:3547:21:3552 | self | UseUseExplosion.rb:21:3547:21:3552 | call to use | self | +| UseUseExplosion.rb:21:3547:21:3552 | synthetic splat argument | UseUseExplosion.rb:21:3547:21:3552 | call to use | synthetic * | | UseUseExplosion.rb:21:3551:21:3551 | x | UseUseExplosion.rb:21:3547:21:3552 | call to use | position 0 | -| UseUseExplosion.rb:21:3563:21:3568 | * | UseUseExplosion.rb:21:3563:21:3568 | call to use | synthetic * | | UseUseExplosion.rb:21:3563:21:3568 | self | UseUseExplosion.rb:21:3563:21:3568 | call to use | self | +| UseUseExplosion.rb:21:3563:21:3568 | synthetic splat argument | UseUseExplosion.rb:21:3563:21:3568 | call to use | synthetic * | | UseUseExplosion.rb:21:3567:21:3567 | x | UseUseExplosion.rb:21:3563:21:3568 | call to use | position 0 | -| UseUseExplosion.rb:21:3579:21:3584 | * | UseUseExplosion.rb:21:3579:21:3584 | call to use | synthetic * | | UseUseExplosion.rb:21:3579:21:3584 | self | UseUseExplosion.rb:21:3579:21:3584 | call to use | self | +| UseUseExplosion.rb:21:3579:21:3584 | synthetic splat argument | UseUseExplosion.rb:21:3579:21:3584 | call to use | synthetic * | | UseUseExplosion.rb:21:3583:21:3583 | x | UseUseExplosion.rb:21:3579:21:3584 | call to use | position 0 | -| UseUseExplosion.rb:21:3595:21:3600 | * | UseUseExplosion.rb:21:3595:21:3600 | call to use | synthetic * | | UseUseExplosion.rb:21:3595:21:3600 | self | UseUseExplosion.rb:21:3595:21:3600 | call to use | self | +| UseUseExplosion.rb:21:3595:21:3600 | synthetic splat argument | UseUseExplosion.rb:21:3595:21:3600 | call to use | synthetic * | | UseUseExplosion.rb:21:3599:21:3599 | x | UseUseExplosion.rb:21:3595:21:3600 | call to use | position 0 | -| UseUseExplosion.rb:21:3611:21:3616 | * | UseUseExplosion.rb:21:3611:21:3616 | call to use | synthetic * | | UseUseExplosion.rb:21:3611:21:3616 | self | UseUseExplosion.rb:21:3611:21:3616 | call to use | self | +| UseUseExplosion.rb:21:3611:21:3616 | synthetic splat argument | UseUseExplosion.rb:21:3611:21:3616 | call to use | synthetic * | | UseUseExplosion.rb:21:3615:21:3615 | x | UseUseExplosion.rb:21:3611:21:3616 | call to use | position 0 | -| UseUseExplosion.rb:21:3627:21:3632 | * | UseUseExplosion.rb:21:3627:21:3632 | call to use | synthetic * | | UseUseExplosion.rb:21:3627:21:3632 | self | UseUseExplosion.rb:21:3627:21:3632 | call to use | self | +| UseUseExplosion.rb:21:3627:21:3632 | synthetic splat argument | UseUseExplosion.rb:21:3627:21:3632 | call to use | synthetic * | | UseUseExplosion.rb:21:3631:21:3631 | x | UseUseExplosion.rb:21:3627:21:3632 | call to use | position 0 | -| UseUseExplosion.rb:21:3643:21:3648 | * | UseUseExplosion.rb:21:3643:21:3648 | call to use | synthetic * | | UseUseExplosion.rb:21:3643:21:3648 | self | UseUseExplosion.rb:21:3643:21:3648 | call to use | self | +| UseUseExplosion.rb:21:3643:21:3648 | synthetic splat argument | UseUseExplosion.rb:21:3643:21:3648 | call to use | synthetic * | | UseUseExplosion.rb:21:3647:21:3647 | x | UseUseExplosion.rb:21:3643:21:3648 | call to use | position 0 | -| UseUseExplosion.rb:21:3659:21:3664 | * | UseUseExplosion.rb:21:3659:21:3664 | call to use | synthetic * | | UseUseExplosion.rb:21:3659:21:3664 | self | UseUseExplosion.rb:21:3659:21:3664 | call to use | self | +| UseUseExplosion.rb:21:3659:21:3664 | synthetic splat argument | UseUseExplosion.rb:21:3659:21:3664 | call to use | synthetic * | | UseUseExplosion.rb:21:3663:21:3663 | x | UseUseExplosion.rb:21:3659:21:3664 | call to use | position 0 | -| UseUseExplosion.rb:21:3675:21:3680 | * | UseUseExplosion.rb:21:3675:21:3680 | call to use | synthetic * | | UseUseExplosion.rb:21:3675:21:3680 | self | UseUseExplosion.rb:21:3675:21:3680 | call to use | self | +| UseUseExplosion.rb:21:3675:21:3680 | synthetic splat argument | UseUseExplosion.rb:21:3675:21:3680 | call to use | synthetic * | | UseUseExplosion.rb:21:3679:21:3679 | x | UseUseExplosion.rb:21:3675:21:3680 | call to use | position 0 | -| UseUseExplosion.rb:21:3691:21:3696 | * | UseUseExplosion.rb:21:3691:21:3696 | call to use | synthetic * | | UseUseExplosion.rb:21:3691:21:3696 | self | UseUseExplosion.rb:21:3691:21:3696 | call to use | self | +| UseUseExplosion.rb:21:3691:21:3696 | synthetic splat argument | UseUseExplosion.rb:21:3691:21:3696 | call to use | synthetic * | | UseUseExplosion.rb:21:3695:21:3695 | x | UseUseExplosion.rb:21:3691:21:3696 | call to use | position 0 | -| local_dataflow.rb:3:8:3:10 | * | local_dataflow.rb:3:8:3:10 | call to p | synthetic * | | local_dataflow.rb:3:8:3:10 | self | local_dataflow.rb:3:8:3:10 | call to p | self | +| local_dataflow.rb:3:8:3:10 | synthetic splat argument | local_dataflow.rb:3:8:3:10 | call to p | synthetic * | | local_dataflow.rb:3:10:3:10 | a | local_dataflow.rb:3:8:3:10 | call to p | position 0 | | local_dataflow.rb:6:8:6:8 | a | local_dataflow.rb:6:10:6:11 | ... + ... | self | -| local_dataflow.rb:6:10:6:11 | * | local_dataflow.rb:6:10:6:11 | ... + ... | synthetic * | +| local_dataflow.rb:6:10:6:11 | synthetic splat argument | local_dataflow.rb:6:10:6:11 | ... + ... | synthetic * | | local_dataflow.rb:6:13:6:13 | b | local_dataflow.rb:6:10:6:11 | ... + ... | position 0 | -| local_dataflow.rb:9:9:9:15 | * | local_dataflow.rb:9:9:9:15 | call to [] | synthetic * | | local_dataflow.rb:9:9:9:15 | Array | local_dataflow.rb:9:9:9:15 | call to [] | self | +| local_dataflow.rb:9:9:9:15 | synthetic splat argument | local_dataflow.rb:9:9:9:15 | call to [] | synthetic * | | local_dataflow.rb:9:10:9:10 | 1 | local_dataflow.rb:9:9:9:15 | call to [] | position 0 | | local_dataflow.rb:9:12:9:12 | 2 | local_dataflow.rb:9:9:9:15 | call to [] | position 1 | | local_dataflow.rb:9:14:9:14 | 3 | local_dataflow.rb:9:9:9:15 | call to [] | position 2 | -| local_dataflow.rb:10:5:13:3 | * | local_dataflow.rb:10:5:13:3 | call to each | synthetic * | +| local_dataflow.rb:10:5:13:3 | synthetic splat argument | local_dataflow.rb:10:5:13:3 | call to each | synthetic * | | local_dataflow.rb:10:5:13:3 | { ... } | local_dataflow.rb:10:5:13:3 | call to each | block | -| local_dataflow.rb:10:9:10:9 | * | local_dataflow.rb:10:9:10:9 | [false] ! ... | synthetic * | -| local_dataflow.rb:10:9:10:9 | * | local_dataflow.rb:10:9:10:9 | [true] ! ... | synthetic * | -| local_dataflow.rb:10:9:10:9 | * | local_dataflow.rb:10:9:10:9 | defined? ... | synthetic * | | local_dataflow.rb:10:9:10:9 | defined? ... | local_dataflow.rb:10:9:10:9 | [false] ! ... | self | | local_dataflow.rb:10:9:10:9 | defined? ... | local_dataflow.rb:10:9:10:9 | [true] ! ... | self | +| local_dataflow.rb:10:9:10:9 | synthetic splat argument | local_dataflow.rb:10:9:10:9 | [false] ! ... | synthetic * | +| local_dataflow.rb:10:9:10:9 | synthetic splat argument | local_dataflow.rb:10:9:10:9 | [true] ! ... | synthetic * | +| local_dataflow.rb:10:9:10:9 | synthetic splat argument | local_dataflow.rb:10:9:10:9 | defined? ... | synthetic * | | local_dataflow.rb:10:9:10:9 | x | local_dataflow.rb:10:9:10:9 | defined? ... | self | | local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:10:5:13:3 | call to each | self | -| local_dataflow.rb:11:1:11:2 | * | local_dataflow.rb:11:1:11:2 | call to do | synthetic * | | local_dataflow.rb:11:1:11:2 | self | local_dataflow.rb:11:1:11:2 | call to do | self | -| local_dataflow.rb:12:3:12:5 | * | local_dataflow.rb:12:3:12:5 | call to p | synthetic * | +| local_dataflow.rb:11:1:11:2 | synthetic splat argument | local_dataflow.rb:11:1:11:2 | call to do | synthetic * | | local_dataflow.rb:12:3:12:5 | self | local_dataflow.rb:12:3:12:5 | call to p | self | +| local_dataflow.rb:12:3:12:5 | synthetic splat argument | local_dataflow.rb:12:3:12:5 | call to p | synthetic * | | local_dataflow.rb:12:5:12:5 | x | local_dataflow.rb:12:3:12:5 | call to p | position 0 | -| local_dataflow.rb:15:1:17:3 | * | local_dataflow.rb:15:1:17:3 | call to each | synthetic * | +| local_dataflow.rb:15:1:17:3 | synthetic splat argument | local_dataflow.rb:15:1:17:3 | call to each | synthetic * | | local_dataflow.rb:15:1:17:3 | { ... } | local_dataflow.rb:15:1:17:3 | call to each | block | -| local_dataflow.rb:15:5:15:5 | * | local_dataflow.rb:15:5:15:5 | [false] ! ... | synthetic * | -| local_dataflow.rb:15:5:15:5 | * | local_dataflow.rb:15:5:15:5 | [true] ! ... | synthetic * | -| local_dataflow.rb:15:5:15:5 | * | local_dataflow.rb:15:5:15:5 | defined? ... | synthetic * | | local_dataflow.rb:15:5:15:5 | defined? ... | local_dataflow.rb:15:5:15:5 | [false] ! ... | self | | local_dataflow.rb:15:5:15:5 | defined? ... | local_dataflow.rb:15:5:15:5 | [true] ! ... | self | +| local_dataflow.rb:15:5:15:5 | synthetic splat argument | local_dataflow.rb:15:5:15:5 | [false] ! ... | synthetic * | +| local_dataflow.rb:15:5:15:5 | synthetic splat argument | local_dataflow.rb:15:5:15:5 | [true] ! ... | synthetic * | +| local_dataflow.rb:15:5:15:5 | synthetic splat argument | local_dataflow.rb:15:5:15:5 | defined? ... | synthetic * | | local_dataflow.rb:15:5:15:5 | x | local_dataflow.rb:15:5:15:5 | defined? ... | self | | local_dataflow.rb:15:10:15:14 | array | local_dataflow.rb:15:1:17:3 | call to each | self | -| local_dataflow.rb:19:1:21:3 | * | local_dataflow.rb:19:1:21:3 | call to each | synthetic * | +| local_dataflow.rb:19:1:21:3 | synthetic splat argument | local_dataflow.rb:19:1:21:3 | call to each | synthetic * | | local_dataflow.rb:19:1:21:3 | { ... } | local_dataflow.rb:19:1:21:3 | call to each | block | -| local_dataflow.rb:19:5:19:5 | * | local_dataflow.rb:19:5:19:5 | [false] ! ... | synthetic * | -| local_dataflow.rb:19:5:19:5 | * | local_dataflow.rb:19:5:19:5 | [true] ! ... | synthetic * | -| local_dataflow.rb:19:5:19:5 | * | local_dataflow.rb:19:5:19:5 | defined? ... | synthetic * | | local_dataflow.rb:19:5:19:5 | defined? ... | local_dataflow.rb:19:5:19:5 | [false] ! ... | self | | local_dataflow.rb:19:5:19:5 | defined? ... | local_dataflow.rb:19:5:19:5 | [true] ! ... | self | +| local_dataflow.rb:19:5:19:5 | synthetic splat argument | local_dataflow.rb:19:5:19:5 | [false] ! ... | synthetic * | +| local_dataflow.rb:19:5:19:5 | synthetic splat argument | local_dataflow.rb:19:5:19:5 | [true] ! ... | synthetic * | +| local_dataflow.rb:19:5:19:5 | synthetic splat argument | local_dataflow.rb:19:5:19:5 | defined? ... | synthetic * | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | defined? ... | self | | local_dataflow.rb:19:10:19:14 | array | local_dataflow.rb:19:1:21:3 | call to each | self | | local_dataflow.rb:20:6:20:6 | x | local_dataflow.rb:20:6:20:10 | ... > ... | self | -| local_dataflow.rb:20:6:20:10 | * | local_dataflow.rb:20:6:20:10 | ... > ... | synthetic * | +| local_dataflow.rb:20:6:20:10 | synthetic splat argument | local_dataflow.rb:20:6:20:10 | ... > ... | synthetic * | | local_dataflow.rb:20:10:20:10 | 1 | local_dataflow.rb:20:6:20:10 | ... > ... | position 0 | | local_dataflow.rb:35:6:35:6 | x | local_dataflow.rb:35:6:35:11 | ... == ... | self | -| local_dataflow.rb:35:6:35:11 | * | local_dataflow.rb:35:6:35:11 | ... == ... | synthetic * | +| local_dataflow.rb:35:6:35:11 | synthetic splat argument | local_dataflow.rb:35:6:35:11 | ... == ... | synthetic * | | local_dataflow.rb:35:11:35:11 | 4 | local_dataflow.rb:35:6:35:11 | ... == ... | position 0 | | local_dataflow.rb:42:6:42:6 | x | local_dataflow.rb:42:6:42:11 | ... == ... | self | -| local_dataflow.rb:42:6:42:11 | * | local_dataflow.rb:42:6:42:11 | ... == ... | synthetic * | +| local_dataflow.rb:42:6:42:11 | synthetic splat argument | local_dataflow.rb:42:6:42:11 | ... == ... | synthetic * | | local_dataflow.rb:42:11:42:11 | 4 | local_dataflow.rb:42:6:42:11 | ... == ... | position 0 | -| local_dataflow.rb:49:1:53:3 | * | local_dataflow.rb:49:1:53:3 | call to m | synthetic * | | local_dataflow.rb:49:1:53:3 | self | local_dataflow.rb:49:1:53:3 | call to m | self | +| local_dataflow.rb:49:1:53:3 | synthetic splat argument | local_dataflow.rb:49:1:53:3 | call to m | synthetic * | | local_dataflow.rb:49:3:53:3 | do ... end | local_dataflow.rb:49:1:53:3 | call to m | block | | local_dataflow.rb:50:18:50:18 | x | local_dataflow.rb:50:18:50:22 | ... < ... | self | -| local_dataflow.rb:50:18:50:22 | * | local_dataflow.rb:50:18:50:22 | ... < ... | synthetic * | +| local_dataflow.rb:50:18:50:22 | synthetic splat argument | local_dataflow.rb:50:18:50:22 | ... < ... | synthetic * | | local_dataflow.rb:50:22:50:22 | 4 | local_dataflow.rb:50:18:50:22 | ... < ... | position 0 | | local_dataflow.rb:51:20:51:20 | x | local_dataflow.rb:51:20:51:24 | ... < ... | self | -| local_dataflow.rb:51:20:51:24 | * | local_dataflow.rb:51:20:51:24 | ... < ... | synthetic * | +| local_dataflow.rb:51:20:51:24 | synthetic splat argument | local_dataflow.rb:51:20:51:24 | ... < ... | synthetic * | | local_dataflow.rb:51:24:51:24 | 9 | local_dataflow.rb:51:20:51:24 | ... < ... | position 0 | -| local_dataflow.rb:55:1:55:14 | * | local_dataflow.rb:55:1:55:14 | call to foo | synthetic * | | local_dataflow.rb:55:1:55:14 | self | local_dataflow.rb:55:1:55:14 | call to foo | self | -| local_dataflow.rb:55:5:55:13 | * | local_dataflow.rb:55:5:55:13 | call to [] | synthetic * | +| local_dataflow.rb:55:1:55:14 | synthetic splat argument | local_dataflow.rb:55:1:55:14 | call to foo | synthetic * | | local_dataflow.rb:55:5:55:13 | Array | local_dataflow.rb:55:5:55:13 | call to [] | self | | local_dataflow.rb:55:5:55:13 | call to [] | local_dataflow.rb:55:1:55:14 | call to foo | position 0 | +| local_dataflow.rb:55:5:55:13 | synthetic splat argument | local_dataflow.rb:55:5:55:13 | call to [] | synthetic * | | local_dataflow.rb:55:6:55:6 | 1 | local_dataflow.rb:55:5:55:13 | call to [] | position 0 | | local_dataflow.rb:55:9:55:9 | 2 | local_dataflow.rb:55:5:55:13 | call to [] | position 1 | | local_dataflow.rb:55:12:55:12 | 3 | local_dataflow.rb:55:5:55:13 | call to [] | position 2 | -| local_dataflow.rb:78:12:78:20 | * | local_dataflow.rb:78:12:78:20 | call to source | synthetic * | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:78:12:78:20 | call to source | self | +| local_dataflow.rb:78:12:78:20 | synthetic splat argument | local_dataflow.rb:78:12:78:20 | call to source | synthetic * | | local_dataflow.rb:78:19:78:19 | 1 | local_dataflow.rb:78:12:78:20 | call to source | position 0 | -| local_dataflow.rb:79:20:79:26 | * | local_dataflow.rb:79:20:79:26 | call to sink | synthetic * | | local_dataflow.rb:79:20:79:26 | self | local_dataflow.rb:79:20:79:26 | call to sink | self | +| local_dataflow.rb:79:20:79:26 | synthetic splat argument | local_dataflow.rb:79:20:79:26 | call to sink | synthetic * | | local_dataflow.rb:79:25:79:25 | b | local_dataflow.rb:79:20:79:26 | call to sink | position 0 | | local_dataflow.rb:80:13:80:13 | a | local_dataflow.rb:80:13:80:17 | ... > ... | self | -| local_dataflow.rb:80:13:80:17 | * | local_dataflow.rb:80:13:80:17 | ... > ... | synthetic * | +| local_dataflow.rb:80:13:80:17 | synthetic splat argument | local_dataflow.rb:80:13:80:17 | ... > ... | synthetic * | | local_dataflow.rb:80:17:80:17 | 0 | local_dataflow.rb:80:13:80:17 | ... > ... | position 0 | -| local_dataflow.rb:80:24:80:30 | * | local_dataflow.rb:80:24:80:30 | call to sink | synthetic * | | local_dataflow.rb:80:24:80:30 | self | local_dataflow.rb:80:24:80:30 | call to sink | self | +| local_dataflow.rb:80:24:80:30 | synthetic splat argument | local_dataflow.rb:80:24:80:30 | call to sink | synthetic * | | local_dataflow.rb:80:29:80:29 | a | local_dataflow.rb:80:24:80:30 | call to sink | position 0 | -| local_dataflow.rb:81:25:84:14 | * | local_dataflow.rb:81:25:84:14 | call to [] | synthetic * | | local_dataflow.rb:81:25:84:14 | Array | local_dataflow.rb:81:25:84:14 | call to [] | self | -| local_dataflow.rb:82:7:82:13 | * | local_dataflow.rb:82:7:82:13 | call to sink | synthetic * | +| local_dataflow.rb:81:25:84:14 | synthetic splat argument | local_dataflow.rb:81:25:84:14 | call to [] | synthetic * | | local_dataflow.rb:82:7:82:13 | call to sink | local_dataflow.rb:81:25:84:14 | call to [] | position 0 | | local_dataflow.rb:82:7:82:13 | self | local_dataflow.rb:82:7:82:13 | call to sink | self | +| local_dataflow.rb:82:7:82:13 | synthetic splat argument | local_dataflow.rb:82:7:82:13 | call to sink | synthetic * | | local_dataflow.rb:82:12:82:12 | c | local_dataflow.rb:82:7:82:13 | call to sink | position 0 | -| local_dataflow.rb:83:7:83:13 | * | local_dataflow.rb:83:7:83:13 | call to sink | synthetic * | | local_dataflow.rb:83:7:83:13 | call to sink | local_dataflow.rb:81:25:84:14 | call to [] | position 1 | | local_dataflow.rb:83:7:83:13 | self | local_dataflow.rb:83:7:83:13 | call to sink | self | +| local_dataflow.rb:83:7:83:13 | synthetic splat argument | local_dataflow.rb:83:7:83:13 | call to sink | synthetic * | | local_dataflow.rb:83:12:83:12 | d | local_dataflow.rb:83:7:83:13 | call to sink | position 0 | -| local_dataflow.rb:84:7:84:13 | * | local_dataflow.rb:84:7:84:13 | call to sink | synthetic * | | local_dataflow.rb:84:7:84:13 | call to sink | local_dataflow.rb:81:25:84:14 | call to [] | position 2 | | local_dataflow.rb:84:7:84:13 | self | local_dataflow.rb:84:7:84:13 | call to sink | self | +| local_dataflow.rb:84:7:84:13 | synthetic splat argument | local_dataflow.rb:84:7:84:13 | call to sink | synthetic * | | local_dataflow.rb:84:12:84:12 | e | local_dataflow.rb:84:7:84:13 | call to sink | position 0 | -| local_dataflow.rb:85:22:85:28 | * | local_dataflow.rb:85:22:85:28 | call to sink | synthetic * | | local_dataflow.rb:85:22:85:28 | self | local_dataflow.rb:85:22:85:28 | call to sink | self | +| local_dataflow.rb:85:22:85:28 | synthetic splat argument | local_dataflow.rb:85:22:85:28 | call to sink | synthetic * | | local_dataflow.rb:85:27:85:27 | f | local_dataflow.rb:85:22:85:28 | call to sink | position 0 | -| local_dataflow.rb:86:28:86:34 | * | local_dataflow.rb:86:28:86:34 | call to sink | synthetic * | | local_dataflow.rb:86:28:86:34 | self | local_dataflow.rb:86:28:86:34 | call to sink | self | +| local_dataflow.rb:86:28:86:34 | synthetic splat argument | local_dataflow.rb:86:28:86:34 | call to sink | synthetic * | | local_dataflow.rb:86:33:86:33 | g | local_dataflow.rb:86:28:86:34 | call to sink | position 0 | -| local_dataflow.rb:87:20:87:26 | * | local_dataflow.rb:87:20:87:26 | call to sink | synthetic * | | local_dataflow.rb:87:20:87:26 | self | local_dataflow.rb:87:20:87:26 | call to sink | self | +| local_dataflow.rb:87:20:87:26 | synthetic splat argument | local_dataflow.rb:87:20:87:26 | call to sink | synthetic * | | local_dataflow.rb:87:25:87:25 | x | local_dataflow.rb:87:20:87:26 | call to sink | position 0 | -| local_dataflow.rb:89:3:89:9 | * | local_dataflow.rb:89:3:89:9 | call to sink | synthetic * | | local_dataflow.rb:89:3:89:9 | self | local_dataflow.rb:89:3:89:9 | call to sink | self | +| local_dataflow.rb:89:3:89:9 | synthetic splat argument | local_dataflow.rb:89:3:89:9 | call to sink | synthetic * | | local_dataflow.rb:89:8:89:8 | z | local_dataflow.rb:89:3:89:9 | call to sink | position 0 | -| local_dataflow.rb:93:7:93:15 | * | local_dataflow.rb:93:7:93:15 | call to source | synthetic * | | local_dataflow.rb:93:7:93:15 | call to source | local_dataflow.rb:93:7:93:28 | ... \|\| ... | self | | local_dataflow.rb:93:7:93:15 | self | local_dataflow.rb:93:7:93:15 | call to source | self | -| local_dataflow.rb:93:7:93:28 | * | local_dataflow.rb:93:7:93:28 | ... \|\| ... | synthetic * | +| local_dataflow.rb:93:7:93:15 | synthetic splat argument | local_dataflow.rb:93:7:93:15 | call to source | synthetic * | +| local_dataflow.rb:93:7:93:28 | synthetic splat argument | local_dataflow.rb:93:7:93:28 | ... \|\| ... | synthetic * | | local_dataflow.rb:93:14:93:14 | 1 | local_dataflow.rb:93:7:93:15 | call to source | position 0 | -| local_dataflow.rb:93:20:93:28 | * | local_dataflow.rb:93:20:93:28 | call to source | synthetic * | | local_dataflow.rb:93:20:93:28 | call to source | local_dataflow.rb:93:7:93:28 | ... \|\| ... | position 0 | | local_dataflow.rb:93:20:93:28 | self | local_dataflow.rb:93:20:93:28 | call to source | self | +| local_dataflow.rb:93:20:93:28 | synthetic splat argument | local_dataflow.rb:93:20:93:28 | call to source | synthetic * | | local_dataflow.rb:93:27:93:27 | 2 | local_dataflow.rb:93:20:93:28 | call to source | position 0 | -| local_dataflow.rb:94:3:94:9 | * | local_dataflow.rb:94:3:94:9 | call to sink | synthetic * | | local_dataflow.rb:94:3:94:9 | self | local_dataflow.rb:94:3:94:9 | call to sink | self | +| local_dataflow.rb:94:3:94:9 | synthetic splat argument | local_dataflow.rb:94:3:94:9 | call to sink | synthetic * | | local_dataflow.rb:94:8:94:8 | a | local_dataflow.rb:94:3:94:9 | call to sink | position 0 | -| local_dataflow.rb:95:8:95:16 | * | local_dataflow.rb:95:8:95:16 | call to source | synthetic * | | local_dataflow.rb:95:8:95:16 | call to source | local_dataflow.rb:95:8:95:29 | ... or ... | self | | local_dataflow.rb:95:8:95:16 | self | local_dataflow.rb:95:8:95:16 | call to source | self | -| local_dataflow.rb:95:8:95:29 | * | local_dataflow.rb:95:8:95:29 | ... or ... | synthetic * | +| local_dataflow.rb:95:8:95:16 | synthetic splat argument | local_dataflow.rb:95:8:95:16 | call to source | synthetic * | +| local_dataflow.rb:95:8:95:29 | synthetic splat argument | local_dataflow.rb:95:8:95:29 | ... or ... | synthetic * | | local_dataflow.rb:95:15:95:15 | 1 | local_dataflow.rb:95:8:95:16 | call to source | position 0 | -| local_dataflow.rb:95:21:95:29 | * | local_dataflow.rb:95:21:95:29 | call to source | synthetic * | | local_dataflow.rb:95:21:95:29 | call to source | local_dataflow.rb:95:8:95:29 | ... or ... | position 0 | | local_dataflow.rb:95:21:95:29 | self | local_dataflow.rb:95:21:95:29 | call to source | self | +| local_dataflow.rb:95:21:95:29 | synthetic splat argument | local_dataflow.rb:95:21:95:29 | call to source | synthetic * | | local_dataflow.rb:95:28:95:28 | 2 | local_dataflow.rb:95:21:95:29 | call to source | position 0 | -| local_dataflow.rb:96:3:96:9 | * | local_dataflow.rb:96:3:96:9 | call to sink | synthetic * | | local_dataflow.rb:96:3:96:9 | self | local_dataflow.rb:96:3:96:9 | call to sink | self | +| local_dataflow.rb:96:3:96:9 | synthetic splat argument | local_dataflow.rb:96:3:96:9 | call to sink | synthetic * | | local_dataflow.rb:96:8:96:8 | b | local_dataflow.rb:96:3:96:9 | call to sink | position 0 | -| local_dataflow.rb:98:7:98:15 | * | local_dataflow.rb:98:7:98:15 | call to source | synthetic * | | local_dataflow.rb:98:7:98:15 | call to source | local_dataflow.rb:98:7:98:28 | ... && ... | self | | local_dataflow.rb:98:7:98:15 | self | local_dataflow.rb:98:7:98:15 | call to source | self | -| local_dataflow.rb:98:7:98:28 | * | local_dataflow.rb:98:7:98:28 | ... && ... | synthetic * | +| local_dataflow.rb:98:7:98:15 | synthetic splat argument | local_dataflow.rb:98:7:98:15 | call to source | synthetic * | +| local_dataflow.rb:98:7:98:28 | synthetic splat argument | local_dataflow.rb:98:7:98:28 | ... && ... | synthetic * | | local_dataflow.rb:98:14:98:14 | 1 | local_dataflow.rb:98:7:98:15 | call to source | position 0 | -| local_dataflow.rb:98:20:98:28 | * | local_dataflow.rb:98:20:98:28 | call to source | synthetic * | | local_dataflow.rb:98:20:98:28 | call to source | local_dataflow.rb:98:7:98:28 | ... && ... | position 0 | | local_dataflow.rb:98:20:98:28 | self | local_dataflow.rb:98:20:98:28 | call to source | self | +| local_dataflow.rb:98:20:98:28 | synthetic splat argument | local_dataflow.rb:98:20:98:28 | call to source | synthetic * | | local_dataflow.rb:98:27:98:27 | 2 | local_dataflow.rb:98:20:98:28 | call to source | position 0 | -| local_dataflow.rb:99:3:99:9 | * | local_dataflow.rb:99:3:99:9 | call to sink | synthetic * | | local_dataflow.rb:99:3:99:9 | self | local_dataflow.rb:99:3:99:9 | call to sink | self | +| local_dataflow.rb:99:3:99:9 | synthetic splat argument | local_dataflow.rb:99:3:99:9 | call to sink | synthetic * | | local_dataflow.rb:99:8:99:8 | a | local_dataflow.rb:99:3:99:9 | call to sink | position 0 | -| local_dataflow.rb:100:8:100:16 | * | local_dataflow.rb:100:8:100:16 | call to source | synthetic * | | local_dataflow.rb:100:8:100:16 | call to source | local_dataflow.rb:100:8:100:30 | ... and ... | self | | local_dataflow.rb:100:8:100:16 | self | local_dataflow.rb:100:8:100:16 | call to source | self | -| local_dataflow.rb:100:8:100:30 | * | local_dataflow.rb:100:8:100:30 | ... and ... | synthetic * | +| local_dataflow.rb:100:8:100:16 | synthetic splat argument | local_dataflow.rb:100:8:100:16 | call to source | synthetic * | +| local_dataflow.rb:100:8:100:30 | synthetic splat argument | local_dataflow.rb:100:8:100:30 | ... and ... | synthetic * | | local_dataflow.rb:100:15:100:15 | 1 | local_dataflow.rb:100:8:100:16 | call to source | position 0 | -| local_dataflow.rb:100:22:100:30 | * | local_dataflow.rb:100:22:100:30 | call to source | synthetic * | | local_dataflow.rb:100:22:100:30 | call to source | local_dataflow.rb:100:8:100:30 | ... and ... | position 0 | | local_dataflow.rb:100:22:100:30 | self | local_dataflow.rb:100:22:100:30 | call to source | self | +| local_dataflow.rb:100:22:100:30 | synthetic splat argument | local_dataflow.rb:100:22:100:30 | call to source | synthetic * | | local_dataflow.rb:100:29:100:29 | 2 | local_dataflow.rb:100:22:100:30 | call to source | position 0 | -| local_dataflow.rb:101:3:101:9 | * | local_dataflow.rb:101:3:101:9 | call to sink | synthetic * | | local_dataflow.rb:101:3:101:9 | self | local_dataflow.rb:101:3:101:9 | call to sink | self | +| local_dataflow.rb:101:3:101:9 | synthetic splat argument | local_dataflow.rb:101:3:101:9 | call to sink | synthetic * | | local_dataflow.rb:101:8:101:8 | b | local_dataflow.rb:101:3:101:9 | call to sink | position 0 | -| local_dataflow.rb:103:7:103:15 | * | local_dataflow.rb:103:7:103:15 | call to source | synthetic * | | local_dataflow.rb:103:7:103:15 | self | local_dataflow.rb:103:7:103:15 | call to source | self | +| local_dataflow.rb:103:7:103:15 | synthetic splat argument | local_dataflow.rb:103:7:103:15 | call to source | synthetic * | | local_dataflow.rb:103:14:103:14 | 5 | local_dataflow.rb:103:7:103:15 | call to source | position 0 | | local_dataflow.rb:104:3:104:3 | a | local_dataflow.rb:104:5:104:7 | ... \|\| ... | self | -| local_dataflow.rb:104:5:104:7 | * | local_dataflow.rb:104:5:104:7 | ... \|\| ... | synthetic * | -| local_dataflow.rb:104:9:104:17 | * | local_dataflow.rb:104:9:104:17 | call to source | synthetic * | +| local_dataflow.rb:104:5:104:7 | synthetic splat argument | local_dataflow.rb:104:5:104:7 | ... \|\| ... | synthetic * | | local_dataflow.rb:104:9:104:17 | call to source | local_dataflow.rb:104:5:104:7 | ... \|\| ... | position 0 | | local_dataflow.rb:104:9:104:17 | self | local_dataflow.rb:104:9:104:17 | call to source | self | +| local_dataflow.rb:104:9:104:17 | synthetic splat argument | local_dataflow.rb:104:9:104:17 | call to source | synthetic * | | local_dataflow.rb:104:16:104:16 | 6 | local_dataflow.rb:104:9:104:17 | call to source | position 0 | -| local_dataflow.rb:105:3:105:9 | * | local_dataflow.rb:105:3:105:9 | call to sink | synthetic * | | local_dataflow.rb:105:3:105:9 | self | local_dataflow.rb:105:3:105:9 | call to sink | self | +| local_dataflow.rb:105:3:105:9 | synthetic splat argument | local_dataflow.rb:105:3:105:9 | call to sink | synthetic * | | local_dataflow.rb:105:8:105:8 | a | local_dataflow.rb:105:3:105:9 | call to sink | position 0 | -| local_dataflow.rb:106:7:106:15 | * | local_dataflow.rb:106:7:106:15 | call to source | synthetic * | | local_dataflow.rb:106:7:106:15 | self | local_dataflow.rb:106:7:106:15 | call to source | self | +| local_dataflow.rb:106:7:106:15 | synthetic splat argument | local_dataflow.rb:106:7:106:15 | call to source | synthetic * | | local_dataflow.rb:106:14:106:14 | 7 | local_dataflow.rb:106:7:106:15 | call to source | position 0 | | local_dataflow.rb:107:3:107:3 | b | local_dataflow.rb:107:5:107:7 | ... && ... | self | -| local_dataflow.rb:107:5:107:7 | * | local_dataflow.rb:107:5:107:7 | ... && ... | synthetic * | -| local_dataflow.rb:107:9:107:17 | * | local_dataflow.rb:107:9:107:17 | call to source | synthetic * | +| local_dataflow.rb:107:5:107:7 | synthetic splat argument | local_dataflow.rb:107:5:107:7 | ... && ... | synthetic * | | local_dataflow.rb:107:9:107:17 | call to source | local_dataflow.rb:107:5:107:7 | ... && ... | position 0 | | local_dataflow.rb:107:9:107:17 | self | local_dataflow.rb:107:9:107:17 | call to source | self | +| local_dataflow.rb:107:9:107:17 | synthetic splat argument | local_dataflow.rb:107:9:107:17 | call to source | synthetic * | | local_dataflow.rb:107:16:107:16 | 8 | local_dataflow.rb:107:9:107:17 | call to source | position 0 | -| local_dataflow.rb:108:3:108:9 | * | local_dataflow.rb:108:3:108:9 | call to sink | synthetic * | | local_dataflow.rb:108:3:108:9 | self | local_dataflow.rb:108:3:108:9 | call to sink | self | +| local_dataflow.rb:108:3:108:9 | synthetic splat argument | local_dataflow.rb:108:3:108:9 | call to sink | synthetic * | | local_dataflow.rb:108:8:108:8 | b | local_dataflow.rb:108:3:108:9 | call to sink | position 0 | -| local_dataflow.rb:112:3:112:21 | * | local_dataflow.rb:112:3:112:21 | call to sink | synthetic * | | local_dataflow.rb:112:3:112:21 | self | local_dataflow.rb:112:3:112:21 | call to sink | self | -| local_dataflow.rb:112:8:112:16 | * | local_dataflow.rb:112:8:112:16 | call to source | synthetic * | +| local_dataflow.rb:112:3:112:21 | synthetic splat argument | local_dataflow.rb:112:3:112:21 | call to sink | synthetic * | | local_dataflow.rb:112:8:112:16 | call to source | local_dataflow.rb:112:8:112:20 | call to dup | self | | local_dataflow.rb:112:8:112:16 | self | local_dataflow.rb:112:8:112:16 | call to source | self | -| local_dataflow.rb:112:8:112:20 | * | local_dataflow.rb:112:8:112:20 | call to dup | synthetic * | +| local_dataflow.rb:112:8:112:16 | synthetic splat argument | local_dataflow.rb:112:8:112:16 | call to source | synthetic * | | local_dataflow.rb:112:8:112:20 | call to dup | local_dataflow.rb:112:3:112:21 | call to sink | position 0 | +| local_dataflow.rb:112:8:112:20 | synthetic splat argument | local_dataflow.rb:112:8:112:20 | call to dup | synthetic * | | local_dataflow.rb:112:15:112:15 | 1 | local_dataflow.rb:112:8:112:16 | call to source | position 0 | -| local_dataflow.rb:113:3:113:25 | * | local_dataflow.rb:113:3:113:25 | call to sink | synthetic * | | local_dataflow.rb:113:3:113:25 | self | local_dataflow.rb:113:3:113:25 | call to sink | self | -| local_dataflow.rb:113:8:113:16 | * | local_dataflow.rb:113:8:113:16 | call to source | synthetic * | +| local_dataflow.rb:113:3:113:25 | synthetic splat argument | local_dataflow.rb:113:3:113:25 | call to sink | synthetic * | | local_dataflow.rb:113:8:113:16 | call to source | local_dataflow.rb:113:8:113:20 | call to dup | self | | local_dataflow.rb:113:8:113:16 | self | local_dataflow.rb:113:8:113:16 | call to source | self | -| local_dataflow.rb:113:8:113:20 | * | local_dataflow.rb:113:8:113:20 | call to dup | synthetic * | +| local_dataflow.rb:113:8:113:16 | synthetic splat argument | local_dataflow.rb:113:8:113:16 | call to source | synthetic * | | local_dataflow.rb:113:8:113:20 | call to dup | local_dataflow.rb:113:8:113:24 | call to dup | self | -| local_dataflow.rb:113:8:113:24 | * | local_dataflow.rb:113:8:113:24 | call to dup | synthetic * | +| local_dataflow.rb:113:8:113:20 | synthetic splat argument | local_dataflow.rb:113:8:113:20 | call to dup | synthetic * | | local_dataflow.rb:113:8:113:24 | call to dup | local_dataflow.rb:113:3:113:25 | call to sink | position 0 | +| local_dataflow.rb:113:8:113:24 | synthetic splat argument | local_dataflow.rb:113:8:113:24 | call to dup | synthetic * | | local_dataflow.rb:113:15:113:15 | 1 | local_dataflow.rb:113:8:113:16 | call to source | position 0 | -| local_dataflow.rb:117:3:117:24 | * | local_dataflow.rb:117:3:117:24 | call to sink | synthetic * | | local_dataflow.rb:117:3:117:24 | self | local_dataflow.rb:117:3:117:24 | call to sink | self | -| local_dataflow.rb:117:8:117:16 | * | local_dataflow.rb:117:8:117:16 | call to source | synthetic * | +| local_dataflow.rb:117:3:117:24 | synthetic splat argument | local_dataflow.rb:117:3:117:24 | call to sink | synthetic * | | local_dataflow.rb:117:8:117:16 | call to source | local_dataflow.rb:117:8:117:23 | call to tap | self | | local_dataflow.rb:117:8:117:16 | self | local_dataflow.rb:117:8:117:16 | call to source | self | -| local_dataflow.rb:117:8:117:23 | * | local_dataflow.rb:117:8:117:23 | call to tap | synthetic * | +| local_dataflow.rb:117:8:117:16 | synthetic splat argument | local_dataflow.rb:117:8:117:16 | call to source | synthetic * | | local_dataflow.rb:117:8:117:23 | call to tap | local_dataflow.rb:117:3:117:24 | call to sink | position 0 | +| local_dataflow.rb:117:8:117:23 | synthetic splat argument | local_dataflow.rb:117:8:117:23 | call to tap | synthetic * | | local_dataflow.rb:117:15:117:15 | 1 | local_dataflow.rb:117:8:117:16 | call to source | position 0 | | local_dataflow.rb:117:22:117:23 | { ... } | local_dataflow.rb:117:8:117:23 | call to tap | block | -| local_dataflow.rb:118:3:118:11 | * | local_dataflow.rb:118:3:118:11 | call to source | synthetic * | | local_dataflow.rb:118:3:118:11 | call to source | local_dataflow.rb:118:3:118:31 | call to tap | self | | local_dataflow.rb:118:3:118:11 | self | local_dataflow.rb:118:3:118:11 | call to source | self | -| local_dataflow.rb:118:3:118:31 | * | local_dataflow.rb:118:3:118:31 | call to tap | synthetic * | +| local_dataflow.rb:118:3:118:11 | synthetic splat argument | local_dataflow.rb:118:3:118:11 | call to source | synthetic * | +| local_dataflow.rb:118:3:118:31 | synthetic splat argument | local_dataflow.rb:118:3:118:31 | call to tap | synthetic * | | local_dataflow.rb:118:10:118:10 | 1 | local_dataflow.rb:118:3:118:11 | call to source | position 0 | | local_dataflow.rb:118:17:118:31 | { ... } | local_dataflow.rb:118:3:118:31 | call to tap | block | -| local_dataflow.rb:118:23:118:29 | * | local_dataflow.rb:118:23:118:29 | call to sink | synthetic * | | local_dataflow.rb:118:23:118:29 | self | local_dataflow.rb:118:23:118:29 | call to sink | self | +| local_dataflow.rb:118:23:118:29 | synthetic splat argument | local_dataflow.rb:118:23:118:29 | call to sink | synthetic * | | local_dataflow.rb:118:28:118:28 | x | local_dataflow.rb:118:23:118:29 | call to sink | position 0 | -| local_dataflow.rb:119:3:119:31 | * | local_dataflow.rb:119:3:119:31 | call to sink | synthetic * | | local_dataflow.rb:119:3:119:31 | self | local_dataflow.rb:119:3:119:31 | call to sink | self | -| local_dataflow.rb:119:8:119:16 | * | local_dataflow.rb:119:8:119:16 | call to source | synthetic * | +| local_dataflow.rb:119:3:119:31 | synthetic splat argument | local_dataflow.rb:119:3:119:31 | call to sink | synthetic * | | local_dataflow.rb:119:8:119:16 | call to source | local_dataflow.rb:119:8:119:23 | call to tap | self | | local_dataflow.rb:119:8:119:16 | self | local_dataflow.rb:119:8:119:16 | call to source | self | -| local_dataflow.rb:119:8:119:23 | * | local_dataflow.rb:119:8:119:23 | call to tap | synthetic * | +| local_dataflow.rb:119:8:119:16 | synthetic splat argument | local_dataflow.rb:119:8:119:16 | call to source | synthetic * | | local_dataflow.rb:119:8:119:23 | call to tap | local_dataflow.rb:119:8:119:30 | call to tap | self | -| local_dataflow.rb:119:8:119:30 | * | local_dataflow.rb:119:8:119:30 | call to tap | synthetic * | +| local_dataflow.rb:119:8:119:23 | synthetic splat argument | local_dataflow.rb:119:8:119:23 | call to tap | synthetic * | | local_dataflow.rb:119:8:119:30 | call to tap | local_dataflow.rb:119:3:119:31 | call to sink | position 0 | +| local_dataflow.rb:119:8:119:30 | synthetic splat argument | local_dataflow.rb:119:8:119:30 | call to tap | synthetic * | | local_dataflow.rb:119:15:119:15 | 1 | local_dataflow.rb:119:8:119:16 | call to source | position 0 | | local_dataflow.rb:119:22:119:23 | { ... } | local_dataflow.rb:119:8:119:23 | call to tap | block | | local_dataflow.rb:119:29:119:30 | { ... } | local_dataflow.rb:119:8:119:30 | call to tap | block | -| local_dataflow.rb:123:3:123:50 | * | local_dataflow.rb:123:3:123:50 | call to sink | synthetic * | | local_dataflow.rb:123:3:123:50 | self | local_dataflow.rb:123:3:123:50 | call to sink | self | -| local_dataflow.rb:123:8:123:16 | * | local_dataflow.rb:123:8:123:16 | call to source | synthetic * | +| local_dataflow.rb:123:3:123:50 | synthetic splat argument | local_dataflow.rb:123:3:123:50 | call to sink | synthetic * | | local_dataflow.rb:123:8:123:16 | call to source | local_dataflow.rb:123:8:123:20 | call to dup | self | | local_dataflow.rb:123:8:123:16 | self | local_dataflow.rb:123:8:123:16 | call to source | self | -| local_dataflow.rb:123:8:123:20 | * | local_dataflow.rb:123:8:123:20 | call to dup | synthetic * | +| local_dataflow.rb:123:8:123:16 | synthetic splat argument | local_dataflow.rb:123:8:123:16 | call to source | synthetic * | | local_dataflow.rb:123:8:123:20 | call to dup | local_dataflow.rb:123:8:123:45 | call to tap | self | -| local_dataflow.rb:123:8:123:45 | * | local_dataflow.rb:123:8:123:45 | call to tap | synthetic * | +| local_dataflow.rb:123:8:123:20 | synthetic splat argument | local_dataflow.rb:123:8:123:20 | call to dup | synthetic * | | local_dataflow.rb:123:8:123:45 | call to tap | local_dataflow.rb:123:8:123:49 | call to dup | self | -| local_dataflow.rb:123:8:123:49 | * | local_dataflow.rb:123:8:123:49 | call to dup | synthetic * | +| local_dataflow.rb:123:8:123:45 | synthetic splat argument | local_dataflow.rb:123:8:123:45 | call to tap | synthetic * | | local_dataflow.rb:123:8:123:49 | call to dup | local_dataflow.rb:123:3:123:50 | call to sink | position 0 | +| local_dataflow.rb:123:8:123:49 | synthetic splat argument | local_dataflow.rb:123:8:123:49 | call to dup | synthetic * | | local_dataflow.rb:123:15:123:15 | 1 | local_dataflow.rb:123:8:123:16 | call to source | position 0 | | local_dataflow.rb:123:26:123:45 | { ... } | local_dataflow.rb:123:8:123:45 | call to tap | block | -| local_dataflow.rb:123:32:123:43 | * | local_dataflow.rb:123:32:123:43 | call to puts | synthetic * | | local_dataflow.rb:123:32:123:43 | self | local_dataflow.rb:123:32:123:43 | call to puts | self | +| local_dataflow.rb:123:32:123:43 | synthetic splat argument | local_dataflow.rb:123:32:123:43 | call to puts | synthetic * | | local_dataflow.rb:123:37:123:43 | "hello" | local_dataflow.rb:123:32:123:43 | call to puts | position 0 | -| local_dataflow.rb:127:3:127:8 | * | local_dataflow.rb:127:3:127:8 | call to rand | synthetic * | | local_dataflow.rb:127:3:127:8 | self | local_dataflow.rb:127:3:127:8 | call to rand | self | -| local_dataflow.rb:132:6:132:11 | * | local_dataflow.rb:132:6:132:11 | call to use | synthetic * | +| local_dataflow.rb:127:3:127:8 | synthetic splat argument | local_dataflow.rb:127:3:127:8 | call to rand | synthetic * | | local_dataflow.rb:132:6:132:11 | self | local_dataflow.rb:132:6:132:11 | call to use | self | +| local_dataflow.rb:132:6:132:11 | synthetic splat argument | local_dataflow.rb:132:6:132:11 | call to use | synthetic * | | local_dataflow.rb:132:10:132:10 | x | local_dataflow.rb:132:6:132:11 | call to use | position 0 | -| local_dataflow.rb:133:8:133:13 | * | local_dataflow.rb:133:8:133:13 | call to use | synthetic * | | local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | self | | local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | self | | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:8:133:13 | call to use | self | -| local_dataflow.rb:133:8:133:23 | * | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | synthetic * | -| local_dataflow.rb:133:8:133:23 | * | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | synthetic * | +| local_dataflow.rb:133:8:133:13 | synthetic splat argument | local_dataflow.rb:133:8:133:13 | call to use | synthetic * | +| local_dataflow.rb:133:8:133:23 | synthetic splat argument | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | synthetic * | +| local_dataflow.rb:133:8:133:23 | synthetic splat argument | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | synthetic * | | local_dataflow.rb:133:12:133:12 | x | local_dataflow.rb:133:8:133:13 | call to use | position 0 | -| local_dataflow.rb:133:18:133:23 | * | local_dataflow.rb:133:18:133:23 | call to use | synthetic * | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | position 0 | | local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | position 0 | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:133:18:133:23 | call to use | self | +| local_dataflow.rb:133:18:133:23 | synthetic splat argument | local_dataflow.rb:133:18:133:23 | call to use | synthetic * | | local_dataflow.rb:133:22:133:22 | x | local_dataflow.rb:133:18:133:23 | call to use | position 0 | -| local_dataflow.rb:134:7:134:12 | * | local_dataflow.rb:134:7:134:12 | call to use | synthetic * | | local_dataflow.rb:134:7:134:12 | self | local_dataflow.rb:134:7:134:12 | call to use | self | +| local_dataflow.rb:134:7:134:12 | synthetic splat argument | local_dataflow.rb:134:7:134:12 | call to use | synthetic * | | local_dataflow.rb:134:11:134:11 | x | local_dataflow.rb:134:7:134:12 | call to use | position 0 | -| local_dataflow.rb:136:7:136:12 | * | local_dataflow.rb:136:7:136:12 | call to use | synthetic * | | local_dataflow.rb:136:7:136:12 | self | local_dataflow.rb:136:7:136:12 | call to use | self | +| local_dataflow.rb:136:7:136:12 | synthetic splat argument | local_dataflow.rb:136:7:136:12 | call to use | synthetic * | | local_dataflow.rb:136:11:136:11 | x | local_dataflow.rb:136:7:136:12 | call to use | position 0 | -| local_dataflow.rb:137:10:137:15 | * | local_dataflow.rb:137:10:137:15 | call to use | synthetic * | | local_dataflow.rb:137:10:137:15 | call to use | local_dataflow.rb:137:10:137:26 | [false] ... && ... | self | | local_dataflow.rb:137:10:137:15 | call to use | local_dataflow.rb:137:10:137:26 | [true] ... && ... | self | | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:10:137:15 | call to use | self | -| local_dataflow.rb:137:10:137:26 | * | local_dataflow.rb:137:10:137:26 | [false] ... && ... | synthetic * | -| local_dataflow.rb:137:10:137:26 | * | local_dataflow.rb:137:10:137:26 | [true] ... && ... | synthetic * | +| local_dataflow.rb:137:10:137:15 | synthetic splat argument | local_dataflow.rb:137:10:137:15 | call to use | synthetic * | +| local_dataflow.rb:137:10:137:26 | synthetic splat argument | local_dataflow.rb:137:10:137:26 | [false] ... && ... | synthetic * | +| local_dataflow.rb:137:10:137:26 | synthetic splat argument | local_dataflow.rb:137:10:137:26 | [true] ... && ... | synthetic * | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:10:137:15 | call to use | position 0 | -| local_dataflow.rb:137:20:137:26 | * | local_dataflow.rb:137:20:137:26 | [false] ! ... | synthetic * | -| local_dataflow.rb:137:20:137:26 | * | local_dataflow.rb:137:20:137:26 | [true] ! ... | synthetic * | | local_dataflow.rb:137:20:137:26 | [false] ! ... | local_dataflow.rb:137:10:137:26 | [false] ... && ... | position 0 | | local_dataflow.rb:137:20:137:26 | [true] ! ... | local_dataflow.rb:137:10:137:26 | [true] ... && ... | position 0 | -| local_dataflow.rb:137:21:137:26 | * | local_dataflow.rb:137:21:137:26 | call to use | synthetic * | +| local_dataflow.rb:137:20:137:26 | synthetic splat argument | local_dataflow.rb:137:20:137:26 | [false] ! ... | synthetic * | +| local_dataflow.rb:137:20:137:26 | synthetic splat argument | local_dataflow.rb:137:20:137:26 | [true] ! ... | synthetic * | | local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | [false] ! ... | self | | local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | [true] ! ... | self | | local_dataflow.rb:137:21:137:26 | self | local_dataflow.rb:137:21:137:26 | call to use | self | +| local_dataflow.rb:137:21:137:26 | synthetic splat argument | local_dataflow.rb:137:21:137:26 | call to use | synthetic * | | local_dataflow.rb:137:25:137:25 | x | local_dataflow.rb:137:21:137:26 | call to use | position 0 | -| local_dataflow.rb:141:8:141:14 | * | local_dataflow.rb:141:8:141:14 | [false] ! ... | synthetic * | -| local_dataflow.rb:141:8:141:14 | * | local_dataflow.rb:141:8:141:14 | [true] ! ... | synthetic * | | local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | self | | local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | self | | local_dataflow.rb:141:8:141:14 | [true] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | self | -| local_dataflow.rb:141:8:141:37 | * | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | synthetic * | -| local_dataflow.rb:141:8:141:37 | * | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | synthetic * | -| local_dataflow.rb:141:9:141:14 | * | local_dataflow.rb:141:9:141:14 | call to use | synthetic * | +| local_dataflow.rb:141:8:141:14 | synthetic splat argument | local_dataflow.rb:141:8:141:14 | [false] ! ... | synthetic * | +| local_dataflow.rb:141:8:141:14 | synthetic splat argument | local_dataflow.rb:141:8:141:14 | [true] ! ... | synthetic * | +| local_dataflow.rb:141:8:141:37 | synthetic splat argument | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | synthetic * | +| local_dataflow.rb:141:8:141:37 | synthetic splat argument | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | synthetic * | | local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [false] ! ... | self | | local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [true] ! ... | self | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:9:141:14 | call to use | self | +| local_dataflow.rb:141:9:141:14 | synthetic splat argument | local_dataflow.rb:141:9:141:14 | call to use | synthetic * | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:9:141:14 | call to use | position 0 | | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | position 0 | | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | position 0 | -| local_dataflow.rb:141:20:141:25 | * | local_dataflow.rb:141:20:141:25 | call to use | synthetic * | | local_dataflow.rb:141:20:141:25 | call to use | local_dataflow.rb:141:20:141:36 | [false] ... && ... | self | | local_dataflow.rb:141:20:141:25 | call to use | local_dataflow.rb:141:20:141:36 | [true] ... && ... | self | | local_dataflow.rb:141:20:141:25 | self | local_dataflow.rb:141:20:141:25 | call to use | self | -| local_dataflow.rb:141:20:141:36 | * | local_dataflow.rb:141:20:141:36 | [false] ... && ... | synthetic * | -| local_dataflow.rb:141:20:141:36 | * | local_dataflow.rb:141:20:141:36 | [true] ... && ... | synthetic * | +| local_dataflow.rb:141:20:141:25 | synthetic splat argument | local_dataflow.rb:141:20:141:25 | call to use | synthetic * | +| local_dataflow.rb:141:20:141:36 | synthetic splat argument | local_dataflow.rb:141:20:141:36 | [false] ... && ... | synthetic * | +| local_dataflow.rb:141:20:141:36 | synthetic splat argument | local_dataflow.rb:141:20:141:36 | [true] ... && ... | synthetic * | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:20:141:25 | call to use | position 0 | -| local_dataflow.rb:141:30:141:36 | * | local_dataflow.rb:141:30:141:36 | [false] ! ... | synthetic * | -| local_dataflow.rb:141:30:141:36 | * | local_dataflow.rb:141:30:141:36 | [true] ! ... | synthetic * | | local_dataflow.rb:141:30:141:36 | [false] ! ... | local_dataflow.rb:141:20:141:36 | [false] ... && ... | position 0 | | local_dataflow.rb:141:30:141:36 | [true] ! ... | local_dataflow.rb:141:20:141:36 | [true] ... && ... | position 0 | -| local_dataflow.rb:141:31:141:36 | * | local_dataflow.rb:141:31:141:36 | call to use | synthetic * | +| local_dataflow.rb:141:30:141:36 | synthetic splat argument | local_dataflow.rb:141:30:141:36 | [false] ! ... | synthetic * | +| local_dataflow.rb:141:30:141:36 | synthetic splat argument | local_dataflow.rb:141:30:141:36 | [true] ! ... | synthetic * | | local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | [false] ! ... | self | | local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | [true] ! ... | self | | local_dataflow.rb:141:31:141:36 | self | local_dataflow.rb:141:31:141:36 | call to use | self | +| local_dataflow.rb:141:31:141:36 | synthetic splat argument | local_dataflow.rb:141:31:141:36 | call to use | synthetic * | | local_dataflow.rb:141:35:141:35 | x | local_dataflow.rb:141:31:141:36 | call to use | position 0 | -| local_dataflow.rb:143:11:143:16 | * | local_dataflow.rb:143:11:143:16 | call to use | synthetic * | | local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | self | | local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | self | | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:11:143:16 | call to use | self | -| local_dataflow.rb:143:11:143:26 | * | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | synthetic * | -| local_dataflow.rb:143:11:143:26 | * | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | synthetic * | +| local_dataflow.rb:143:11:143:16 | synthetic splat argument | local_dataflow.rb:143:11:143:16 | call to use | synthetic * | +| local_dataflow.rb:143:11:143:26 | synthetic splat argument | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | synthetic * | +| local_dataflow.rb:143:11:143:26 | synthetic splat argument | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | synthetic * | | local_dataflow.rb:143:15:143:15 | x | local_dataflow.rb:143:11:143:16 | call to use | position 0 | -| local_dataflow.rb:143:21:143:26 | * | local_dataflow.rb:143:21:143:26 | call to use | synthetic * | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | position 0 | | local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | position 0 | | local_dataflow.rb:143:21:143:26 | self | local_dataflow.rb:143:21:143:26 | call to use | self | +| local_dataflow.rb:143:21:143:26 | synthetic splat argument | local_dataflow.rb:143:21:143:26 | call to use | synthetic * | | local_dataflow.rb:143:25:143:25 | x | local_dataflow.rb:143:21:143:26 | call to use | position 0 | -| local_dataflow.rb:144:11:144:16 | * | local_dataflow.rb:144:11:144:16 | call to use | synthetic * | | local_dataflow.rb:144:11:144:16 | self | local_dataflow.rb:144:11:144:16 | call to use | self | +| local_dataflow.rb:144:11:144:16 | synthetic splat argument | local_dataflow.rb:144:11:144:16 | call to use | synthetic * | | local_dataflow.rb:144:15:144:15 | x | local_dataflow.rb:144:11:144:16 | call to use | position 0 | -| local_dataflow.rb:147:5:147:10 | * | local_dataflow.rb:147:5:147:10 | call to use | synthetic * | | local_dataflow.rb:147:5:147:10 | self | local_dataflow.rb:147:5:147:10 | call to use | self | +| local_dataflow.rb:147:5:147:10 | synthetic splat argument | local_dataflow.rb:147:5:147:10 | call to use | synthetic * | | local_dataflow.rb:147:9:147:9 | x | local_dataflow.rb:147:5:147:10 | call to use | position 0 | -| local_dataflow.rb:148:5:148:10 | * | local_dataflow.rb:148:5:148:10 | call to use | synthetic * | | local_dataflow.rb:148:5:148:10 | self | local_dataflow.rb:148:5:148:10 | call to use | self | +| local_dataflow.rb:148:5:148:10 | synthetic splat argument | local_dataflow.rb:148:5:148:10 | call to use | synthetic * | | local_dataflow.rb:148:9:148:9 | x | local_dataflow.rb:148:5:148:10 | call to use | position 0 | diff --git a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected index 237c067be1bed..35c5dfd670dc0 100644 --- a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected +++ b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected @@ -2796,7 +2796,7 @@ | UseUseExplosion.rb:21:3675:21:3680 | call to use | UseUseExplosion.rb:21:3670:21:3680 | else ... | | UseUseExplosion.rb:21:3686:21:3696 | else ... | UseUseExplosion.rb:21:9:21:3700 | if ... | | UseUseExplosion.rb:21:3691:21:3696 | call to use | UseUseExplosion.rb:21:3686:21:3696 | else ... | -| UseUseExplosion.rb:24:5:25:7 | synthetic *args | UseUseExplosion.rb:24:13:24:13 | i | +| UseUseExplosion.rb:24:5:25:7 | synthetic splat parameter | UseUseExplosion.rb:24:13:24:13 | i | | UseUseExplosion.rb:24:5:25:7 | use | UseUseExplosion.rb:1:1:26:3 | C | | file://:0:0:0:0 | [summary param] position 0 in & | file://:0:0:0:0 | [summary] read: Argument[0].Element[any] in & | | file://:0:0:0:0 | [summary param] position 0 in + | file://:0:0:0:0 | [summary] read: Argument[0].Element[any] in + | @@ -2841,7 +2841,7 @@ | file://:0:0:0:0 | [summary] read: Argument[0].Element[any] in Hash[] | file://:0:0:0:0 | [summary] read: Argument[0].Element[any].Element[1] in Hash[] | | local_dataflow.rb:1:1:7:3 | self (foo) | local_dataflow.rb:3:8:3:10 | self | | local_dataflow.rb:1:1:7:3 | self in foo | local_dataflow.rb:1:1:7:3 | self (foo) | -| local_dataflow.rb:1:1:7:3 | synthetic *args | local_dataflow.rb:1:9:1:9 | a | +| local_dataflow.rb:1:1:7:3 | synthetic splat parameter | local_dataflow.rb:1:9:1:9 | a | | local_dataflow.rb:1:1:150:3 | | local_dataflow.rb:10:9:10:9 | x | | local_dataflow.rb:1:1:150:3 | self (local_dataflow.rb) | local_dataflow.rb:49:1:53:3 | self | | local_dataflow.rb:1:9:1:9 | a | local_dataflow.rb:1:9:1:9 | a | @@ -2879,7 +2879,7 @@ | local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:5:13:3 | __synth__0__1 | | local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:9:10:9 | x | | local_dataflow.rb:10:5:13:3 | call to each | local_dataflow.rb:10:5:13:3 | ... | -| local_dataflow.rb:10:5:13:3 | synthetic *args | local_dataflow.rb:10:5:13:3 | __synth__0__1 | +| local_dataflow.rb:10:5:13:3 | synthetic splat parameter | local_dataflow.rb:10:5:13:3 | __synth__0__1 | | local_dataflow.rb:10:9:10:9 | ... = ... | local_dataflow.rb:10:9:10:9 | if ... | | local_dataflow.rb:10:9:10:9 | defined? ... | local_dataflow.rb:10:9:10:9 | [false] ! ... | | local_dataflow.rb:10:9:10:9 | defined? ... | local_dataflow.rb:10:9:10:9 | [true] ! ... | @@ -2898,7 +2898,7 @@ | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | __synth__0__1 | | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:5:15:5 | x | | local_dataflow.rb:15:1:17:3 | call to each | local_dataflow.rb:15:1:17:3 | ... | -| local_dataflow.rb:15:1:17:3 | synthetic *args | local_dataflow.rb:15:1:17:3 | __synth__0__1 | +| local_dataflow.rb:15:1:17:3 | synthetic splat parameter | local_dataflow.rb:15:1:17:3 | __synth__0__1 | | local_dataflow.rb:15:5:15:5 | ... = ... | local_dataflow.rb:15:5:15:5 | if ... | | local_dataflow.rb:15:5:15:5 | defined? ... | local_dataflow.rb:15:5:15:5 | [false] ! ... | | local_dataflow.rb:15:5:15:5 | defined? ... | local_dataflow.rb:15:5:15:5 | [true] ! ... | @@ -2914,7 +2914,7 @@ | local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:1:21:3 | __synth__0__1 | | local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:5:19:5 | x | | local_dataflow.rb:19:1:21:3 | call to each | local_dataflow.rb:19:1:21:3 | ... | -| local_dataflow.rb:19:1:21:3 | synthetic *args | local_dataflow.rb:19:1:21:3 | __synth__0__1 | +| local_dataflow.rb:19:1:21:3 | synthetic splat parameter | local_dataflow.rb:19:1:21:3 | __synth__0__1 | | local_dataflow.rb:19:5:19:5 | ... = ... | local_dataflow.rb:19:5:19:5 | if ... | | local_dataflow.rb:19:5:19:5 | defined? ... | local_dataflow.rb:19:5:19:5 | [false] ! ... | | local_dataflow.rb:19:5:19:5 | defined? ... | local_dataflow.rb:19:5:19:5 | [true] ! ... | @@ -2933,13 +2933,13 @@ | 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:1 | x | | local_dataflow.rb:32:5:32:25 | bar | local_dataflow.rb:32:1:32:25 | ... = ... | -| local_dataflow.rb:34:1:39:3 | synthetic *args | local_dataflow.rb:34:7:34:7 | x | +| local_dataflow.rb:34:1:39:3 | synthetic splat parameter | local_dataflow.rb:34:7:34:7 | x | | local_dataflow.rb:34:7:34:7 | x | local_dataflow.rb:34:7:34:7 | x | | local_dataflow.rb:34:7:34:7 | x | local_dataflow.rb:35:6:35:6 | x | | local_dataflow.rb:35:6:35:6 | x | local_dataflow.rb:35:6:35:11 | ... == ... | | local_dataflow.rb:35:11:35:11 | 4 | local_dataflow.rb:35:6:35:11 | ... == ... | | local_dataflow.rb:36:13:36:13 | 7 | local_dataflow.rb:36:6:36:13 | return | -| local_dataflow.rb:41:1:47:3 | synthetic *args | local_dataflow.rb:41:7:41:7 | x | +| local_dataflow.rb:41:1:47:3 | synthetic splat parameter | local_dataflow.rb:41:7:41:7 | x | | local_dataflow.rb:41:7:41:7 | x | local_dataflow.rb:41:7:41:7 | x | | local_dataflow.rb:41:7:41:7 | x | local_dataflow.rb:42:6:42:6 | x | | local_dataflow.rb:42:6:42:6 | x | local_dataflow.rb:42:6:42:11 | ... == ... | @@ -2958,10 +2958,10 @@ | local_dataflow.rb:51:20:51:20 | x | local_dataflow.rb:51:20:51:24 | ... < ... | | local_dataflow.rb:51:24:51:24 | 9 | local_dataflow.rb:51:20:51:24 | ... < ... | | local_dataflow.rb:55:5:55:13 | Array | local_dataflow.rb:55:5:55:13 | call to [] | -| local_dataflow.rb:57:1:58:3 | synthetic *args | local_dataflow.rb:57:9:57:9 | x | +| local_dataflow.rb:57:1:58:3 | synthetic splat parameter | local_dataflow.rb:57:9:57:9 | x | | local_dataflow.rb:60:1:90:3 | self (test_case) | local_dataflow.rb:78:12:78:20 | self | | local_dataflow.rb:60:1:90:3 | self in test_case | local_dataflow.rb:60:1:90:3 | self (test_case) | -| local_dataflow.rb:60:1:90:3 | synthetic *args | local_dataflow.rb:60:15:60:15 | x | +| local_dataflow.rb:60:1:90:3 | synthetic splat parameter | local_dataflow.rb:60:15:60:15 | x | | local_dataflow.rb:60:15:60:15 | x | local_dataflow.rb:60:15:60:15 | x | | local_dataflow.rb:60:15:60:15 | x | local_dataflow.rb:61:12:61:12 | x | | local_dataflow.rb:61:7:68:5 | SSA phi read(x) | local_dataflow.rb:69:12:69:12 | x | @@ -3134,7 +3134,7 @@ | local_dataflow.rb:118:3:118:11 | call to source | local_dataflow.rb:118:3:118:31 | call to tap | | local_dataflow.rb:118:3:118:11 | self | local_dataflow.rb:119:3:119:31 | self | | local_dataflow.rb:118:17:118:31 | self | local_dataflow.rb:118:23:118:29 | self | -| local_dataflow.rb:118:17:118:31 | synthetic *args | local_dataflow.rb:118:20:118:20 | x | +| local_dataflow.rb:118:17:118:31 | synthetic splat parameter | local_dataflow.rb:118:20:118:20 | x | | local_dataflow.rb:118:20:118:20 | x | local_dataflow.rb:118:20:118:20 | x | | local_dataflow.rb:118:20:118:20 | x | local_dataflow.rb:118:28:118:28 | x | | local_dataflow.rb:119:3:119:31 | [post] self | local_dataflow.rb:119:8:119:16 | self | @@ -3149,10 +3149,10 @@ | local_dataflow.rb:123:8:123:20 | call to dup | local_dataflow.rb:123:8:123:45 | call to tap | | local_dataflow.rb:123:8:123:45 | call to tap | local_dataflow.rb:123:8:123:49 | call to dup | | local_dataflow.rb:123:26:123:45 | self | local_dataflow.rb:123:32:123:43 | self | -| local_dataflow.rb:123:26:123:45 | synthetic *args | local_dataflow.rb:123:29:123:29 | x | +| local_dataflow.rb:123:26:123:45 | synthetic splat parameter | local_dataflow.rb:123:29:123:29 | x | | local_dataflow.rb:126:1:128:3 | self (use) | local_dataflow.rb:127:3:127:8 | self | | local_dataflow.rb:126:1:128:3 | self in use | local_dataflow.rb:126:1:128:3 | self (use) | -| local_dataflow.rb:126:1:128:3 | synthetic *args | local_dataflow.rb:126:9:126:9 | x | +| local_dataflow.rb:126:1:128:3 | synthetic splat parameter | local_dataflow.rb:126:9:126:9 | x | | local_dataflow.rb:130:1:150:3 | self (use_use_madness) | local_dataflow.rb:132:6:132:11 | self | | local_dataflow.rb:130:1:150:3 | self in use_use_madness | local_dataflow.rb:130:1:150:3 | self (use_use_madness) | | local_dataflow.rb:131:3:131:3 | x | local_dataflow.rb:132:10:132:10 | x | diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index e5b06c973327a..20506ffd4e101 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -1,7 +1,7 @@ track | params_flow.rb:1:1:3:3 | &block | type tracker without call steps | params_flow.rb:1:1:3:3 | &block | | params_flow.rb:1:1:3:3 | self in taint | type tracker without call steps | params_flow.rb:1:1:3:3 | self in taint | -| params_flow.rb:1:1:3:3 | synthetic *args | type tracker without call steps | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:1:1:3:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:1:1:3:3 | taint | type tracker without call steps | params_flow.rb:1:1:3:3 | taint | | params_flow.rb:1:1:137:45 | self (params_flow.rb) | type tracker with call steps | params_flow.rb:1:1:3:3 | self in taint | | params_flow.rb:1:1:137:45 | self (params_flow.rb) | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | @@ -28,7 +28,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:17:69:17 | y | @@ -46,81 +45,93 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:134:10:134:16 | ...[...] | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic *args | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | * | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 or unknown | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic *args | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 or unknown | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :c | params_flow.rb:108:1:112:3 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | @@ -199,29 +210,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element | params_flow.rb:116:5:116:6 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:46:8:46:29 | call to [] | @@ -245,29 +233,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:131:1:131:46 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:47:12:47:16 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:60:8:60:29 | call to [] | @@ -286,16 +251,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:131:10:131:14 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:93:8:93:51 | call to [] | @@ -304,53 +259,107 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | * | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 or unknown | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | ** | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | ** | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:128:34:128:60 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:128:46:128:59 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:5:1:7:3 | &block | type tracker without call steps | params_flow.rb:5:1:7:3 | &block | | params_flow.rb:5:1:7:3 | self in sink | type tracker without call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:5:1:7:3 | sink | type tracker without call steps | params_flow.rb:5:1:7:3 | sink | -| params_flow.rb:5:1:7:3 | synthetic *args | type tracker without call steps | params_flow.rb:5:1:7:3 | synthetic *args | +| params_flow.rb:5:1:7:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:5:10:5:10 | x | type tracker without call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:5:10:5:10 | x | type tracker without call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:5:10:5:10 | x | type tracker without call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:6:5:6:10 | * | type tracker without call steps | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:5:10:5:10 | x | type tracker without call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:6:5:6:10 | call to puts | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:10:5:10:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:11:5:11:11 | call to sink | @@ -416,1068 +425,1042 @@ track | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:137:1:137:44 | call to splatall | +| params_flow.rb:6:5:6:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:1:12:3 | &block | type tracker without call steps | params_flow.rb:9:1:12:3 | &block | | params_flow.rb:9:1:12:3 | positional | type tracker without call steps | params_flow.rb:9:1:12:3 | positional | | params_flow.rb:9:1:12:3 | self in positional | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:9:1:12:3 | self in positional | type tracker without call steps | params_flow.rb:9:1:12:3 | self in positional | -| params_flow.rb:9:1:12:3 | synthetic *args | type tracker without call steps | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:9:1:12:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:9:16:9:17 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:16:9:17 | p1 | type tracker without call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:9:16:9:17 | p1 | type tracker without call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:9:16:9:17 | p1 | type tracker without call steps with content element 0 | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:9:16:9:17 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:9:20:9:21 | p2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:20:9:21 | p2 | type tracker without call steps | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:9:20:9:21 | p2 | type tracker without call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:9:20:9:21 | p2 | type tracker without call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:10:5:10:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:10:5:10:11 | * | type tracker without call steps | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:9:20:9:21 | p2 | type tracker without call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:10:5:10:11 | call to sink | type tracker without call steps | params_flow.rb:10:5:10:11 | call to sink | -| params_flow.rb:11:5:11:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:11:5:11:11 | * | type tracker without call steps | params_flow.rb:11:5:11:11 | * | +| params_flow.rb:10:5:10:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:10:5:10:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:11:5:11:11 | call to sink | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:14:1:14:30 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:14:1:14:30 | * | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:14:1:14:30 | * | type tracker without call steps | params_flow.rb:14:1:14:30 | * | +| params_flow.rb:11:5:11:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:11:5:11:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:1:14:30 | call to positional | type tracker without call steps | params_flow.rb:14:1:14:30 | call to positional | -| params_flow.rb:14:12:14:19 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:12:14:19 | * | type tracker without call steps | params_flow.rb:14:12:14:19 | * | +| params_flow.rb:14:1:14:30 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:1:14:30 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | -| params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | * | +| params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:14:12:14:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:12:14:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | | params_flow.rb:14:18:14:18 | 1 | type tracker without call steps | params_flow.rb:14:18:14:18 | 1 | -| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | * | -| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content element 0 | params_flow.rb:14:12:14:19 | * | -| params_flow.rb:14:22:14:29 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:22:14:29 | * | type tracker without call steps | params_flow.rb:14:22:14:29 | * | +| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps | params_flow.rb:14:22:14:29 | call to taint | -| params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | * | +| params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:14:22:14:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:22:14:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:22:14:29 | synthetic splat argument | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:14:28:14:28 | 2 | type tracker without call steps | params_flow.rb:14:22:14:29 | call to taint | | params_flow.rb:14:28:14:28 | 2 | type tracker without call steps | params_flow.rb:14:28:14:28 | 2 | -| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content element 0 | params_flow.rb:14:22:14:29 | * | -| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | * | +| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content splat position 0 | params_flow.rb:14:22:14:29 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:16:1:19:3 | &block | type tracker without call steps | params_flow.rb:16:1:19:3 | &block | -| params_flow.rb:16:1:19:3 | **kwargs | type tracker without call steps | params_flow.rb:16:1:19:3 | **kwargs | | params_flow.rb:16:1:19:3 | keyword | type tracker without call steps | params_flow.rb:16:1:19:3 | keyword | | params_flow.rb:16:1:19:3 | self in keyword | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:16:1:19:3 | self in keyword | type tracker without call steps | params_flow.rb:16:1:19:3 | self in keyword | +| params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:16:13:16:14 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:16:13:16:14 | p1 | type tracker without call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:16:13:16:14 | p1 | type tracker without call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:16:13:16:14 | p1 | type tracker without call steps with content element 0 | params_flow.rb:17:5:17:11 | * | +| params_flow.rb:16:13:16:14 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:16:18:16:19 | p2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:16:18:16:19 | p2 | type tracker without call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:16:18:16:19 | p2 | type tracker without call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:16:18:16:19 | p2 | type tracker without call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:17:5:17:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:17:5:17:11 | * | type tracker without call steps | params_flow.rb:17:5:17:11 | * | +| params_flow.rb:16:18:16:19 | p2 | type tracker without call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:17:5:17:11 | call to sink | type tracker without call steps | params_flow.rb:17:5:17:11 | call to sink | -| params_flow.rb:18:5:18:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:18:5:18:11 | * | type tracker without call steps | params_flow.rb:18:5:18:11 | * | +| params_flow.rb:17:5:17:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:17:5:17:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:18:5:18:11 | call to sink | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:21:1:21:35 | ** | type tracker with call steps | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:21:1:21:35 | ** | type tracker without call steps | params_flow.rb:21:1:21:35 | ** | +| params_flow.rb:18:5:18:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:18:5:18:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | type tracker without call steps | params_flow.rb:21:1:21:35 | call to keyword | +| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:9:21:10 | :p1 | type tracker without call steps | params_flow.rb:21:9:21:10 | :p1 | | params_flow.rb:21:9:21:20 | Pair | type tracker without call steps | params_flow.rb:21:9:21:20 | Pair | -| params_flow.rb:21:13:21:20 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:13:21:20 | * | type tracker without call steps | params_flow.rb:21:13:21:20 | * | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | -| params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | ** | +| params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:13:21:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:13:21:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:19:21:19 | 3 | -| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content element 0 | params_flow.rb:21:13:21:20 | * | -| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | ** | +| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content splat position 0 | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:23:21:24 | :p2 | type tracker without call steps | params_flow.rb:21:23:21:24 | :p2 | | params_flow.rb:21:23:21:34 | Pair | type tracker without call steps | params_flow.rb:21:23:21:34 | Pair | -| params_flow.rb:21:27:21:34 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:27:21:34 | * | type tracker without call steps | params_flow.rb:21:27:21:34 | * | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | -| params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | ** | +| params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:27:21:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:27:21:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:33:21:33 | 4 | -| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content element 0 | params_flow.rb:21:27:21:34 | * | -| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | ** | -| params_flow.rb:22:1:22:35 | ** | type tracker with call steps | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:22:1:22:35 | ** | type tracker without call steps | params_flow.rb:22:1:22:35 | ** | +| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content splat position 0 | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:22:1:22:35 | call to keyword | type tracker without call steps | params_flow.rb:22:1:22:35 | call to keyword | +| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:9:22:10 | :p2 | type tracker without call steps | params_flow.rb:22:9:22:10 | :p2 | | params_flow.rb:22:9:22:20 | Pair | type tracker without call steps | params_flow.rb:22:9:22:20 | Pair | -| params_flow.rb:22:13:22:20 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:13:22:20 | * | type tracker without call steps | params_flow.rb:22:13:22:20 | * | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | -| params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | ** | +| params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:13:22:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:13:22:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:19:22:19 | 5 | -| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content element 0 | params_flow.rb:22:13:22:20 | * | -| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | ** | +| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content splat position 0 | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:23:22:24 | :p1 | type tracker without call steps | params_flow.rb:22:23:22:24 | :p1 | | params_flow.rb:22:23:22:34 | Pair | type tracker without call steps | params_flow.rb:22:23:22:34 | Pair | -| params_flow.rb:22:27:22:34 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:27:22:34 | * | type tracker without call steps | params_flow.rb:22:27:22:34 | * | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | -| params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | ** | +| params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:27:22:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:27:22:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:33:22:33 | 6 | -| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content element 0 | params_flow.rb:22:27:22:34 | * | -| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | ** | -| params_flow.rb:23:1:23:41 | ** | type tracker with call steps | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:23:1:23:41 | ** | type tracker without call steps | params_flow.rb:23:1:23:41 | ** | +| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content splat position 0 | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:23:1:23:41 | call to keyword | type tracker without call steps | params_flow.rb:23:1:23:41 | call to keyword | +| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:9:23:11 | :p2 | type tracker without call steps | params_flow.rb:23:9:23:11 | :p2 | | params_flow.rb:23:9:23:23 | Pair | type tracker without call steps | params_flow.rb:23:9:23:23 | Pair | -| params_flow.rb:23:16:23:23 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:16:23:23 | * | type tracker without call steps | params_flow.rb:23:16:23:23 | * | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | -| params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | ** | +| params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:16:23:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:16:23:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:22:23:22 | 7 | -| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content element 0 | params_flow.rb:23:16:23:23 | * | -| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | ** | +| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content splat position 0 | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:26:23:28 | :p1 | type tracker without call steps | params_flow.rb:23:26:23:28 | :p1 | | params_flow.rb:23:26:23:40 | Pair | type tracker without call steps | params_flow.rb:23:26:23:40 | Pair | -| params_flow.rb:23:33:23:40 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:33:23:40 | * | type tracker without call steps | params_flow.rb:23:33:23:40 | * | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | -| params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | ** | +| params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:33:23:40 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:33:23:40 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:39:23:39 | 8 | -| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content element 0 | params_flow.rb:23:33:23:40 | * | -| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | ** | +| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content splat position 0 | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:25:1:31:3 | &block | type tracker without call steps | params_flow.rb:25:1:31:3 | &block | -| params_flow.rb:25:1:31:3 | **kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | **kwargs | | params_flow.rb:25:1:31:3 | kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | kwargs | | params_flow.rb:25:1:31:3 | self in kwargs | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:25:1:31:3 | self in kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | self in kwargs | +| params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:25:12:25:13 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:25:12:25:13 | p1 | type tracker without call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:25:12:25:13 | p1 | type tracker without call steps | params_flow.rb:25:12:25:13 | p1 | -| params_flow.rb:25:12:25:13 | p1 | type tracker without call steps with content element 0 | params_flow.rb:26:5:26:11 | * | +| params_flow.rb:25:12:25:13 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:25:17:25:24 | **kwargs | type tracker without call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:25:19:25:24 | kwargs | type tracker without call steps | params_flow.rb:25:19:25:24 | kwargs | -| params_flow.rb:26:5:26:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:26:5:26:11 | * | type tracker without call steps | params_flow.rb:26:5:26:11 | * | | params_flow.rb:26:5:26:11 | call to sink | type tracker without call steps | params_flow.rb:26:5:26:11 | call to sink | -| params_flow.rb:27:5:27:22 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:27:5:27:22 | * | type tracker without call steps | params_flow.rb:27:5:27:22 | * | +| params_flow.rb:26:5:26:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:26:5:26:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:27:5:27:22 | call to sink | type tracker without call steps | params_flow.rb:27:5:27:22 | call to sink | -| params_flow.rb:27:11:27:21 | * | type tracker without call steps | params_flow.rb:27:11:27:21 | * | +| params_flow.rb:27:5:27:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:27:5:27:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:27:5:27:22 | * | +| params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | +| params_flow.rb:27:11:27:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps | params_flow.rb:27:18:27:20 | :p1 | -| params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:27:11:27:21 | * | -| params_flow.rb:28:5:28:22 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:28:5:28:22 | * | type tracker without call steps | params_flow.rb:28:5:28:22 | * | +| params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:28:5:28:22 | call to sink | type tracker without call steps | params_flow.rb:28:5:28:22 | call to sink | -| params_flow.rb:28:11:28:21 | * | type tracker without call steps | params_flow.rb:28:11:28:21 | * | +| params_flow.rb:28:5:28:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:28:5:28:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:28:5:28:22 | * | +| params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | +| params_flow.rb:28:11:28:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps | params_flow.rb:28:18:28:20 | :p2 | -| params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps with content element 0 | params_flow.rb:28:11:28:21 | * | -| params_flow.rb:29:5:29:22 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:29:5:29:22 | * | type tracker without call steps | params_flow.rb:29:5:29:22 | * | +| params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps with content splat position 0 | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:29:5:29:22 | call to sink | type tracker without call steps | params_flow.rb:29:5:29:22 | call to sink | -| params_flow.rb:29:11:29:21 | * | type tracker without call steps | params_flow.rb:29:11:29:21 | * | +| params_flow.rb:29:5:29:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:29:5:29:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:29:5:29:22 | * | +| params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | +| params_flow.rb:29:11:29:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:29:11:29:21 | synthetic splat argument | | params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps | params_flow.rb:29:18:29:20 | :p3 | -| params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps with content element 0 | params_flow.rb:29:11:29:21 | * | -| params_flow.rb:30:5:30:22 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:30:5:30:22 | * | type tracker without call steps | params_flow.rb:30:5:30:22 | * | +| params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps with content splat position 0 | params_flow.rb:29:11:29:21 | synthetic splat argument | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:30:5:30:22 | call to sink | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:33:1:33:58 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:35:1:35:29 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:30:11:30:21 | * | type tracker without call steps | params_flow.rb:30:11:30:21 | * | +| params_flow.rb:30:5:30:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:30:5:30:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps | params_flow.rb:30:11:30:21 | ...[...] | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:30:5:30:22 | * | +| params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | +| params_flow.rb:30:11:30:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps | params_flow.rb:30:18:30:20 | :p4 | -| params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps with content element 0 | params_flow.rb:30:11:30:21 | * | -| params_flow.rb:33:1:33:58 | ** | type tracker with call steps | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:1:33:58 | ** | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:1:33:58 | ** | type tracker without call steps | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps with content splat position 0 | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:33:1:33:58 | call to kwargs | type tracker without call steps | params_flow.rb:33:1:33:58 | call to kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:8:33:9 | :p1 | type tracker without call steps | params_flow.rb:33:8:33:9 | :p1 | | params_flow.rb:33:8:33:19 | Pair | type tracker without call steps | params_flow.rb:33:8:33:19 | Pair | -| params_flow.rb:33:12:33:19 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:12:33:19 | * | type tracker without call steps | params_flow.rb:33:12:33:19 | * | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | -| params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:12:33:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:12:33:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:18:33:18 | 9 | -| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content element 0 | params_flow.rb:33:12:33:19 | * | -| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content splat position 0 | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:22:33:23 | :p2 | type tracker without call steps | params_flow.rb:33:22:33:23 | :p2 | | params_flow.rb:33:22:33:34 | Pair | type tracker without call steps | params_flow.rb:33:22:33:34 | Pair | -| params_flow.rb:33:26:33:34 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:26:33:34 | * | type tracker without call steps | params_flow.rb:33:26:33:34 | * | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | * | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | -| params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:26:33:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:26:33:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | * | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:32:33:33 | 10 | -| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content element 0 | params_flow.rb:33:26:33:34 | * | -| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content splat position 0 | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:37:33:38 | :p3 | type tracker without call steps | params_flow.rb:33:37:33:38 | :p3 | | params_flow.rb:33:37:33:49 | Pair | type tracker without call steps | params_flow.rb:33:37:33:49 | Pair | -| params_flow.rb:33:41:33:49 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:41:33:49 | * | type tracker without call steps | params_flow.rb:33:41:33:49 | * | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | * | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | -| params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:41:33:49 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:41:33:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | * | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:47:33:48 | 11 | -| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content element 0 | params_flow.rb:33:41:33:49 | * | -| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content splat position 0 | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:52:33:53 | :p4 | type tracker without call steps | params_flow.rb:33:52:33:53 | :p4 | | params_flow.rb:33:52:33:57 | Pair | type tracker without call steps | params_flow.rb:33:52:33:57 | Pair | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:30:11:30:21 | ...[...] | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:30:5:30:22 | * | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:33:56:33:57 | "" | type tracker without call steps | params_flow.rb:33:56:33:57 | "" | -| params_flow.rb:33:56:33:57 | "" | type tracker without call steps with content element :p4 | params_flow.rb:33:1:33:58 | ** | +| params_flow.rb:33:56:33:57 | "" | type tracker without call steps with content hash-splat position :p4 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:34:1:34:4 | args | type tracker without call steps | params_flow.rb:34:1:34:4 | args | -| params_flow.rb:34:8:34:32 | ** | type tracker without call steps | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:34:8:34:32 | Hash | type tracker without call steps | params_flow.rb:34:8:34:32 | Hash | | params_flow.rb:34:8:34:32 | call to [] | type tracker without call steps | params_flow.rb:34:8:34:32 | call to [] | +| params_flow.rb:34:8:34:32 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:10:34:11 | :p3 | type tracker without call steps | params_flow.rb:34:10:34:11 | :p3 | | params_flow.rb:34:10:34:22 | Pair | type tracker without call steps | params_flow.rb:34:10:34:22 | Pair | -| params_flow.rb:34:14:34:22 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:34:14:34:22 | * | type tracker without call steps | params_flow.rb:34:14:34:22 | * | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | * | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps | params_flow.rb:34:14:34:22 | call to taint | -| params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | +| params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | +| params_flow.rb:34:14:34:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:34:14:34:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | * | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps | params_flow.rb:34:14:34:22 | call to taint | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps | params_flow.rb:34:20:34:21 | 12 | -| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element 0 | params_flow.rb:34:14:34:22 | * | -| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | +| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | +| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content splat position 0 | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:25:34:26 | :p4 | type tracker without call steps | params_flow.rb:34:25:34:26 | :p4 | | params_flow.rb:34:25:34:30 | Pair | type tracker without call steps | params_flow.rb:34:25:34:30 | Pair | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps | params_flow.rb:30:11:30:21 | ...[...] | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element 0 | params_flow.rb:30:5:30:22 | * | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps | params_flow.rb:34:29:34:30 | "" | -| params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | call to [] | +| params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:35:23:35:28 | ** ... | -| params_flow.rb:35:1:35:29 | ** | type tracker with call steps | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:35:1:35:29 | ** | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:35:1:35:29 | ** | type tracker without call steps | params_flow.rb:35:1:35:29 | ** | | params_flow.rb:35:1:35:29 | call to kwargs | type tracker without call steps | params_flow.rb:35:1:35:29 | call to kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:35:8:35:9 | :p1 | type tracker without call steps | params_flow.rb:35:8:35:9 | :p1 | | params_flow.rb:35:8:35:20 | Pair | type tracker without call steps | params_flow.rb:35:8:35:20 | Pair | -| params_flow.rb:35:12:35:20 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:35:12:35:20 | * | type tracker without call steps | params_flow.rb:35:12:35:20 | * | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | -| params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | ** | +| params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | +| params_flow.rb:35:12:35:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:35:12:35:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:18:35:19 | 13 | -| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content element 0 | params_flow.rb:35:12:35:20 | * | -| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | ** | -| params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content splat position 0 | params_flow.rb:35:12:35:20 | synthetic splat argument | +| params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:23:35:28 | ** ... | type tracker without call steps | params_flow.rb:35:23:35:28 | ** ... | | params_flow.rb:37:1:37:4 | args | type tracker without call steps | params_flow.rb:37:1:37:4 | args | -| params_flow.rb:37:8:37:44 | ** | type tracker without call steps | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:8:37:44 | Hash | type tracker without call steps | params_flow.rb:37:8:37:44 | Hash | | params_flow.rb:37:8:37:44 | call to [] | type tracker without call steps | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:37:8:37:44 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:9:37:11 | :p1 | type tracker without call steps | params_flow.rb:37:9:37:11 | :p1 | | params_flow.rb:37:9:37:24 | Pair | type tracker without call steps | params_flow.rb:37:9:37:24 | Pair | -| params_flow.rb:37:16:37:24 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:16:37:24 | * | type tracker without call steps | params_flow.rb:37:16:37:24 | * | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps | params_flow.rb:37:16:37:24 | call to taint | -| params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | +| params_flow.rb:37:16:37:24 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:16:37:24 | synthetic splat argument | type tracker without call steps | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | * | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | * | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps | params_flow.rb:37:16:37:24 | call to taint | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps | params_flow.rb:37:22:37:23 | 14 | -| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element 0 | params_flow.rb:37:16:37:24 | * | -| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | +| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content splat position 0 | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:27:37:29 | :p2 | type tracker without call steps | params_flow.rb:37:27:37:29 | :p2 | | params_flow.rb:37:27:37:42 | Pair | type tracker without call steps | params_flow.rb:37:27:37:42 | Pair | -| params_flow.rb:37:34:37:42 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:34:37:42 | * | type tracker without call steps | params_flow.rb:37:34:37:42 | * | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | * | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps | params_flow.rb:37:34:37:42 | call to taint | -| params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | +| params_flow.rb:37:34:37:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:34:37:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | * | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps | params_flow.rb:37:34:37:42 | call to taint | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps | params_flow.rb:37:40:37:41 | 15 | -| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element 0 | params_flow.rb:37:34:37:42 | * | -| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | +| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | +| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content splat position 0 | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:38:1:38:14 | call to kwargs | type tracker without call steps | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:38:8:38:13 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:38:8:38:13 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:38:8:38:13 | ** ... | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:38:8:38:13 | ** ... | type tracker without call steps | params_flow.rb:38:8:38:13 | ** ... | | params_flow.rb:40:1:40:4 | args | type tracker without call steps | params_flow.rb:40:1:40:4 | args | -| params_flow.rb:40:8:40:26 | ** | type tracker without call steps | params_flow.rb:40:8:40:26 | ** | | params_flow.rb:40:8:40:26 | Hash | type tracker without call steps | params_flow.rb:40:8:40:26 | Hash | | params_flow.rb:40:8:40:26 | call to [] | type tracker without call steps | params_flow.rb:40:8:40:26 | call to [] | +| params_flow.rb:40:8:40:26 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:9:40:11 | :p1 | type tracker without call steps | params_flow.rb:40:9:40:11 | :p1 | | params_flow.rb:40:9:40:24 | Pair | type tracker without call steps | params_flow.rb:40:9:40:24 | Pair | -| params_flow.rb:40:16:40:24 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:40:16:40:24 | * | type tracker without call steps | params_flow.rb:40:16:40:24 | * | | params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps | params_flow.rb:40:16:40:24 | call to taint | -| params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | ** | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | +| params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | +| params_flow.rb:40:16:40:24 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:40:16:40:24 | synthetic splat argument | type tracker without call steps | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | * | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps | params_flow.rb:40:16:40:24 | call to taint | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps | params_flow.rb:40:22:40:23 | 16 | -| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element 0 | params_flow.rb:40:16:40:24 | * | -| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | ** | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | +| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | -| params_flow.rb:41:1:41:30 | ** | type tracker with call steps | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:41:1:41:30 | ** | type tracker without call steps | params_flow.rb:41:1:41:30 | ** | +| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:41:1:41:30 | call to keyword | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | +| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:9:41:10 | :p2 | type tracker without call steps | params_flow.rb:41:9:41:10 | :p2 | | params_flow.rb:41:9:41:21 | Pair | type tracker without call steps | params_flow.rb:41:9:41:21 | Pair | -| params_flow.rb:41:13:41:21 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:41:13:41:21 | * | type tracker without call steps | params_flow.rb:41:13:41:21 | * | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | -| params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | ** | +| params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | +| params_flow.rb:41:13:41:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:41:13:41:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | * | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element :p2 | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:19:41:20 | 17 | -| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content element 0 | params_flow.rb:41:13:41:21 | * | -| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | ** | -| params_flow.rb:41:24:41:29 | ** ... | type tracker with call steps | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | +| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content splat position 0 | params_flow.rb:41:13:41:21 | synthetic splat argument | +| params_flow.rb:41:24:41:29 | ** ... | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:24:41:29 | ** ... | type tracker without call steps | params_flow.rb:41:24:41:29 | ** ... | | params_flow.rb:43:1:43:4 | args | type tracker without call steps | params_flow.rb:43:1:43:4 | args | -| params_flow.rb:43:8:43:18 | * | type tracker without call steps | params_flow.rb:43:8:43:18 | * | | params_flow.rb:43:8:43:18 | Array | type tracker without call steps | params_flow.rb:43:8:43:18 | Array | | params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | * | -| params_flow.rb:43:9:43:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:43:9:43:17 | * | type tracker without call steps | params_flow.rb:43:9:43:17 | * | +| params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:43:8:43:18 | synthetic splat argument | | params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps | params_flow.rb:43:9:43:17 | call to taint | -| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | * | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | * | +| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:43:9:43:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:43:9:43:17 | synthetic splat argument | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps | params_flow.rb:43:9:43:17 | call to taint | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps | params_flow.rb:43:15:43:16 | 17 | -| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | * | -| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:43:9:43:17 | * | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 or unknown | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | * | -| params_flow.rb:44:1:44:28 | * | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:44:1:44:28 | * | type tracker without call steps | params_flow.rb:44:1:44:28 | * | +| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content splat position 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content splat position 0 | params_flow.rb:43:9:43:17 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:1:44:28 | call to positional | type tracker without call steps | params_flow.rb:44:1:44:28 | call to positional | -| params_flow.rb:44:12:44:20 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:44:12:44:20 | * | type tracker without call steps | params_flow.rb:44:12:44:20 | * | +| params_flow.rb:44:1:44:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:1:44:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps | params_flow.rb:44:12:44:20 | call to taint | -| params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | * | +| params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:44:12:44:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | type tracker without call steps | params_flow.rb:44:12:44:20 | call to taint | | params_flow.rb:44:18:44:19 | 16 | type tracker without call steps | params_flow.rb:44:18:44:19 | 16 | -| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | * | -| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content element 0 | params_flow.rb:44:12:44:20 | * | +| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:23:44:27 | * ... | type tracker without call steps | params_flow.rb:44:23:44:27 | * ... | | params_flow.rb:46:1:46:4 | args | type tracker without call steps | params_flow.rb:46:1:46:4 | args | -| params_flow.rb:46:8:46:29 | * | type tracker without call steps | params_flow.rb:46:8:46:29 | * | | params_flow.rb:46:8:46:29 | Array | type tracker without call steps | params_flow.rb:46:8:46:29 | Array | | params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:8:46:29 | call to [] | type tracker without call steps | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:8:46:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:9:46:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:9:46:17 | * | type tracker without call steps | params_flow.rb:46:9:46:17 | * | +| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps | params_flow.rb:46:9:46:17 | call to taint | -| params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | * | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:47:12:47:16 | * ... | +| params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:46:9:46:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:9:46:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps | params_flow.rb:46:9:46:17 | call to taint | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps | params_flow.rb:46:15:46:16 | 18 | -| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | * | -| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:46:9:46:17 | * | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 or unknown | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 or unknown | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:20:46:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:20:46:28 | * | type tracker without call steps | params_flow.rb:46:20:46:28 | * | +| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content splat position 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content splat position 0 | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps | params_flow.rb:46:20:46:28 | call to taint | -| params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | * | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:47:12:47:16 | * ... | +| params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:46:20:46:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:20:46:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 1 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps | params_flow.rb:46:20:46:28 | call to taint | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps | params_flow.rb:46:26:46:27 | 19 | -| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 0 | params_flow.rb:46:20:46:28 | * | -| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | * | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 or unknown | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 or unknown | params_flow.rb:47:12:47:16 | * ... | +| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content splat position 0 | params_flow.rb:46:20:46:28 | synthetic splat argument | +| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content splat position 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:47:1:47:17 | call to positional | type tracker without call steps | params_flow.rb:47:1:47:17 | call to positional | -| params_flow.rb:47:12:47:16 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:47:12:47:16 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:47:12:47:16 | * ... | type tracker without call steps | params_flow.rb:47:12:47:16 | * ... | | params_flow.rb:49:1:53:3 | &block | type tracker without call steps | params_flow.rb:49:1:53:3 | &block | | params_flow.rb:49:1:53:3 | posargs | type tracker without call steps | params_flow.rb:49:1:53:3 | posargs | | params_flow.rb:49:1:53:3 | self in posargs | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:49:1:53:3 | self in posargs | type tracker without call steps | params_flow.rb:49:1:53:3 | self in posargs | -| params_flow.rb:49:1:53:3 | synthetic *args | type tracker without call steps | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:49:1:53:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:49:13:49:14 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:49:13:49:14 | p1 | type tracker without call steps | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:49:13:49:14 | p1 | type tracker without call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:49:13:49:14 | p1 | type tracker without call steps with content element 0 | params_flow.rb:50:5:50:11 | * | +| params_flow.rb:49:13:49:14 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:49:17:49:24 | *posargs | type tracker without call steps | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:49:18:49:24 | posargs | type tracker without call steps | params_flow.rb:49:18:49:24 | posargs | -| params_flow.rb:50:5:50:11 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:50:5:50:11 | * | type tracker without call steps | params_flow.rb:50:5:50:11 | * | | params_flow.rb:50:5:50:11 | call to sink | type tracker without call steps | params_flow.rb:50:5:50:11 | call to sink | -| params_flow.rb:51:5:51:21 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:51:5:51:21 | * | type tracker without call steps | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:50:5:50:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:50:5:50:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:51:5:51:21 | call to sink | type tracker without call steps | params_flow.rb:51:5:51:21 | call to sink | -| params_flow.rb:51:11:51:20 | * | type tracker without call steps | params_flow.rb:51:11:51:20 | * | +| params_flow.rb:51:5:51:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:51:5:51:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:51:11:51:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:51:11:51:20 | synthetic splat argument | | params_flow.rb:51:19:51:19 | 0 | type tracker without call steps | params_flow.rb:51:19:51:19 | 0 | -| params_flow.rb:51:19:51:19 | 0 | type tracker without call steps with content element 0 | params_flow.rb:51:11:51:20 | * | -| params_flow.rb:52:5:52:21 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:52:5:52:21 | * | type tracker without call steps | params_flow.rb:52:5:52:21 | * | +| params_flow.rb:51:19:51:19 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:51:11:51:20 | synthetic splat argument | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:52:5:52:21 | call to sink | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:52:11:52:20 | * | type tracker without call steps | params_flow.rb:52:11:52:20 | * | +| params_flow.rb:52:5:52:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:52:5:52:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:52:5:52:21 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:52:5:52:21 | * | +| params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:52:5:52:21 | synthetic splat argument | +| params_flow.rb:52:11:52:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:52:11:52:20 | synthetic splat argument | | params_flow.rb:52:19:52:19 | 1 | type tracker without call steps | params_flow.rb:52:19:52:19 | 1 | -| params_flow.rb:52:19:52:19 | 1 | type tracker without call steps with content element 0 | params_flow.rb:52:11:52:20 | * | -| params_flow.rb:55:1:55:29 | * | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:1:55:29 | * | type tracker without call steps | params_flow.rb:55:1:55:29 | * | +| params_flow.rb:52:19:52:19 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:52:11:52:20 | synthetic splat argument | | params_flow.rb:55:1:55:29 | call to posargs | type tracker without call steps | params_flow.rb:55:1:55:29 | call to posargs | -| params_flow.rb:55:9:55:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:9:55:17 | * | type tracker without call steps | params_flow.rb:55:9:55:17 | * | +| params_flow.rb:55:1:55:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:1:55:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps | params_flow.rb:55:9:55:17 | call to taint | -| params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | * | +| params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:55:9:55:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | type tracker without call steps | params_flow.rb:55:9:55:17 | call to taint | | params_flow.rb:55:15:55:16 | 20 | type tracker without call steps | params_flow.rb:55:15:55:16 | 20 | -| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | * | -| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content element 0 | params_flow.rb:55:9:55:17 | * | -| params_flow.rb:55:20:55:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:20:55:28 | * | type tracker without call steps | params_flow.rb:55:20:55:28 | * | +| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content splat position 0 | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps | params_flow.rb:55:20:55:28 | call to taint | -| params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | * | +| params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:55:20:55:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:20:55:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:20:55:28 | synthetic splat argument | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:55:26:55:27 | 21 | type tracker without call steps | params_flow.rb:55:20:55:28 | call to taint | | params_flow.rb:55:26:55:27 | 21 | type tracker without call steps | params_flow.rb:55:26:55:27 | 21 | -| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content element 0 | params_flow.rb:55:20:55:28 | * | -| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | * | +| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content splat position 0 | params_flow.rb:55:20:55:28 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:57:1:57:4 | args | type tracker without call steps | params_flow.rb:57:1:57:4 | args | -| params_flow.rb:57:8:57:18 | * | type tracker without call steps | params_flow.rb:57:8:57:18 | * | | params_flow.rb:57:8:57:18 | Array | type tracker without call steps | params_flow.rb:57:8:57:18 | Array | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | * | -| params_flow.rb:57:9:57:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:57:9:57:17 | * | type tracker without call steps | params_flow.rb:57:9:57:17 | * | +| params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:8:57:18 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | -| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | * | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | * | +| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | +| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:57:9:57:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:57:9:57:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:9:57:17 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:15:57:16 | 22 | -| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | * | -| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:9:57:17 | * | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 or unknown | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | * | -| params_flow.rb:58:1:58:25 | * | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:58:1:58:25 | * | type tracker without call steps | params_flow.rb:58:1:58:25 | * | +| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content splat position 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content splat position 0 | params_flow.rb:57:9:57:17 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:1:58:25 | call to posargs | type tracker without call steps | params_flow.rb:58:1:58:25 | call to posargs | -| params_flow.rb:58:9:58:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:58:9:58:17 | * | type tracker without call steps | params_flow.rb:58:9:58:17 | * | +| params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | -| params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | * | +| params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:58:9:58:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:15:58:16 | 23 | -| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | * | -| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content element 0 | params_flow.rb:58:9:58:17 | * | +| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content splat position 0 | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:20:58:24 | * ... | type tracker with call steps | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:58:20:58:24 | * ... | type tracker without call steps | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:60:1:60:4 | args | type tracker without call steps | params_flow.rb:60:1:60:4 | args | -| params_flow.rb:60:8:60:29 | * | type tracker without call steps | params_flow.rb:60:8:60:29 | * | | params_flow.rb:60:8:60:29 | Array | type tracker without call steps | params_flow.rb:60:8:60:29 | Array | | params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:8:60:29 | call to [] | type tracker without call steps | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:8:60:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:9:60:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:9:60:17 | * | type tracker without call steps | params_flow.rb:60:9:60:17 | * | +| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps | params_flow.rb:60:9:60:17 | call to taint | -| params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | * | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:61:9:61:13 | * ... | +| params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:60:9:60:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:9:60:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | * | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | * | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps | params_flow.rb:60:9:60:17 | call to taint | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps | params_flow.rb:60:15:60:16 | 24 | -| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | * | -| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:60:9:60:17 | * | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 or unknown | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 or unknown | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:20:60:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:20:60:28 | * | type tracker without call steps | params_flow.rb:60:20:60:28 | * | +| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content splat position 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content splat position 0 | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps | params_flow.rb:60:20:60:28 | call to taint | -| params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | * | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:61:9:61:13 | * ... | +| params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:60:20:60:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:20:60:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:52:5:52:21 | * | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 1 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 1 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps | params_flow.rb:60:20:60:28 | call to taint | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps | params_flow.rb:60:26:60:27 | 25 | -| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 0 | params_flow.rb:60:20:60:28 | * | -| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | * | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 or unknown | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 or unknown | params_flow.rb:61:9:61:13 | * ... | +| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content splat position 0 | params_flow.rb:60:20:60:28 | synthetic splat argument | +| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content splat position 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:61:1:61:14 | call to posargs | type tracker without call steps | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:61:9:61:13 | * ... | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:61:9:61:13 | * ... | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:61:9:61:13 | * ... | type tracker without call steps | params_flow.rb:61:9:61:13 | * ... | | params_flow.rb:63:1:63:4 | args | type tracker without call steps | params_flow.rb:63:1:63:4 | args | -| params_flow.rb:63:8:63:16 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:63:8:63:16 | * | type tracker without call steps | params_flow.rb:63:8:63:16 | * | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | * | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | +| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:8:63:16 | call to taint | type tracker without call steps | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:8:63:16 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:67:12:67:16 | * ... | +| params_flow.rb:63:8:63:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:63:8:63:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | * | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps | params_flow.rb:63:14:63:15 | 26 | -| params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content element 0 | params_flow.rb:63:8:63:16 | * | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content element 0 or unknown | params_flow.rb:67:12:67:16 | * ... | +| params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content splat position 0 | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:64:1:66:3 | &block | type tracker without call steps | params_flow.rb:64:1:66:3 | &block | | params_flow.rb:64:1:66:3 | self in splatstuff | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:64:1:66:3 | self in splatstuff | type tracker without call steps | params_flow.rb:64:1:66:3 | self in splatstuff | | params_flow.rb:64:1:66:3 | splatstuff | type tracker without call steps | params_flow.rb:64:1:66:3 | splatstuff | | params_flow.rb:64:16:64:17 | *x | type tracker without call steps | params_flow.rb:64:16:64:17 | *x | | params_flow.rb:64:17:64:17 | x | type tracker without call steps | params_flow.rb:64:17:64:17 | x | -| params_flow.rb:65:5:65:13 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:65:5:65:13 | * | type tracker without call steps | params_flow.rb:65:5:65:13 | * | | params_flow.rb:65:5:65:13 | call to sink | type tracker without call steps | params_flow.rb:65:5:65:13 | call to sink | | params_flow.rb:65:5:65:13 | call to sink | type tracker without call steps | params_flow.rb:67:1:67:17 | call to splatstuff | -| params_flow.rb:65:10:65:13 | * | type tracker without call steps | params_flow.rb:65:10:65:13 | * | +| params_flow.rb:65:5:65:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:65:5:65:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps | params_flow.rb:65:10:65:13 | ...[...] | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:65:5:65:13 | * | +| params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | +| params_flow.rb:65:10:65:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:65:10:65:13 | synthetic splat argument | | params_flow.rb:65:12:65:12 | 0 | type tracker without call steps | params_flow.rb:65:12:65:12 | 0 | -| params_flow.rb:65:12:65:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:65:10:65:13 | * | +| params_flow.rb:65:12:65:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:65:10:65:13 | synthetic splat argument | | params_flow.rb:67:1:67:17 | call to splatstuff | type tracker without call steps | params_flow.rb:67:1:67:17 | call to splatstuff | | params_flow.rb:67:12:67:16 | * ... | type tracker with call steps | params_flow.rb:64:16:64:17 | *x | | params_flow.rb:67:12:67:16 | * ... | type tracker without call steps | params_flow.rb:67:12:67:16 | * ... | @@ -1485,1113 +1468,1051 @@ track | params_flow.rb:69:1:76:3 | self in splatmid | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:69:1:76:3 | self in splatmid | type tracker without call steps | params_flow.rb:69:1:76:3 | self in splatmid | | params_flow.rb:69:1:76:3 | splatmid | type tracker without call steps | params_flow.rb:69:1:76:3 | splatmid | -| params_flow.rb:69:1:76:3 | synthetic *args | type tracker without call steps | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:69:1:76:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:69:14:69:14 | x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:14:69:14 | x | type tracker without call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:69:14:69:14 | x | type tracker without call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:69:14:69:14 | x | type tracker without call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:69:14:69:14 | x | type tracker without call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:69:17:69:17 | y | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:17:69:17 | y | type tracker without call steps | params_flow.rb:69:17:69:17 | y | | params_flow.rb:69:17:69:17 | y | type tracker without call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:69:17:69:17 | y | type tracker without call steps with content element 0 | params_flow.rb:71:5:71:10 | * | +| params_flow.rb:69:17:69:17 | y | type tracker without call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:69:20:69:21 | *z | type tracker without call steps | params_flow.rb:69:20:69:21 | *z | | params_flow.rb:69:21:69:21 | z | type tracker without call steps | params_flow.rb:69:21:69:21 | z | | params_flow.rb:69:24:69:24 | w | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:24:69:24 | w | type tracker without call steps | params_flow.rb:69:24:69:24 | w | | params_flow.rb:69:24:69:24 | w | type tracker without call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:69:24:69:24 | w | type tracker without call steps with content element 0 | params_flow.rb:74:5:74:10 | * | +| params_flow.rb:69:24:69:24 | w | type tracker without call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:69:27:69:27 | r | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:27:69:27 | r | type tracker without call steps | params_flow.rb:69:27:69:27 | r | | params_flow.rb:69:27:69:27 | r | type tracker without call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:69:27:69:27 | r | type tracker without call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:70:5:70:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:70:5:70:10 | * | type tracker without call steps | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:69:27:69:27 | r | type tracker without call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:70:5:70:10 | call to sink | type tracker without call steps | params_flow.rb:70:5:70:10 | call to sink | -| params_flow.rb:71:5:71:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:71:5:71:10 | * | type tracker without call steps | params_flow.rb:71:5:71:10 | * | +| params_flow.rb:70:5:70:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:70:5:70:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:71:5:71:10 | call to sink | type tracker without call steps | params_flow.rb:71:5:71:10 | call to sink | -| params_flow.rb:72:5:72:13 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:72:5:72:13 | * | type tracker without call steps | params_flow.rb:72:5:72:13 | * | +| params_flow.rb:71:5:71:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:71:5:71:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:72:5:72:13 | call to sink | type tracker without call steps | params_flow.rb:72:5:72:13 | call to sink | -| params_flow.rb:72:10:72:13 | * | type tracker without call steps | params_flow.rb:72:10:72:13 | * | +| params_flow.rb:72:5:72:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:72:5:72:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:72:5:72:13 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps | params_flow.rb:72:10:72:13 | ...[...] | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:72:5:72:13 | * | +| params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:72:5:72:13 | synthetic splat argument | +| params_flow.rb:72:10:72:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:72:12:72:12 | 0 | type tracker without call steps | params_flow.rb:72:12:72:12 | 0 | -| params_flow.rb:72:12:72:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:72:10:72:13 | * | -| params_flow.rb:73:5:73:13 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:73:5:73:13 | * | type tracker without call steps | params_flow.rb:73:5:73:13 | * | +| params_flow.rb:72:12:72:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:73:5:73:13 | call to sink | type tracker without call steps | params_flow.rb:73:5:73:13 | call to sink | -| params_flow.rb:73:10:73:13 | * | type tracker without call steps | params_flow.rb:73:10:73:13 | * | +| params_flow.rb:73:5:73:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:73:5:73:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:73:5:73:13 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps | params_flow.rb:73:10:73:13 | ...[...] | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:73:5:73:13 | * | +| params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:73:5:73:13 | synthetic splat argument | +| params_flow.rb:73:10:73:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:73:12:73:12 | 1 | type tracker without call steps | params_flow.rb:73:12:73:12 | 1 | -| params_flow.rb:73:12:73:12 | 1 | type tracker without call steps with content element 0 | params_flow.rb:73:10:73:13 | * | -| params_flow.rb:74:5:74:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:74:5:74:10 | * | type tracker without call steps | params_flow.rb:74:5:74:10 | * | +| params_flow.rb:73:12:73:12 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:74:5:74:10 | call to sink | type tracker without call steps | params_flow.rb:74:5:74:10 | call to sink | -| params_flow.rb:75:5:75:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:75:5:75:10 | * | type tracker without call steps | params_flow.rb:75:5:75:10 | * | +| params_flow.rb:74:5:74:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:74:5:74:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:75:5:75:10 | call to sink | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:78:1:78:63 | * | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:78:1:78:63 | * | type tracker without call steps | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:75:5:75:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:75:5:75:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:1:78:63 | call to splatmid | type tracker without call steps | params_flow.rb:78:1:78:63 | call to splatmid | -| params_flow.rb:78:10:78:18 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:10:78:18 | * | type tracker without call steps | params_flow.rb:78:10:78:18 | * | +| params_flow.rb:78:1:78:63 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:1:78:63 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps | params_flow.rb:78:10:78:18 | call to taint | -| params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:10:78:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | type tracker without call steps | params_flow.rb:78:10:78:18 | call to taint | | params_flow.rb:78:16:78:17 | 27 | type tracker without call steps | params_flow.rb:78:16:78:17 | 27 | -| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content element 0 | params_flow.rb:78:10:78:18 | * | -| params_flow.rb:78:21:78:29 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:21:78:29 | * | type tracker without call steps | params_flow.rb:78:21:78:29 | * | +| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content splat position 0 | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps | params_flow.rb:78:21:78:29 | call to taint | -| params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:21:78:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:21:78:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:21:78:29 | synthetic splat argument | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:27:78:28 | 28 | type tracker without call steps | params_flow.rb:78:21:78:29 | call to taint | | params_flow.rb:78:27:78:28 | 28 | type tracker without call steps | params_flow.rb:78:27:78:28 | 28 | -| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content element 0 | params_flow.rb:78:21:78:29 | * | -| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:78:32:78:40 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:32:78:40 | * | type tracker without call steps | params_flow.rb:78:32:78:40 | * | -| params_flow.rb:78:32:78:40 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content splat position 0 | params_flow.rb:78:21:78:29 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:32:78:40 | call to taint | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps | params_flow.rb:78:32:78:40 | call to taint | -| params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:32:78:40 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:32:78:40 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:32:78:40 | synthetic splat argument | | params_flow.rb:78:38:78:39 | 29 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps | params_flow.rb:78:32:78:40 | call to taint | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps | params_flow.rb:78:38:78:39 | 29 | -| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 0 | params_flow.rb:78:32:78:40 | * | -| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:78:43:78:51 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:43:78:51 | * | type tracker without call steps | params_flow.rb:78:43:78:51 | * | +| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content splat position 0 | params_flow.rb:78:32:78:40 | synthetic splat argument | +| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | -| params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:43:78:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:43:78:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:49:78:50 | 30 | -| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 0 | params_flow.rb:78:43:78:51 | * | -| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | * | -| params_flow.rb:78:54:78:62 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:54:78:62 | * | type tracker without call steps | params_flow.rb:78:54:78:62 | * | +| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content splat position 0 | params_flow.rb:78:43:78:51 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | -| params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:54:78:62 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:54:78:62 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:60:78:61 | 31 | -| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content element 0 | params_flow.rb:78:54:78:62 | * | -| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content splat position 0 | params_flow.rb:78:54:78:62 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:80:1:80:4 | args | type tracker without call steps | params_flow.rb:80:1:80:4 | args | -| params_flow.rb:80:8:80:51 | * | type tracker without call steps | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:8:80:51 | Array | type tracker without call steps | params_flow.rb:80:8:80:51 | Array | | params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:80:9:80:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:9:80:17 | * | type tracker without call steps | params_flow.rb:80:9:80:17 | * | +| params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps | params_flow.rb:80:9:80:17 | call to taint | -| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:9:80:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:9:80:17 | synthetic splat argument | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps | params_flow.rb:80:9:80:17 | call to taint | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps | params_flow.rb:80:15:80:16 | 33 | -| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | * | -| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:80:9:80:17 | * | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:80:20:80:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:20:80:28 | * | type tracker without call steps | params_flow.rb:80:20:80:28 | * | -| params_flow.rb:80:20:80:28 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content splat position 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content splat position 0 | params_flow.rb:80:9:80:17 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:20:80:28 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps | params_flow.rb:80:20:80:28 | call to taint | -| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:20:80:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:20:80:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:20:80:28 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps | params_flow.rb:80:20:80:28 | call to taint | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps | params_flow.rb:80:26:80:27 | 34 | -| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 0 | params_flow.rb:80:20:80:28 | * | -| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:80:31:80:39 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:31:80:39 | * | type tracker without call steps | params_flow.rb:80:31:80:39 | * | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content splat position 0 | params_flow.rb:80:20:80:28 | synthetic splat argument | +| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content splat position 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps | params_flow.rb:80:31:80:39 | call to taint | -| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:31:80:39 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:31:80:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:31:80:39 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps | params_flow.rb:80:31:80:39 | call to taint | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps | params_flow.rb:80:37:80:38 | 35 | -| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 0 | params_flow.rb:80:31:80:39 | * | -| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:80:42:80:50 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:42:80:50 | * | type tracker without call steps | params_flow.rb:80:42:80:50 | * | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content splat position 0 | params_flow.rb:80:31:80:39 | synthetic splat argument | +| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content splat position 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps | params_flow.rb:80:42:80:50 | call to taint | -| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content splat position 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:42:80:50 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:42:80:50 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:42:80:50 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps | params_flow.rb:80:42:80:50 | call to taint | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps | params_flow.rb:80:48:80:49 | 36 | -| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 0 | params_flow.rb:80:42:80:50 | * | -| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 or unknown | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:81:1:81:37 | * | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:81:1:81:37 | * | type tracker without call steps | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content splat position 0 | params_flow.rb:80:42:80:50 | synthetic splat argument | +| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content splat position 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:1:81:37 | call to splatmid | type tracker without call steps | params_flow.rb:81:1:81:37 | call to splatmid | -| params_flow.rb:81:10:81:18 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:10:81:18 | * | type tracker without call steps | params_flow.rb:81:10:81:18 | * | +| params_flow.rb:81:1:81:37 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:1:81:37 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps | params_flow.rb:81:10:81:18 | call to taint | -| params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:81:10:81:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | type tracker without call steps | params_flow.rb:81:10:81:18 | call to taint | | params_flow.rb:81:16:81:17 | 32 | type tracker without call steps | params_flow.rb:81:16:81:17 | 32 | -| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | * | -| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content element 0 | params_flow.rb:81:10:81:18 | * | +| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content splat position 0 | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:21:81:25 | * ... | type tracker without call steps | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:81:28:81:36 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:28:81:36 | * | type tracker without call steps | params_flow.rb:81:28:81:36 | * | -| params_flow.rb:81:28:81:36 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | | params_flow.rb:81:28:81:36 | call to taint | type tracker without call steps | params_flow.rb:81:28:81:36 | call to taint | -| params_flow.rb:81:28:81:36 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:81:28:81:36 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:28:81:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:81:34:81:35 | 37 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:81:34:81:35 | 37 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:34:81:35 | 37 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:81:34:81:35 | 37 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:81:34:81:35 | 37 | type tracker without call steps | params_flow.rb:81:28:81:36 | call to taint | | params_flow.rb:81:34:81:35 | 37 | type tracker without call steps | params_flow.rb:81:34:81:35 | 37 | -| params_flow.rb:81:34:81:35 | 37 | type tracker without call steps with content element 0 | params_flow.rb:81:28:81:36 | * | -| params_flow.rb:81:34:81:35 | 37 | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | * | +| params_flow.rb:81:34:81:35 | 37 | type tracker without call steps with content splat position 0 | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:83:1:91:3 | &block | type tracker without call steps | params_flow.rb:83:1:91:3 | &block | | params_flow.rb:83:1:91:3 | pos_many | type tracker without call steps | params_flow.rb:83:1:91:3 | pos_many | | params_flow.rb:83:1:91:3 | self in pos_many | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:83:1:91:3 | self in pos_many | type tracker without call steps | params_flow.rb:83:1:91:3 | self in pos_many | -| params_flow.rb:83:1:91:3 | synthetic *args | type tracker without call steps | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:83:1:91:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:83:14:83:14 | t | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:14:83:14 | t | type tracker without call steps | params_flow.rb:83:14:83:14 | t | | params_flow.rb:83:14:83:14 | t | type tracker without call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:83:14:83:14 | t | type tracker without call steps with content element 0 | params_flow.rb:84:5:84:10 | * | +| params_flow.rb:83:14:83:14 | t | type tracker without call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:83:17:83:17 | u | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:17:83:17 | u | type tracker without call steps | params_flow.rb:83:17:83:17 | u | | params_flow.rb:83:17:83:17 | u | type tracker without call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:83:17:83:17 | u | type tracker without call steps with content element 0 | params_flow.rb:85:5:85:10 | * | +| params_flow.rb:83:17:83:17 | u | type tracker without call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:83:20:83:20 | v | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:20:83:20 | v | type tracker without call steps | params_flow.rb:83:20:83:20 | v | | params_flow.rb:83:20:83:20 | v | type tracker without call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:83:20:83:20 | v | type tracker without call steps with content element 0 | params_flow.rb:86:5:86:10 | * | +| params_flow.rb:83:20:83:20 | v | type tracker without call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:83:23:83:23 | w | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:23:83:23 | w | type tracker without call steps | params_flow.rb:83:23:83:23 | w | | params_flow.rb:83:23:83:23 | w | type tracker without call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:83:23:83:23 | w | type tracker without call steps with content element 0 | params_flow.rb:87:5:87:10 | * | +| params_flow.rb:83:23:83:23 | w | type tracker without call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:83:26:83:26 | x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:26:83:26 | x | type tracker without call steps | params_flow.rb:83:26:83:26 | x | | params_flow.rb:83:26:83:26 | x | type tracker without call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:83:26:83:26 | x | type tracker without call steps with content element 0 | params_flow.rb:88:5:88:10 | * | +| params_flow.rb:83:26:83:26 | x | type tracker without call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:83:29:83:29 | y | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:29:83:29 | y | type tracker without call steps | params_flow.rb:83:29:83:29 | y | | params_flow.rb:83:29:83:29 | y | type tracker without call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:83:29:83:29 | y | type tracker without call steps with content element 0 | params_flow.rb:89:5:89:10 | * | +| params_flow.rb:83:29:83:29 | y | type tracker without call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:83:32:83:32 | z | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:32:83:32 | z | type tracker without call steps | params_flow.rb:83:32:83:32 | z | | params_flow.rb:83:32:83:32 | z | type tracker without call steps | params_flow.rb:83:32:83:32 | z | -| params_flow.rb:83:32:83:32 | z | type tracker without call steps with content element 0 | params_flow.rb:90:5:90:10 | * | -| params_flow.rb:84:5:84:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:84:5:84:10 | * | type tracker without call steps | params_flow.rb:84:5:84:10 | * | +| params_flow.rb:83:32:83:32 | z | type tracker without call steps with content splat position 0 | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:84:5:84:10 | call to sink | type tracker without call steps | params_flow.rb:84:5:84:10 | call to sink | -| params_flow.rb:85:5:85:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:85:5:85:10 | * | type tracker without call steps | params_flow.rb:85:5:85:10 | * | +| params_flow.rb:84:5:84:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:84:5:84:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:85:5:85:10 | call to sink | type tracker without call steps | params_flow.rb:85:5:85:10 | call to sink | -| params_flow.rb:86:5:86:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:86:5:86:10 | * | type tracker without call steps | params_flow.rb:86:5:86:10 | * | +| params_flow.rb:85:5:85:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:85:5:85:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:86:5:86:10 | call to sink | type tracker without call steps | params_flow.rb:86:5:86:10 | call to sink | -| params_flow.rb:87:5:87:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:87:5:87:10 | * | type tracker without call steps | params_flow.rb:87:5:87:10 | * | +| params_flow.rb:86:5:86:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:86:5:86:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:87:5:87:10 | call to sink | type tracker without call steps | params_flow.rb:87:5:87:10 | call to sink | -| params_flow.rb:88:5:88:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:88:5:88:10 | * | type tracker without call steps | params_flow.rb:88:5:88:10 | * | +| params_flow.rb:87:5:87:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:87:5:87:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:88:5:88:10 | call to sink | type tracker without call steps | params_flow.rb:88:5:88:10 | call to sink | -| params_flow.rb:89:5:89:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:89:5:89:10 | * | type tracker without call steps | params_flow.rb:89:5:89:10 | * | +| params_flow.rb:88:5:88:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:88:5:88:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:89:5:89:10 | call to sink | type tracker without call steps | params_flow.rb:89:5:89:10 | call to sink | -| params_flow.rb:90:5:90:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:90:5:90:10 | * | type tracker without call steps | params_flow.rb:90:5:90:10 | * | +| params_flow.rb:89:5:89:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:89:5:89:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:90:5:90:10 | call to sink | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | +| params_flow.rb:90:5:90:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:90:5:90:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:93:1:93:4 | args | type tracker without call steps | params_flow.rb:93:1:93:4 | args | -| params_flow.rb:93:8:93:51 | * | type tracker without call steps | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:8:93:51 | Array | type tracker without call steps | params_flow.rb:93:8:93:51 | Array | | params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | * | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:93:9:93:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:9:93:17 | * | type tracker without call steps | params_flow.rb:93:9:93:17 | * | +| params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | * | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps | params_flow.rb:93:9:93:17 | call to taint | -| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:9:93:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:9:93:17 | synthetic splat argument | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | * | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps | params_flow.rb:93:9:93:17 | call to taint | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps | params_flow.rb:93:15:93:16 | 40 | -| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | * | -| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:93:9:93:17 | * | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:93:20:93:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:20:93:28 | * | type tracker without call steps | params_flow.rb:93:20:93:28 | * | +| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content splat position 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content splat position 0 | params_flow.rb:93:9:93:17 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps | params_flow.rb:93:20:93:28 | call to taint | -| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:20:93:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:20:93:28 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps | params_flow.rb:93:20:93:28 | call to taint | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps | params_flow.rb:93:26:93:27 | 41 | -| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 0 | params_flow.rb:93:20:93:28 | * | -| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:93:31:93:39 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:31:93:39 | * | type tracker without call steps | params_flow.rb:93:31:93:39 | * | +| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content splat position 0 | params_flow.rb:93:20:93:28 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content splat position 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | * | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps | params_flow.rb:93:31:93:39 | call to taint | -| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:31:93:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:31:93:39 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | * | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps | params_flow.rb:93:31:93:39 | call to taint | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps | params_flow.rb:93:37:93:38 | 42 | -| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 0 | params_flow.rb:93:31:93:39 | * | -| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:93:42:93:50 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:42:93:50 | * | type tracker without call steps | params_flow.rb:93:42:93:50 | * | +| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content splat position 0 | params_flow.rb:93:31:93:39 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content splat position 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | * | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps | params_flow.rb:93:42:93:50 | call to taint | -| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content splat position 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:42:93:50 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:42:93:50 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | * | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps | params_flow.rb:93:42:93:50 | call to taint | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps | params_flow.rb:93:48:93:49 | 43 | -| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 0 | params_flow.rb:93:42:93:50 | * | -| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 or unknown | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:94:1:94:48 | * | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:94:1:94:48 | * | type tracker without call steps | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content splat position 0 | params_flow.rb:93:42:93:50 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content splat position 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:1:94:48 | call to pos_many | type tracker without call steps | params_flow.rb:94:1:94:48 | call to pos_many | -| params_flow.rb:94:10:94:18 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:10:94:18 | * | type tracker without call steps | params_flow.rb:94:10:94:18 | * | +| params_flow.rb:94:1:94:48 | synthetic splat argument | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:1:94:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps | params_flow.rb:94:10:94:18 | call to taint | -| params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:94:10:94:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | type tracker without call steps | params_flow.rb:94:10:94:18 | call to taint | | params_flow.rb:94:16:94:17 | 38 | type tracker without call steps | params_flow.rb:94:16:94:17 | 38 | -| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content element 0 | params_flow.rb:94:10:94:18 | * | -| params_flow.rb:94:21:94:29 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:21:94:29 | * | type tracker without call steps | params_flow.rb:94:21:94:29 | * | +| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content splat position 0 | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps | params_flow.rb:94:21:94:29 | call to taint | -| params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:94:21:94:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:21:94:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:21:94:29 | synthetic splat argument | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps | params_flow.rb:94:21:94:29 | call to taint | | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps | params_flow.rb:94:27:94:28 | 39 | -| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 0 | params_flow.rb:94:21:94:29 | * | -| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content splat position 0 | params_flow.rb:94:21:94:29 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:32:94:36 | * ... | type tracker without call steps | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:94:39:94:47 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:39:94:47 | * | type tracker without call steps | params_flow.rb:94:39:94:47 | * | | params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:39:94:47 | call to taint | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | -| params_flow.rb:94:39:94:47 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | * | +| params_flow.rb:94:39:94:47 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:39:94:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:45:94:46 | 44 | -| params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content element 0 | params_flow.rb:94:39:94:47 | * | -| params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | * | -| params_flow.rb:96:1:96:88 | * | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:96:1:96:88 | * | type tracker without call steps | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content splat position 0 | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:96:1:96:88 | call to splatmid | type tracker without call steps | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:96:10:96:18 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:10:96:18 | * | type tracker without call steps | params_flow.rb:96:10:96:18 | * | +| params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | -| params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:10:96:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | * | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:16:96:17 | 45 | -| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content element 0 | params_flow.rb:96:10:96:18 | * | -| params_flow.rb:96:21:96:29 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:21:96:29 | * | type tracker without call steps | params_flow.rb:96:21:96:29 | * | +| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content splat position 0 | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | -| params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:21:96:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:21:96:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:21:96:29 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | * | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:27:96:28 | 46 | -| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 0 | params_flow.rb:96:21:96:29 | * | -| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content splat position 0 | params_flow.rb:96:21:96:29 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:32:96:65 | * ... | type tracker without call steps | params_flow.rb:96:32:96:65 | * ... | -| params_flow.rb:96:33:96:65 | * | type tracker without call steps | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:33:96:65 | Array | type tracker without call steps | params_flow.rb:96:33:96:65 | Array | -| params_flow.rb:96:33:96:65 | call to [] | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:33:96:65 | call to [] | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | -| params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:34:96:42 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:34:96:42 | * | type tracker without call steps | params_flow.rb:96:34:96:42 | * | -| params_flow.rb:96:34:96:42 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:34:96:42 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | -| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:34:96:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:34:96:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:40:96:41 | 47 | -| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | * | -| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:34:96:42 | * | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:45:96:53 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:45:96:53 | * | type tracker without call steps | params_flow.rb:96:45:96:53 | * | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content splat position 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content splat position 0 | params_flow.rb:96:34:96:42 | synthetic splat argument | +| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | -| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:45:96:53 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:45:96:53 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:51:96:52 | 48 | -| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 0 | params_flow.rb:96:45:96:53 | * | -| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:56:96:64 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:56:96:64 | * | type tracker without call steps | params_flow.rb:96:56:96:64 | * | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content splat position 0 | params_flow.rb:96:45:96:53 | synthetic splat argument | +| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content splat position 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | -| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:56:96:64 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:56:96:64 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:62:96:63 | 49 | -| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 0 | params_flow.rb:96:56:96:64 | * | -| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 or unknown | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:68:96:76 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:68:96:76 | * | type tracker without call steps | params_flow.rb:96:68:96:76 | * | +| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content splat position 0 | params_flow.rb:96:56:96:64 | synthetic splat argument | +| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content splat position 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:68:96:76 | call to taint | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | -| params_flow.rb:96:68:96:76 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:68:96:76 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:68:96:76 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | * | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:74:96:75 | 50 | -| params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content element 0 | params_flow.rb:96:68:96:76 | * | -| params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | * | -| params_flow.rb:96:79:96:87 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:79:96:87 | * | type tracker without call steps | params_flow.rb:96:79:96:87 | * | +| params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content splat position 0 | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:79:96:87 | call to taint | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | -| params_flow.rb:96:79:96:87 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:79:96:87 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:79:96:87 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | * | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:85:96:86 | 51 | -| params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content element 0 | params_flow.rb:96:79:96:87 | * | -| params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | * | +| params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content splat position 0 | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:98:1:103:3 | &block | type tracker without call steps | params_flow.rb:98:1:103:3 | &block | | params_flow.rb:98:1:103:3 | self in splatmidsmall | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:98:1:103:3 | self in splatmidsmall | type tracker without call steps | params_flow.rb:98:1:103:3 | self in splatmidsmall | | params_flow.rb:98:1:103:3 | splatmidsmall | type tracker without call steps | params_flow.rb:98:1:103:3 | splatmidsmall | -| params_flow.rb:98:1:103:3 | synthetic *args | type tracker without call steps | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:98:1:103:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:98:19:98:19 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:98:19:98:19 | a | type tracker without call steps | params_flow.rb:98:19:98:19 | a | | params_flow.rb:98:19:98:19 | a | type tracker without call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:98:19:98:19 | a | type tracker without call steps with content element 0 | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:98:19:98:19 | a | type tracker without call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:98:22:98:28 | *splats | type tracker without call steps | params_flow.rb:98:22:98:28 | *splats | | params_flow.rb:98:23:98:28 | splats | type tracker without call steps | params_flow.rb:98:23:98:28 | splats | | params_flow.rb:98:31:98:31 | b | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:98:31:98:31 | b | type tracker without call steps | params_flow.rb:98:31:98:31 | b | | params_flow.rb:98:31:98:31 | b | type tracker without call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:98:31:98:31 | b | type tracker without call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:99:5:99:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:99:5:99:10 | * | type tracker without call steps | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:98:31:98:31 | b | type tracker without call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:99:5:99:10 | call to sink | type tracker without call steps | params_flow.rb:99:5:99:10 | call to sink | -| params_flow.rb:100:5:100:18 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:100:5:100:18 | * | type tracker without call steps | params_flow.rb:100:5:100:18 | * | +| params_flow.rb:99:5:99:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:99:5:99:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:100:5:100:18 | call to sink | type tracker without call steps | params_flow.rb:100:5:100:18 | call to sink | -| params_flow.rb:100:10:100:18 | * | type tracker without call steps | params_flow.rb:100:10:100:18 | * | +| params_flow.rb:100:5:100:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:100:5:100:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:100:5:100:18 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps | params_flow.rb:100:10:100:18 | ...[...] | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:100:5:100:18 | * | +| params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:100:5:100:18 | synthetic splat argument | +| params_flow.rb:100:10:100:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:100:17:100:17 | 0 | type tracker without call steps | params_flow.rb:100:17:100:17 | 0 | -| params_flow.rb:100:17:100:17 | 0 | type tracker without call steps with content element 0 | params_flow.rb:100:10:100:18 | * | -| params_flow.rb:101:5:101:18 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:101:5:101:18 | * | type tracker without call steps | params_flow.rb:101:5:101:18 | * | +| params_flow.rb:100:17:100:17 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:101:5:101:18 | call to sink | type tracker without call steps | params_flow.rb:101:5:101:18 | call to sink | -| params_flow.rb:101:10:101:18 | * | type tracker without call steps | params_flow.rb:101:10:101:18 | * | +| params_flow.rb:101:5:101:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:101:5:101:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:101:5:101:18 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps | params_flow.rb:101:10:101:18 | ...[...] | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:101:5:101:18 | * | +| params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:101:5:101:18 | synthetic splat argument | +| params_flow.rb:101:10:101:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:101:10:101:18 | synthetic splat argument | | params_flow.rb:101:17:101:17 | 1 | type tracker without call steps | params_flow.rb:101:17:101:17 | 1 | -| params_flow.rb:101:17:101:17 | 1 | type tracker without call steps with content element 0 | params_flow.rb:101:10:101:18 | * | -| params_flow.rb:102:5:102:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:102:5:102:10 | * | type tracker without call steps | params_flow.rb:102:5:102:10 | * | +| params_flow.rb:101:17:101:17 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:101:10:101:18 | synthetic splat argument | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:102:5:102:10 | call to sink | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:105:1:105:49 | * | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:105:1:105:49 | * | type tracker without call steps | params_flow.rb:105:1:105:49 | * | +| params_flow.rb:102:5:102:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:102:5:102:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | type tracker without call steps | params_flow.rb:105:1:105:49 | call to splatmidsmall | -| params_flow.rb:105:15:105:23 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:15:105:23 | * | type tracker without call steps | params_flow.rb:105:15:105:23 | * | +| params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | -| params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | * | +| params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:15:105:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:21:105:22 | 52 | -| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content element 0 | params_flow.rb:105:15:105:23 | * | +| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content splat position 0 | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:26:105:48 | * ... | type tracker without call steps | params_flow.rb:105:26:105:48 | * ... | -| params_flow.rb:105:27:105:48 | * | type tracker without call steps | params_flow.rb:105:27:105:48 | * | | params_flow.rb:105:27:105:48 | Array | type tracker without call steps | params_flow.rb:105:27:105:48 | Array | -| params_flow.rb:105:27:105:48 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:105:27:105:48 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | -| params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:105:28:105:36 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:28:105:36 | * | type tracker without call steps | params_flow.rb:105:28:105:36 | * | -| params_flow.rb:105:28:105:36 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:105:28:105:36 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | -| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | * | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:27:105:48 | call to [] | -| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | * | +| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:28:105:36 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:28:105:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:34:105:35 | 53 | -| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | * | -| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:28:105:36 | * | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:27:105:48 | call to [] | -| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:105:39:105:47 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:39:105:47 | * | type tracker without call steps | params_flow.rb:105:39:105:47 | * | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content splat position 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content splat position 0 | params_flow.rb:105:28:105:36 | synthetic splat argument | +| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | -| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | * | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:105:27:105:48 | call to [] | -| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | * | +| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:39:105:47 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:39:105:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:45:105:46 | 54 | -| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 0 | params_flow.rb:105:39:105:47 | * | -| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | * | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 or unknown | params_flow.rb:105:27:105:48 | call to [] | -| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | * | -| params_flow.rb:106:1:106:46 | * | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:106:1:106:46 | * | type tracker without call steps | params_flow.rb:106:1:106:46 | * | +| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content splat position 0 | params_flow.rb:105:39:105:47 | synthetic splat argument | +| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content splat position 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:106:1:106:46 | call to splatmidsmall | type tracker without call steps | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:106:15:106:23 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:15:106:23 | * | type tracker without call steps | params_flow.rb:106:15:106:23 | * | +| params_flow.rb:106:1:106:46 | synthetic splat argument | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:1:106:46 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps | params_flow.rb:106:15:106:23 | call to taint | -| params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | * | +| params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:15:106:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:15:106:23 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | * | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | type tracker without call steps | params_flow.rb:106:15:106:23 | call to taint | | params_flow.rb:106:21:106:22 | 55 | type tracker without call steps | params_flow.rb:106:21:106:22 | 55 | -| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | * | -| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content element 0 | params_flow.rb:106:15:106:23 | * | -| params_flow.rb:106:26:106:34 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:26:106:34 | * | type tracker without call steps | params_flow.rb:106:26:106:34 | * | -| params_flow.rb:106:26:106:34 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content splat position 0 | params_flow.rb:106:15:106:23 | synthetic splat argument | +| params_flow.rb:106:26:106:34 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps | params_flow.rb:106:26:106:34 | call to taint | -| params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | * | +| params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:26:106:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:26:106:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:26:106:34 | synthetic splat argument | | params_flow.rb:106:32:106:33 | 56 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps | params_flow.rb:106:26:106:34 | call to taint | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps | params_flow.rb:106:32:106:33 | 56 | -| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 0 | params_flow.rb:106:26:106:34 | * | -| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | * | -| params_flow.rb:106:37:106:45 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:37:106:45 | * | type tracker without call steps | params_flow.rb:106:37:106:45 | * | +| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content splat position 0 | params_flow.rb:106:26:106:34 | synthetic splat argument | +| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | -| params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | * | +| params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:37:106:45 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:37:106:45 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | * | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:43:106:44 | 57 | -| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content element 0 | params_flow.rb:106:37:106:45 | * | -| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | * | +| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content splat position 0 | params_flow.rb:106:37:106:45 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:108:1:112:3 | &block | type tracker without call steps | params_flow.rb:108:1:112:3 | &block | -| params_flow.rb:108:1:112:3 | **kwargs | type tracker without call steps | params_flow.rb:108:1:112:3 | **kwargs | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | | params_flow.rb:108:1:112:3 | splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:108:1:112:3 | splat_followed_by_keyword_param | -| params_flow.rb:108:1:112:3 | synthetic *args | type tracker without call steps | params_flow.rb:108:1:112:3 | synthetic *args | +| params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:108:1:112:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:108:37:108:37 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:108:37:108:37 | a | type tracker without call steps | params_flow.rb:108:37:108:37 | a | | params_flow.rb:108:37:108:37 | a | type tracker without call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:108:37:108:37 | a | type tracker without call steps with content element 0 | params_flow.rb:109:5:109:10 | * | +| params_flow.rb:108:37:108:37 | a | type tracker without call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:108:40:108:41 | *b | type tracker without call steps | params_flow.rb:108:40:108:41 | *b | | params_flow.rb:108:41:108:41 | b | type tracker without call steps | params_flow.rb:108:41:108:41 | b | | params_flow.rb:108:44:108:44 | c | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:108:44:108:44 | c | type tracker without call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:108:44:108:44 | c | type tracker without call steps | params_flow.rb:108:44:108:44 | c | -| params_flow.rb:108:44:108:44 | c | type tracker without call steps with content element 0 | params_flow.rb:111:5:111:10 | * | -| params_flow.rb:109:5:109:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:109:5:109:10 | * | type tracker without call steps | params_flow.rb:109:5:109:10 | * | +| params_flow.rb:108:44:108:44 | c | type tracker without call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:109:5:109:10 | call to sink | type tracker without call steps | params_flow.rb:109:5:109:10 | call to sink | -| params_flow.rb:110:5:110:13 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:110:5:110:13 | * | type tracker without call steps | params_flow.rb:110:5:110:13 | * | +| params_flow.rb:109:5:109:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:109:5:109:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:110:5:110:13 | call to sink | type tracker without call steps | params_flow.rb:110:5:110:13 | call to sink | -| params_flow.rb:110:10:110:13 | * | type tracker without call steps | params_flow.rb:110:10:110:13 | * | +| params_flow.rb:110:5:110:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:110:5:110:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:110:5:110:13 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps | params_flow.rb:110:10:110:13 | ...[...] | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:110:5:110:13 | * | +| params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:110:10:110:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:110:10:110:13 | synthetic splat argument | | params_flow.rb:110:12:110:12 | 0 | type tracker without call steps | params_flow.rb:110:12:110:12 | 0 | -| params_flow.rb:110:12:110:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:110:10:110:13 | * | -| params_flow.rb:111:5:111:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:111:5:111:10 | * | type tracker without call steps | params_flow.rb:111:5:111:10 | * | +| params_flow.rb:110:12:110:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:110:10:110:13 | synthetic splat argument | | params_flow.rb:111:5:111:10 | call to sink | type tracker without call steps | params_flow.rb:111:5:111:10 | call to sink | | params_flow.rb:111:5:111:10 | call to sink | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:1:114:67 | * | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:1:114:67 | * | type tracker without call steps | params_flow.rb:114:1:114:67 | * | -| params_flow.rb:114:1:114:67 | ** | type tracker with call steps | params_flow.rb:108:1:112:3 | **kwargs | -| params_flow.rb:114:1:114:67 | ** | type tracker without call steps | params_flow.rb:114:1:114:67 | ** | +| params_flow.rb:111:5:111:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:111:5:111:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:33:114:41 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:33:114:41 | * | type tracker without call steps | params_flow.rb:114:33:114:41 | * | +| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:1:114:67 | synthetic splat argument | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:1:114:67 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | * | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | * | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps | params_flow.rb:114:33:114:41 | call to taint | -| params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | * | +| params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:114:33:114:41 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:33:114:41 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | * | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | * | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | type tracker without call steps | params_flow.rb:114:33:114:41 | call to taint | | params_flow.rb:114:39:114:40 | 58 | type tracker without call steps | params_flow.rb:114:39:114:40 | 58 | -| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | * | -| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content element 0 | params_flow.rb:114:33:114:41 | * | -| params_flow.rb:114:44:114:52 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:44:114:52 | * | type tracker without call steps | params_flow.rb:114:44:114:52 | * | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:108:40:108:41 | *b | +| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content splat position 0 | params_flow.rb:114:33:114:41 | synthetic splat argument | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps | params_flow.rb:114:44:114:52 | call to taint | -| params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | * | +| params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:114:44:114:52 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:44:114:52 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:44:114:52 | synthetic splat argument | | params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 1 | params_flow.rb:108:40:108:41 | *b | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:50:114:51 | 59 | type tracker without call steps | params_flow.rb:114:44:114:52 | call to taint | | params_flow.rb:114:50:114:51 | 59 | type tracker without call steps | params_flow.rb:114:50:114:51 | 59 | -| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content element 0 | params_flow.rb:114:44:114:52 | * | -| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | * | +| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content splat position 0 | params_flow.rb:114:44:114:52 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:55:114:55 | :c | type tracker without call steps | params_flow.rb:114:55:114:55 | :c | | params_flow.rb:114:55:114:66 | Pair | type tracker without call steps | params_flow.rb:114:55:114:66 | Pair | -| params_flow.rb:114:58:114:66 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:58:114:66 | * | type tracker without call steps | params_flow.rb:114:58:114:66 | * | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps | params_flow.rb:108:44:108:44 | c | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | * | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element :c | params_flow.rb:108:1:112:3 | **kwargs | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | -| params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | ** | +| params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:58:114:66 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:58:114:66 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:108:44:108:44 | c | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | * | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element :c | params_flow.rb:108:1:112:3 | **kwargs | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:64:114:65 | 60 | -| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content element 0 | params_flow.rb:114:58:114:66 | * | -| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | ** | +| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content splat position 0 | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:116:1:116:1 | x | type tracker without call steps | params_flow.rb:116:1:116:1 | x | | params_flow.rb:116:5:116:6 | Array | type tracker without call steps | params_flow.rb:116:5:116:6 | Array | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:116:5:116:6 | call to [] | type tracker without call steps | params_flow.rb:116:5:116:6 | call to [] | | params_flow.rb:116:5:116:6 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:118:12:118:13 | * ... | | params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:117:1:117:1 | [post] x | type tracker without call steps | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:1:117:1 | [post] x | type tracker without call steps with content element 0 or unknown | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:117:1:117:15 | * | type tracker without call steps | params_flow.rb:117:1:117:15 | * | | params_flow.rb:117:1:117:15 | call to []= | type tracker without call steps | params_flow.rb:117:1:117:15 | call to []= | +| params_flow.rb:117:1:117:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps | params_flow.rb:117:3:117:14 | call to some_index | -| params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps with content element 0 | params_flow.rb:117:1:117:15 | * | -| params_flow.rb:117:19:117:27 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:117:19:117:27 | * | type tracker without call steps | params_flow.rb:117:19:117:27 | * | +| params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps with content splat position 0 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:19:117:27 | __synth__0 | type tracker without call steps | params_flow.rb:117:19:117:27 | __synth__0 | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps | params_flow.rb:117:19:117:27 | call to taint | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element | params_flow.rb:116:5:116:6 | call to [] | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | * | +| params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:117:19:117:27 | synthetic splat argument | type tracker without call steps | params_flow.rb:117:19:117:27 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | * | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | * | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps | params_flow.rb:117:19:117:27 | call to taint | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps | params_flow.rb:117:25:117:26 | 61 | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element | params_flow.rb:116:5:116:6 | call to [] | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element 0 | params_flow.rb:117:19:117:27 | * | -| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | * | +| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content splat position 0 | params_flow.rb:117:19:117:27 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:118:1:118:14 | call to positional | type tracker without call steps | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:118:12:118:13 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:118:12:118:13 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:118:12:118:13 | * ... | type tracker without call steps | params_flow.rb:118:12:118:13 | * ... | | params_flow.rb:120:1:126:3 | &block | type tracker without call steps | params_flow.rb:120:1:126:3 | &block | | params_flow.rb:120:1:126:3 | destruct | type tracker without call steps | params_flow.rb:120:1:126:3 | destruct | @@ -2602,323 +2523,309 @@ track | params_flow.rb:120:22:120:22 | c | type tracker without call steps | params_flow.rb:120:22:120:22 | c | | params_flow.rb:120:25:120:25 | d | type tracker without call steps | params_flow.rb:120:25:120:25 | d | | params_flow.rb:120:27:120:27 | e | type tracker without call steps | params_flow.rb:120:27:120:27 | e | -| params_flow.rb:121:5:121:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:121:5:121:10 | * | type tracker without call steps | params_flow.rb:121:5:121:10 | * | | params_flow.rb:121:5:121:10 | call to sink | type tracker without call steps | params_flow.rb:121:5:121:10 | call to sink | +| params_flow.rb:121:5:121:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:121:5:121:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:121:10:121:10 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:121:10:121:10 | a | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:121:10:121:10 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:121:10:121:10 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:121:10:121:10 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:121:10:121:10 | a | type tracker without call steps | params_flow.rb:121:10:121:10 | a | -| params_flow.rb:121:10:121:10 | a | type tracker without call steps with content element 0 | params_flow.rb:121:5:121:10 | * | -| params_flow.rb:122:5:122:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:122:5:122:10 | * | type tracker without call steps | params_flow.rb:122:5:122:10 | * | +| params_flow.rb:121:10:121:10 | a | type tracker without call steps with content splat position 0 | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:122:5:122:10 | call to sink | type tracker without call steps | params_flow.rb:122:5:122:10 | call to sink | +| params_flow.rb:122:5:122:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:122:5:122:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:122:10:122:10 | b | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:122:10:122:10 | b | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:122:10:122:10 | b | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:122:10:122:10 | b | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:122:10:122:10 | b | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:122:10:122:10 | b | type tracker without call steps | params_flow.rb:122:10:122:10 | b | -| params_flow.rb:122:10:122:10 | b | type tracker without call steps with content element 0 | params_flow.rb:122:5:122:10 | * | -| params_flow.rb:123:5:123:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:123:5:123:10 | * | type tracker without call steps | params_flow.rb:123:5:123:10 | * | +| params_flow.rb:122:10:122:10 | b | type tracker without call steps with content splat position 0 | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:123:5:123:10 | call to sink | type tracker without call steps | params_flow.rb:123:5:123:10 | call to sink | +| params_flow.rb:123:5:123:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:123:5:123:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:123:10:123:10 | c | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:123:10:123:10 | c | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:123:10:123:10 | c | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:123:10:123:10 | c | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:123:10:123:10 | c | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:123:10:123:10 | c | type tracker without call steps | params_flow.rb:123:10:123:10 | c | -| params_flow.rb:123:10:123:10 | c | type tracker without call steps with content element 0 | params_flow.rb:123:5:123:10 | * | -| params_flow.rb:124:5:124:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:124:5:124:10 | * | type tracker without call steps | params_flow.rb:124:5:124:10 | * | +| params_flow.rb:123:10:123:10 | c | type tracker without call steps with content splat position 0 | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:124:5:124:10 | call to sink | type tracker without call steps | params_flow.rb:124:5:124:10 | call to sink | +| params_flow.rb:124:5:124:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:124:5:124:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:124:10:124:10 | d | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:124:10:124:10 | d | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:124:10:124:10 | d | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:124:10:124:10 | d | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:124:10:124:10 | d | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:124:10:124:10 | d | type tracker without call steps | params_flow.rb:124:10:124:10 | d | -| params_flow.rb:124:10:124:10 | d | type tracker without call steps with content element 0 | params_flow.rb:124:5:124:10 | * | -| params_flow.rb:125:5:125:10 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:125:5:125:10 | * | type tracker without call steps | params_flow.rb:125:5:125:10 | * | +| params_flow.rb:124:10:124:10 | d | type tracker without call steps with content splat position 0 | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:125:5:125:10 | call to sink | type tracker without call steps | params_flow.rb:125:5:125:10 | call to sink | | params_flow.rb:125:5:125:10 | call to sink | type tracker without call steps | params_flow.rb:128:1:128:61 | call to destruct | +| params_flow.rb:125:5:125:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:125:5:125:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:125:10:125:10 | e | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:125:10:125:10 | e | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:125:10:125:10 | e | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:125:10:125:10 | e | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:125:10:125:10 | e | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:125:10:125:10 | e | type tracker without call steps | params_flow.rb:125:10:125:10 | e | -| params_flow.rb:125:10:125:10 | e | type tracker without call steps with content element 0 | params_flow.rb:125:5:125:10 | * | -| params_flow.rb:128:1:128:61 | * | type tracker without call steps | params_flow.rb:128:1:128:61 | * | +| params_flow.rb:125:10:125:10 | e | type tracker without call steps with content splat position 0 | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:128:1:128:61 | call to destruct | type tracker without call steps | params_flow.rb:128:1:128:61 | call to destruct | -| params_flow.rb:128:10:128:31 | * | type tracker without call steps | params_flow.rb:128:10:128:31 | * | +| params_flow.rb:128:1:128:61 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:10:128:31 | Array | type tracker without call steps | params_flow.rb:128:10:128:31 | Array | | params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps | params_flow.rb:128:10:128:31 | call to [] | -| params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps with content element 0 | params_flow.rb:128:1:128:61 | * | -| params_flow.rb:128:11:128:19 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:11:128:19 | * | type tracker without call steps | params_flow.rb:128:11:128:19 | * | +| params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps with content splat position 0 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:10:128:31 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps | params_flow.rb:128:11:128:19 | call to taint | -| params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | * | | params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:128:10:128:31 | call to [] | +| params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | +| params_flow.rb:128:11:128:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:11:128:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:17:128:18 | 62 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:17:128:18 | 62 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:128:17:128:18 | 62 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps | params_flow.rb:128:11:128:19 | call to taint | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps | params_flow.rb:128:17:128:18 | 62 | -| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | * | -| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 | params_flow.rb:128:11:128:19 | * | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 or unknown | params_flow.rb:128:10:128:31 | call to [] | -| params_flow.rb:128:22:128:30 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:22:128:30 | * | type tracker without call steps | params_flow.rb:128:22:128:30 | * | +| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content splat position 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | +| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content splat position 0 | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps | params_flow.rb:128:22:128:30 | call to taint | -| params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | * | | params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:128:10:128:31 | call to [] | +| params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | +| params_flow.rb:128:22:128:30 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:22:128:30 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:28:128:29 | 63 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:28:128:29 | 63 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:128:28:128:29 | 63 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps | params_flow.rb:128:22:128:30 | call to taint | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps | params_flow.rb:128:28:128:29 | 63 | -| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 0 | params_flow.rb:128:22:128:30 | * | -| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | * | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 1 or unknown | params_flow.rb:128:10:128:31 | call to [] | -| params_flow.rb:128:34:128:60 | * | type tracker without call steps | params_flow.rb:128:34:128:60 | * | +| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content splat position 0 | params_flow.rb:128:22:128:30 | synthetic splat argument | +| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content splat position 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:128:34:128:60 | Array | type tracker without call steps | params_flow.rb:128:34:128:60 | Array | | params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps | params_flow.rb:128:34:128:60 | call to [] | -| params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:128:1:128:61 | * | -| params_flow.rb:128:35:128:43 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:35:128:43 | * | type tracker without call steps | params_flow.rb:128:35:128:43 | * | +| params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps with content splat position 1 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:34:128:60 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:34:128:60 | synthetic splat argument | | params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps | params_flow.rb:128:35:128:43 | call to taint | -| params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | * | | params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:128:34:128:60 | call to [] | +| params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:128:34:128:60 | synthetic splat argument | +| params_flow.rb:128:35:128:43 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:35:128:43 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:41:128:42 | 64 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:41:128:42 | 64 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:128:41:128:42 | 64 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps | params_flow.rb:128:35:128:43 | call to taint | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps | params_flow.rb:128:41:128:42 | 64 | -| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | * | -| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 | params_flow.rb:128:35:128:43 | * | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 or unknown | params_flow.rb:128:34:128:60 | call to [] | -| params_flow.rb:128:46:128:59 | * | type tracker without call steps | params_flow.rb:128:46:128:59 | * | +| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content splat position 0 | params_flow.rb:128:34:128:60 | synthetic splat argument | +| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content splat position 0 | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:46:128:59 | Array | type tracker without call steps | params_flow.rb:128:46:128:59 | Array | | params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps | params_flow.rb:128:46:128:59 | call to [] | -| params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:128:34:128:60 | * | | params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps with content element 1 or unknown | params_flow.rb:128:34:128:60 | call to [] | +| params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps with content splat position 1 | params_flow.rb:128:34:128:60 | synthetic splat argument | +| params_flow.rb:128:46:128:59 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:46:128:59 | synthetic splat argument | | params_flow.rb:128:47:128:47 | 0 | type tracker without call steps | params_flow.rb:128:47:128:47 | 0 | -| params_flow.rb:128:47:128:47 | 0 | type tracker without call steps with content element 0 | params_flow.rb:128:46:128:59 | * | | params_flow.rb:128:47:128:47 | 0 | type tracker without call steps with content element 0 or unknown | params_flow.rb:128:46:128:59 | call to [] | -| params_flow.rb:128:50:128:58 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:50:128:58 | * | type tracker without call steps | params_flow.rb:128:50:128:58 | * | +| params_flow.rb:128:47:128:47 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:128:46:128:59 | synthetic splat argument | | params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps | params_flow.rb:128:50:128:58 | call to taint | -| params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | * | | params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:128:46:128:59 | call to [] | +| params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:128:46:128:59 | synthetic splat argument | +| params_flow.rb:128:50:128:58 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:50:128:58 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:128:56:128:57 | 65 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:56:128:57 | 65 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:128:56:128:57 | 65 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps | params_flow.rb:128:50:128:58 | call to taint | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps | params_flow.rb:128:56:128:57 | 65 | -| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 0 | params_flow.rb:128:50:128:58 | * | -| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | * | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 1 or unknown | params_flow.rb:128:46:128:59 | call to [] | +| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content splat position 0 | params_flow.rb:128:50:128:58 | synthetic splat argument | +| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content splat position 1 | params_flow.rb:128:46:128:59 | synthetic splat argument | | params_flow.rb:130:1:130:4 | args | type tracker without call steps | params_flow.rb:130:1:130:4 | args | -| params_flow.rb:130:8:130:29 | * | type tracker without call steps | params_flow.rb:130:8:130:29 | * | | params_flow.rb:130:8:130:29 | Array | type tracker without call steps | params_flow.rb:130:8:130:29 | Array | | params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:8:130:29 | call to [] | type tracker without call steps | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:8:130:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:9:130:17 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:9:130:17 | * | type tracker without call steps | params_flow.rb:130:9:130:17 | * | +| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps | params_flow.rb:130:9:130:17 | call to taint | -| params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | * | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | +| params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:130:9:130:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:9:130:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | * | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps | params_flow.rb:130:9:130:17 | call to taint | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps | params_flow.rb:130:15:130:16 | 66 | -| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | * | -| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:130:9:130:17 | * | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 or unknown | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:20:130:28 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:20:130:28 | * | type tracker without call steps | params_flow.rb:130:20:130:28 | * | +| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content splat position 0 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content splat position 0 | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps | params_flow.rb:130:20:130:28 | call to taint | -| params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | * | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:131:10:131:14 | * ... | +| params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:130:20:130:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:20:130:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 1 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps | params_flow.rb:130:20:130:28 | call to taint | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps | params_flow.rb:130:26:130:27 | 67 | -| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 0 | params_flow.rb:130:20:130:28 | * | -| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | * | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 or unknown | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 or unknown | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:131:1:131:46 | * | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:131:1:131:46 | * | type tracker without call steps | params_flow.rb:131:1:131:46 | * | +| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content splat position 0 | params_flow.rb:130:20:130:28 | synthetic splat argument | +| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content splat position 1 | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:131:1:131:46 | call to pos_many | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | -| params_flow.rb:131:10:131:14 | * ... | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:10:131:14 | * ... | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:131:10:131:14 | * ... | type tracker without call steps | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:131:17:131:25 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:131:17:131:25 | * | type tracker without call steps | params_flow.rb:131:17:131:25 | * | | params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:17:131:25 | call to taint | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | -| params_flow.rb:131:17:131:25 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:131:1:131:46 | * | +| params_flow.rb:131:17:131:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:131:17:131:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | * | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:23:131:24 | 68 | -| params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content element 0 | params_flow.rb:131:17:131:25 | * | -| params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content element 1 | params_flow.rb:131:1:131:46 | * | +| params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content splat position 0 | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | * | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:131:28:131:30 | nil | type tracker without call steps | params_flow.rb:131:28:131:30 | nil | -| params_flow.rb:131:28:131:30 | nil | type tracker without call steps with content element 2 | params_flow.rb:131:1:131:46 | * | | params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | * | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:131:33:131:35 | nil | type tracker without call steps | params_flow.rb:131:33:131:35 | nil | -| params_flow.rb:131:33:131:35 | nil | type tracker without call steps with content element 3 | params_flow.rb:131:1:131:46 | * | | params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | * | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:131:38:131:40 | nil | type tracker without call steps | params_flow.rb:131:38:131:40 | nil | -| params_flow.rb:131:38:131:40 | nil | type tracker without call steps with content element 4 | params_flow.rb:131:1:131:46 | * | | params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | * | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:131:43:131:45 | nil | type tracker without call steps | params_flow.rb:131:43:131:45 | nil | -| params_flow.rb:131:43:131:45 | nil | type tracker without call steps with content element 5 | params_flow.rb:131:1:131:46 | * | | params_flow.rb:133:1:135:3 | &block | type tracker without call steps | params_flow.rb:133:1:135:3 | &block | | params_flow.rb:133:1:135:3 | self in splatall | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:133:1:135:3 | self in splatall | type tracker without call steps | params_flow.rb:133:1:135:3 | self in splatall | | params_flow.rb:133:1:135:3 | splatall | type tracker without call steps | params_flow.rb:133:1:135:3 | splatall | | params_flow.rb:133:14:133:18 | *args | type tracker without call steps | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:133:15:133:18 | args | type tracker without call steps | params_flow.rb:133:15:133:18 | args | -| params_flow.rb:134:5:134:16 | * | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:134:5:134:16 | * | type tracker without call steps | params_flow.rb:134:5:134:16 | * | | params_flow.rb:134:5:134:16 | call to sink | type tracker without call steps | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:134:5:134:16 | call to sink | type tracker without call steps | params_flow.rb:137:1:137:44 | call to splatall | -| params_flow.rb:134:10:134:16 | * | type tracker without call steps | params_flow.rb:134:10:134:16 | * | +| params_flow.rb:134:5:134:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:134:5:134:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | +| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps | params_flow.rb:134:10:134:16 | ...[...] | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:134:5:134:16 | * | +| params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | +| params_flow.rb:134:10:134:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:134:10:134:16 | synthetic splat argument | | params_flow.rb:134:15:134:15 | 1 | type tracker without call steps | params_flow.rb:134:15:134:15 | 1 | -| params_flow.rb:134:15:134:15 | 1 | type tracker without call steps with content element 0 | params_flow.rb:134:10:134:16 | * | +| params_flow.rb:134:15:134:15 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:134:10:134:16 | synthetic splat argument | | params_flow.rb:137:1:137:44 | call to splatall | type tracker without call steps | params_flow.rb:137:1:137:44 | call to splatall | | params_flow.rb:137:10:137:43 | * ... | type tracker with call steps | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:10:137:43 | * ... | type tracker without call steps | params_flow.rb:137:10:137:43 | * ... | -| params_flow.rb:137:11:137:43 | * | type tracker without call steps | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:11:137:43 | Array | type tracker without call steps | params_flow.rb:137:11:137:43 | Array | | params_flow.rb:137:11:137:43 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:11:137:43 | call to [] | type tracker without call steps | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:11:137:43 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:10:137:43 | * ... | -| params_flow.rb:137:12:137:20 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:12:137:20 | * | type tracker without call steps | params_flow.rb:137:12:137:20 | * | +| params_flow.rb:137:11:137:43 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:11:137:43 | synthetic splat argument | | params_flow.rb:137:12:137:20 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps | params_flow.rb:137:12:137:20 | call to taint | -| params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:11:137:43 | call to [] | +| params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:137:12:137:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:12:137:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:18:137:19 | 69 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:137:18:137:19 | 69 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | | params_flow.rb:137:18:137:19 | 69 | type tracker with call steps with content element 0 or unknown | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:137:18:137:19 | 69 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps | params_flow.rb:137:12:137:20 | call to taint | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps | params_flow.rb:137:18:137:19 | 69 | -| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | * | -| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:12:137:20 | * | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 or unknown | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:137:23:137:31 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:23:137:31 | * | type tracker without call steps | params_flow.rb:137:23:137:31 | * | +| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content splat position 0 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content splat position 0 | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps | params_flow.rb:134:10:134:16 | ...[...] | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | * | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 1 or unknown | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps | params_flow.rb:137:23:137:31 | call to taint | -| params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:11:137:43 | call to [] | +| params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:137:23:137:31 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:23:137:31 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:134:10:134:16 | ...[...] | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | * | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | * | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 1 or unknown | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps | params_flow.rb:137:23:137:31 | call to taint | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps | params_flow.rb:137:29:137:30 | 70 | -| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 0 | params_flow.rb:137:23:137:31 | * | -| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 or unknown | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:137:34:137:42 | * | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:34:137:42 | * | type tracker without call steps | params_flow.rb:137:34:137:42 | * | +| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content splat position 0 | params_flow.rb:137:23:137:31 | synthetic splat argument | +| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content splat position 1 | params_flow.rb:137:11:137:43 | synthetic splat argument | | params_flow.rb:137:34:137:42 | call to taint | type tracker with call steps with content element 2 or unknown | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps | params_flow.rb:137:34:137:42 | call to taint | -| params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:11:137:43 | call to [] | +| params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:137:34:137:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:34:137:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:137:40:137:41 | 71 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:137:40:137:41 | 71 | type tracker with call steps with content element 0 | params_flow.rb:1:1:3:3 | synthetic *args | | params_flow.rb:137:40:137:41 | 71 | type tracker with call steps with content element 2 or unknown | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:137:40:137:41 | 71 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps | params_flow.rb:137:34:137:42 | call to taint | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps | params_flow.rb:137:40:137:41 | 71 | -| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 0 | params_flow.rb:137:34:137:42 | * | -| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 or unknown | params_flow.rb:137:11:137:43 | call to [] | +| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content splat position 0 | params_flow.rb:137:34:137:42 | synthetic splat argument | +| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content splat position 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | trackEnd | params_flow.rb:1:1:3:3 | &block | params_flow.rb:1:1:3:3 | &block | | params_flow.rb:1:1:3:3 | self in taint | params_flow.rb:1:1:3:3 | self in taint | -| params_flow.rb:1:1:3:3 | synthetic *args | params_flow.rb:1:1:3:3 | synthetic *args | +| params_flow.rb:1:1:3:3 | synthetic splat parameter | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:1:1:3:3 | taint | params_flow.rb:1:1:3:3 | taint | | params_flow.rb:1:1:137:45 | self (params_flow.rb) | params_flow.rb:1:1:3:3 | self in taint | | params_flow.rb:1:1:137:45 | self (params_flow.rb) | params_flow.rb:1:1:137:45 | self (params_flow.rb) | @@ -3139,8 +3046,6 @@ trackEnd | params_flow.rb:1:11:1:11 | x | params_flow.rb:50:10:50:11 | p1 | | params_flow.rb:1:11:1:11 | x | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:1:11:1:11 | x | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:52:11:52:20 | ...[...] | | params_flow.rb:1:11:1:11 | x | params_flow.rb:55:9:55:17 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:55:20:55:28 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:57:9:57:17 | call to taint | @@ -3250,12 +3155,11 @@ trackEnd | params_flow.rb:5:1:7:3 | self in sink | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:5:1:7:3 | self in sink | params_flow.rb:6:5:6:10 | self | | params_flow.rb:5:1:7:3 | sink | params_flow.rb:5:1:7:3 | sink | -| params_flow.rb:5:1:7:3 | synthetic *args | params_flow.rb:5:1:7:3 | synthetic *args | +| params_flow.rb:5:1:7:3 | synthetic splat parameter | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:5:10:5:10 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:5:10:5:10 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:5:10:5:10 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:5:10:5:10 | x | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:6:5:6:10 | * | params_flow.rb:6:5:6:10 | * | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:6:5:6:10 | call to puts | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:10:5:10:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:11:5:11:11 | call to sink | @@ -3321,6 +3225,7 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:131:1:131:46 | call to pos_many | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:137:1:137:44 | call to splatall | +| params_flow.rb:6:5:6:10 | synthetic splat argument | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:1:12:3 | &block | params_flow.rb:9:1:12:3 | &block | | params_flow.rb:9:1:12:3 | positional | params_flow.rb:9:1:12:3 | positional | | params_flow.rb:9:1:12:3 | self in positional | params_flow.rb:5:1:7:3 | self (sink) | @@ -3330,7 +3235,7 @@ trackEnd | params_flow.rb:9:1:12:3 | self in positional | params_flow.rb:9:1:12:3 | self in positional | | params_flow.rb:9:1:12:3 | self in positional | params_flow.rb:10:5:10:11 | self | | params_flow.rb:9:1:12:3 | self in positional | params_flow.rb:11:5:11:11 | self | -| params_flow.rb:9:1:12:3 | synthetic *args | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:9:1:12:3 | synthetic splat parameter | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:9:16:9:17 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:9:16:9:17 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:9:16:9:17 | p1 | params_flow.rb:6:10:6:10 | x | @@ -3345,21 +3250,19 @@ trackEnd | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:11:10:11:11 | p2 | -| params_flow.rb:10:5:10:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:10:5:10:11 | * | params_flow.rb:10:5:10:11 | * | | params_flow.rb:10:5:10:11 | call to sink | params_flow.rb:10:5:10:11 | call to sink | -| params_flow.rb:11:5:11:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:11:5:11:11 | * | params_flow.rb:11:5:11:11 | * | +| params_flow.rb:10:5:10:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:10:5:10:11 | synthetic splat argument | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:11:5:11:11 | call to sink | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:14:1:14:30 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:14:1:14:30 | * | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:14:1:14:30 | * | params_flow.rb:14:1:14:30 | * | +| params_flow.rb:11:5:11:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:11:5:11:11 | synthetic splat argument | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:1:14:30 | call to positional | params_flow.rb:14:1:14:30 | call to positional | -| params_flow.rb:14:12:14:19 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:12:14:19 | * | params_flow.rb:14:12:14:19 | * | +| params_flow.rb:14:1:14:30 | synthetic splat argument | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:1:14:30 | synthetic splat argument | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3367,6 +3270,8 @@ trackEnd | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:14:12:14:19 | call to taint | +| params_flow.rb:14:12:14:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:12:14:19 | synthetic splat argument | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:2:5:2:5 | x | @@ -3378,8 +3283,6 @@ trackEnd | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:14:12:14:19 | call to taint | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:14:18:14:18 | 1 | -| params_flow.rb:14:22:14:29 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:14:22:14:29 | * | params_flow.rb:14:22:14:29 | * | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3387,6 +3290,8 @@ trackEnd | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:14:22:14:29 | call to taint | +| params_flow.rb:14:22:14:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:22:14:29 | synthetic splat argument | params_flow.rb:14:22:14:29 | synthetic splat argument | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:2:5:2:5 | x | @@ -3399,7 +3304,6 @@ trackEnd | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:14:22:14:29 | call to taint | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:14:28:14:28 | 2 | | params_flow.rb:16:1:19:3 | &block | params_flow.rb:16:1:19:3 | &block | -| params_flow.rb:16:1:19:3 | **kwargs | params_flow.rb:16:1:19:3 | **kwargs | | params_flow.rb:16:1:19:3 | keyword | params_flow.rb:16:1:19:3 | keyword | | params_flow.rb:16:1:19:3 | self in keyword | params_flow.rb:5:1:7:3 | self (sink) | | params_flow.rb:16:1:19:3 | self in keyword | params_flow.rb:5:1:7:3 | self in sink | @@ -3408,6 +3312,7 @@ trackEnd | params_flow.rb:16:1:19:3 | self in keyword | params_flow.rb:16:1:19:3 | self in keyword | | params_flow.rb:16:1:19:3 | self in keyword | params_flow.rb:17:5:17:11 | self | | params_flow.rb:16:1:19:3 | self in keyword | params_flow.rb:18:5:18:11 | self | +| params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:16:13:16:14 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:16:13:16:14 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:16:13:16:14 | p1 | params_flow.rb:6:10:6:10 | x | @@ -3422,23 +3327,21 @@ trackEnd | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:18:10:18:11 | p2 | -| params_flow.rb:17:5:17:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:17:5:17:11 | * | params_flow.rb:17:5:17:11 | * | | params_flow.rb:17:5:17:11 | call to sink | params_flow.rb:17:5:17:11 | call to sink | -| params_flow.rb:18:5:18:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:18:5:18:11 | * | params_flow.rb:18:5:18:11 | * | +| params_flow.rb:17:5:17:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:17:5:17:11 | synthetic splat argument | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:18:5:18:11 | call to sink | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:21:1:21:35 | ** | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:21:1:21:35 | ** | params_flow.rb:21:1:21:35 | ** | +| params_flow.rb:18:5:18:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:18:5:18:11 | synthetic splat argument | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | params_flow.rb:21:1:21:35 | call to keyword | +| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:9:21:10 | :p1 | params_flow.rb:21:9:21:10 | :p1 | | params_flow.rb:21:9:21:20 | Pair | params_flow.rb:21:9:21:20 | Pair | -| params_flow.rb:21:13:21:20 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:13:21:20 | * | params_flow.rb:21:13:21:20 | * | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3446,6 +3349,8 @@ trackEnd | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:21:13:21:20 | call to taint | +| params_flow.rb:21:13:21:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:13:21:20 | synthetic splat argument | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:2:5:2:5 | x | @@ -3459,8 +3364,6 @@ trackEnd | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:21:19:21:19 | 3 | | params_flow.rb:21:23:21:24 | :p2 | params_flow.rb:21:23:21:24 | :p2 | | params_flow.rb:21:23:21:34 | Pair | params_flow.rb:21:23:21:34 | Pair | -| params_flow.rb:21:27:21:34 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:21:27:21:34 | * | params_flow.rb:21:27:21:34 | * | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3468,6 +3371,8 @@ trackEnd | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:21:27:21:34 | call to taint | +| params_flow.rb:21:27:21:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:21:27:21:34 | synthetic splat argument | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:2:5:2:5 | x | @@ -3479,13 +3384,11 @@ trackEnd | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:21:33:21:33 | 4 | -| params_flow.rb:22:1:22:35 | ** | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:22:1:22:35 | ** | params_flow.rb:22:1:22:35 | ** | | params_flow.rb:22:1:22:35 | call to keyword | params_flow.rb:22:1:22:35 | call to keyword | +| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:9:22:10 | :p2 | params_flow.rb:22:9:22:10 | :p2 | | params_flow.rb:22:9:22:20 | Pair | params_flow.rb:22:9:22:20 | Pair | -| params_flow.rb:22:13:22:20 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:13:22:20 | * | params_flow.rb:22:13:22:20 | * | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3493,6 +3396,8 @@ trackEnd | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:22:13:22:20 | call to taint | +| params_flow.rb:22:13:22:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:13:22:20 | synthetic splat argument | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:2:5:2:5 | x | @@ -3506,8 +3411,6 @@ trackEnd | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:22:19:22:19 | 5 | | params_flow.rb:22:23:22:24 | :p1 | params_flow.rb:22:23:22:24 | :p1 | | params_flow.rb:22:23:22:34 | Pair | params_flow.rb:22:23:22:34 | Pair | -| params_flow.rb:22:27:22:34 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:22:27:22:34 | * | params_flow.rb:22:27:22:34 | * | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3515,6 +3418,8 @@ trackEnd | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:22:27:22:34 | call to taint | +| params_flow.rb:22:27:22:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:22:27:22:34 | synthetic splat argument | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:2:5:2:5 | x | @@ -3526,13 +3431,11 @@ trackEnd | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:22:33:22:33 | 6 | -| params_flow.rb:23:1:23:41 | ** | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:23:1:23:41 | ** | params_flow.rb:23:1:23:41 | ** | | params_flow.rb:23:1:23:41 | call to keyword | params_flow.rb:23:1:23:41 | call to keyword | +| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:9:23:11 | :p2 | params_flow.rb:23:9:23:11 | :p2 | | params_flow.rb:23:9:23:23 | Pair | params_flow.rb:23:9:23:23 | Pair | -| params_flow.rb:23:16:23:23 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:16:23:23 | * | params_flow.rb:23:16:23:23 | * | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3540,6 +3443,8 @@ trackEnd | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:23:16:23:23 | call to taint | +| params_flow.rb:23:16:23:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:16:23:23 | synthetic splat argument | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:2:5:2:5 | x | @@ -3553,8 +3458,6 @@ trackEnd | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:23:22:23:22 | 7 | | params_flow.rb:23:26:23:28 | :p1 | params_flow.rb:23:26:23:28 | :p1 | | params_flow.rb:23:26:23:40 | Pair | params_flow.rb:23:26:23:40 | Pair | -| params_flow.rb:23:33:23:40 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:23:33:23:40 | * | params_flow.rb:23:33:23:40 | * | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3562,6 +3465,8 @@ trackEnd | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:23:33:23:40 | call to taint | +| params_flow.rb:23:33:23:40 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:23:33:23:40 | synthetic splat argument | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:2:5:2:5 | x | @@ -3574,7 +3479,6 @@ trackEnd | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:23:33:23:40 | call to taint | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:23:39:23:39 | 8 | | params_flow.rb:25:1:31:3 | &block | params_flow.rb:25:1:31:3 | &block | -| params_flow.rb:25:1:31:3 | **kwargs | params_flow.rb:25:1:31:3 | **kwargs | | params_flow.rb:25:1:31:3 | kwargs | params_flow.rb:25:1:31:3 | kwargs | | params_flow.rb:25:1:31:3 | self in kwargs | params_flow.rb:5:1:7:3 | self (sink) | | params_flow.rb:25:1:31:3 | self in kwargs | params_flow.rb:5:1:7:3 | self in sink | @@ -3586,6 +3490,7 @@ trackEnd | params_flow.rb:25:1:31:3 | self in kwargs | params_flow.rb:28:5:28:22 | self | | params_flow.rb:25:1:31:3 | self in kwargs | params_flow.rb:29:5:29:22 | self | | params_flow.rb:25:1:31:3 | self in kwargs | params_flow.rb:30:5:30:22 | self | +| params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:25:12:25:13 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:25:12:25:13 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:25:12:25:13 | p1 | params_flow.rb:6:10:6:10 | x | @@ -3600,65 +3505,63 @@ trackEnd | params_flow.rb:25:17:25:24 | **kwargs | params_flow.rb:29:11:29:16 | kwargs | | params_flow.rb:25:17:25:24 | **kwargs | params_flow.rb:30:11:30:16 | kwargs | | params_flow.rb:25:19:25:24 | kwargs | params_flow.rb:25:19:25:24 | kwargs | -| params_flow.rb:26:5:26:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:26:5:26:11 | * | params_flow.rb:26:5:26:11 | * | | params_flow.rb:26:5:26:11 | call to sink | params_flow.rb:26:5:26:11 | call to sink | -| params_flow.rb:27:5:27:22 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:27:5:27:22 | * | params_flow.rb:27:5:27:22 | * | +| params_flow.rb:26:5:26:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:26:5:26:11 | synthetic splat argument | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:27:5:27:22 | call to sink | params_flow.rb:27:5:27:22 | call to sink | -| params_flow.rb:27:11:27:21 | * | params_flow.rb:27:11:27:21 | * | +| params_flow.rb:27:5:27:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:27:5:27:22 | synthetic splat argument | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:27:11:27:21 | synthetic splat argument | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:27:18:27:20 | :p1 | params_flow.rb:27:18:27:20 | :p1 | -| params_flow.rb:28:5:28:22 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:28:5:28:22 | * | params_flow.rb:28:5:28:22 | * | | params_flow.rb:28:5:28:22 | call to sink | params_flow.rb:28:5:28:22 | call to sink | -| params_flow.rb:28:11:28:21 | * | params_flow.rb:28:11:28:21 | * | +| params_flow.rb:28:5:28:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:28:5:28:22 | synthetic splat argument | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:28:11:28:21 | synthetic splat argument | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:28:18:28:20 | :p2 | params_flow.rb:28:18:28:20 | :p2 | -| params_flow.rb:29:5:29:22 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:29:5:29:22 | * | params_flow.rb:29:5:29:22 | * | | params_flow.rb:29:5:29:22 | call to sink | params_flow.rb:29:5:29:22 | call to sink | -| params_flow.rb:29:11:29:21 | * | params_flow.rb:29:11:29:21 | * | +| params_flow.rb:29:5:29:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:29:5:29:22 | synthetic splat argument | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:29:11:29:21 | synthetic splat argument | params_flow.rb:29:11:29:21 | synthetic splat argument | | params_flow.rb:29:18:29:20 | :p3 | params_flow.rb:29:18:29:20 | :p3 | -| params_flow.rb:30:5:30:22 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:30:5:30:22 | * | params_flow.rb:30:5:30:22 | * | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:30:5:30:22 | call to sink | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:33:1:33:58 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:35:1:35:29 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:30:11:30:21 | * | params_flow.rb:30:11:30:21 | * | +| params_flow.rb:30:5:30:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:30:5:30:22 | synthetic splat argument | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:30:10:30:22 | ( ... ) | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:30:11:30:21 | ...[...] | +| params_flow.rb:30:11:30:21 | synthetic splat argument | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:30:18:30:20 | :p4 | params_flow.rb:30:18:30:20 | :p4 | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:25:19:25:24 | kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:27:11:27:16 | kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:28:11:28:16 | kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:29:11:29:16 | kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:30:11:30:16 | kwargs | -| params_flow.rb:33:1:33:58 | ** | params_flow.rb:33:1:33:58 | ** | | params_flow.rb:33:1:33:58 | call to kwargs | params_flow.rb:33:1:33:58 | call to kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:19:25:24 | kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:27:11:27:16 | kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:28:11:28:16 | kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:29:11:29:16 | kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:30:11:30:16 | kwargs | +| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:8:33:9 | :p1 | params_flow.rb:33:8:33:9 | :p1 | | params_flow.rb:33:8:33:19 | Pair | params_flow.rb:33:8:33:19 | Pair | -| params_flow.rb:33:12:33:19 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:12:33:19 | * | params_flow.rb:33:12:33:19 | * | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3668,6 +3571,8 @@ trackEnd | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:33:12:33:19 | call to taint | +| params_flow.rb:33:12:33:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:12:33:19 | synthetic splat argument | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:2:5:2:5 | x | @@ -3683,14 +3588,14 @@ trackEnd | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:33:18:33:18 | 9 | | params_flow.rb:33:22:33:23 | :p2 | params_flow.rb:33:22:33:23 | :p2 | | params_flow.rb:33:22:33:34 | Pair | params_flow.rb:33:22:33:34 | Pair | -| params_flow.rb:33:26:33:34 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:26:33:34 | * | params_flow.rb:33:26:33:34 | * | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:33:26:33:34 | call to taint | +| params_flow.rb:33:26:33:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:26:33:34 | synthetic splat argument | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:2:5:2:5 | x | @@ -3703,14 +3608,14 @@ trackEnd | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:33:32:33:33 | 10 | | params_flow.rb:33:37:33:38 | :p3 | params_flow.rb:33:37:33:38 | :p3 | | params_flow.rb:33:37:33:49 | Pair | params_flow.rb:33:37:33:49 | Pair | -| params_flow.rb:33:41:33:49 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:33:41:33:49 | * | params_flow.rb:33:41:33:49 | * | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:33:41:33:49 | call to taint | +| params_flow.rb:33:41:33:49 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:33:41:33:49 | synthetic splat argument | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:2:5:2:5 | x | @@ -3730,22 +3635,22 @@ trackEnd | params_flow.rb:33:56:33:57 | "" | params_flow.rb:30:11:30:21 | ...[...] | | params_flow.rb:33:56:33:57 | "" | params_flow.rb:33:56:33:57 | "" | | params_flow.rb:34:1:34:4 | args | params_flow.rb:34:1:34:4 | args | -| params_flow.rb:34:8:34:32 | ** | params_flow.rb:34:8:34:32 | ** | | params_flow.rb:34:8:34:32 | Hash | params_flow.rb:34:8:34:32 | Hash | | params_flow.rb:34:8:34:32 | call to [] | params_flow.rb:34:1:34:4 | args | | params_flow.rb:34:8:34:32 | call to [] | params_flow.rb:34:1:34:32 | ... = ... | | params_flow.rb:34:8:34:32 | call to [] | params_flow.rb:34:8:34:32 | call to [] | | params_flow.rb:34:8:34:32 | call to [] | params_flow.rb:35:25:35:28 | args | +| params_flow.rb:34:8:34:32 | synthetic hash-splat argument | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:10:34:11 | :p3 | params_flow.rb:34:10:34:11 | :p3 | | params_flow.rb:34:10:34:22 | Pair | params_flow.rb:34:10:34:22 | Pair | -| params_flow.rb:34:14:34:22 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:34:14:34:22 | * | params_flow.rb:34:14:34:22 | * | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:34:14:34:22 | call to taint | +| params_flow.rb:34:14:34:22 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:34:14:34:22 | synthetic splat argument | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:2:5:2:5 | x | @@ -3764,19 +3669,17 @@ trackEnd | params_flow.rb:34:29:34:30 | "" | params_flow.rb:30:10:30:22 | ( ... ) | | params_flow.rb:34:29:34:30 | "" | params_flow.rb:30:11:30:21 | ...[...] | | params_flow.rb:34:29:34:30 | "" | params_flow.rb:34:29:34:30 | "" | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:25:1:31:3 | **kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:25:19:25:24 | kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:27:11:27:16 | kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:28:11:28:16 | kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:29:11:29:16 | kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:30:11:30:16 | kwargs | -| params_flow.rb:35:1:35:29 | ** | params_flow.rb:35:1:35:29 | ** | | params_flow.rb:35:1:35:29 | call to kwargs | params_flow.rb:35:1:35:29 | call to kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:19:25:24 | kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:27:11:27:16 | kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:28:11:28:16 | kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:29:11:29:16 | kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:30:11:30:16 | kwargs | +| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:35:8:35:9 | :p1 | params_flow.rb:35:8:35:9 | :p1 | | params_flow.rb:35:8:35:20 | Pair | params_flow.rb:35:8:35:20 | Pair | -| params_flow.rb:35:12:35:20 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:35:12:35:20 | * | params_flow.rb:35:12:35:20 | * | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3786,6 +3689,8 @@ trackEnd | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:35:12:35:20 | call to taint | +| params_flow.rb:35:12:35:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:35:12:35:20 | synthetic splat argument | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:2:5:2:5 | x | @@ -3799,7 +3704,7 @@ trackEnd | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:35:12:35:20 | call to taint | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:35:18:35:19 | 13 | -| params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:27:11:27:16 | kwargs | @@ -3808,16 +3713,14 @@ trackEnd | params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:30:11:30:16 | kwargs | | params_flow.rb:35:23:35:28 | ** ... | params_flow.rb:35:23:35:28 | ** ... | | params_flow.rb:37:1:37:4 | args | params_flow.rb:37:1:37:4 | args | -| params_flow.rb:37:8:37:44 | ** | params_flow.rb:37:8:37:44 | ** | | params_flow.rb:37:8:37:44 | Hash | params_flow.rb:37:8:37:44 | Hash | | params_flow.rb:37:8:37:44 | call to [] | params_flow.rb:37:1:37:4 | args | | params_flow.rb:37:8:37:44 | call to [] | params_flow.rb:37:1:37:44 | ... = ... | | params_flow.rb:37:8:37:44 | call to [] | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:37:8:37:44 | call to [] | params_flow.rb:38:10:38:13 | args | +| params_flow.rb:37:8:37:44 | synthetic hash-splat argument | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:9:37:11 | :p1 | params_flow.rb:37:9:37:11 | :p1 | | params_flow.rb:37:9:37:24 | Pair | params_flow.rb:37:9:37:24 | Pair | -| params_flow.rb:37:16:37:24 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:16:37:24 | * | params_flow.rb:37:16:37:24 | * | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3827,6 +3730,8 @@ trackEnd | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:37:16:37:24 | call to taint | +| params_flow.rb:37:16:37:24 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:16:37:24 | synthetic splat argument | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:2:5:2:5 | x | @@ -3842,14 +3747,14 @@ trackEnd | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:37:22:37:23 | 14 | | params_flow.rb:37:27:37:29 | :p2 | params_flow.rb:37:27:37:29 | :p2 | | params_flow.rb:37:27:37:42 | Pair | params_flow.rb:37:27:37:42 | Pair | -| params_flow.rb:37:34:37:42 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:37:34:37:42 | * | params_flow.rb:37:34:37:42 | * | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:37:34:37:42 | call to taint | +| params_flow.rb:37:34:37:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:37:34:37:42 | synthetic splat argument | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:2:5:2:5 | x | @@ -3861,7 +3766,7 @@ trackEnd | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:37:34:37:42 | call to taint | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:37:40:37:41 | 15 | | params_flow.rb:38:1:38:14 | call to kwargs | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:25:1:31:3 | **kwargs | +| params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:27:11:27:16 | kwargs | @@ -3870,16 +3775,14 @@ trackEnd | params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:30:11:30:16 | kwargs | | params_flow.rb:38:8:38:13 | ** ... | params_flow.rb:38:8:38:13 | ** ... | | params_flow.rb:40:1:40:4 | args | params_flow.rb:40:1:40:4 | args | -| params_flow.rb:40:8:40:26 | ** | params_flow.rb:40:8:40:26 | ** | | params_flow.rb:40:8:40:26 | Hash | params_flow.rb:40:8:40:26 | Hash | | params_flow.rb:40:8:40:26 | call to [] | params_flow.rb:40:1:40:4 | args | | params_flow.rb:40:8:40:26 | call to [] | params_flow.rb:40:1:40:26 | ... = ... | | params_flow.rb:40:8:40:26 | call to [] | params_flow.rb:40:8:40:26 | call to [] | | params_flow.rb:40:8:40:26 | call to [] | params_flow.rb:41:26:41:29 | args | +| params_flow.rb:40:8:40:26 | synthetic hash-splat argument | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:9:40:11 | :p1 | params_flow.rb:40:9:40:11 | :p1 | | params_flow.rb:40:9:40:24 | Pair | params_flow.rb:40:9:40:24 | Pair | -| params_flow.rb:40:16:40:24 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:40:16:40:24 | * | params_flow.rb:40:16:40:24 | * | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3887,6 +3790,8 @@ trackEnd | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:40:16:40:24 | call to taint | +| params_flow.rb:40:16:40:24 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:40:16:40:24 | synthetic splat argument | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:2:5:2:5 | x | @@ -3898,13 +3803,11 @@ trackEnd | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:40:16:40:24 | call to taint | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:40:22:40:23 | 16 | -| params_flow.rb:41:1:41:30 | ** | params_flow.rb:16:1:19:3 | **kwargs | -| params_flow.rb:41:1:41:30 | ** | params_flow.rb:41:1:41:30 | ** | | params_flow.rb:41:1:41:30 | call to keyword | params_flow.rb:41:1:41:30 | call to keyword | +| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | +| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:9:41:10 | :p2 | params_flow.rb:41:9:41:10 | :p2 | | params_flow.rb:41:9:41:21 | Pair | params_flow.rb:41:9:41:21 | Pair | -| params_flow.rb:41:13:41:21 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:41:13:41:21 | * | params_flow.rb:41:13:41:21 | * | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3912,6 +3815,8 @@ trackEnd | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:41:13:41:21 | call to taint | +| params_flow.rb:41:13:41:21 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:41:13:41:21 | synthetic splat argument | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:2:5:2:5 | x | @@ -3923,10 +3828,9 @@ trackEnd | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:41:13:41:21 | call to taint | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:41:19:41:20 | 17 | -| params_flow.rb:41:24:41:29 | ** ... | params_flow.rb:16:1:19:3 | **kwargs | +| params_flow.rb:41:24:41:29 | ** ... | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:24:41:29 | ** ... | params_flow.rb:41:24:41:29 | ** ... | | params_flow.rb:43:1:43:4 | args | params_flow.rb:43:1:43:4 | args | -| params_flow.rb:43:8:43:18 | * | params_flow.rb:43:8:43:18 | * | | params_flow.rb:43:8:43:18 | Array | params_flow.rb:43:8:43:18 | Array | | params_flow.rb:43:8:43:18 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:8:43:18 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -3938,8 +3842,7 @@ trackEnd | params_flow.rb:43:8:43:18 | call to [] | params_flow.rb:43:1:43:18 | ... = ... | | params_flow.rb:43:8:43:18 | call to [] | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:8:43:18 | call to [] | params_flow.rb:44:24:44:27 | args | -| params_flow.rb:43:9:43:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:43:9:43:17 | * | params_flow.rb:43:9:43:17 | * | +| params_flow.rb:43:8:43:18 | synthetic splat argument | params_flow.rb:43:8:43:18 | synthetic splat argument | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3947,6 +3850,8 @@ trackEnd | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:43:9:43:17 | call to taint | +| params_flow.rb:43:9:43:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:43:9:43:17 | synthetic splat argument | params_flow.rb:43:9:43:17 | synthetic splat argument | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:2:5:2:5 | x | @@ -3958,11 +3863,9 @@ trackEnd | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:43:9:43:17 | call to taint | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:43:15:43:16 | 17 | -| params_flow.rb:44:1:44:28 | * | params_flow.rb:9:1:12:3 | synthetic *args | -| params_flow.rb:44:1:44:28 | * | params_flow.rb:44:1:44:28 | * | | params_flow.rb:44:1:44:28 | call to positional | params_flow.rb:44:1:44:28 | call to positional | -| params_flow.rb:44:12:44:20 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:44:12:44:20 | * | params_flow.rb:44:12:44:20 | * | +| params_flow.rb:44:1:44:28 | synthetic splat argument | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:1:44:28 | synthetic splat argument | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -3970,6 +3873,8 @@ trackEnd | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:44:12:44:20 | call to taint | +| params_flow.rb:44:12:44:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | synthetic splat argument | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:2:5:2:5 | x | @@ -3983,7 +3888,6 @@ trackEnd | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:44:18:44:19 | 16 | | params_flow.rb:44:23:44:27 | * ... | params_flow.rb:44:23:44:27 | * ... | | params_flow.rb:46:1:46:4 | args | params_flow.rb:46:1:46:4 | args | -| params_flow.rb:46:8:46:29 | * | params_flow.rb:46:8:46:29 | * | | params_flow.rb:46:8:46:29 | Array | params_flow.rb:46:8:46:29 | Array | | params_flow.rb:46:8:46:29 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:8:46:29 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -3995,8 +3899,7 @@ trackEnd | params_flow.rb:46:8:46:29 | call to [] | params_flow.rb:46:1:46:29 | ... = ... | | params_flow.rb:46:8:46:29 | call to [] | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:8:46:29 | call to [] | params_flow.rb:47:13:47:16 | args | -| params_flow.rb:46:9:46:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:9:46:17 | * | params_flow.rb:46:9:46:17 | * | +| params_flow.rb:46:8:46:29 | synthetic splat argument | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4004,6 +3907,8 @@ trackEnd | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:46:9:46:17 | call to taint | +| params_flow.rb:46:9:46:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:9:46:17 | synthetic splat argument | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:2:5:2:5 | x | @@ -4015,8 +3920,6 @@ trackEnd | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:46:9:46:17 | call to taint | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:46:15:46:16 | 18 | -| params_flow.rb:46:20:46:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:46:20:46:28 | * | params_flow.rb:46:20:46:28 | * | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4024,6 +3927,8 @@ trackEnd | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:46:20:46:28 | call to taint | +| params_flow.rb:46:20:46:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:46:20:46:28 | synthetic splat argument | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:2:5:2:5 | x | @@ -4036,7 +3941,7 @@ trackEnd | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:46:20:46:28 | call to taint | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:46:26:46:27 | 19 | | params_flow.rb:47:1:47:17 | call to positional | params_flow.rb:47:1:47:17 | call to positional | -| params_flow.rb:47:12:47:16 | * ... | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:47:12:47:16 | * ... | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:47:12:47:16 | * ... | params_flow.rb:47:12:47:16 | * ... | | params_flow.rb:49:1:53:3 | &block | params_flow.rb:49:1:53:3 | &block | | params_flow.rb:49:1:53:3 | posargs | params_flow.rb:49:1:53:3 | posargs | @@ -4048,7 +3953,7 @@ trackEnd | params_flow.rb:49:1:53:3 | self in posargs | params_flow.rb:50:5:50:11 | self | | params_flow.rb:49:1:53:3 | self in posargs | params_flow.rb:51:5:51:21 | self | | params_flow.rb:49:1:53:3 | self in posargs | params_flow.rb:52:5:52:21 | self | -| params_flow.rb:49:1:53:3 | synthetic *args | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:49:1:53:3 | synthetic splat parameter | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:49:13:49:14 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:49:13:49:14 | p1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:49:13:49:14 | p1 | params_flow.rb:6:10:6:10 | x | @@ -4061,46 +3966,44 @@ trackEnd | params_flow.rb:49:17:49:24 | *posargs | params_flow.rb:51:11:51:17 | posargs | | params_flow.rb:49:17:49:24 | *posargs | params_flow.rb:52:11:52:17 | posargs | | params_flow.rb:49:18:49:24 | posargs | params_flow.rb:49:18:49:24 | posargs | -| params_flow.rb:50:5:50:11 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:50:5:50:11 | * | params_flow.rb:50:5:50:11 | * | | params_flow.rb:50:5:50:11 | call to sink | params_flow.rb:50:5:50:11 | call to sink | -| params_flow.rb:51:5:51:21 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:51:5:51:21 | * | params_flow.rb:51:5:51:21 | * | +| params_flow.rb:50:5:50:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:50:5:50:11 | synthetic splat argument | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:51:5:51:21 | call to sink | params_flow.rb:51:5:51:21 | call to sink | -| params_flow.rb:51:11:51:20 | * | params_flow.rb:51:11:51:20 | * | +| params_flow.rb:51:5:51:21 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:51:5:51:21 | synthetic splat argument | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:51:11:51:20 | synthetic splat argument | params_flow.rb:51:11:51:20 | synthetic splat argument | | params_flow.rb:51:19:51:19 | 0 | params_flow.rb:51:19:51:19 | 0 | -| params_flow.rb:52:5:52:21 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:52:5:52:21 | * | params_flow.rb:52:5:52:21 | * | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:52:5:52:21 | call to sink | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:52:11:52:20 | * | params_flow.rb:52:11:52:20 | * | +| params_flow.rb:52:5:52:21 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:52:5:52:21 | synthetic splat argument | params_flow.rb:52:5:52:21 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:52:10:52:21 | ( ... ) | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:52:11:52:20 | ...[...] | +| params_flow.rb:52:11:52:20 | synthetic splat argument | params_flow.rb:52:11:52:20 | synthetic splat argument | | params_flow.rb:52:19:52:19 | 1 | params_flow.rb:52:19:52:19 | 1 | -| params_flow.rb:55:1:55:29 | * | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:55:1:55:29 | * | params_flow.rb:55:1:55:29 | * | | params_flow.rb:55:1:55:29 | call to posargs | params_flow.rb:55:1:55:29 | call to posargs | -| params_flow.rb:55:9:55:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:9:55:17 | * | params_flow.rb:55:9:55:17 | * | +| params_flow.rb:55:1:55:29 | synthetic splat argument | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:1:55:29 | synthetic splat argument | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:55:9:55:17 | call to taint | +| params_flow.rb:55:9:55:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | synthetic splat argument | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:2:5:2:5 | x | @@ -4110,52 +4013,46 @@ trackEnd | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:55:15:55:16 | 20 | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:55:15:55:16 | 20 | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:55:9:55:17 | call to taint | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:55:15:55:16 | 20 | -| params_flow.rb:55:20:55:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:55:20:55:28 | * | params_flow.rb:55:20:55:28 | * | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:52:11:52:20 | ...[...] | +| params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | +| params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:55:20:55:28 | call to taint | +| params_flow.rb:55:20:55:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:20:55:28 | synthetic splat argument | params_flow.rb:55:20:55:28 | synthetic splat argument | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:55:26:55:27 | 21 | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:55:26:55:27 | 21 | params_flow.rb:52:11:52:20 | ...[...] | +| params_flow.rb:55:26:55:27 | 21 | params_flow.rb:51:10:51:21 | ( ... ) | +| params_flow.rb:55:26:55:27 | 21 | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:55:20:55:28 | call to taint | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:55:26:55:27 | 21 | | params_flow.rb:57:1:57:4 | args | params_flow.rb:57:1:57:4 | args | -| params_flow.rb:57:8:57:18 | * | params_flow.rb:57:8:57:18 | * | | params_flow.rb:57:8:57:18 | Array | params_flow.rb:57:8:57:18 | Array | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:52:11:52:20 | ...[...] | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:57:1:57:4 | args | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:57:1:57:18 | ... = ... | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | call to [] | params_flow.rb:58:21:58:24 | args | -| params_flow.rb:57:9:57:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:57:9:57:17 | * | params_flow.rb:57:9:57:17 | * | +| params_flow.rb:57:8:57:18 | synthetic splat argument | params_flow.rb:57:8:57:18 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:52:11:52:20 | ...[...] | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:57:9:57:17 | call to taint | +| params_flow.rb:57:9:57:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:57:9:57:17 | synthetic splat argument | params_flow.rb:57:9:57:17 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:2:5:2:5 | x | @@ -4164,24 +4061,20 @@ trackEnd | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:6:10:6:10 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:57:15:57:16 | 22 | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:57:15:57:16 | 22 | params_flow.rb:52:11:52:20 | ...[...] | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:57:15:57:16 | 22 | -| params_flow.rb:58:1:58:25 | * | params_flow.rb:49:1:53:3 | synthetic *args | -| params_flow.rb:58:1:58:25 | * | params_flow.rb:58:1:58:25 | * | | params_flow.rb:58:1:58:25 | call to posargs | params_flow.rb:58:1:58:25 | call to posargs | -| params_flow.rb:58:9:58:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:58:9:58:17 | * | params_flow.rb:58:9:58:17 | * | +| params_flow.rb:58:1:58:25 | synthetic splat argument | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:1:58:25 | synthetic splat argument | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:58:9:58:17 | call to taint | +| params_flow.rb:58:9:58:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | synthetic splat argument | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:2:5:2:5 | x | @@ -4191,8 +4084,6 @@ trackEnd | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:58:15:58:16 | 23 | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:58:15:58:16 | 23 | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:58:9:58:17 | call to taint | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:58:15:58:16 | 23 | | params_flow.rb:58:20:58:24 | * ... | params_flow.rb:49:17:49:24 | *posargs | @@ -4201,7 +4092,6 @@ trackEnd | params_flow.rb:58:20:58:24 | * ... | params_flow.rb:52:11:52:17 | posargs | | params_flow.rb:58:20:58:24 | * ... | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:60:1:60:4 | args | params_flow.rb:60:1:60:4 | args | -| params_flow.rb:60:8:60:29 | * | params_flow.rb:60:8:60:29 | * | | params_flow.rb:60:8:60:29 | Array | params_flow.rb:60:8:60:29 | Array | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -4209,23 +4099,20 @@ trackEnd | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:60:1:60:4 | args | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:60:1:60:29 | ... = ... | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:8:60:29 | call to [] | params_flow.rb:61:10:61:13 | args | -| params_flow.rb:60:9:60:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:9:60:17 | * | params_flow.rb:60:9:60:17 | * | +| params_flow.rb:60:8:60:29 | synthetic splat argument | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:60:9:60:17 | call to taint | +| params_flow.rb:60:9:60:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:9:60:17 | synthetic splat argument | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:2:5:2:5 | x | @@ -4235,34 +4122,30 @@ trackEnd | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:50:10:50:11 | p1 | -| params_flow.rb:60:15:60:16 | 24 | params_flow.rb:51:10:51:21 | ( ... ) | -| params_flow.rb:60:15:60:16 | 24 | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:60:9:60:17 | call to taint | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:60:15:60:16 | 24 | -| params_flow.rb:60:20:60:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:60:20:60:28 | * | params_flow.rb:60:20:60:28 | * | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:52:11:52:20 | ...[...] | +| params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | +| params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:60:20:60:28 | call to taint | +| params_flow.rb:60:20:60:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:60:20:60:28 | synthetic splat argument | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:60:26:60:27 | 25 | params_flow.rb:52:10:52:21 | ( ... ) | -| params_flow.rb:60:26:60:27 | 25 | params_flow.rb:52:11:52:20 | ...[...] | +| params_flow.rb:60:26:60:27 | 25 | params_flow.rb:51:10:51:21 | ( ... ) | +| params_flow.rb:60:26:60:27 | 25 | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:60:20:60:28 | call to taint | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:60:26:60:27 | 25 | | params_flow.rb:61:1:61:14 | call to posargs | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:61:9:61:13 | * ... | params_flow.rb:49:1:53:3 | synthetic *args | +| params_flow.rb:61:9:61:13 | * ... | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:61:9:61:13 | * ... | params_flow.rb:61:9:61:13 | * ... | | params_flow.rb:63:1:63:4 | args | params_flow.rb:63:1:63:4 | args | -| params_flow.rb:63:8:63:16 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:63:8:63:16 | * | params_flow.rb:63:8:63:16 | * | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4271,6 +4154,8 @@ trackEnd | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:65:10:65:13 | ...[...] | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:67:13:67:16 | args | +| params_flow.rb:63:8:63:16 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:63:8:63:16 | synthetic splat argument | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:2:5:2:5 | x | @@ -4295,15 +4180,15 @@ trackEnd | params_flow.rb:64:16:64:17 | *x | params_flow.rb:64:17:64:17 | x | | params_flow.rb:64:16:64:17 | *x | params_flow.rb:65:10:65:10 | x | | params_flow.rb:64:17:64:17 | x | params_flow.rb:64:17:64:17 | x | -| params_flow.rb:65:5:65:13 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:65:5:65:13 | * | params_flow.rb:65:5:65:13 | * | | params_flow.rb:65:5:65:13 | call to sink | params_flow.rb:65:5:65:13 | call to sink | | params_flow.rb:65:5:65:13 | call to sink | params_flow.rb:67:1:67:17 | call to splatstuff | -| params_flow.rb:65:10:65:13 | * | params_flow.rb:65:10:65:13 | * | +| params_flow.rb:65:5:65:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:65:5:65:13 | synthetic splat argument | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:65:10:65:13 | ...[...] | +| params_flow.rb:65:10:65:13 | synthetic splat argument | params_flow.rb:65:10:65:13 | synthetic splat argument | | params_flow.rb:65:12:65:12 | 0 | params_flow.rb:65:12:65:12 | 0 | | params_flow.rb:67:1:67:17 | call to splatstuff | params_flow.rb:67:1:67:17 | call to splatstuff | | params_flow.rb:67:12:67:16 | * ... | params_flow.rb:64:16:64:17 | *x | @@ -4323,7 +4208,7 @@ trackEnd | params_flow.rb:69:1:76:3 | self in splatmid | params_flow.rb:74:5:74:10 | self | | params_flow.rb:69:1:76:3 | self in splatmid | params_flow.rb:75:5:75:10 | self | | params_flow.rb:69:1:76:3 | splatmid | params_flow.rb:69:1:76:3 | splatmid | -| params_flow.rb:69:1:76:3 | synthetic *args | params_flow.rb:69:1:76:3 | synthetic *args | +| params_flow.rb:69:1:76:3 | synthetic splat parameter | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:69:14:69:14 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:69:14:69:14 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:69:14:69:14 | x | params_flow.rb:6:10:6:10 | x | @@ -4357,44 +4242,42 @@ trackEnd | params_flow.rb:69:27:69:27 | r | params_flow.rb:69:27:69:27 | r | | params_flow.rb:69:27:69:27 | r | params_flow.rb:69:27:69:27 | r | | params_flow.rb:69:27:69:27 | r | params_flow.rb:75:10:75:10 | r | -| params_flow.rb:70:5:70:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:70:5:70:10 | * | params_flow.rb:70:5:70:10 | * | | params_flow.rb:70:5:70:10 | call to sink | params_flow.rb:70:5:70:10 | call to sink | -| params_flow.rb:71:5:71:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:71:5:71:10 | * | params_flow.rb:71:5:71:10 | * | +| params_flow.rb:70:5:70:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:70:5:70:10 | synthetic splat argument | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:71:5:71:10 | call to sink | params_flow.rb:71:5:71:10 | call to sink | -| params_flow.rb:72:5:72:13 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:72:5:72:13 | * | params_flow.rb:72:5:72:13 | * | +| params_flow.rb:71:5:71:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:71:5:71:10 | synthetic splat argument | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:72:5:72:13 | call to sink | params_flow.rb:72:5:72:13 | call to sink | -| params_flow.rb:72:10:72:13 | * | params_flow.rb:72:10:72:13 | * | +| params_flow.rb:72:5:72:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:72:5:72:13 | synthetic splat argument | params_flow.rb:72:5:72:13 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:72:10:72:13 | ...[...] | +| params_flow.rb:72:10:72:13 | synthetic splat argument | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:72:12:72:12 | 0 | params_flow.rb:72:12:72:12 | 0 | -| params_flow.rb:73:5:73:13 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:73:5:73:13 | * | params_flow.rb:73:5:73:13 | * | | params_flow.rb:73:5:73:13 | call to sink | params_flow.rb:73:5:73:13 | call to sink | -| params_flow.rb:73:10:73:13 | * | params_flow.rb:73:10:73:13 | * | +| params_flow.rb:73:5:73:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:73:5:73:13 | synthetic splat argument | params_flow.rb:73:5:73:13 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:73:10:73:13 | ...[...] | +| params_flow.rb:73:10:73:13 | synthetic splat argument | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:73:12:73:12 | 1 | params_flow.rb:73:12:73:12 | 1 | -| params_flow.rb:74:5:74:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:74:5:74:10 | * | params_flow.rb:74:5:74:10 | * | | params_flow.rb:74:5:74:10 | call to sink | params_flow.rb:74:5:74:10 | call to sink | -| params_flow.rb:75:5:75:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:75:5:75:10 | * | params_flow.rb:75:5:75:10 | * | +| params_flow.rb:74:5:74:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:74:5:74:10 | synthetic splat argument | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:75:5:75:10 | call to sink | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:78:1:78:63 | * | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:78:1:78:63 | * | params_flow.rb:78:1:78:63 | * | +| params_flow.rb:75:5:75:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:75:5:75:10 | synthetic splat argument | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:1:78:63 | call to splatmid | params_flow.rb:78:1:78:63 | call to splatmid | -| params_flow.rb:78:10:78:18 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:10:78:18 | * | params_flow.rb:78:10:78:18 | * | +| params_flow.rb:78:1:78:63 | synthetic splat argument | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:1:78:63 | synthetic splat argument | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4402,6 +4285,8 @@ trackEnd | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:78:10:78:18 | call to taint | +| params_flow.rb:78:10:78:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | synthetic splat argument | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:2:5:2:5 | x | @@ -4413,8 +4298,6 @@ trackEnd | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:70:10:70:10 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:78:10:78:18 | call to taint | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:78:16:78:17 | 27 | -| params_flow.rb:78:21:78:29 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:21:78:29 | * | params_flow.rb:78:21:78:29 | * | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4422,6 +4305,8 @@ trackEnd | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:78:21:78:29 | call to taint | +| params_flow.rb:78:21:78:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:21:78:29 | synthetic splat argument | params_flow.rb:78:21:78:29 | synthetic splat argument | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:2:5:2:5 | x | @@ -4433,16 +4318,14 @@ trackEnd | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:71:10:71:10 | y | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:78:21:78:29 | call to taint | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:78:27:78:28 | 28 | -| params_flow.rb:78:32:78:40 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:32:78:40 | * | params_flow.rb:78:32:78:40 | * | | params_flow.rb:78:32:78:40 | call to taint | params_flow.rb:78:32:78:40 | call to taint | +| params_flow.rb:78:32:78:40 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:32:78:40 | synthetic splat argument | params_flow.rb:78:32:78:40 | synthetic splat argument | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:78:32:78:40 | call to taint | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:78:38:78:39 | 29 | -| params_flow.rb:78:43:78:51 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:43:78:51 | * | params_flow.rb:78:43:78:51 | * | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4450,6 +4333,8 @@ trackEnd | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:78:43:78:51 | call to taint | +| params_flow.rb:78:43:78:51 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:43:78:51 | synthetic splat argument | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:2:5:2:5 | x | @@ -4461,8 +4346,6 @@ trackEnd | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:78:49:78:50 | 30 | -| params_flow.rb:78:54:78:62 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:78:54:78:62 | * | params_flow.rb:78:54:78:62 | * | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4470,6 +4353,8 @@ trackEnd | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:78:54:78:62 | call to taint | +| params_flow.rb:78:54:78:62 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:54:78:62 | synthetic splat argument | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:2:5:2:5 | x | @@ -4482,7 +4367,6 @@ trackEnd | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:78:60:78:61 | 31 | | params_flow.rb:80:1:80:4 | args | params_flow.rb:80:1:80:4 | args | -| params_flow.rb:80:8:80:51 | * | params_flow.rb:80:8:80:51 | * | | params_flow.rb:80:8:80:51 | Array | params_flow.rb:80:8:80:51 | Array | | params_flow.rb:80:8:80:51 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:8:80:51 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -4494,8 +4378,7 @@ trackEnd | params_flow.rb:80:8:80:51 | call to [] | params_flow.rb:80:1:80:51 | ... = ... | | params_flow.rb:80:8:80:51 | call to [] | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:8:80:51 | call to [] | params_flow.rb:81:22:81:25 | args | -| params_flow.rb:80:9:80:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:9:80:17 | * | params_flow.rb:80:9:80:17 | * | +| params_flow.rb:80:8:80:51 | synthetic splat argument | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4503,6 +4386,8 @@ trackEnd | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:80:9:80:17 | call to taint | +| params_flow.rb:80:9:80:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:9:80:17 | synthetic splat argument | params_flow.rb:80:9:80:17 | synthetic splat argument | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:2:5:2:5 | x | @@ -4514,59 +4399,33 @@ trackEnd | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:71:10:71:10 | y | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:80:9:80:17 | call to taint | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:80:15:80:16 | 33 | -| params_flow.rb:80:20:80:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:20:80:28 | * | params_flow.rb:80:20:80:28 | * | | params_flow.rb:80:20:80:28 | call to taint | params_flow.rb:80:20:80:28 | call to taint | +| params_flow.rb:80:20:80:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:20:80:28 | synthetic splat argument | params_flow.rb:80:20:80:28 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:80:20:80:28 | call to taint | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:80:26:80:27 | 34 | -| params_flow.rb:80:31:80:39 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:31:80:39 | * | params_flow.rb:80:31:80:39 | * | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:80:31:80:39 | call to taint | +| params_flow.rb:80:31:80:39 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:31:80:39 | synthetic splat argument | params_flow.rb:80:31:80:39 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:80:37:80:38 | 35 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:80:31:80:39 | call to taint | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:80:37:80:38 | 35 | -| params_flow.rb:80:42:80:50 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:80:42:80:50 | * | params_flow.rb:80:42:80:50 | * | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:80:42:80:50 | call to taint | +| params_flow.rb:80:42:80:50 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:42:80:50 | synthetic splat argument | params_flow.rb:80:42:80:50 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:80:48:80:49 | 36 | params_flow.rb:75:10:75:10 | r | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:80:42:80:50 | call to taint | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:80:48:80:49 | 36 | -| params_flow.rb:81:1:81:37 | * | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:81:1:81:37 | * | params_flow.rb:81:1:81:37 | * | | params_flow.rb:81:1:81:37 | call to splatmid | params_flow.rb:81:1:81:37 | call to splatmid | -| params_flow.rb:81:10:81:18 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:10:81:18 | * | params_flow.rb:81:10:81:18 | * | +| params_flow.rb:81:1:81:37 | synthetic splat argument | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:1:81:37 | synthetic splat argument | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4574,6 +4433,8 @@ trackEnd | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:81:10:81:18 | call to taint | +| params_flow.rb:81:10:81:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | synthetic splat argument | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:2:5:2:5 | x | @@ -4586,9 +4447,9 @@ trackEnd | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:81:10:81:18 | call to taint | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:81:16:81:17 | 32 | | params_flow.rb:81:21:81:25 | * ... | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:81:28:81:36 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:81:28:81:36 | * | params_flow.rb:81:28:81:36 | * | | params_flow.rb:81:28:81:36 | call to taint | params_flow.rb:81:28:81:36 | call to taint | +| params_flow.rb:81:28:81:36 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:28:81:36 | synthetic splat argument | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:2:5:2:5 | x | @@ -4608,7 +4469,7 @@ trackEnd | params_flow.rb:83:1:91:3 | self in pos_many | params_flow.rb:88:5:88:10 | self | | params_flow.rb:83:1:91:3 | self in pos_many | params_flow.rb:89:5:89:10 | self | | params_flow.rb:83:1:91:3 | self in pos_many | params_flow.rb:90:5:90:10 | self | -| params_flow.rb:83:1:91:3 | synthetic *args | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:83:1:91:3 | synthetic splat parameter | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:83:14:83:14 | t | params_flow.rb:5:10:5:10 | x | | params_flow.rb:83:14:83:14 | t | params_flow.rb:5:10:5:10 | x | | params_flow.rb:83:14:83:14 | t | params_flow.rb:6:10:6:10 | x | @@ -4658,31 +4519,30 @@ trackEnd | params_flow.rb:83:32:83:32 | z | params_flow.rb:83:32:83:32 | z | | params_flow.rb:83:32:83:32 | z | params_flow.rb:83:32:83:32 | z | | params_flow.rb:83:32:83:32 | z | params_flow.rb:90:10:90:10 | z | -| params_flow.rb:84:5:84:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:84:5:84:10 | * | params_flow.rb:84:5:84:10 | * | | params_flow.rb:84:5:84:10 | call to sink | params_flow.rb:84:5:84:10 | call to sink | -| params_flow.rb:85:5:85:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:85:5:85:10 | * | params_flow.rb:85:5:85:10 | * | +| params_flow.rb:84:5:84:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:84:5:84:10 | synthetic splat argument | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:85:5:85:10 | call to sink | params_flow.rb:85:5:85:10 | call to sink | -| params_flow.rb:86:5:86:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:86:5:86:10 | * | params_flow.rb:86:5:86:10 | * | +| params_flow.rb:85:5:85:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:85:5:85:10 | synthetic splat argument | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:86:5:86:10 | call to sink | params_flow.rb:86:5:86:10 | call to sink | -| params_flow.rb:87:5:87:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:87:5:87:10 | * | params_flow.rb:87:5:87:10 | * | +| params_flow.rb:86:5:86:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:86:5:86:10 | synthetic splat argument | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:87:5:87:10 | call to sink | params_flow.rb:87:5:87:10 | call to sink | -| params_flow.rb:88:5:88:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:88:5:88:10 | * | params_flow.rb:88:5:88:10 | * | +| params_flow.rb:87:5:87:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:87:5:87:10 | synthetic splat argument | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:88:5:88:10 | call to sink | params_flow.rb:88:5:88:10 | call to sink | -| params_flow.rb:89:5:89:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:89:5:89:10 | * | params_flow.rb:89:5:89:10 | * | +| params_flow.rb:88:5:88:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:88:5:88:10 | synthetic splat argument | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:89:5:89:10 | call to sink | params_flow.rb:89:5:89:10 | call to sink | -| params_flow.rb:90:5:90:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:90:5:90:10 | * | params_flow.rb:90:5:90:10 | * | +| params_flow.rb:89:5:89:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:89:5:89:10 | synthetic splat argument | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:90:5:90:10 | call to sink | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:131:1:131:46 | call to pos_many | +| params_flow.rb:90:5:90:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:90:5:90:10 | synthetic splat argument | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:93:1:93:4 | args | params_flow.rb:93:1:93:4 | args | -| params_flow.rb:93:8:93:51 | * | params_flow.rb:93:8:93:51 | * | | params_flow.rb:93:8:93:51 | Array | params_flow.rb:93:8:93:51 | Array | | params_flow.rb:93:8:93:51 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:8:93:51 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -4694,8 +4554,7 @@ trackEnd | params_flow.rb:93:8:93:51 | call to [] | params_flow.rb:93:1:93:51 | ... = ... | | params_flow.rb:93:8:93:51 | call to [] | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:8:93:51 | call to [] | params_flow.rb:94:33:94:36 | args | -| params_flow.rb:93:9:93:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:9:93:17 | * | params_flow.rb:93:9:93:17 | * | +| params_flow.rb:93:8:93:51 | synthetic splat argument | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4703,6 +4562,8 @@ trackEnd | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:83:20:83:20 | v | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:86:10:86:10 | v | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:93:9:93:17 | call to taint | +| params_flow.rb:93:9:93:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:9:93:17 | synthetic splat argument | params_flow.rb:93:9:93:17 | synthetic splat argument | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:2:5:2:5 | x | @@ -4714,8 +4575,6 @@ trackEnd | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:86:10:86:10 | v | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:93:9:93:17 | call to taint | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:93:15:93:16 | 40 | -| params_flow.rb:93:20:93:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:20:93:28 | * | params_flow.rb:93:20:93:28 | * | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4723,6 +4582,8 @@ trackEnd | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:83:23:83:23 | w | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:87:10:87:10 | w | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:93:20:93:28 | call to taint | +| params_flow.rb:93:20:93:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:20:93:28 | synthetic splat argument | params_flow.rb:93:20:93:28 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:2:5:2:5 | x | @@ -4734,8 +4595,6 @@ trackEnd | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:87:10:87:10 | w | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:93:20:93:28 | call to taint | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:93:26:93:27 | 41 | -| params_flow.rb:93:31:93:39 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:31:93:39 | * | params_flow.rb:93:31:93:39 | * | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4743,6 +4602,8 @@ trackEnd | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:83:26:83:26 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:88:10:88:10 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:93:31:93:39 | call to taint | +| params_flow.rb:93:31:93:39 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:31:93:39 | synthetic splat argument | params_flow.rb:93:31:93:39 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:2:5:2:5 | x | @@ -4754,8 +4615,6 @@ trackEnd | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:88:10:88:10 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:93:31:93:39 | call to taint | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:93:37:93:38 | 42 | -| params_flow.rb:93:42:93:50 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:93:42:93:50 | * | params_flow.rb:93:42:93:50 | * | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4763,6 +4622,8 @@ trackEnd | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:83:29:83:29 | y | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:89:10:89:10 | y | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:93:42:93:50 | call to taint | +| params_flow.rb:93:42:93:50 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:42:93:50 | synthetic splat argument | params_flow.rb:93:42:93:50 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:2:5:2:5 | x | @@ -4774,11 +4635,9 @@ trackEnd | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:89:10:89:10 | y | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:93:42:93:50 | call to taint | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:93:48:93:49 | 43 | -| params_flow.rb:94:1:94:48 | * | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:94:1:94:48 | * | params_flow.rb:94:1:94:48 | * | | params_flow.rb:94:1:94:48 | call to pos_many | params_flow.rb:94:1:94:48 | call to pos_many | -| params_flow.rb:94:10:94:18 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:10:94:18 | * | params_flow.rb:94:10:94:18 | * | +| params_flow.rb:94:1:94:48 | synthetic splat argument | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:1:94:48 | synthetic splat argument | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4786,6 +4645,8 @@ trackEnd | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:83:14:83:14 | t | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:84:10:84:10 | t | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:94:10:94:18 | call to taint | +| params_flow.rb:94:10:94:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | synthetic splat argument | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:2:5:2:5 | x | @@ -4797,8 +4658,6 @@ trackEnd | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:84:10:84:10 | t | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:94:10:94:18 | call to taint | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:94:16:94:17 | 38 | -| params_flow.rb:94:21:94:29 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:21:94:29 | * | params_flow.rb:94:21:94:29 | * | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4806,6 +4665,8 @@ trackEnd | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:94:21:94:29 | call to taint | +| params_flow.rb:94:21:94:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:21:94:29 | synthetic splat argument | params_flow.rb:94:21:94:29 | synthetic splat argument | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:2:5:2:5 | x | @@ -4818,8 +4679,6 @@ trackEnd | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:94:21:94:29 | call to taint | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:94:27:94:28 | 39 | | params_flow.rb:94:32:94:36 | * ... | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:94:39:94:47 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:94:39:94:47 | * | params_flow.rb:94:39:94:47 | * | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4827,6 +4686,8 @@ trackEnd | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:87:10:87:10 | w | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:94:39:94:47 | call to taint | +| params_flow.rb:94:39:94:47 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:39:94:47 | synthetic splat argument | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:2:5:2:5 | x | @@ -4838,11 +4699,9 @@ trackEnd | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:87:10:87:10 | w | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:45:94:46 | 44 | -| params_flow.rb:96:1:96:88 | * | params_flow.rb:69:1:76:3 | synthetic *args | -| params_flow.rb:96:1:96:88 | * | params_flow.rb:96:1:96:88 | * | | params_flow.rb:96:1:96:88 | call to splatmid | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:96:10:96:18 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:10:96:18 | * | params_flow.rb:96:10:96:18 | * | +| params_flow.rb:96:1:96:88 | synthetic splat argument | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:1:96:88 | synthetic splat argument | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4850,6 +4709,8 @@ trackEnd | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:96:10:96:18 | call to taint | +| params_flow.rb:96:10:96:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | synthetic splat argument | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:2:5:2:5 | x | @@ -4861,8 +4722,6 @@ trackEnd | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:70:10:70:10 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:96:10:96:18 | call to taint | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:96:16:96:17 | 45 | -| params_flow.rb:96:21:96:29 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:21:96:29 | * | params_flow.rb:96:21:96:29 | * | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4870,6 +4729,8 @@ trackEnd | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:96:21:96:29 | call to taint | +| params_flow.rb:96:21:96:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:21:96:29 | synthetic splat argument | params_flow.rb:96:21:96:29 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:2:5:2:5 | x | @@ -4882,59 +4743,33 @@ trackEnd | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:96:21:96:29 | call to taint | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:96:27:96:28 | 46 | | params_flow.rb:96:32:96:65 | * ... | params_flow.rb:96:32:96:65 | * ... | -| params_flow.rb:96:33:96:65 | * | params_flow.rb:96:33:96:65 | * | | params_flow.rb:96:33:96:65 | Array | params_flow.rb:96:33:96:65 | Array | | params_flow.rb:96:33:96:65 | call to [] | params_flow.rb:96:33:96:65 | call to [] | -| params_flow.rb:96:34:96:42 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:34:96:42 | * | params_flow.rb:96:34:96:42 | * | +| params_flow.rb:96:33:96:65 | synthetic splat argument | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:34:96:42 | call to taint | params_flow.rb:96:34:96:42 | call to taint | +| params_flow.rb:96:34:96:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:34:96:42 | synthetic splat argument | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:96:40:96:41 | 47 | -| params_flow.rb:96:45:96:53 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:45:96:53 | * | params_flow.rb:96:45:96:53 | * | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:96:45:96:53 | call to taint | +| params_flow.rb:96:45:96:53 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:45:96:53 | synthetic splat argument | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:51:96:52 | 48 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:96:51:96:52 | 48 | -| params_flow.rb:96:56:96:64 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:56:96:64 | * | params_flow.rb:96:56:96:64 | * | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:96:56:96:64 | call to taint | +| params_flow.rb:96:56:96:64 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:56:96:64 | synthetic splat argument | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:62:96:63 | 49 | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:96:62:96:63 | 49 | -| params_flow.rb:96:68:96:76 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:68:96:76 | * | params_flow.rb:96:68:96:76 | * | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4942,6 +4777,8 @@ trackEnd | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:96:68:96:76 | call to taint | +| params_flow.rb:96:68:96:76 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:68:96:76 | synthetic splat argument | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:2:5:2:5 | x | @@ -4953,8 +4790,6 @@ trackEnd | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:96:74:96:75 | 50 | -| params_flow.rb:96:79:96:87 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:96:79:96:87 | * | params_flow.rb:96:79:96:87 | * | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -4962,6 +4797,8 @@ trackEnd | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:96:79:96:87 | call to taint | +| params_flow.rb:96:79:96:87 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:79:96:87 | synthetic splat argument | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:2:5:2:5 | x | @@ -4984,7 +4821,7 @@ trackEnd | params_flow.rb:98:1:103:3 | self in splatmidsmall | params_flow.rb:101:5:101:18 | self | | params_flow.rb:98:1:103:3 | self in splatmidsmall | params_flow.rb:102:5:102:10 | self | | params_flow.rb:98:1:103:3 | splatmidsmall | params_flow.rb:98:1:103:3 | splatmidsmall | -| params_flow.rb:98:1:103:3 | synthetic *args | params_flow.rb:98:1:103:3 | synthetic *args | +| params_flow.rb:98:1:103:3 | synthetic splat parameter | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:98:19:98:19 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:98:19:98:19 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:98:19:98:19 | a | params_flow.rb:6:10:6:10 | x | @@ -5004,37 +4841,35 @@ trackEnd | params_flow.rb:98:31:98:31 | b | params_flow.rb:98:31:98:31 | b | | params_flow.rb:98:31:98:31 | b | params_flow.rb:98:31:98:31 | b | | params_flow.rb:98:31:98:31 | b | params_flow.rb:102:10:102:10 | b | -| params_flow.rb:99:5:99:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:99:5:99:10 | * | params_flow.rb:99:5:99:10 | * | | params_flow.rb:99:5:99:10 | call to sink | params_flow.rb:99:5:99:10 | call to sink | -| params_flow.rb:100:5:100:18 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:100:5:100:18 | * | params_flow.rb:100:5:100:18 | * | +| params_flow.rb:99:5:99:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:99:5:99:10 | synthetic splat argument | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:100:5:100:18 | call to sink | params_flow.rb:100:5:100:18 | call to sink | -| params_flow.rb:100:10:100:18 | * | params_flow.rb:100:10:100:18 | * | +| params_flow.rb:100:5:100:18 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:100:5:100:18 | synthetic splat argument | params_flow.rb:100:5:100:18 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:100:10:100:18 | ...[...] | +| params_flow.rb:100:10:100:18 | synthetic splat argument | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:100:17:100:17 | 0 | params_flow.rb:100:17:100:17 | 0 | -| params_flow.rb:101:5:101:18 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:101:5:101:18 | * | params_flow.rb:101:5:101:18 | * | | params_flow.rb:101:5:101:18 | call to sink | params_flow.rb:101:5:101:18 | call to sink | -| params_flow.rb:101:10:101:18 | * | params_flow.rb:101:10:101:18 | * | +| params_flow.rb:101:5:101:18 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:101:5:101:18 | synthetic splat argument | params_flow.rb:101:5:101:18 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:101:10:101:18 | ...[...] | +| params_flow.rb:101:10:101:18 | synthetic splat argument | params_flow.rb:101:10:101:18 | synthetic splat argument | | params_flow.rb:101:17:101:17 | 1 | params_flow.rb:101:17:101:17 | 1 | -| params_flow.rb:102:5:102:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:102:5:102:10 | * | params_flow.rb:102:5:102:10 | * | | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:102:5:102:10 | call to sink | | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:105:1:105:49 | * | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:105:1:105:49 | * | params_flow.rb:105:1:105:49 | * | +| params_flow.rb:102:5:102:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:102:5:102:10 | synthetic splat argument | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | params_flow.rb:105:1:105:49 | call to splatmidsmall | -| params_flow.rb:105:15:105:23 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:15:105:23 | * | params_flow.rb:105:15:105:23 | * | +| params_flow.rb:105:1:105:49 | synthetic splat argument | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:1:105:49 | synthetic splat argument | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5042,6 +4877,8 @@ trackEnd | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:98:19:98:19 | a | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:99:10:99:10 | a | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:105:15:105:23 | call to taint | +| params_flow.rb:105:15:105:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | synthetic splat argument | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:2:5:2:5 | x | @@ -5054,42 +4891,28 @@ trackEnd | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:105:21:105:22 | 52 | | params_flow.rb:105:26:105:48 | * ... | params_flow.rb:105:26:105:48 | * ... | -| params_flow.rb:105:27:105:48 | * | params_flow.rb:105:27:105:48 | * | | params_flow.rb:105:27:105:48 | Array | params_flow.rb:105:27:105:48 | Array | | params_flow.rb:105:27:105:48 | call to [] | params_flow.rb:105:27:105:48 | call to [] | -| params_flow.rb:105:28:105:36 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:28:105:36 | * | params_flow.rb:105:28:105:36 | * | +| params_flow.rb:105:27:105:48 | synthetic splat argument | params_flow.rb:105:27:105:48 | synthetic splat argument | | params_flow.rb:105:28:105:36 | call to taint | params_flow.rb:105:28:105:36 | call to taint | +| params_flow.rb:105:28:105:36 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:28:105:36 | synthetic splat argument | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:105:34:105:35 | 53 | -| params_flow.rb:105:39:105:47 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:105:39:105:47 | * | params_flow.rb:105:39:105:47 | * | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:102:10:102:10 | b | | params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:105:39:105:47 | call to taint | +| params_flow.rb:105:39:105:47 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:39:105:47 | synthetic splat argument | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:105:45:105:46 | 54 | params_flow.rb:102:10:102:10 | b | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:105:45:105:46 | 54 | -| params_flow.rb:106:1:106:46 | * | params_flow.rb:98:1:103:3 | synthetic *args | -| params_flow.rb:106:1:106:46 | * | params_flow.rb:106:1:106:46 | * | | params_flow.rb:106:1:106:46 | call to splatmidsmall | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:106:15:106:23 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:15:106:23 | * | params_flow.rb:106:15:106:23 | * | +| params_flow.rb:106:1:106:46 | synthetic splat argument | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:1:106:46 | synthetic splat argument | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5097,6 +4920,8 @@ trackEnd | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:98:19:98:19 | a | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:99:10:99:10 | a | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:106:15:106:23 | call to taint | +| params_flow.rb:106:15:106:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | synthetic splat argument | params_flow.rb:106:15:106:23 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:2:5:2:5 | x | @@ -5108,16 +4933,14 @@ trackEnd | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:99:10:99:10 | a | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:106:15:106:23 | call to taint | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:106:21:106:22 | 55 | -| params_flow.rb:106:26:106:34 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:26:106:34 | * | params_flow.rb:106:26:106:34 | * | | params_flow.rb:106:26:106:34 | call to taint | params_flow.rb:106:26:106:34 | call to taint | +| params_flow.rb:106:26:106:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:26:106:34 | synthetic splat argument | params_flow.rb:106:26:106:34 | synthetic splat argument | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:106:26:106:34 | call to taint | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:106:32:106:33 | 56 | -| params_flow.rb:106:37:106:45 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:106:37:106:45 | * | params_flow.rb:106:37:106:45 | * | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5125,6 +4948,8 @@ trackEnd | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:102:10:102:10 | b | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:106:37:106:45 | call to taint | +| params_flow.rb:106:37:106:45 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:37:106:45 | synthetic splat argument | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:2:5:2:5 | x | @@ -5137,7 +4962,6 @@ trackEnd | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:106:43:106:44 | 57 | | params_flow.rb:108:1:112:3 | &block | params_flow.rb:108:1:112:3 | &block | -| params_flow.rb:108:1:112:3 | **kwargs | params_flow.rb:108:1:112:3 | **kwargs | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | params_flow.rb:5:1:7:3 | self (sink) | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | params_flow.rb:6:5:6:10 | self | @@ -5147,7 +4971,8 @@ trackEnd | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | params_flow.rb:110:5:110:13 | self | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | params_flow.rb:111:5:111:10 | self | | params_flow.rb:108:1:112:3 | splat_followed_by_keyword_param | params_flow.rb:108:1:112:3 | splat_followed_by_keyword_param | -| params_flow.rb:108:1:112:3 | synthetic *args | params_flow.rb:108:1:112:3 | synthetic *args | +| params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:108:1:112:3 | synthetic splat parameter | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:108:37:108:37 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:108:37:108:37 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:108:37:108:37 | a | params_flow.rb:6:10:6:10 | x | @@ -5166,37 +4991,36 @@ trackEnd | params_flow.rb:108:44:108:44 | c | params_flow.rb:108:44:108:44 | c | | params_flow.rb:108:44:108:44 | c | params_flow.rb:108:44:108:44 | c | | params_flow.rb:108:44:108:44 | c | params_flow.rb:111:10:111:10 | c | -| params_flow.rb:109:5:109:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:109:5:109:10 | * | params_flow.rb:109:5:109:10 | * | | params_flow.rb:109:5:109:10 | call to sink | params_flow.rb:109:5:109:10 | call to sink | -| params_flow.rb:110:5:110:13 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:110:5:110:13 | * | params_flow.rb:110:5:110:13 | * | +| params_flow.rb:109:5:109:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:109:5:109:10 | synthetic splat argument | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:110:5:110:13 | call to sink | params_flow.rb:110:5:110:13 | call to sink | -| params_flow.rb:110:10:110:13 | * | params_flow.rb:110:10:110:13 | * | +| params_flow.rb:110:5:110:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:110:5:110:13 | synthetic splat argument | params_flow.rb:110:5:110:13 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:110:10:110:13 | ...[...] | +| params_flow.rb:110:10:110:13 | synthetic splat argument | params_flow.rb:110:10:110:13 | synthetic splat argument | | params_flow.rb:110:12:110:12 | 0 | params_flow.rb:110:12:110:12 | 0 | -| params_flow.rb:111:5:111:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:111:5:111:10 | * | params_flow.rb:111:5:111:10 | * | | params_flow.rb:111:5:111:10 | call to sink | params_flow.rb:111:5:111:10 | call to sink | | params_flow.rb:111:5:111:10 | call to sink | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:1:114:67 | * | params_flow.rb:108:1:112:3 | synthetic *args | -| params_flow.rb:114:1:114:67 | * | params_flow.rb:114:1:114:67 | * | -| params_flow.rb:114:1:114:67 | ** | params_flow.rb:108:1:112:3 | **kwargs | -| params_flow.rb:114:1:114:67 | ** | params_flow.rb:114:1:114:67 | ** | +| params_flow.rb:111:5:111:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:111:5:111:10 | synthetic splat argument | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:33:114:41 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:33:114:41 | * | params_flow.rb:114:33:114:41 | * | +| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | +| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:1:114:67 | synthetic splat argument | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:1:114:67 | synthetic splat argument | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:108:37:108:37 | a | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:108:37:108:37 | a | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:109:10:109:10 | a | -| params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:114:33:114:41 | call to taint | +| params_flow.rb:114:33:114:41 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | synthetic splat argument | params_flow.rb:114:33:114:41 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:2:5:2:5 | x | @@ -5206,21 +5030,26 @@ trackEnd | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:108:37:108:37 | a | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:108:37:108:37 | a | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:109:10:109:10 | a | -| params_flow.rb:114:39:114:40 | 58 | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:114:33:114:41 | call to taint | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:114:39:114:40 | 58 | -| params_flow.rb:114:44:114:52 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:44:114:52 | * | params_flow.rb:114:44:114:52 | * | +| params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:6:10:6:10 | x | +| params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:114:44:114:52 | call to taint | +| params_flow.rb:114:44:114:52 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:44:114:52 | synthetic splat argument | params_flow.rb:114:44:114:52 | synthetic splat argument | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:2:5:2:5 | x | +| params_flow.rb:114:50:114:51 | 59 | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:50:114:51 | 59 | params_flow.rb:5:10:5:10 | x | +| params_flow.rb:114:50:114:51 | 59 | params_flow.rb:6:10:6:10 | x | +| params_flow.rb:114:50:114:51 | 59 | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:114:44:114:52 | call to taint | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:114:50:114:51 | 59 | | params_flow.rb:114:55:114:55 | :c | params_flow.rb:114:55:114:55 | :c | | params_flow.rb:114:55:114:66 | Pair | params_flow.rb:114:55:114:66 | Pair | -| params_flow.rb:114:58:114:66 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:114:58:114:66 | * | params_flow.rb:114:58:114:66 | * | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5228,6 +5057,8 @@ trackEnd | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:108:44:108:44 | c | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:111:10:111:10 | c | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:114:58:114:66 | call to taint | +| params_flow.rb:114:58:114:66 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:58:114:66 | synthetic splat argument | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:2:5:2:5 | x | @@ -5260,11 +5091,9 @@ trackEnd | params_flow.rb:117:1:117:1 | [post] x | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:117:1:117:1 | [post] x | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:1:117:1 | [post] x | params_flow.rb:118:13:118:13 | x | -| params_flow.rb:117:1:117:15 | * | params_flow.rb:117:1:117:15 | * | | params_flow.rb:117:1:117:15 | call to []= | params_flow.rb:117:1:117:15 | call to []= | +| params_flow.rb:117:1:117:15 | synthetic splat argument | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:3:117:14 | call to some_index | params_flow.rb:117:3:117:14 | call to some_index | -| params_flow.rb:117:19:117:27 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:117:19:117:27 | * | params_flow.rb:117:19:117:27 | * | | params_flow.rb:117:19:117:27 | __synth__0 | params_flow.rb:117:19:117:27 | __synth__0 | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:5:10:5:10 | x | @@ -5280,6 +5109,8 @@ trackEnd | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | ... = ... | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | __synth__0 | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | call to taint | +| params_flow.rb:117:19:117:27 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:117:19:117:27 | synthetic splat argument | params_flow.rb:117:19:117:27 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:2:5:2:5 | x | @@ -5299,7 +5130,7 @@ trackEnd | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:117:19:117:27 | call to taint | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:117:25:117:26 | 61 | | params_flow.rb:118:1:118:14 | call to positional | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:118:12:118:13 | * ... | params_flow.rb:9:1:12:3 | synthetic *args | +| params_flow.rb:118:12:118:13 | * ... | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:118:12:118:13 | * ... | params_flow.rb:118:12:118:13 | * ... | | params_flow.rb:120:1:126:3 | &block | params_flow.rb:120:1:126:3 | &block | | params_flow.rb:120:1:126:3 | destruct | params_flow.rb:120:1:126:3 | destruct | @@ -5318,88 +5149,87 @@ trackEnd | params_flow.rb:120:22:120:22 | c | params_flow.rb:120:22:120:22 | c | | params_flow.rb:120:25:120:25 | d | params_flow.rb:120:25:120:25 | d | | params_flow.rb:120:27:120:27 | e | params_flow.rb:120:27:120:27 | e | -| params_flow.rb:121:5:121:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:121:5:121:10 | * | params_flow.rb:121:5:121:10 | * | | params_flow.rb:121:5:121:10 | call to sink | params_flow.rb:121:5:121:10 | call to sink | +| params_flow.rb:121:5:121:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:121:5:121:10 | synthetic splat argument | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:121:10:121:10 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:121:10:121:10 | a | params_flow.rb:5:10:5:10 | x | | params_flow.rb:121:10:121:10 | a | params_flow.rb:6:10:6:10 | x | | params_flow.rb:121:10:121:10 | a | params_flow.rb:121:10:121:10 | a | -| params_flow.rb:122:5:122:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:122:5:122:10 | * | params_flow.rb:122:5:122:10 | * | | params_flow.rb:122:5:122:10 | call to sink | params_flow.rb:122:5:122:10 | call to sink | +| params_flow.rb:122:5:122:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:122:5:122:10 | synthetic splat argument | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:122:10:122:10 | b | params_flow.rb:5:10:5:10 | x | | params_flow.rb:122:10:122:10 | b | params_flow.rb:5:10:5:10 | x | | params_flow.rb:122:10:122:10 | b | params_flow.rb:6:10:6:10 | x | | params_flow.rb:122:10:122:10 | b | params_flow.rb:122:10:122:10 | b | -| params_flow.rb:123:5:123:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:123:5:123:10 | * | params_flow.rb:123:5:123:10 | * | | params_flow.rb:123:5:123:10 | call to sink | params_flow.rb:123:5:123:10 | call to sink | +| params_flow.rb:123:5:123:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:123:5:123:10 | synthetic splat argument | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:123:10:123:10 | c | params_flow.rb:5:10:5:10 | x | | params_flow.rb:123:10:123:10 | c | params_flow.rb:5:10:5:10 | x | | params_flow.rb:123:10:123:10 | c | params_flow.rb:6:10:6:10 | x | | params_flow.rb:123:10:123:10 | c | params_flow.rb:123:10:123:10 | c | -| params_flow.rb:124:5:124:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:124:5:124:10 | * | params_flow.rb:124:5:124:10 | * | | params_flow.rb:124:5:124:10 | call to sink | params_flow.rb:124:5:124:10 | call to sink | +| params_flow.rb:124:5:124:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:124:5:124:10 | synthetic splat argument | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:124:10:124:10 | d | params_flow.rb:5:10:5:10 | x | | params_flow.rb:124:10:124:10 | d | params_flow.rb:5:10:5:10 | x | | params_flow.rb:124:10:124:10 | d | params_flow.rb:6:10:6:10 | x | | params_flow.rb:124:10:124:10 | d | params_flow.rb:124:10:124:10 | d | -| params_flow.rb:125:5:125:10 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:125:5:125:10 | * | params_flow.rb:125:5:125:10 | * | | params_flow.rb:125:5:125:10 | call to sink | params_flow.rb:125:5:125:10 | call to sink | | params_flow.rb:125:5:125:10 | call to sink | params_flow.rb:128:1:128:61 | call to destruct | +| params_flow.rb:125:5:125:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:125:5:125:10 | synthetic splat argument | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:125:10:125:10 | e | params_flow.rb:5:10:5:10 | x | | params_flow.rb:125:10:125:10 | e | params_flow.rb:5:10:5:10 | x | | params_flow.rb:125:10:125:10 | e | params_flow.rb:6:10:6:10 | x | | params_flow.rb:125:10:125:10 | e | params_flow.rb:125:10:125:10 | e | -| params_flow.rb:128:1:128:61 | * | params_flow.rb:128:1:128:61 | * | | params_flow.rb:128:1:128:61 | call to destruct | params_flow.rb:128:1:128:61 | call to destruct | -| params_flow.rb:128:10:128:31 | * | params_flow.rb:128:10:128:31 | * | +| params_flow.rb:128:1:128:61 | synthetic splat argument | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:10:128:31 | Array | params_flow.rb:128:10:128:31 | Array | | params_flow.rb:128:10:128:31 | call to [] | params_flow.rb:128:10:128:31 | call to [] | -| params_flow.rb:128:11:128:19 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:11:128:19 | * | params_flow.rb:128:11:128:19 | * | +| params_flow.rb:128:10:128:31 | synthetic splat argument | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:128:11:128:19 | call to taint | params_flow.rb:128:11:128:19 | call to taint | +| params_flow.rb:128:11:128:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:11:128:19 | synthetic splat argument | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:128:11:128:19 | call to taint | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:128:17:128:18 | 62 | -| params_flow.rb:128:22:128:30 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:22:128:30 | * | params_flow.rb:128:22:128:30 | * | | params_flow.rb:128:22:128:30 | call to taint | params_flow.rb:128:22:128:30 | call to taint | +| params_flow.rb:128:22:128:30 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:22:128:30 | synthetic splat argument | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:128:22:128:30 | call to taint | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:128:28:128:29 | 63 | -| params_flow.rb:128:34:128:60 | * | params_flow.rb:128:34:128:60 | * | | params_flow.rb:128:34:128:60 | Array | params_flow.rb:128:34:128:60 | Array | | params_flow.rb:128:34:128:60 | call to [] | params_flow.rb:128:34:128:60 | call to [] | -| params_flow.rb:128:35:128:43 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:35:128:43 | * | params_flow.rb:128:35:128:43 | * | +| params_flow.rb:128:34:128:60 | synthetic splat argument | params_flow.rb:128:34:128:60 | synthetic splat argument | | params_flow.rb:128:35:128:43 | call to taint | params_flow.rb:128:35:128:43 | call to taint | +| params_flow.rb:128:35:128:43 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:35:128:43 | synthetic splat argument | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:128:35:128:43 | call to taint | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:128:41:128:42 | 64 | -| params_flow.rb:128:46:128:59 | * | params_flow.rb:128:46:128:59 | * | | params_flow.rb:128:46:128:59 | Array | params_flow.rb:128:46:128:59 | Array | | params_flow.rb:128:46:128:59 | call to [] | params_flow.rb:128:46:128:59 | call to [] | +| params_flow.rb:128:46:128:59 | synthetic splat argument | params_flow.rb:128:46:128:59 | synthetic splat argument | | params_flow.rb:128:47:128:47 | 0 | params_flow.rb:128:47:128:47 | 0 | -| params_flow.rb:128:50:128:58 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:128:50:128:58 | * | params_flow.rb:128:50:128:58 | * | | params_flow.rb:128:50:128:58 | call to taint | params_flow.rb:128:50:128:58 | call to taint | +| params_flow.rb:128:50:128:58 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:128:50:128:58 | synthetic splat argument | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:128:50:128:58 | call to taint | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:128:56:128:57 | 65 | | params_flow.rb:130:1:130:4 | args | params_flow.rb:130:1:130:4 | args | -| params_flow.rb:130:8:130:29 | * | params_flow.rb:130:8:130:29 | * | | params_flow.rb:130:8:130:29 | Array | params_flow.rb:130:8:130:29 | Array | | params_flow.rb:130:8:130:29 | call to [] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:8:130:29 | call to [] | params_flow.rb:5:10:5:10 | x | @@ -5411,8 +5241,7 @@ trackEnd | params_flow.rb:130:8:130:29 | call to [] | params_flow.rb:130:1:130:29 | ... = ... | | params_flow.rb:130:8:130:29 | call to [] | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:8:130:29 | call to [] | params_flow.rb:131:11:131:14 | args | -| params_flow.rb:130:9:130:17 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:9:130:17 | * | params_flow.rb:130:9:130:17 | * | +| params_flow.rb:130:8:130:29 | synthetic splat argument | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5420,6 +5249,8 @@ trackEnd | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:83:14:83:14 | t | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:84:10:84:10 | t | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:130:9:130:17 | call to taint | +| params_flow.rb:130:9:130:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:9:130:17 | synthetic splat argument | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:2:5:2:5 | x | @@ -5431,8 +5262,6 @@ trackEnd | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:84:10:84:10 | t | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:130:9:130:17 | call to taint | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:130:15:130:16 | 66 | -| params_flow.rb:130:20:130:28 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:130:20:130:28 | * | params_flow.rb:130:20:130:28 | * | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5440,6 +5269,8 @@ trackEnd | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:130:20:130:28 | call to taint | +| params_flow.rb:130:20:130:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:130:20:130:28 | synthetic splat argument | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:2:5:2:5 | x | @@ -5451,13 +5282,9 @@ trackEnd | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:85:10:85:10 | u | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:130:20:130:28 | call to taint | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:130:26:130:27 | 67 | -| params_flow.rb:131:1:131:46 | * | params_flow.rb:83:1:91:3 | synthetic *args | -| params_flow.rb:131:1:131:46 | * | params_flow.rb:131:1:131:46 | * | | params_flow.rb:131:1:131:46 | call to pos_many | params_flow.rb:131:1:131:46 | call to pos_many | -| params_flow.rb:131:10:131:14 | * ... | params_flow.rb:83:1:91:3 | synthetic *args | +| params_flow.rb:131:10:131:14 | * ... | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:131:10:131:14 | * ... | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:131:17:131:25 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:131:17:131:25 | * | params_flow.rb:131:17:131:25 | * | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:6:10:6:10 | x | @@ -5465,6 +5292,8 @@ trackEnd | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:131:17:131:25 | call to taint | +| params_flow.rb:131:17:131:25 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:131:17:131:25 | synthetic splat argument | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:2:5:2:5 | x | @@ -5516,39 +5345,39 @@ trackEnd | params_flow.rb:133:14:133:18 | *args | params_flow.rb:133:15:133:18 | args | | params_flow.rb:133:14:133:18 | *args | params_flow.rb:134:10:134:13 | args | | params_flow.rb:133:15:133:18 | args | params_flow.rb:133:15:133:18 | args | -| params_flow.rb:134:5:134:16 | * | params_flow.rb:5:1:7:3 | synthetic *args | -| params_flow.rb:134:5:134:16 | * | params_flow.rb:134:5:134:16 | * | | params_flow.rb:134:5:134:16 | call to sink | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:134:5:134:16 | call to sink | params_flow.rb:137:1:137:44 | call to splatall | -| params_flow.rb:134:10:134:16 | * | params_flow.rb:134:10:134:16 | * | +| params_flow.rb:134:5:134:16 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | +| params_flow.rb:134:5:134:16 | synthetic splat argument | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:6:10:6:10 | x | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:134:10:134:16 | ...[...] | +| params_flow.rb:134:10:134:16 | synthetic splat argument | params_flow.rb:134:10:134:16 | synthetic splat argument | | params_flow.rb:134:15:134:15 | 1 | params_flow.rb:134:15:134:15 | 1 | | params_flow.rb:137:1:137:44 | call to splatall | params_flow.rb:137:1:137:44 | call to splatall | | params_flow.rb:137:10:137:43 | * ... | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:10:137:43 | * ... | params_flow.rb:133:15:133:18 | args | | params_flow.rb:137:10:137:43 | * ... | params_flow.rb:134:10:134:13 | args | | params_flow.rb:137:10:137:43 | * ... | params_flow.rb:137:10:137:43 | * ... | -| params_flow.rb:137:11:137:43 | * | params_flow.rb:137:11:137:43 | * | | params_flow.rb:137:11:137:43 | Array | params_flow.rb:137:11:137:43 | Array | | params_flow.rb:137:11:137:43 | call to [] | params_flow.rb:137:11:137:43 | call to [] | -| params_flow.rb:137:12:137:20 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:12:137:20 | * | params_flow.rb:137:12:137:20 | * | +| params_flow.rb:137:11:137:43 | synthetic splat argument | params_flow.rb:137:11:137:43 | synthetic splat argument | | params_flow.rb:137:12:137:20 | call to taint | params_flow.rb:137:12:137:20 | call to taint | +| params_flow.rb:137:12:137:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:12:137:20 | synthetic splat argument | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:137:12:137:20 | call to taint | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:137:18:137:19 | 69 | -| params_flow.rb:137:23:137:31 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:23:137:31 | * | params_flow.rb:137:23:137:31 | * | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:134:10:134:16 | ...[...] | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:137:23:137:31 | call to taint | +| params_flow.rb:137:23:137:31 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:23:137:31 | synthetic splat argument | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:2:5:2:5 | x | @@ -5558,9 +5387,9 @@ trackEnd | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:134:10:134:16 | ...[...] | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:137:23:137:31 | call to taint | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:137:29:137:30 | 70 | -| params_flow.rb:137:34:137:42 | * | params_flow.rb:1:1:3:3 | synthetic *args | -| params_flow.rb:137:34:137:42 | * | params_flow.rb:137:34:137:42 | * | | params_flow.rb:137:34:137:42 | call to taint | params_flow.rb:137:34:137:42 | call to taint | +| params_flow.rb:137:34:137:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:137:34:137:42 | synthetic splat argument | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:2:5:2:5 | x | diff --git a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected index fddb517eee954..17f1a103781a2 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected @@ -15,13 +15,17 @@ edges | params_flow.rb:25:12:25:13 | p1 | params_flow.rb:26:10:26:11 | p1 | | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | params_flow.rb:28:11:28:16 | kwargs [element :p2] | | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | params_flow.rb:29:11:29:16 | kwargs [element :p3] | +| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | +| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | | params_flow.rb:28:11:28:16 | kwargs [element :p2] | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:29:11:29:16 | kwargs [element :p3] | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:25:12:25:13 | p1 | -| params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | -| params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | +| params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | +| params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | | params_flow.rb:34:1:34:4 | args [element :p3] | params_flow.rb:35:25:35:28 | args [element :p3] | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:34:1:34:4 | args [element :p3] | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:25:12:25:13 | p1 | @@ -42,9 +46,8 @@ edges | params_flow.rb:41:26:41:29 | args [element :p1] | params_flow.rb:41:24:41:29 | ** ... [element :p1] | | params_flow.rb:43:1:43:4 | args [element 0] | params_flow.rb:44:24:44:27 | args [element 0] | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:43:1:43:4 | args [element 0] | -| params_flow.rb:44:1:44:28 | *[1] | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:44:23:44:27 | * ... [element 0] | params_flow.rb:44:1:44:28 | *[1] | +| params_flow.rb:44:23:44:27 | * ... [element 0] | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:44:24:44:27 | args [element 0] | params_flow.rb:44:23:44:27 | * ... [element 0] | | params_flow.rb:46:1:46:4 | args [element 0] | params_flow.rb:47:13:47:16 | args [element 0] | | params_flow.rb:46:1:46:4 | args [element 1] | params_flow.rb:47:13:47:16 | args [element 1] | @@ -62,10 +65,8 @@ edges | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:49:17:49:24 | *posargs [element 0] | | params_flow.rb:57:1:57:4 | args [element 0] | params_flow.rb:58:21:58:24 | args [element 0] | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:57:1:57:4 | args [element 0] | -| params_flow.rb:58:1:58:25 | *[1] | params_flow.rb:49:17:49:24 | *posargs [element 0] | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:20:58:24 | * ... [element 0] | params_flow.rb:49:17:49:24 | *posargs [element 0] | -| params_flow.rb:58:20:58:24 | * ... [element 0] | params_flow.rb:58:1:58:25 | *[1] | | params_flow.rb:58:21:58:24 | args [element 0] | params_flow.rb:58:20:58:24 | * ... [element 0] | | params_flow.rb:60:1:60:4 | args [element 0] | params_flow.rb:61:10:61:13 | args [element 0] | | params_flow.rb:60:1:60:4 | args [element 1] | params_flow.rb:61:10:61:13 | args [element 1] | @@ -90,21 +91,10 @@ edges | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:80:1:80:4 | args [element 0] | params_flow.rb:81:22:81:25 | args [element 0] | -| params_flow.rb:80:1:80:4 | args [element 2] | params_flow.rb:81:22:81:25 | args [element 2] | -| params_flow.rb:80:1:80:4 | args [element 3] | params_flow.rb:81:22:81:25 | args [element 3] | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:80:1:80:4 | args [element 0] | -| params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:80:1:80:4 | args [element 2] | -| params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:80:1:80:4 | args [element 3] | -| params_flow.rb:81:1:81:37 | *[1] | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:81:1:81:37 | *[3] | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:81:1:81:37 | *[4] | params_flow.rb:69:27:69:27 | r | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:81:21:81:25 | * ... [element 0] | params_flow.rb:81:1:81:37 | *[1] | -| params_flow.rb:81:21:81:25 | * ... [element 2] | params_flow.rb:81:1:81:37 | *[3] | -| params_flow.rb:81:21:81:25 | * ... [element 3] | params_flow.rb:81:1:81:37 | *[4] | +| params_flow.rb:81:21:81:25 | * ... [element 0] | params_flow.rb:69:17:69:17 | y | | params_flow.rb:81:22:81:25 | args [element 0] | params_flow.rb:81:21:81:25 | * ... [element 0] | -| params_flow.rb:81:22:81:25 | args [element 2] | params_flow.rb:81:21:81:25 | * ... [element 2] | -| params_flow.rb:81:22:81:25 | args [element 3] | params_flow.rb:81:21:81:25 | * ... [element 3] | | params_flow.rb:83:14:83:14 | t | params_flow.rb:84:10:84:10 | t | | params_flow.rb:83:17:83:17 | u | params_flow.rb:85:10:85:10 | u | | params_flow.rb:83:20:83:20 | v | params_flow.rb:86:10:86:10 | v | @@ -119,37 +109,24 @@ edges | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:93:1:93:4 | args [element 1] | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:93:1:93:4 | args [element 2] | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:93:1:93:4 | args [element 3] | -| params_flow.rb:94:1:94:48 | *[2] | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:94:1:94:48 | *[3] | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:1:94:48 | *[4] | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:94:1:94:48 | *[5] | params_flow.rb:83:29:83:29 | y | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:83:14:83:14 | t | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:94:32:94:36 | * ... [element 0] | params_flow.rb:94:1:94:48 | *[2] | -| params_flow.rb:94:32:94:36 | * ... [element 1] | params_flow.rb:94:1:94:48 | *[3] | -| params_flow.rb:94:32:94:36 | * ... [element 2] | params_flow.rb:94:1:94:48 | *[4] | -| params_flow.rb:94:32:94:36 | * ... [element 3] | params_flow.rb:94:1:94:48 | *[5] | +| params_flow.rb:94:32:94:36 | * ... [element 0] | params_flow.rb:83:20:83:20 | v | +| params_flow.rb:94:32:94:36 | * ... [element 1] | params_flow.rb:83:23:83:23 | w | +| params_flow.rb:94:32:94:36 | * ... [element 2] | params_flow.rb:83:26:83:26 | x | +| params_flow.rb:94:32:94:36 | * ... [element 3] | params_flow.rb:83:29:83:29 | y | | params_flow.rb:94:33:94:36 | args [element 0] | params_flow.rb:94:32:94:36 | * ... [element 0] | | params_flow.rb:94:33:94:36 | args [element 1] | params_flow.rb:94:32:94:36 | * ... [element 1] | | params_flow.rb:94:33:94:36 | args [element 2] | params_flow.rb:94:32:94:36 | * ... [element 2] | | params_flow.rb:94:33:94:36 | args [element 3] | params_flow.rb:94:32:94:36 | * ... [element 3] | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:96:1:96:88 | *[3] | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:1:96:88 | *[4] | params_flow.rb:69:27:69:27 | r | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:96:32:96:65 | * ... [element 1] | params_flow.rb:96:1:96:88 | *[3] | -| params_flow.rb:96:32:96:65 | * ... [element 2] | params_flow.rb:96:1:96:88 | *[4] | -| params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:96:32:96:65 | * ... [element 1] | -| params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:96:32:96:65 | * ... [element 2] | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:98:19:98:19 | a | params_flow.rb:99:10:99:10 | a | | params_flow.rb:98:31:98:31 | b | params_flow.rb:102:10:102:10 | b | -| params_flow.rb:105:1:105:49 | *[2] | params_flow.rb:98:31:98:31 | b | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:105:26:105:48 | * ... [element 1] | params_flow.rb:105:1:105:49 | *[2] | -| params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:105:26:105:48 | * ... [element 1] | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:98:19:98:19 | a | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | | params_flow.rb:108:37:108:37 | a | params_flow.rb:109:10:109:10 | a | @@ -197,12 +174,16 @@ nodes | params_flow.rb:25:12:25:13 | p1 | semmle.label | p1 | | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | semmle.label | **kwargs [element :p2] | | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | semmle.label | **kwargs [element :p3] | +| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | semmle.label | **kwargs [hash-splat position :p2] | +| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | semmle.label | **kwargs [hash-splat position :p3] | | params_flow.rb:26:10:26:11 | p1 | semmle.label | p1 | | params_flow.rb:28:10:28:22 | ( ... ) | semmle.label | ( ... ) | | params_flow.rb:28:11:28:16 | kwargs [element :p2] | semmle.label | kwargs [element :p2] | +| params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | semmle.label | kwargs [hash-splat position :p2] | | params_flow.rb:28:11:28:21 | ...[...] | semmle.label | ...[...] | | params_flow.rb:29:10:29:22 | ( ... ) | semmle.label | ( ... ) | | params_flow.rb:29:11:29:16 | kwargs [element :p3] | semmle.label | kwargs [element :p3] | +| params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | semmle.label | kwargs [hash-splat position :p3] | | params_flow.rb:29:11:29:21 | ...[...] | semmle.label | ...[...] | | params_flow.rb:33:12:33:19 | call to taint | semmle.label | call to taint | | params_flow.rb:33:26:33:34 | call to taint | semmle.label | call to taint | @@ -227,7 +208,6 @@ nodes | params_flow.rb:41:26:41:29 | args [element :p1] | semmle.label | args [element :p1] | | params_flow.rb:43:1:43:4 | args [element 0] | semmle.label | args [element 0] | | params_flow.rb:43:9:43:17 | call to taint | semmle.label | call to taint | -| params_flow.rb:44:1:44:28 | *[1] | semmle.label | *[1] | | params_flow.rb:44:12:44:20 | call to taint | semmle.label | call to taint | | params_flow.rb:44:23:44:27 | * ... [element 0] | semmle.label | * ... [element 0] | | params_flow.rb:44:24:44:27 | args [element 0] | semmle.label | args [element 0] | @@ -249,7 +229,6 @@ nodes | params_flow.rb:55:20:55:28 | call to taint | semmle.label | call to taint | | params_flow.rb:57:1:57:4 | args [element 0] | semmle.label | args [element 0] | | params_flow.rb:57:9:57:17 | call to taint | semmle.label | call to taint | -| params_flow.rb:58:1:58:25 | *[1] | semmle.label | *[1] | | params_flow.rb:58:9:58:17 | call to taint | semmle.label | call to taint | | params_flow.rb:58:20:58:24 | * ... [element 0] | semmle.label | * ... [element 0] | | params_flow.rb:58:21:58:24 | args [element 0] | semmle.label | args [element 0] | @@ -281,21 +260,10 @@ nodes | params_flow.rb:78:43:78:51 | call to taint | semmle.label | call to taint | | params_flow.rb:78:54:78:62 | call to taint | semmle.label | call to taint | | params_flow.rb:80:1:80:4 | args [element 0] | semmle.label | args [element 0] | -| params_flow.rb:80:1:80:4 | args [element 2] | semmle.label | args [element 2] | -| params_flow.rb:80:1:80:4 | args [element 3] | semmle.label | args [element 3] | | params_flow.rb:80:9:80:17 | call to taint | semmle.label | call to taint | -| params_flow.rb:80:31:80:39 | call to taint | semmle.label | call to taint | -| params_flow.rb:80:42:80:50 | call to taint | semmle.label | call to taint | -| params_flow.rb:81:1:81:37 | *[1] | semmle.label | *[1] | -| params_flow.rb:81:1:81:37 | *[3] | semmle.label | *[3] | -| params_flow.rb:81:1:81:37 | *[4] | semmle.label | *[4] | | params_flow.rb:81:10:81:18 | call to taint | semmle.label | call to taint | | params_flow.rb:81:21:81:25 | * ... [element 0] | semmle.label | * ... [element 0] | -| params_flow.rb:81:21:81:25 | * ... [element 2] | semmle.label | * ... [element 2] | -| params_flow.rb:81:21:81:25 | * ... [element 3] | semmle.label | * ... [element 3] | | params_flow.rb:81:22:81:25 | args [element 0] | semmle.label | args [element 0] | -| params_flow.rb:81:22:81:25 | args [element 2] | semmle.label | args [element 2] | -| params_flow.rb:81:22:81:25 | args [element 3] | semmle.label | args [element 3] | | params_flow.rb:83:14:83:14 | t | semmle.label | t | | params_flow.rb:83:17:83:17 | u | semmle.label | u | | params_flow.rb:83:20:83:20 | v | semmle.label | v | @@ -316,10 +284,6 @@ nodes | params_flow.rb:93:20:93:28 | call to taint | semmle.label | call to taint | | params_flow.rb:93:31:93:39 | call to taint | semmle.label | call to taint | | params_flow.rb:93:42:93:50 | call to taint | semmle.label | call to taint | -| params_flow.rb:94:1:94:48 | *[2] | semmle.label | *[2] | -| params_flow.rb:94:1:94:48 | *[3] | semmle.label | *[3] | -| params_flow.rb:94:1:94:48 | *[4] | semmle.label | *[4] | -| params_flow.rb:94:1:94:48 | *[5] | semmle.label | *[5] | | params_flow.rb:94:10:94:18 | call to taint | semmle.label | call to taint | | params_flow.rb:94:21:94:29 | call to taint | semmle.label | call to taint | | params_flow.rb:94:32:94:36 | * ... [element 0] | semmle.label | * ... [element 0] | @@ -331,24 +295,15 @@ nodes | params_flow.rb:94:33:94:36 | args [element 2] | semmle.label | args [element 2] | | params_flow.rb:94:33:94:36 | args [element 3] | semmle.label | args [element 3] | | params_flow.rb:94:39:94:47 | call to taint | semmle.label | call to taint | -| params_flow.rb:96:1:96:88 | *[3] | semmle.label | *[3] | -| params_flow.rb:96:1:96:88 | *[4] | semmle.label | *[4] | | params_flow.rb:96:10:96:18 | call to taint | semmle.label | call to taint | | params_flow.rb:96:21:96:29 | call to taint | semmle.label | call to taint | -| params_flow.rb:96:32:96:65 | * ... [element 1] | semmle.label | * ... [element 1] | -| params_flow.rb:96:32:96:65 | * ... [element 2] | semmle.label | * ... [element 2] | -| params_flow.rb:96:45:96:53 | call to taint | semmle.label | call to taint | -| params_flow.rb:96:56:96:64 | call to taint | semmle.label | call to taint | | params_flow.rb:96:68:96:76 | call to taint | semmle.label | call to taint | | params_flow.rb:96:79:96:87 | call to taint | semmle.label | call to taint | | params_flow.rb:98:19:98:19 | a | semmle.label | a | | params_flow.rb:98:31:98:31 | b | semmle.label | b | | params_flow.rb:99:10:99:10 | a | semmle.label | a | | params_flow.rb:102:10:102:10 | b | semmle.label | b | -| params_flow.rb:105:1:105:49 | *[2] | semmle.label | *[2] | | params_flow.rb:105:15:105:23 | call to taint | semmle.label | call to taint | -| params_flow.rb:105:26:105:48 | * ... [element 1] | semmle.label | * ... [element 1] | -| params_flow.rb:105:39:105:47 | call to taint | semmle.label | call to taint | | params_flow.rb:106:15:106:23 | call to taint | semmle.label | call to taint | | params_flow.rb:106:37:106:45 | call to taint | semmle.label | call to taint | | params_flow.rb:108:37:108:37 | a | semmle.label | a | @@ -418,12 +373,8 @@ subpaths | params_flow.rb:71:10:71:10 | y | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:71:10:71:10 | y | $@ | params_flow.rb:80:9:80:17 | call to taint | call to taint | | params_flow.rb:71:10:71:10 | y | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:71:10:71:10 | y | $@ | params_flow.rb:96:21:96:29 | call to taint | call to taint | | params_flow.rb:74:10:74:10 | w | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:78:43:78:51 | call to taint | call to taint | -| params_flow.rb:74:10:74:10 | w | params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:80:31:80:39 | call to taint | call to taint | -| params_flow.rb:74:10:74:10 | w | params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:96:45:96:53 | call to taint | call to taint | | params_flow.rb:74:10:74:10 | w | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:96:68:96:76 | call to taint | call to taint | | params_flow.rb:75:10:75:10 | r | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:78:54:78:62 | call to taint | call to taint | -| params_flow.rb:75:10:75:10 | r | params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:80:42:80:50 | call to taint | call to taint | -| params_flow.rb:75:10:75:10 | r | params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:96:56:96:64 | call to taint | call to taint | | params_flow.rb:75:10:75:10 | r | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:96:79:96:87 | call to taint | call to taint | | params_flow.rb:84:10:84:10 | t | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:84:10:84:10 | t | $@ | params_flow.rb:94:10:94:18 | call to taint | call to taint | | params_flow.rb:84:10:84:10 | t | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:84:10:84:10 | t | $@ | params_flow.rb:130:9:130:17 | call to taint | call to taint | @@ -437,7 +388,6 @@ subpaths | params_flow.rb:89:10:89:10 | y | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:89:10:89:10 | y | $@ | params_flow.rb:93:42:93:50 | call to taint | call to taint | | params_flow.rb:99:10:99:10 | a | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:99:10:99:10 | a | $@ | params_flow.rb:105:15:105:23 | call to taint | call to taint | | params_flow.rb:99:10:99:10 | a | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:99:10:99:10 | a | $@ | params_flow.rb:106:15:106:23 | call to taint | call to taint | -| params_flow.rb:102:10:102:10 | b | params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:102:10:102:10 | b | $@ | params_flow.rb:105:39:105:47 | call to taint | call to taint | | params_flow.rb:102:10:102:10 | b | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:102:10:102:10 | b | $@ | params_flow.rb:106:37:106:45 | call to taint | call to taint | | params_flow.rb:109:10:109:10 | a | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:109:10:109:10 | a | $@ | params_flow.rb:114:33:114:41 | call to taint | call to taint | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | $@ | params_flow.rb:114:44:114:52 | call to taint | call to taint | diff --git a/ruby/ql/test/library-tests/dataflow/params/params_flow.rb b/ruby/ql/test/library-tests/dataflow/params/params_flow.rb index fe179d4e119d4..c1b1da0563fc3 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params_flow.rb +++ b/ruby/ql/test/library-tests/dataflow/params/params_flow.rb @@ -71,8 +71,8 @@ def splatmid(x, y, *z, w, r) sink y # $ hasValueFlow=28 $ hasValueFlow=46 $ hasValueFlow=33 sink z[0] # MISSING: $ hasValueFlow=47 $ hasValueFlow=29 $ hasValueFlow=34 sink z[1] # $ MISSING: hasValueFlow=48 $ hasValueFlow=35 - sink w # $ hasValueFlow=30 $ hasValueFlow=50 $ MISSING: hasValueFlow=36 $ SPURIOUS: hasValueFlow=35 $ hasValueFlow=48 - sink r # $ hasValueFlow=31 $ hasValueFlow=51 $ MISSING: hasValueFlow=37 $ SPURIOUS: hasValueFlow=36 $ hasValueFlow=49 + sink w # $ hasValueFlow=30 $ hasValueFlow=50 $ MISSING: hasValueFlow=36 + sink r # $ hasValueFlow=31 $ hasValueFlow=51 $ MISSING: hasValueFlow=37 end splatmid(taint(27), taint(28), taint(29), taint(30), taint(31)) @@ -99,7 +99,7 @@ def splatmidsmall(a, *splats, b) sink a # $ hasValueFlow=52 $ hasValueFlow=55 sink splats[0] # $ MISSING: hasValueFlow=53 sink splats[1] - sink b # $ hasValueFlow=57 $ hasValueFlow=54 + sink b # $ hasValueFlow=57 $ MISSING: hasValueFlow=54 end splatmidsmall(taint(52), *[taint(53), taint(54)]) diff --git a/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected b/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected index bdee5aaba8c9d..b8194f74f4287 100644 --- a/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected +++ b/ruby/ql/test/library-tests/dataflow/summaries/Summaries.expected @@ -250,7 +250,7 @@ edges | summaries.rb:122:33:122:33 | [post] z | summaries.rb:125:6:125:6 | z | | summaries.rb:128:1:128:1 | [post] x | summaries.rb:129:6:129:6 | x | | summaries.rb:128:14:128:20 | tainted | summaries.rb:128:1:128:1 | [post] x | -| summaries.rb:131:16:131:22 | tainted | summaries.rb:131:1:131:23 | * | +| summaries.rb:131:16:131:22 | tainted | summaries.rb:131:1:131:23 | synthetic splat argument | | summaries.rb:157:14:160:3 | do ... end [captured tainted] | summaries.rb:158:15:158:21 | tainted | | summaries.rb:157:14:160:3 | do ... end [captured tainted] | summaries.rb:158:15:158:21 | tainted | nodes @@ -469,7 +469,7 @@ nodes | summaries.rb:128:1:128:1 | [post] x | semmle.label | [post] x | | summaries.rb:128:14:128:20 | tainted | semmle.label | tainted | | summaries.rb:129:6:129:6 | x | semmle.label | x | -| summaries.rb:131:1:131:23 | * | semmle.label | * | +| summaries.rb:131:1:131:23 | synthetic splat argument | semmle.label | synthetic splat argument | | summaries.rb:131:16:131:22 | tainted | semmle.label | tainted | | summaries.rb:131:16:131:22 | tainted | semmle.label | tainted | | summaries.rb:131:16:131:22 | tainted | semmle.label | tainted | @@ -584,7 +584,7 @@ invalidSpecComponent | summaries.rb:124:6:124:6 | y | summaries.rb:1:20:1:36 | call to source | summaries.rb:124:6:124:6 | y | $@ | summaries.rb:1:20:1:36 | call to source | call to source | | summaries.rb:125:6:125:6 | z | summaries.rb:1:20:1:36 | call to source | summaries.rb:125:6:125:6 | z | $@ | summaries.rb:1:20:1:36 | call to source | call to source | | summaries.rb:129:6:129:6 | x | summaries.rb:1:20:1:36 | call to source | summaries.rb:129:6:129:6 | x | $@ | summaries.rb:1:20:1:36 | call to source | call to source | -| summaries.rb:131:1:131:23 | * | summaries.rb:1:20:1:36 | call to source | summaries.rb:131:1:131:23 | * | $@ | summaries.rb:1:20:1:36 | call to source | call to source | +| summaries.rb:131:1:131:23 | synthetic splat argument | summaries.rb:1:20:1:36 | call to source | summaries.rb:131:1:131:23 | synthetic splat argument | $@ | summaries.rb:1:20:1:36 | call to source | call to source | | summaries.rb:131:16:131:22 | tainted | summaries.rb:1:20:1:36 | call to source | summaries.rb:131:16:131:22 | tainted | $@ | summaries.rb:1:20:1:36 | call to source | call to source | | summaries.rb:131:16:131:22 | tainted | summaries.rb:1:20:1:36 | call to source | summaries.rb:131:16:131:22 | tainted | $@ | summaries.rb:1:20:1:36 | call to source | call to source | | summaries.rb:132:21:132:27 | tainted | summaries.rb:1:20:1:36 | call to source | summaries.rb:132:21:132:27 | tainted | $@ | summaries.rb:1:20:1:36 | call to source | call to source | diff --git a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected index fa224cf427b79..d51ef0ffae42b 100644 --- a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected @@ -7,19 +7,19 @@ track | type_tracker.rb:2:5:5:7 | field= | type tracker without call steps | type_tracker.rb:2:5:5:7 | field= | | type_tracker.rb:2:5:5:7 | self in field= | type tracker with call steps | type_tracker.rb:7:5:9:7 | self in field | | type_tracker.rb:2:5:5:7 | self in field= | type tracker without call steps | type_tracker.rb:2:5:5:7 | self in field= | -| type_tracker.rb:2:5:5:7 | synthetic *args | type tracker without call steps | type_tracker.rb:2:5:5:7 | synthetic *args | +| type_tracker.rb:2:5:5:7 | synthetic splat parameter | type tracker without call steps | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:3:14:3:23 | call to field | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | * | -| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | * | -| type_tracker.rb:3:9:3:23 | * | type tracker without call steps | type_tracker.rb:3:9:3:23 | * | +| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | +| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:3:9:3:23 | call to puts | type tracker without call steps | type_tracker.rb:3:9:3:23 | call to puts | +| type_tracker.rb:3:9:3:23 | synthetic splat argument | type tracker without call steps | type_tracker.rb:3:9:3:23 | synthetic splat argument | | type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps | type_tracker.rb:3:14:3:23 | call to field | -| type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | * | +| type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | | type_tracker.rb:4:9:4:14 | @field | type tracker without call steps | type_tracker.rb:4:9:4:14 | @field | | type_tracker.rb:7:5:9:7 | &block | type tracker without call steps | type_tracker.rb:7:5:9:7 | &block | | type_tracker.rb:7:5:9:7 | field | type tracker without call steps | type_tracker.rb:7:5:9:7 | field | @@ -27,8 +27,8 @@ track | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:3:14:3:23 | call to field | | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | * | -| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | * | +| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | +| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:12:1:16:3 | &block | type tracker without call steps | type_tracker.rb:12:1:16:3 | &block | | type_tracker.rb:12:1:16:3 | m | type tracker without call steps | type_tracker.rb:12:1:16:3 | m | | type_tracker.rb:12:1:16:3 | self in m | type tracker without call steps | type_tracker.rb:12:1:16:3 | self in m | @@ -39,123 +39,123 @@ track | type_tracker.rb:13:11:13:23 | call to new | type tracker without call steps | type_tracker.rb:13:11:13:23 | call to new | | type_tracker.rb:14:5:14:7 | [post] var | type tracker with call steps | type_tracker.rb:7:5:9:7 | self in field | | type_tracker.rb:14:5:14:7 | [post] var | type tracker without call steps | type_tracker.rb:14:5:14:7 | [post] var | -| type_tracker.rb:14:5:14:13 | * | type tracker with call steps | type_tracker.rb:2:5:5:7 | synthetic *args | -| type_tracker.rb:14:5:14:13 | * | type tracker without call steps | type_tracker.rb:14:5:14:13 | * | | type_tracker.rb:14:5:14:13 | call to field= | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | +| type_tracker.rb:14:5:14:13 | synthetic splat argument | type tracker with call steps | type_tracker.rb:2:5:5:7 | synthetic splat parameter | +| type_tracker.rb:14:5:14:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:14:5:14:13 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps with content attribute field | type_tracker.rb:7:5:9:7 | self in field | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps with content element 0 | type_tracker.rb:2:5:5:7 | synthetic *args | +| type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps with content splat position 0 | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:14:17:14:23 | "hello" | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content attribute field | type_tracker.rb:14:5:14:7 | [post] var | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content element 0 | type_tracker.rb:14:5:14:13 | * | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | * | +| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content splat position 0 | type_tracker.rb:14:5:14:13 | synthetic splat argument | +| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | __synth__0 | type tracker without call steps | type_tracker.rb:14:17:14:23 | __synth__0 | -| type_tracker.rb:15:5:15:18 | * | type tracker without call steps | type_tracker.rb:15:5:15:18 | * | | type_tracker.rb:15:5:15:18 | call to puts | type tracker without call steps | type_tracker.rb:15:5:15:18 | call to puts | +| type_tracker.rb:15:5:15:18 | synthetic splat argument | type tracker without call steps | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | * | +| type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:18:1:21:3 | &block | type tracker without call steps | type_tracker.rb:18:1:21:3 | &block | | type_tracker.rb:18:1:21:3 | positional | type tracker without call steps | type_tracker.rb:18:1:21:3 | positional | | type_tracker.rb:18:1:21:3 | self in positional | type tracker without call steps | type_tracker.rb:18:1:21:3 | self in positional | -| type_tracker.rb:18:1:21:3 | synthetic *args | type tracker without call steps | type_tracker.rb:18:1:21:3 | synthetic *args | +| type_tracker.rb:18:1:21:3 | synthetic splat parameter | type tracker without call steps | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps | type_tracker.rb:18:16:18:17 | p1 | -| type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps with content element 0 | type_tracker.rb:19:5:19:11 | * | +| type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps with content splat position 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps | type_tracker.rb:18:20:18:21 | p2 | | type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps | type_tracker.rb:18:20:18:21 | p2 | -| type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps with content element 0 | type_tracker.rb:20:5:20:11 | * | -| type_tracker.rb:19:5:19:11 | * | type tracker without call steps | type_tracker.rb:19:5:19:11 | * | +| type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps with content splat position 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:19:5:19:11 | call to puts | type tracker without call steps | type_tracker.rb:19:5:19:11 | call to puts | -| type_tracker.rb:20:5:20:11 | * | type tracker without call steps | type_tracker.rb:20:5:20:11 | * | +| type_tracker.rb:19:5:19:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:20:5:20:11 | call to puts | type tracker without call steps | type_tracker.rb:20:5:20:11 | call to puts | | type_tracker.rb:20:5:20:11 | call to puts | type tracker without call steps | type_tracker.rb:23:1:23:16 | call to positional | -| type_tracker.rb:23:1:23:16 | * | type tracker with call steps | type_tracker.rb:18:1:21:3 | synthetic *args | -| type_tracker.rb:23:1:23:16 | * | type tracker without call steps | type_tracker.rb:23:1:23:16 | * | +| type_tracker.rb:20:5:20:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:23:1:23:16 | call to positional | type tracker without call steps | type_tracker.rb:23:1:23:16 | call to positional | +| type_tracker.rb:23:1:23:16 | synthetic splat argument | type tracker with call steps | type_tracker.rb:18:1:21:3 | synthetic splat parameter | +| type_tracker.rb:23:1:23:16 | synthetic splat argument | type tracker without call steps | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps | type_tracker.rb:18:16:18:17 | p1 | -| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content element 0 | type_tracker.rb:18:1:21:3 | synthetic *args | -| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content element 0 | type_tracker.rb:19:5:19:11 | * | +| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content splat position 0 | type_tracker.rb:18:1:21:3 | synthetic splat parameter | +| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content splat position 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps | type_tracker.rb:23:12:23:12 | 1 | -| type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:23:1:23:16 | * | +| type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps | type_tracker.rb:18:20:18:21 | p2 | -| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content element 0 | type_tracker.rb:20:5:20:11 | * | -| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content element 1 | type_tracker.rb:18:1:21:3 | synthetic *args | +| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content splat position 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | +| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content splat position 1 | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps | type_tracker.rb:23:15:23:15 | 2 | -| type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:23:1:23:16 | * | +| type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:25:1:28:3 | &block | type tracker without call steps | type_tracker.rb:25:1:28:3 | &block | -| type_tracker.rb:25:1:28:3 | **kwargs | type tracker without call steps | type_tracker.rb:25:1:28:3 | **kwargs | | type_tracker.rb:25:1:28:3 | keyword | type tracker without call steps | type_tracker.rb:25:1:28:3 | keyword | | type_tracker.rb:25:1:28:3 | self in keyword | type tracker without call steps | type_tracker.rb:25:1:28:3 | self in keyword | +| type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | type tracker without call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps | type_tracker.rb:25:13:25:14 | p1 | -| type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps with content element 0 | type_tracker.rb:26:5:26:11 | * | +| type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps | type_tracker.rb:25:18:25:19 | p2 | -| type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps with content element 0 | type_tracker.rb:27:5:27:11 | * | -| type_tracker.rb:26:5:26:11 | * | type tracker without call steps | type_tracker.rb:26:5:26:11 | * | +| type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:26:5:26:11 | call to puts | type tracker without call steps | type_tracker.rb:26:5:26:11 | call to puts | -| type_tracker.rb:27:5:27:11 | * | type tracker without call steps | type_tracker.rb:27:5:27:11 | * | +| type_tracker.rb:26:5:26:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:27:5:27:11 | call to puts | | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:30:1:30:21 | call to keyword | | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:31:1:31:21 | call to keyword | | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:32:1:32:27 | call to keyword | -| type_tracker.rb:30:1:30:21 | ** | type tracker with call steps | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:30:1:30:21 | ** | type tracker without call steps | type_tracker.rb:30:1:30:21 | ** | +| type_tracker.rb:27:5:27:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:1:30:21 | call to keyword | type tracker without call steps | type_tracker.rb:30:1:30:21 | call to keyword | +| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:9:30:10 | :p1 | type tracker without call steps | type_tracker.rb:30:9:30:10 | :p1 | | type_tracker.rb:30:9:30:13 | Pair | type tracker without call steps | type_tracker.rb:30:9:30:13 | Pair | | type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | -| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | * | -| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content element :p1 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps | type_tracker.rb:30:13:30:13 | 3 | -| type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps with content element :p1 | type_tracker.rb:30:1:30:21 | ** | +| type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:16:30:17 | :p2 | type tracker without call steps | type_tracker.rb:30:16:30:17 | :p2 | | type_tracker.rb:30:16:30:20 | Pair | type tracker without call steps | type_tracker.rb:30:16:30:20 | Pair | | type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | -| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | * | -| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content element :p2 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps | type_tracker.rb:30:20:30:20 | 4 | -| type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps with content element :p2 | type_tracker.rb:30:1:30:21 | ** | -| type_tracker.rb:31:1:31:21 | ** | type tracker with call steps | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:31:1:31:21 | ** | type tracker without call steps | type_tracker.rb:31:1:31:21 | ** | +| type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:31:1:31:21 | call to keyword | type tracker without call steps | type_tracker.rb:31:1:31:21 | call to keyword | +| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:9:31:10 | :p2 | type tracker without call steps | type_tracker.rb:31:9:31:10 | :p2 | | type_tracker.rb:31:9:31:13 | Pair | type tracker without call steps | type_tracker.rb:31:9:31:13 | Pair | | type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | -| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | * | -| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content element :p2 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps | type_tracker.rb:31:13:31:13 | 5 | -| type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps with content element :p2 | type_tracker.rb:31:1:31:21 | ** | +| type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:16:31:17 | :p1 | type tracker without call steps | type_tracker.rb:31:16:31:17 | :p1 | | type_tracker.rb:31:16:31:20 | Pair | type tracker without call steps | type_tracker.rb:31:16:31:20 | Pair | | type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | -| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | * | -| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content element :p1 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps | type_tracker.rb:31:20:31:20 | 6 | -| type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps with content element :p1 | type_tracker.rb:31:1:31:21 | ** | -| type_tracker.rb:32:1:32:27 | ** | type tracker with call steps | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:32:1:32:27 | ** | type tracker without call steps | type_tracker.rb:32:1:32:27 | ** | +| type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:32:1:32:27 | call to keyword | type tracker without call steps | type_tracker.rb:32:1:32:27 | call to keyword | +| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:9:32:11 | :p2 | type tracker without call steps | type_tracker.rb:32:9:32:11 | :p2 | | type_tracker.rb:32:9:32:16 | Pair | type tracker without call steps | type_tracker.rb:32:9:32:16 | Pair | | type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | -| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | * | -| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content element :p2 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps | type_tracker.rb:32:16:32:16 | 7 | -| type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps with content element :p2 | type_tracker.rb:32:1:32:27 | ** | +| type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:19:32:21 | :p1 | type tracker without call steps | type_tracker.rb:32:19:32:21 | :p1 | | type_tracker.rb:32:19:32:26 | Pair | type tracker without call steps | type_tracker.rb:32:19:32:26 | Pair | | type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | -| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | * | -| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content element :p1 | type_tracker.rb:25:1:28:3 | **kwargs | +| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps | type_tracker.rb:32:26:32:26 | 8 | -| type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps with content element :p1 | type_tracker.rb:32:1:32:27 | ** | +| type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:34:1:53:3 | &block | type tracker without call steps | type_tracker.rb:34:1:53:3 | &block | | type_tracker.rb:34:1:53:3 | self in throughArray | type tracker without call steps | type_tracker.rb:34:1:53:3 | self in throughArray | -| type_tracker.rb:34:1:53:3 | synthetic *args | type tracker without call steps | type_tracker.rb:34:1:53:3 | synthetic *args | +| type_tracker.rb:34:1:53:3 | synthetic splat parameter | type tracker without call steps | type_tracker.rb:34:1:53:3 | synthetic splat parameter | | type_tracker.rb:34:1:53:3 | throughArray | type tracker without call steps | type_tracker.rb:34:1:53:3 | throughArray | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps | type_tracker.rb:34:18:34:20 | obj | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps | type_tracker.rb:34:18:34:20 | obj | @@ -165,164 +165,164 @@ track | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element | type_tracker.rb:38:13:38:25 | call to [] | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element | type_tracker.rb:50:14:50:26 | call to [] | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 | type_tracker.rb:35:11:35:15 | * | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 or unknown | type_tracker.rb:35:11:35:15 | call to [] | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 or unknown | type_tracker.rb:42:14:42:26 | call to [] | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 or unknown | type_tracker.rb:46:14:46:26 | call to [] | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:39:5:39:12 | * | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:43:5:43:13 | * | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:47:5:47:13 | * | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:51:5:51:13 | * | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 0 | type_tracker.rb:35:11:35:15 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:39:5:39:12 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:43:5:43:13 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:47:5:47:13 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:34:23:34:23 | y | type tracker without call steps | type_tracker.rb:34:23:34:23 | y | | type_tracker.rb:34:23:34:23 | y | type tracker without call steps | type_tracker.rb:34:23:34:23 | y | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:39:5:39:12 | * | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:44:5:44:13 | * | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:51:5:51:13 | * | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:39:5:39:12 | synthetic splat argument | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:44:5:44:13 | synthetic splat argument | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:34:26:34:26 | z | type tracker without call steps | type_tracker.rb:34:26:34:26 | z | | type_tracker.rb:34:26:34:26 | z | type tracker without call steps | type_tracker.rb:34:26:34:26 | z | -| type_tracker.rb:34:26:34:26 | z | type tracker without call steps with content element 0 | type_tracker.rb:52:5:52:13 | * | +| type_tracker.rb:34:26:34:26 | z | type tracker without call steps with content splat position 0 | type_tracker.rb:52:5:52:13 | synthetic splat argument | | type_tracker.rb:35:5:35:7 | tmp | type tracker without call steps | type_tracker.rb:35:5:35:7 | tmp | -| type_tracker.rb:35:11:35:15 | * | type tracker without call steps | type_tracker.rb:35:11:35:15 | * | | type_tracker.rb:35:11:35:15 | Array | type tracker without call steps | type_tracker.rb:35:11:35:15 | Array | | type_tracker.rb:35:11:35:15 | call to [] | type tracker without call steps | type_tracker.rb:35:11:35:15 | call to [] | -| type_tracker.rb:36:5:36:10 | * | type tracker without call steps | type_tracker.rb:36:5:36:10 | * | +| type_tracker.rb:35:11:35:15 | synthetic splat argument | type tracker without call steps | type_tracker.rb:35:11:35:15 | synthetic splat argument | | type_tracker.rb:36:5:36:10 | ...[...] | type tracker without call steps | type_tracker.rb:36:5:36:10 | ...[...] | +| type_tracker.rb:36:5:36:10 | synthetic splat argument | type tracker without call steps | type_tracker.rb:36:5:36:10 | synthetic splat argument | | type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps | type_tracker.rb:36:9:36:9 | 0 | -| type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:36:5:36:10 | * | +| type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:36:5:36:10 | synthetic splat argument | | type_tracker.rb:38:5:38:9 | array | type tracker without call steps | type_tracker.rb:38:5:38:9 | array | -| type_tracker.rb:38:13:38:25 | * | type tracker without call steps | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:13:38:25 | Array | type tracker without call steps | type_tracker.rb:38:13:38:25 | Array | | type_tracker.rb:38:13:38:25 | call to [] | type tracker without call steps | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:13:38:25 | synthetic splat argument | type tracker without call steps | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:14:38:14 | 1 | type tracker without call steps | type_tracker.rb:38:14:38:14 | 1 | | type_tracker.rb:38:14:38:14 | 1 | type tracker without call steps | type_tracker.rb:40:5:40:12 | ...[...] | -| type_tracker.rb:38:14:38:14 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:14:38:14 | 1 | type tracker without call steps with content element 0 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:14:38:14 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:16:38:16 | 2 | type tracker without call steps | type_tracker.rb:38:16:38:16 | 2 | -| type_tracker.rb:38:16:38:16 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:16:38:16 | 2 | type tracker without call steps with content element 1 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:16:38:16 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:18:38:18 | 3 | type tracker without call steps | type_tracker.rb:38:18:38:18 | 3 | -| type_tracker.rb:38:18:38:18 | 3 | type tracker without call steps with content element 2 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:18:38:18 | 3 | type tracker without call steps with content element 2 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:18:38:18 | 3 | type tracker without call steps with content splat position 2 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:20:38:20 | 4 | type tracker without call steps | type_tracker.rb:38:20:38:20 | 4 | -| type_tracker.rb:38:20:38:20 | 4 | type tracker without call steps with content element 3 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:20:38:20 | 4 | type tracker without call steps with content element 3 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:20:38:20 | 4 | type tracker without call steps with content splat position 3 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:22:38:22 | 5 | type tracker without call steps | type_tracker.rb:38:22:38:22 | 5 | -| type_tracker.rb:38:22:38:22 | 5 | type tracker without call steps with content element 4 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:22:38:22 | 5 | type tracker without call steps with content element 4 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:22:38:22 | 5 | type tracker without call steps with content splat position 4 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:24:38:24 | 6 | type tracker without call steps | type_tracker.rb:38:24:38:24 | 6 | -| type_tracker.rb:38:24:38:24 | 6 | type tracker without call steps with content element 5 | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:24:38:24 | 6 | type tracker without call steps with content element 5 or unknown | type_tracker.rb:38:13:38:25 | call to [] | +| type_tracker.rb:38:24:38:24 | 6 | type tracker without call steps with content splat position 5 | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:39:5:39:9 | [post] array | type tracker without call steps | type_tracker.rb:39:5:39:9 | [post] array | -| type_tracker.rb:39:5:39:12 | * | type tracker without call steps | type_tracker.rb:39:5:39:12 | * | | type_tracker.rb:39:5:39:12 | call to []= | type tracker without call steps | type_tracker.rb:39:5:39:12 | call to []= | +| type_tracker.rb:39:5:39:12 | synthetic splat argument | type tracker without call steps | type_tracker.rb:39:5:39:12 | synthetic splat argument | | type_tracker.rb:39:16:39:18 | __synth__0 | type tracker without call steps | type_tracker.rb:39:16:39:18 | __synth__0 | -| type_tracker.rb:40:5:40:12 | * | type tracker without call steps | type_tracker.rb:40:5:40:12 | * | | type_tracker.rb:40:5:40:12 | ...[...] | type tracker without call steps | type_tracker.rb:40:5:40:12 | ...[...] | +| type_tracker.rb:40:5:40:12 | synthetic splat argument | type tracker without call steps | type_tracker.rb:40:5:40:12 | synthetic splat argument | | type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps | type_tracker.rb:40:11:40:11 | 0 | -| type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:40:5:40:12 | * | +| type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:40:5:40:12 | synthetic splat argument | | type_tracker.rb:42:5:42:10 | array2 | type tracker without call steps | type_tracker.rb:42:5:42:10 | array2 | -| type_tracker.rb:42:14:42:26 | * | type tracker without call steps | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:14:42:26 | Array | type tracker without call steps | type_tracker.rb:42:14:42:26 | Array | | type_tracker.rb:42:14:42:26 | call to [] | type tracker without call steps | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:14:42:26 | synthetic splat argument | type tracker without call steps | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:15:42:15 | 1 | type tracker without call steps | type_tracker.rb:42:15:42:15 | 1 | | type_tracker.rb:42:15:42:15 | 1 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:15:42:15 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:15:42:15 | 1 | type tracker without call steps with content element 0 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:15:42:15 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:17:42:17 | 2 | type tracker without call steps | type_tracker.rb:42:17:42:17 | 2 | | type_tracker.rb:42:17:42:17 | 2 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:17:42:17 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:17:42:17 | 2 | type tracker without call steps with content element 1 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:17:42:17 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:19:42:19 | 3 | type tracker without call steps | type_tracker.rb:42:19:42:19 | 3 | | type_tracker.rb:42:19:42:19 | 3 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:19:42:19 | 3 | type tracker without call steps with content element 2 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:19:42:19 | 3 | type tracker without call steps with content element 2 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:19:42:19 | 3 | type tracker without call steps with content splat position 2 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:21:42:21 | 4 | type tracker without call steps | type_tracker.rb:42:21:42:21 | 4 | | type_tracker.rb:42:21:42:21 | 4 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:21:42:21 | 4 | type tracker without call steps with content element 3 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:21:42:21 | 4 | type tracker without call steps with content element 3 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:21:42:21 | 4 | type tracker without call steps with content splat position 3 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:23:42:23 | 5 | type tracker without call steps | type_tracker.rb:42:23:42:23 | 5 | | type_tracker.rb:42:23:42:23 | 5 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:23:42:23 | 5 | type tracker without call steps with content element 4 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:23:42:23 | 5 | type tracker without call steps with content element 4 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:23:42:23 | 5 | type tracker without call steps with content splat position 4 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:25:42:25 | 6 | type tracker without call steps | type_tracker.rb:42:25:42:25 | 6 | | type_tracker.rb:42:25:42:25 | 6 | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | -| type_tracker.rb:42:25:42:25 | 6 | type tracker without call steps with content element 5 | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:25:42:25 | 6 | type tracker without call steps with content element 5 or unknown | type_tracker.rb:42:14:42:26 | call to [] | +| type_tracker.rb:42:25:42:25 | 6 | type tracker without call steps with content splat position 5 | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:43:5:43:10 | [post] array2 | type tracker without call steps | type_tracker.rb:43:5:43:10 | [post] array2 | -| type_tracker.rb:43:5:43:13 | * | type tracker without call steps | type_tracker.rb:43:5:43:13 | * | | type_tracker.rb:43:5:43:13 | call to []= | type tracker without call steps | type_tracker.rb:43:5:43:13 | call to []= | +| type_tracker.rb:43:5:43:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:43:5:43:13 | synthetic splat argument | | type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps | type_tracker.rb:43:12:43:12 | 0 | -| type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:43:5:43:13 | * | +| type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:43:5:43:13 | synthetic splat argument | | type_tracker.rb:43:17:43:19 | __synth__0 | type tracker without call steps | type_tracker.rb:43:17:43:19 | __synth__0 | -| type_tracker.rb:44:5:44:13 | * | type tracker without call steps | type_tracker.rb:44:5:44:13 | * | | type_tracker.rb:44:5:44:13 | ...[...] | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | +| type_tracker.rb:44:5:44:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:44:5:44:13 | synthetic splat argument | | type_tracker.rb:46:5:46:10 | array3 | type tracker without call steps | type_tracker.rb:46:5:46:10 | array3 | -| type_tracker.rb:46:14:46:26 | * | type tracker without call steps | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:14:46:26 | Array | type tracker without call steps | type_tracker.rb:46:14:46:26 | Array | | type_tracker.rb:46:14:46:26 | call to [] | type tracker without call steps | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:14:46:26 | synthetic splat argument | type tracker without call steps | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:15:46:15 | 1 | type tracker without call steps | type_tracker.rb:46:15:46:15 | 1 | -| type_tracker.rb:46:15:46:15 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:15:46:15 | 1 | type tracker without call steps with content element 0 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:15:46:15 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:17:46:17 | 2 | type tracker without call steps | type_tracker.rb:46:17:46:17 | 2 | | type_tracker.rb:46:17:46:17 | 2 | type tracker without call steps | type_tracker.rb:48:5:48:13 | ...[...] | -| type_tracker.rb:46:17:46:17 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:17:46:17 | 2 | type tracker without call steps with content element 1 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:17:46:17 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:19:46:19 | 3 | type tracker without call steps | type_tracker.rb:46:19:46:19 | 3 | -| type_tracker.rb:46:19:46:19 | 3 | type tracker without call steps with content element 2 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:19:46:19 | 3 | type tracker without call steps with content element 2 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:19:46:19 | 3 | type tracker without call steps with content splat position 2 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:21:46:21 | 4 | type tracker without call steps | type_tracker.rb:46:21:46:21 | 4 | -| type_tracker.rb:46:21:46:21 | 4 | type tracker without call steps with content element 3 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:21:46:21 | 4 | type tracker without call steps with content element 3 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:21:46:21 | 4 | type tracker without call steps with content splat position 3 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:23:46:23 | 5 | type tracker without call steps | type_tracker.rb:46:23:46:23 | 5 | -| type_tracker.rb:46:23:46:23 | 5 | type tracker without call steps with content element 4 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:23:46:23 | 5 | type tracker without call steps with content element 4 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:23:46:23 | 5 | type tracker without call steps with content splat position 4 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:25:46:25 | 6 | type tracker without call steps | type_tracker.rb:46:25:46:25 | 6 | -| type_tracker.rb:46:25:46:25 | 6 | type tracker without call steps with content element 5 | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:25:46:25 | 6 | type tracker without call steps with content element 5 or unknown | type_tracker.rb:46:14:46:26 | call to [] | +| type_tracker.rb:46:25:46:25 | 6 | type tracker without call steps with content splat position 5 | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:47:5:47:10 | [post] array3 | type tracker without call steps | type_tracker.rb:47:5:47:10 | [post] array3 | -| type_tracker.rb:47:5:47:13 | * | type tracker without call steps | type_tracker.rb:47:5:47:13 | * | | type_tracker.rb:47:5:47:13 | call to []= | type tracker without call steps | type_tracker.rb:47:5:47:13 | call to []= | +| type_tracker.rb:47:5:47:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:47:5:47:13 | synthetic splat argument | | type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps | type_tracker.rb:47:12:47:12 | 0 | -| type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:47:5:47:13 | * | +| type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:47:5:47:13 | synthetic splat argument | | type_tracker.rb:47:17:47:19 | __synth__0 | type tracker without call steps | type_tracker.rb:47:17:47:19 | __synth__0 | -| type_tracker.rb:48:5:48:13 | * | type tracker without call steps | type_tracker.rb:48:5:48:13 | * | | type_tracker.rb:48:5:48:13 | ...[...] | type tracker without call steps | type_tracker.rb:48:5:48:13 | ...[...] | +| type_tracker.rb:48:5:48:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:48:5:48:13 | synthetic splat argument | | type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps | type_tracker.rb:48:12:48:12 | 1 | -| type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:48:5:48:13 | * | +| type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:48:5:48:13 | synthetic splat argument | | type_tracker.rb:50:5:50:10 | array4 | type tracker without call steps | type_tracker.rb:50:5:50:10 | array4 | -| type_tracker.rb:50:14:50:26 | * | type tracker without call steps | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:14:50:26 | Array | type tracker without call steps | type_tracker.rb:50:14:50:26 | Array | | type_tracker.rb:50:14:50:26 | call to [] | type tracker without call steps | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:14:50:26 | synthetic splat argument | type tracker without call steps | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:15:50:15 | 1 | type tracker without call steps | type_tracker.rb:50:15:50:15 | 1 | | type_tracker.rb:50:15:50:15 | 1 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:15:50:15 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:15:50:15 | 1 | type tracker without call steps with content element 0 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:15:50:15 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:17:50:17 | 2 | type tracker without call steps | type_tracker.rb:50:17:50:17 | 2 | | type_tracker.rb:50:17:50:17 | 2 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:17:50:17 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:17:50:17 | 2 | type tracker without call steps with content element 1 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:17:50:17 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:19:50:19 | 3 | type tracker without call steps | type_tracker.rb:50:19:50:19 | 3 | | type_tracker.rb:50:19:50:19 | 3 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:19:50:19 | 3 | type tracker without call steps with content element 2 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:19:50:19 | 3 | type tracker without call steps with content element 2 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:19:50:19 | 3 | type tracker without call steps with content splat position 2 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:21:50:21 | 4 | type tracker without call steps | type_tracker.rb:50:21:50:21 | 4 | | type_tracker.rb:50:21:50:21 | 4 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:21:50:21 | 4 | type tracker without call steps with content element 3 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:21:50:21 | 4 | type tracker without call steps with content element 3 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:21:50:21 | 4 | type tracker without call steps with content splat position 3 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:23:50:23 | 5 | type tracker without call steps | type_tracker.rb:50:23:50:23 | 5 | | type_tracker.rb:50:23:50:23 | 5 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:23:50:23 | 5 | type tracker without call steps with content element 4 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:23:50:23 | 5 | type tracker without call steps with content element 4 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:23:50:23 | 5 | type tracker without call steps with content splat position 4 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:25:50:25 | 6 | type tracker without call steps | type_tracker.rb:50:25:50:25 | 6 | | type_tracker.rb:50:25:50:25 | 6 | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | -| type_tracker.rb:50:25:50:25 | 6 | type tracker without call steps with content element 5 | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:25:50:25 | 6 | type tracker without call steps with content element 5 or unknown | type_tracker.rb:50:14:50:26 | call to [] | +| type_tracker.rb:50:25:50:25 | 6 | type tracker without call steps with content splat position 5 | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:51:5:51:10 | [post] array4 | type tracker without call steps | type_tracker.rb:51:5:51:10 | [post] array4 | -| type_tracker.rb:51:5:51:13 | * | type tracker without call steps | type_tracker.rb:51:5:51:13 | * | | type_tracker.rb:51:5:51:13 | call to []= | type tracker without call steps | type_tracker.rb:51:5:51:13 | call to []= | +| type_tracker.rb:51:5:51:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:51:17:51:19 | __synth__0 | type tracker without call steps | type_tracker.rb:51:17:51:19 | __synth__0 | -| type_tracker.rb:52:5:52:13 | * | type tracker without call steps | type_tracker.rb:52:5:52:13 | * | | type_tracker.rb:52:5:52:13 | ...[...] | type tracker without call steps | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:52:5:52:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:52:5:52:13 | synthetic splat argument | trackEnd | type_tracker.rb:1:1:10:3 | self (Container) | type_tracker.rb:1:1:10:3 | self (Container) | | type_tracker.rb:1:1:53:4 | self (type_tracker.rb) | type_tracker.rb:1:1:53:4 | self (type_tracker.rb) | @@ -348,7 +348,7 @@ trackEnd | type_tracker.rb:2:5:5:7 | self in field= | type_tracker.rb:7:5:9:7 | self (field) | | type_tracker.rb:2:5:5:7 | self in field= | type_tracker.rb:7:5:9:7 | self in field | | type_tracker.rb:2:5:5:7 | self in field= | type_tracker.rb:8:9:8:14 | self | -| type_tracker.rb:2:5:5:7 | synthetic *args | type_tracker.rb:2:5:5:7 | synthetic *args | +| type_tracker.rb:2:5:5:7 | synthetic splat parameter | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:2:16:2:18 | val | @@ -358,8 +358,8 @@ trackEnd | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:14:5:14:13 | call to field= | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:3:9:3:23 | * | type_tracker.rb:3:9:3:23 | * | | type_tracker.rb:3:9:3:23 | call to puts | type_tracker.rb:3:9:3:23 | call to puts | +| type_tracker.rb:3:9:3:23 | synthetic splat argument | type_tracker.rb:3:9:3:23 | synthetic splat argument | | type_tracker.rb:3:14:3:23 | call to field | type_tracker.rb:3:14:3:23 | call to field | | type_tracker.rb:4:9:4:14 | @field | type_tracker.rb:4:9:4:14 | @field | | type_tracker.rb:7:5:9:7 | &block | type_tracker.rb:7:5:9:7 | &block | @@ -396,9 +396,9 @@ trackEnd | type_tracker.rb:14:5:14:7 | [post] var | type_tracker.rb:8:9:8:14 | self | | type_tracker.rb:14:5:14:7 | [post] var | type_tracker.rb:14:5:14:7 | [post] var | | type_tracker.rb:14:5:14:7 | [post] var | type_tracker.rb:15:10:15:12 | var | -| type_tracker.rb:14:5:14:13 | * | type_tracker.rb:2:5:5:7 | synthetic *args | -| type_tracker.rb:14:5:14:13 | * | type_tracker.rb:14:5:14:13 | * | | type_tracker.rb:14:5:14:13 | call to field= | type_tracker.rb:14:5:14:13 | call to field= | +| type_tracker.rb:14:5:14:13 | synthetic splat argument | type_tracker.rb:2:5:5:7 | synthetic splat parameter | +| type_tracker.rb:14:5:14:13 | synthetic splat argument | type_tracker.rb:14:5:14:13 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:4:9:4:20 | ... = ... | @@ -412,8 +412,8 @@ trackEnd | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:14:17:14:23 | __synth__0 | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:15:10:15:18 | call to field | | type_tracker.rb:14:17:14:23 | __synth__0 | type_tracker.rb:14:17:14:23 | __synth__0 | -| type_tracker.rb:15:5:15:18 | * | type_tracker.rb:15:5:15:18 | * | | type_tracker.rb:15:5:15:18 | call to puts | type_tracker.rb:15:5:15:18 | call to puts | +| type_tracker.rb:15:5:15:18 | synthetic splat argument | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:15:10:15:18 | call to field | type_tracker.rb:15:10:15:18 | call to field | | type_tracker.rb:18:1:21:3 | &block | type_tracker.rb:18:1:21:3 | &block | | type_tracker.rb:18:1:21:3 | positional | type_tracker.rb:18:1:21:3 | positional | @@ -421,7 +421,7 @@ trackEnd | type_tracker.rb:18:1:21:3 | self in positional | type_tracker.rb:18:1:21:3 | self in positional | | type_tracker.rb:18:1:21:3 | self in positional | type_tracker.rb:19:5:19:11 | self | | type_tracker.rb:18:1:21:3 | self in positional | type_tracker.rb:20:5:20:11 | self | -| type_tracker.rb:18:1:21:3 | synthetic *args | type_tracker.rb:18:1:21:3 | synthetic *args | +| type_tracker.rb:18:1:21:3 | synthetic splat parameter | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:18:16:18:17 | p1 | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:18:16:18:17 | p1 | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:18:16:18:17 | p1 | type_tracker.rb:18:16:18:17 | p1 | @@ -430,14 +430,14 @@ trackEnd | type_tracker.rb:18:20:18:21 | p2 | type_tracker.rb:18:20:18:21 | p2 | | type_tracker.rb:18:20:18:21 | p2 | type_tracker.rb:18:20:18:21 | p2 | | type_tracker.rb:18:20:18:21 | p2 | type_tracker.rb:20:10:20:11 | p2 | -| type_tracker.rb:19:5:19:11 | * | type_tracker.rb:19:5:19:11 | * | | type_tracker.rb:19:5:19:11 | call to puts | type_tracker.rb:19:5:19:11 | call to puts | -| type_tracker.rb:20:5:20:11 | * | type_tracker.rb:20:5:20:11 | * | +| type_tracker.rb:19:5:19:11 | synthetic splat argument | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:20:5:20:11 | call to puts | type_tracker.rb:20:5:20:11 | call to puts | | type_tracker.rb:20:5:20:11 | call to puts | type_tracker.rb:23:1:23:16 | call to positional | -| type_tracker.rb:23:1:23:16 | * | type_tracker.rb:18:1:21:3 | synthetic *args | -| type_tracker.rb:23:1:23:16 | * | type_tracker.rb:23:1:23:16 | * | +| type_tracker.rb:20:5:20:11 | synthetic splat argument | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:23:1:23:16 | call to positional | type_tracker.rb:23:1:23:16 | call to positional | +| type_tracker.rb:23:1:23:16 | synthetic splat argument | type_tracker.rb:18:1:21:3 | synthetic splat parameter | +| type_tracker.rb:23:1:23:16 | synthetic splat argument | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:23:12:23:12 | 1 | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:23:12:23:12 | 1 | type_tracker.rb:19:10:19:11 | p1 | @@ -447,12 +447,12 @@ trackEnd | type_tracker.rb:23:15:23:15 | 2 | type_tracker.rb:20:10:20:11 | p2 | | type_tracker.rb:23:15:23:15 | 2 | type_tracker.rb:23:15:23:15 | 2 | | type_tracker.rb:25:1:28:3 | &block | type_tracker.rb:25:1:28:3 | &block | -| type_tracker.rb:25:1:28:3 | **kwargs | type_tracker.rb:25:1:28:3 | **kwargs | | type_tracker.rb:25:1:28:3 | keyword | type_tracker.rb:25:1:28:3 | keyword | | type_tracker.rb:25:1:28:3 | self in keyword | type_tracker.rb:25:1:28:3 | self (keyword) | | type_tracker.rb:25:1:28:3 | self in keyword | type_tracker.rb:25:1:28:3 | self in keyword | | type_tracker.rb:25:1:28:3 | self in keyword | type_tracker.rb:26:5:26:11 | self | | type_tracker.rb:25:1:28:3 | self in keyword | type_tracker.rb:27:5:27:11 | self | +| type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:25:13:25:14 | p1 | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:25:13:25:14 | p1 | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:25:13:25:14 | p1 | type_tracker.rb:25:13:25:14 | p1 | @@ -461,16 +461,16 @@ trackEnd | type_tracker.rb:25:18:25:19 | p2 | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:25:18:25:19 | p2 | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:25:18:25:19 | p2 | type_tracker.rb:27:10:27:11 | p2 | -| type_tracker.rb:26:5:26:11 | * | type_tracker.rb:26:5:26:11 | * | | type_tracker.rb:26:5:26:11 | call to puts | type_tracker.rb:26:5:26:11 | call to puts | -| type_tracker.rb:27:5:27:11 | * | type_tracker.rb:27:5:27:11 | * | +| type_tracker.rb:26:5:26:11 | synthetic splat argument | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:27:5:27:11 | call to puts | type_tracker.rb:27:5:27:11 | call to puts | | type_tracker.rb:27:5:27:11 | call to puts | type_tracker.rb:30:1:30:21 | call to keyword | | type_tracker.rb:27:5:27:11 | call to puts | type_tracker.rb:31:1:31:21 | call to keyword | | type_tracker.rb:27:5:27:11 | call to puts | type_tracker.rb:32:1:32:27 | call to keyword | -| type_tracker.rb:30:1:30:21 | ** | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:30:1:30:21 | ** | type_tracker.rb:30:1:30:21 | ** | +| type_tracker.rb:27:5:27:11 | synthetic splat argument | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:1:30:21 | call to keyword | type_tracker.rb:30:1:30:21 | call to keyword | +| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:9:30:10 | :p1 | type_tracker.rb:30:9:30:10 | :p1 | | type_tracker.rb:30:9:30:13 | Pair | type_tracker.rb:30:9:30:13 | Pair | | type_tracker.rb:30:13:30:13 | 3 | type_tracker.rb:25:13:25:14 | p1 | @@ -483,9 +483,9 @@ trackEnd | type_tracker.rb:30:20:30:20 | 4 | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:30:20:30:20 | 4 | type_tracker.rb:27:10:27:11 | p2 | | type_tracker.rb:30:20:30:20 | 4 | type_tracker.rb:30:20:30:20 | 4 | -| type_tracker.rb:31:1:31:21 | ** | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:31:1:31:21 | ** | type_tracker.rb:31:1:31:21 | ** | | type_tracker.rb:31:1:31:21 | call to keyword | type_tracker.rb:31:1:31:21 | call to keyword | +| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:9:31:10 | :p2 | type_tracker.rb:31:9:31:10 | :p2 | | type_tracker.rb:31:9:31:13 | Pair | type_tracker.rb:31:9:31:13 | Pair | | type_tracker.rb:31:13:31:13 | 5 | type_tracker.rb:25:18:25:19 | p2 | @@ -498,9 +498,9 @@ trackEnd | type_tracker.rb:31:20:31:20 | 6 | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:31:20:31:20 | 6 | type_tracker.rb:26:10:26:11 | p1 | | type_tracker.rb:31:20:31:20 | 6 | type_tracker.rb:31:20:31:20 | 6 | -| type_tracker.rb:32:1:32:27 | ** | type_tracker.rb:25:1:28:3 | **kwargs | -| type_tracker.rb:32:1:32:27 | ** | type_tracker.rb:32:1:32:27 | ** | | type_tracker.rb:32:1:32:27 | call to keyword | type_tracker.rb:32:1:32:27 | call to keyword | +| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | +| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:9:32:11 | :p2 | type_tracker.rb:32:9:32:11 | :p2 | | type_tracker.rb:32:9:32:16 | Pair | type_tracker.rb:32:9:32:16 | Pair | | type_tracker.rb:32:16:32:16 | 7 | type_tracker.rb:25:18:25:19 | p2 | @@ -515,7 +515,7 @@ trackEnd | type_tracker.rb:32:26:32:26 | 8 | type_tracker.rb:32:26:32:26 | 8 | | type_tracker.rb:34:1:53:3 | &block | type_tracker.rb:34:1:53:3 | &block | | type_tracker.rb:34:1:53:3 | self in throughArray | type_tracker.rb:34:1:53:3 | self in throughArray | -| type_tracker.rb:34:1:53:3 | synthetic *args | type_tracker.rb:34:1:53:3 | synthetic *args | +| type_tracker.rb:34:1:53:3 | synthetic splat parameter | type_tracker.rb:34:1:53:3 | synthetic splat parameter | | type_tracker.rb:34:1:53:3 | throughArray | type_tracker.rb:34:1:53:3 | throughArray | | type_tracker.rb:34:18:34:20 | obj | type_tracker.rb:34:18:34:20 | obj | | type_tracker.rb:34:18:34:20 | obj | type_tracker.rb:34:18:34:20 | obj | @@ -556,23 +556,23 @@ trackEnd | type_tracker.rb:34:26:34:26 | z | type_tracker.rb:34:26:34:26 | z | | type_tracker.rb:34:26:34:26 | z | type_tracker.rb:52:12:52:12 | z | | type_tracker.rb:35:5:35:7 | tmp | type_tracker.rb:35:5:35:7 | tmp | -| type_tracker.rb:35:11:35:15 | * | type_tracker.rb:35:11:35:15 | * | | type_tracker.rb:35:11:35:15 | Array | type_tracker.rb:35:11:35:15 | Array | | type_tracker.rb:35:11:35:15 | call to [] | type_tracker.rb:35:5:35:7 | tmp | | type_tracker.rb:35:11:35:15 | call to [] | type_tracker.rb:35:5:35:15 | ... = ... | | type_tracker.rb:35:11:35:15 | call to [] | type_tracker.rb:35:11:35:15 | call to [] | | type_tracker.rb:35:11:35:15 | call to [] | type_tracker.rb:36:5:36:7 | tmp | -| type_tracker.rb:36:5:36:10 | * | type_tracker.rb:36:5:36:10 | * | +| type_tracker.rb:35:11:35:15 | synthetic splat argument | type_tracker.rb:35:11:35:15 | synthetic splat argument | | type_tracker.rb:36:5:36:10 | ...[...] | type_tracker.rb:36:5:36:10 | ...[...] | +| type_tracker.rb:36:5:36:10 | synthetic splat argument | type_tracker.rb:36:5:36:10 | synthetic splat argument | | type_tracker.rb:36:9:36:9 | 0 | type_tracker.rb:36:9:36:9 | 0 | | type_tracker.rb:38:5:38:9 | array | type_tracker.rb:38:5:38:9 | array | -| type_tracker.rb:38:13:38:25 | * | type_tracker.rb:38:13:38:25 | * | | type_tracker.rb:38:13:38:25 | Array | type_tracker.rb:38:13:38:25 | Array | | type_tracker.rb:38:13:38:25 | call to [] | type_tracker.rb:38:5:38:9 | array | | type_tracker.rb:38:13:38:25 | call to [] | type_tracker.rb:38:5:38:25 | ... = ... | | type_tracker.rb:38:13:38:25 | call to [] | type_tracker.rb:38:13:38:25 | call to [] | | type_tracker.rb:38:13:38:25 | call to [] | type_tracker.rb:39:5:39:9 | array | | type_tracker.rb:38:13:38:25 | call to [] | type_tracker.rb:40:5:40:9 | array | +| type_tracker.rb:38:13:38:25 | synthetic splat argument | type_tracker.rb:38:13:38:25 | synthetic splat argument | | type_tracker.rb:38:14:38:14 | 1 | type_tracker.rb:38:14:38:14 | 1 | | type_tracker.rb:38:14:38:14 | 1 | type_tracker.rb:40:5:40:12 | ...[...] | | type_tracker.rb:38:16:38:16 | 2 | type_tracker.rb:38:16:38:16 | 2 | @@ -582,20 +582,20 @@ trackEnd | type_tracker.rb:38:24:38:24 | 6 | type_tracker.rb:38:24:38:24 | 6 | | type_tracker.rb:39:5:39:9 | [post] array | type_tracker.rb:39:5:39:9 | [post] array | | type_tracker.rb:39:5:39:9 | [post] array | type_tracker.rb:40:5:40:9 | array | -| type_tracker.rb:39:5:39:12 | * | type_tracker.rb:39:5:39:12 | * | | type_tracker.rb:39:5:39:12 | call to []= | type_tracker.rb:39:5:39:12 | call to []= | +| type_tracker.rb:39:5:39:12 | synthetic splat argument | type_tracker.rb:39:5:39:12 | synthetic splat argument | | type_tracker.rb:39:16:39:18 | __synth__0 | type_tracker.rb:39:16:39:18 | __synth__0 | -| type_tracker.rb:40:5:40:12 | * | type_tracker.rb:40:5:40:12 | * | | type_tracker.rb:40:5:40:12 | ...[...] | type_tracker.rb:40:5:40:12 | ...[...] | +| type_tracker.rb:40:5:40:12 | synthetic splat argument | type_tracker.rb:40:5:40:12 | synthetic splat argument | | type_tracker.rb:40:11:40:11 | 0 | type_tracker.rb:40:11:40:11 | 0 | | type_tracker.rb:42:5:42:10 | array2 | type_tracker.rb:42:5:42:10 | array2 | -| type_tracker.rb:42:14:42:26 | * | type_tracker.rb:42:14:42:26 | * | | type_tracker.rb:42:14:42:26 | Array | type_tracker.rb:42:14:42:26 | Array | | type_tracker.rb:42:14:42:26 | call to [] | type_tracker.rb:42:5:42:10 | array2 | | type_tracker.rb:42:14:42:26 | call to [] | type_tracker.rb:42:5:42:26 | ... = ... | | type_tracker.rb:42:14:42:26 | call to [] | type_tracker.rb:42:14:42:26 | call to [] | | type_tracker.rb:42:14:42:26 | call to [] | type_tracker.rb:43:5:43:10 | array2 | | type_tracker.rb:42:14:42:26 | call to [] | type_tracker.rb:44:5:44:10 | array2 | +| type_tracker.rb:42:14:42:26 | synthetic splat argument | type_tracker.rb:42:14:42:26 | synthetic splat argument | | type_tracker.rb:42:15:42:15 | 1 | type_tracker.rb:42:15:42:15 | 1 | | type_tracker.rb:42:15:42:15 | 1 | type_tracker.rb:44:5:44:13 | ...[...] | | type_tracker.rb:42:17:42:17 | 2 | type_tracker.rb:42:17:42:17 | 2 | @@ -610,20 +610,20 @@ trackEnd | type_tracker.rb:42:25:42:25 | 6 | type_tracker.rb:44:5:44:13 | ...[...] | | type_tracker.rb:43:5:43:10 | [post] array2 | type_tracker.rb:43:5:43:10 | [post] array2 | | type_tracker.rb:43:5:43:10 | [post] array2 | type_tracker.rb:44:5:44:10 | array2 | -| type_tracker.rb:43:5:43:13 | * | type_tracker.rb:43:5:43:13 | * | | type_tracker.rb:43:5:43:13 | call to []= | type_tracker.rb:43:5:43:13 | call to []= | +| type_tracker.rb:43:5:43:13 | synthetic splat argument | type_tracker.rb:43:5:43:13 | synthetic splat argument | | type_tracker.rb:43:12:43:12 | 0 | type_tracker.rb:43:12:43:12 | 0 | | type_tracker.rb:43:17:43:19 | __synth__0 | type_tracker.rb:43:17:43:19 | __synth__0 | -| type_tracker.rb:44:5:44:13 | * | type_tracker.rb:44:5:44:13 | * | | type_tracker.rb:44:5:44:13 | ...[...] | type_tracker.rb:44:5:44:13 | ...[...] | +| type_tracker.rb:44:5:44:13 | synthetic splat argument | type_tracker.rb:44:5:44:13 | synthetic splat argument | | type_tracker.rb:46:5:46:10 | array3 | type_tracker.rb:46:5:46:10 | array3 | -| type_tracker.rb:46:14:46:26 | * | type_tracker.rb:46:14:46:26 | * | | type_tracker.rb:46:14:46:26 | Array | type_tracker.rb:46:14:46:26 | Array | | type_tracker.rb:46:14:46:26 | call to [] | type_tracker.rb:46:5:46:10 | array3 | | type_tracker.rb:46:14:46:26 | call to [] | type_tracker.rb:46:5:46:26 | ... = ... | | type_tracker.rb:46:14:46:26 | call to [] | type_tracker.rb:46:14:46:26 | call to [] | | type_tracker.rb:46:14:46:26 | call to [] | type_tracker.rb:47:5:47:10 | array3 | | type_tracker.rb:46:14:46:26 | call to [] | type_tracker.rb:48:5:48:10 | array3 | +| type_tracker.rb:46:14:46:26 | synthetic splat argument | type_tracker.rb:46:14:46:26 | synthetic splat argument | | type_tracker.rb:46:15:46:15 | 1 | type_tracker.rb:46:15:46:15 | 1 | | type_tracker.rb:46:17:46:17 | 2 | type_tracker.rb:46:17:46:17 | 2 | | type_tracker.rb:46:17:46:17 | 2 | type_tracker.rb:48:5:48:13 | ...[...] | @@ -633,21 +633,21 @@ trackEnd | type_tracker.rb:46:25:46:25 | 6 | type_tracker.rb:46:25:46:25 | 6 | | type_tracker.rb:47:5:47:10 | [post] array3 | type_tracker.rb:47:5:47:10 | [post] array3 | | type_tracker.rb:47:5:47:10 | [post] array3 | type_tracker.rb:48:5:48:10 | array3 | -| type_tracker.rb:47:5:47:13 | * | type_tracker.rb:47:5:47:13 | * | | type_tracker.rb:47:5:47:13 | call to []= | type_tracker.rb:47:5:47:13 | call to []= | +| type_tracker.rb:47:5:47:13 | synthetic splat argument | type_tracker.rb:47:5:47:13 | synthetic splat argument | | type_tracker.rb:47:12:47:12 | 0 | type_tracker.rb:47:12:47:12 | 0 | | type_tracker.rb:47:17:47:19 | __synth__0 | type_tracker.rb:47:17:47:19 | __synth__0 | -| type_tracker.rb:48:5:48:13 | * | type_tracker.rb:48:5:48:13 | * | | type_tracker.rb:48:5:48:13 | ...[...] | type_tracker.rb:48:5:48:13 | ...[...] | +| type_tracker.rb:48:5:48:13 | synthetic splat argument | type_tracker.rb:48:5:48:13 | synthetic splat argument | | type_tracker.rb:48:12:48:12 | 1 | type_tracker.rb:48:12:48:12 | 1 | | type_tracker.rb:50:5:50:10 | array4 | type_tracker.rb:50:5:50:10 | array4 | -| type_tracker.rb:50:14:50:26 | * | type_tracker.rb:50:14:50:26 | * | | type_tracker.rb:50:14:50:26 | Array | type_tracker.rb:50:14:50:26 | Array | | type_tracker.rb:50:14:50:26 | call to [] | type_tracker.rb:50:5:50:10 | array4 | | type_tracker.rb:50:14:50:26 | call to [] | type_tracker.rb:50:5:50:26 | ... = ... | | type_tracker.rb:50:14:50:26 | call to [] | type_tracker.rb:50:14:50:26 | call to [] | | type_tracker.rb:50:14:50:26 | call to [] | type_tracker.rb:51:5:51:10 | array4 | | type_tracker.rb:50:14:50:26 | call to [] | type_tracker.rb:52:5:52:10 | array4 | +| type_tracker.rb:50:14:50:26 | synthetic splat argument | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:15:50:15 | 1 | type_tracker.rb:50:15:50:15 | 1 | | type_tracker.rb:50:15:50:15 | 1 | type_tracker.rb:52:5:52:13 | ...[...] | | type_tracker.rb:50:17:50:17 | 2 | type_tracker.rb:50:17:50:17 | 2 | @@ -662,10 +662,10 @@ trackEnd | type_tracker.rb:50:25:50:25 | 6 | type_tracker.rb:52:5:52:13 | ...[...] | | type_tracker.rb:51:5:51:10 | [post] array4 | type_tracker.rb:51:5:51:10 | [post] array4 | | type_tracker.rb:51:5:51:10 | [post] array4 | type_tracker.rb:52:5:52:10 | array4 | -| type_tracker.rb:51:5:51:13 | * | type_tracker.rb:51:5:51:13 | * | | type_tracker.rb:51:5:51:13 | call to []= | type_tracker.rb:51:5:51:13 | call to []= | +| type_tracker.rb:51:5:51:13 | synthetic splat argument | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:51:17:51:19 | __synth__0 | type_tracker.rb:51:17:51:19 | __synth__0 | -| type_tracker.rb:52:5:52:13 | * | type_tracker.rb:52:5:52:13 | * | | type_tracker.rb:52:5:52:13 | ...[...] | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:52:5:52:13 | synthetic splat argument | type_tracker.rb:52:5:52:13 | synthetic splat argument | forwardButNoBackwardFlow backwardButNoForwardFlow diff --git a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected index 26bf3db4028d8..a0349ec9ee337 100644 --- a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected +++ b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected @@ -71,21 +71,21 @@ edges | params_flow.rb:107:10:107:33 | call to values_at [element 0] | params_flow.rb:107:10:107:33 | call to values_at | | params_flow.rb:107:10:107:33 | call to values_at [element 1] | params_flow.rb:107:10:107:33 | call to values_at | | params_flow.rb:111:10:111:15 | call to params | params_flow.rb:111:10:111:29 | call to merge | -| params_flow.rb:112:10:112:29 | call to merge [element 0] | params_flow.rb:112:10:112:29 | call to merge | +| params_flow.rb:112:10:112:29 | call to merge [splat position 0] | params_flow.rb:112:10:112:29 | call to merge | | params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge | -| params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge [element 0] | +| params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge [splat position 0] | | params_flow.rb:116:10:116:15 | call to params | params_flow.rb:116:10:116:37 | call to reverse_merge | | params_flow.rb:117:31:117:36 | call to params | params_flow.rb:117:10:117:37 | call to reverse_merge | | params_flow.rb:121:10:121:15 | call to params | params_flow.rb:121:10:121:43 | call to with_defaults | | params_flow.rb:122:31:122:36 | call to params | params_flow.rb:122:10:122:37 | call to with_defaults | | params_flow.rb:126:10:126:15 | call to params | params_flow.rb:126:10:126:30 | call to merge! | -| params_flow.rb:127:10:127:30 | call to merge! [element 0] | params_flow.rb:127:10:127:30 | call to merge! | +| params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | params_flow.rb:127:10:127:30 | call to merge! | | params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! | -| params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! [element 0] | +| params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | | params_flow.rb:130:5:130:5 | [post] p | params_flow.rb:131:10:131:10 | p | -| params_flow.rb:130:5:130:5 | [post] p [element 0] | params_flow.rb:131:10:131:10 | p | +| params_flow.rb:130:5:130:5 | [post] p [splat position 0] | params_flow.rb:131:10:131:10 | p | | params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p | -| params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p [element 0] | +| params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p [splat position 0] | | params_flow.rb:135:10:135:15 | call to params | params_flow.rb:135:10:135:38 | call to reverse_merge! | | params_flow.rb:136:32:136:37 | call to params | params_flow.rb:136:10:136:38 | call to reverse_merge! | | params_flow.rb:139:5:139:5 | [post] p | params_flow.rb:140:10:140:10 | p | @@ -198,7 +198,7 @@ nodes | params_flow.rb:111:10:111:15 | call to params | semmle.label | call to params | | params_flow.rb:111:10:111:29 | call to merge | semmle.label | call to merge | | params_flow.rb:112:10:112:29 | call to merge | semmle.label | call to merge | -| params_flow.rb:112:10:112:29 | call to merge [element 0] | semmle.label | call to merge [element 0] | +| params_flow.rb:112:10:112:29 | call to merge [splat position 0] | semmle.label | call to merge [splat position 0] | | params_flow.rb:112:23:112:28 | call to params | semmle.label | call to params | | params_flow.rb:116:10:116:15 | call to params | semmle.label | call to params | | params_flow.rb:116:10:116:37 | call to reverse_merge | semmle.label | call to reverse_merge | @@ -211,10 +211,10 @@ nodes | params_flow.rb:126:10:126:15 | call to params | semmle.label | call to params | | params_flow.rb:126:10:126:30 | call to merge! | semmle.label | call to merge! | | params_flow.rb:127:10:127:30 | call to merge! | semmle.label | call to merge! | -| params_flow.rb:127:10:127:30 | call to merge! [element 0] | semmle.label | call to merge! [element 0] | +| params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | semmle.label | call to merge! [splat position 0] | | params_flow.rb:127:24:127:29 | call to params | semmle.label | call to params | | params_flow.rb:130:5:130:5 | [post] p | semmle.label | [post] p | -| params_flow.rb:130:5:130:5 | [post] p [element 0] | semmle.label | [post] p [element 0] | +| params_flow.rb:130:5:130:5 | [post] p [splat position 0] | semmle.label | [post] p [splat position 0] | | params_flow.rb:130:14:130:19 | call to params | semmle.label | call to params | | params_flow.rb:131:10:131:10 | p | semmle.label | p | | params_flow.rb:135:10:135:15 | call to params | semmle.label | call to params | diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll index a744f57b4b4a1..7909d2c17a909 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplConsistency.qll @@ -267,7 +267,11 @@ module MakeConsistency< ) { not Input::uniqueParameterNodeAtPositionExclude(c, pos, p) and isParameterNode(p, c, pos) and - not exists(unique(Node p0 | isParameterNode(p0, c, pos))) and + not exists( + unique(Node p0 | + isParameterNode(p0, c, pos) and not Input::uniqueParameterNodeAtPositionExclude(c, pos, p0) + ) + ) and msg = "Parameters with overlapping positions." } @@ -276,7 +280,11 @@ module MakeConsistency< ) { not Input::uniqueParameterNodePositionExclude(c, pos, p) and isParameterNode(p, c, pos) and - not exists(unique(ParameterPosition pos0 | isParameterNode(p, c, pos0))) and + not exists( + unique(ParameterPosition pos0 | + isParameterNode(p, c, pos0) and not Input::uniqueParameterNodePositionExclude(c, pos0, p) + ) + ) and msg = "Parameter node with multiple positions." }