diff --git a/ruby/ql/consistency-queries/CfgConsistency.ql b/ruby/ql/consistency-queries/CfgConsistency.ql index 5af4f22fc26a..d67d67a8d3fd 100644 --- a/ruby/ql/consistency-queries/CfgConsistency.ql +++ b/ruby/ql/consistency-queries/CfgConsistency.ql @@ -1,31 +1,2 @@ -import codeql.ruby.controlflow.internal.ControlFlowGraphImpl::Consistency as Consistency -import Consistency -import codeql.ruby.AST import codeql.ruby.CFG -import codeql.ruby.controlflow.internal.Completion -import codeql.ruby.controlflow.internal.ControlFlowGraphImpl as CfgImpl - -/** - * All `Expr` nodes are `PostOrderTree`s - */ -query predicate nonPostOrderExpr(Expr e, string cls) { - cls = e.getPrimaryQlClasses() and - not exists(e.getDesugared()) and - not e instanceof BodyStmt and - exists(AstNode last, Completion c | - CfgImpl::last(e, last, c) and - last != e and - c instanceof NormalCompletion - ) -} - -query predicate scopeNoFirst(CfgScope scope) { - Consistency::scopeNoFirst(scope) and - not scope = any(StmtSequence seq | not exists(seq.getAStmt())) and - not scope = - any(Callable c | - not exists(c.getAParameter()) and - not c.getBody().hasEnsure() and - not exists(c.getBody().getARescue()) - ) -} +import ControlFlow::Consistency diff --git a/ruby/ql/consistency-queries/DataFlowConsistency.ql b/ruby/ql/consistency-queries/DataFlowConsistency.ql index 4e0588d5d4a1..de63a4309b5b 100644 --- a/ruby/ql/consistency-queries/DataFlowConsistency.ql +++ b/ruby/ql/consistency-queries/DataFlowConsistency.ql @@ -22,17 +22,6 @@ private module Input implements InputSig { not isNonConstantExpr(n.asExpr()) } - predicate multipleArgumentCallExclude(ArgumentNode arg, DataFlowCall call) { - // An argument such as `x` in `if not x then ...` has two successors (and hence - // two calls); one for each Boolean outcome of `x`. - exists(CfgNodes::ExprCfgNode n | - arg.argumentOf(call, _) and - n = call.asCall() and - arg.asExpr().getASuccessor(any(ConditionalSuccessor c)).getASuccessor*() = n and - n.getASplit() instanceof Split::ConditionalCompletionSplit - ) - } - predicate uniqueTypeExclude(Node n) { n = any(DataFlow::CallNode call | diff --git a/ruby/ql/lib/codeql/ruby/CFG.qll b/ruby/ql/lib/codeql/ruby/CFG.qll index d3401821f199..5fe7da86df05 100644 --- a/ruby/ql/lib/codeql/ruby/CFG.qll +++ b/ruby/ql/lib/codeql/ruby/CFG.qll @@ -3,4 +3,3 @@ import codeql.Locations import controlflow.ControlFlowGraph import controlflow.CfgNodes as CfgNodes -import controlflow.BasicBlocks diff --git a/ruby/ql/lib/codeql/ruby/ast/Statement.qll b/ruby/ql/lib/codeql/ruby/ast/Statement.qll index dcd51dbb3272..0081fd5d593e 100644 --- a/ruby/ql/lib/codeql/ruby/ast/Statement.qll +++ b/ruby/ql/lib/codeql/ruby/ast/Statement.qll @@ -6,7 +6,6 @@ private import codeql.ruby.CFG private import internal.AST private import internal.TreeSitter private import internal.Variable -private import codeql.ruby.controlflow.internal.ControlFlowGraphImpl as CfgImpl /** * A statement. @@ -14,14 +13,14 @@ private import codeql.ruby.controlflow.internal.ControlFlowGraphImpl as CfgImpl * This is the root QL class for all statements. */ class Stmt extends AstNode, TStmt { + /** Gets the control-flow node for this statement, if any. */ + ControlFlowNode getControlFlowNode() { result.injects(this) } + /** Gets a control-flow node for this statement, if any. */ CfgNodes::AstCfgNode getAControlFlowNode() { result.getAstNode() = this } - /** Gets a control-flow entry node for this statement, if any */ - AstNode getAControlFlowEntryNode() { result = CfgImpl::getAControlFlowEntryNode(this) } - /** Gets the control-flow scope of this statement, if any. */ - CfgScope getCfgScope() { result = CfgImpl::getCfgScope(this) } + CfgScope getCfgScope() { result = getEnclosingCallable(this) } /** Gets the enclosing callable, if any. */ Callable getEnclosingCallable() { result = this.getCfgScope() } diff --git a/ruby/ql/lib/codeql/ruby/ast/internal/Synthesis.qll b/ruby/ql/lib/codeql/ruby/ast/internal/Synthesis.qll index f05deae59623..0b45d26ef12a 100644 --- a/ruby/ql/lib/codeql/ruby/ast/internal/Synthesis.qll +++ b/ruby/ql/lib/codeql/ruby/ast/internal/Synthesis.qll @@ -833,6 +833,10 @@ private module AssignOperationDesugar { ) ) } + + final override predicate excludeFromControlFlowTree(AstNode n) { + n = any(ScopeResolutionAssignOperation sao).getLeftOperand() + } } /** An assignment operation where the left-hand side is a method call. */ diff --git a/ruby/ql/lib/codeql/ruby/controlflow/BasicBlocks.qll b/ruby/ql/lib/codeql/ruby/controlflow/BasicBlocks.qll deleted file mode 100644 index e085dbd90a38..000000000000 --- a/ruby/ql/lib/codeql/ruby/controlflow/BasicBlocks.qll +++ /dev/null @@ -1,314 +0,0 @@ -/** Provides classes representing basic blocks. */ -overlay[local] -module; - -private import codeql.ruby.AST -private import codeql.ruby.ast.internal.AST -private import codeql.ruby.ast.internal.TreeSitter -private import codeql.ruby.controlflow.ControlFlowGraph -private import internal.ControlFlowGraphImpl as CfgImpl -private import CfgNodes -private import CfgImpl::BasicBlocks as BasicBlocksImpl -private import codeql.controlflow.BasicBlock as BB - -/** - * A basic block, that is, a maximal straight-line sequence of control flow nodes - * without branches or joins. - */ -final class BasicBlock extends BasicBlocksImpl::BasicBlock { - /** Gets an immediate successor of this basic block, if any. */ - BasicBlock getASuccessor() { result = super.getASuccessor() } - - /** Gets an immediate successor of this basic block of a given type, if any. */ - BasicBlock getASuccessor(SuccessorType t) { result = super.getASuccessor(t) } - - /** Gets an immediate predecessor of this basic block, if any. */ - BasicBlock getAPredecessor() { result = super.getAPredecessor() } - - /** Gets an immediate predecessor of this basic block of a given type, if any. */ - BasicBlock getAPredecessor(SuccessorType t) { result = super.getAPredecessor(t) } - - // The overrides below are to use `CfgNode` instead of `CfgImpl::Node` - CfgNode getNode(int pos) { result = super.getNode(pos) } - - CfgNode getANode() { result = super.getANode() } - - /** Gets the first control flow node in this basic block. */ - CfgNode getFirstNode() { result = super.getFirstNode() } - - /** Gets the last control flow node in this basic block. */ - CfgNode getLastNode() { result = super.getLastNode() } - - /** - * Holds if this basic block immediately dominates basic block `bb`. - * - * That is, this basic block is the unique basic block satisfying: - * 1. This basic block strictly dominates `bb` - * 2. There exists no other basic block that is strictly dominated by this - * basic block and which strictly dominates `bb`. - * - * All basic blocks, except entry basic blocks, have a unique immediate - * dominator. - * - * Example: - * - * ```rb - * def m b - * if b - * return 0 - * end - * return 1 - * end - * ``` - * - * The basic block starting on line 2 immediately dominates the - * basic block on line 5 (all paths from the entry point of `m` - * to `return 1` must go through the `if` block). - */ - predicate immediatelyDominates(BasicBlock bb) { super.immediatelyDominates(bb) } - - /** - * Holds if this basic block strictly dominates basic block `bb`. - * - * That is, all paths reaching basic block `bb` from some entry point - * basic block must go through this basic block (which must be different - * from `bb`). - * - * Example: - * - * ```rb - * def m b - * if b - * return 0 - * end - * return 1 - * end - * ``` - * - * The basic block starting on line 2 strictly dominates the - * basic block on line 5 (all paths from the entry point of `m` - * to `return 1` must go through the `if` block). - */ - predicate strictlyDominates(BasicBlock bb) { super.strictlyDominates(bb) } - - /** - * Holds if this basic block dominates basic block `bb`. - * - * That is, all paths reaching basic block `bb` from some entry point - * basic block must go through this basic block. - * - * Example: - * - * ```rb - * def m b - * if b - * return 0 - * end - * return 1 - * end - * ``` - * - * The basic block starting on line 2 dominates the basic - * basic block on line 5 (all paths from the entry point of `m` - * to `return 1` must go through the `if` block). - */ - predicate dominates(BasicBlock bb) { super.dominates(bb) } - - /** - * Holds if `df` is in the dominance frontier of this basic block. - * That is, this basic block dominates a predecessor of `df`, but - * does not dominate `df` itself. - * - * Example: - * - * ```rb - * def m x - * if x < 0 - * x = -x - * if x > 10 - * x = x - 1 - * end - * end - * puts x - * end - * ``` - * - * The basic block on line 8 is in the dominance frontier - * of the basic block starting on line 3 because that block - * dominates the basic block on line 4, which is a predecessor of - * `puts x`. Also, the basic block starting on line 3 does not - * dominate the basic block on line 8. - */ - predicate inDominanceFrontier(BasicBlock df) { super.inDominanceFrontier(df) } - - /** - * Gets the basic block that immediately dominates this basic block, if any. - * - * That is, the result is the unique basic block satisfying: - * 1. The result strictly dominates this basic block. - * 2. There exists no other basic block that is strictly dominated by the - * result and which strictly dominates this basic block. - * - * All basic blocks, except entry basic blocks, have a unique immediate - * dominator. - * - * Example: - * - * ```rb - * def m b - * if b - * return 0 - * end - * return 1 - * end - * ``` - * - * The basic block starting on line 2 is an immediate dominator of - * the basic block on line 5 (all paths from the entry point of `m` - * to `return 1` must go through the `if` block, and the `if` block - * is an immediate predecessor of `return 1`). - */ - BasicBlock getImmediateDominator() { result = super.getImmediateDominator() } - - /** - * Holds if the edge with successor type `s` out of this basic block is a - * dominating edge for `dominated`. - * - * That is, all paths reaching `dominated` from the entry point basic - * block must go through the `s` edge out of this basic block. - * - * Edge dominance is similar to node dominance except it concerns edges - * instead of nodes: A basic block is dominated by a _basic block_ `bb` if it - * can only be reached through `bb` and dominated by an _edge_ `e` if it can - * only be reached through `e`. - * - * Note that where all basic blocks (except the entry basic block) are - * strictly dominated by at least one basic block, a basic block may not be - * dominated by any edge. If an edge dominates a basic block `bb`, then - * both endpoints of the edge dominates `bb`. The converse is not the case, - * as there may be multiple paths between the endpoints with none of them - * dominating. - */ - predicate edgeDominates(BasicBlock dominated, SuccessorType s) { - super.edgeDominates(dominated, s) - } - - /** - * Holds if this basic block strictly post-dominates basic block `bb`. - * - * That is, all paths reaching a normal exit point basic block from basic - * block `bb` must go through this basic block (which must be different - * from `bb`). - * - * Example: - * - * ```rb - * def m b - * if b - * puts "b" - * end - * puts "m" - * end - * ``` - * - * The basic block on line 5 strictly post-dominates the basic block on - * line 3 (all paths to the exit point of `m` from `puts "b"` must go - * through `puts "m"`). - */ - predicate strictlyPostDominates(BasicBlock bb) { super.strictlyPostDominates(bb) } - - /** - * Holds if this basic block post-dominates basic block `bb`. - * - * That is, all paths reaching a normal exit point basic block from basic - * block `bb` must go through this basic block. - * - * Example: - * - * ```rb - * def m b - * if b - * puts "b" - * end - * puts "m" - * end - * ``` - * - * The basic block on line 5 post-dominates the basic block on line 3 - * (all paths to the exit point of `m` from `puts "b"` must go through - * `puts "m"`). - */ - predicate postDominates(BasicBlock bb) { super.postDominates(bb) } -} - -/** - * An entry basic block, that is, a basic block whose first node is - * an entry node. - */ -final class EntryBasicBlock extends BasicBlock, BasicBlocksImpl::EntryBasicBlock { } - -/** - * An annotated exit basic block, that is, a basic block that contains an - * annotated exit node. - */ -final class AnnotatedExitBasicBlock extends BasicBlock, BasicBlocksImpl::AnnotatedExitBasicBlock { } - -/** - * An exit basic block, that is, a basic block whose last node is - * an exit node. - */ -final class ExitBasicBlock extends BasicBlock, BasicBlocksImpl::ExitBasicBlock { } - -/** A basic block with more than one predecessor. */ -final class JoinBlock extends BasicBlock, BasicBlocksImpl::JoinBasicBlock { - JoinBlockPredecessor getJoinBlockPredecessor(int i) { result = super.getJoinBlockPredecessor(i) } -} - -/** A basic block that is an immediate predecessor of a join block. */ -final class JoinBlockPredecessor extends BasicBlock, BasicBlocksImpl::JoinPredecessorBasicBlock { } - -/** - * A basic block that terminates in a condition, splitting the subsequent - * control flow. - */ -final class ConditionBlock extends BasicBlock, BasicBlocksImpl::ConditionBasicBlock { - /** - * DEPRECATED: Use `edgeDominates` instead. - * - * Holds if basic block `succ` is immediately controlled by this basic - * block with conditional value `s`. That is, `succ` is an immediate - * successor of this block, and `succ` can only be reached from - * the callable entry point by going via the `s` edge out of this basic block. - */ - deprecated predicate immediatelyControls(BasicBlock succ, ConditionalSuccessor s) { - this.getASuccessor(s) = succ and - BasicBlocksImpl::dominatingEdge(this, succ) - } - - /** - * DEPRECATED: Use `edgeDominates` instead. - * - * Holds if basic block `controlled` is controlled by this basic block with - * conditional value `s`. That is, `controlled` can only be reached from the - * callable entry point by going via the `s` edge out of this basic block. - */ - deprecated predicate controls(BasicBlock controlled, ConditionalSuccessor s) { - super.edgeDominates(controlled, s) - } -} - -private class BasicBlockAlias = BasicBlock; - -private class EntryBasicBlockAlias = EntryBasicBlock; - -module Cfg implements BB::CfgSig { - class ControlFlowNode = CfgNode; - - class BasicBlock = BasicBlockAlias; - - class EntryBasicBlock = EntryBasicBlockAlias; - - predicate dominatingEdge(BasicBlock bb1, BasicBlock bb2) { - BasicBlocksImpl::dominatingEdge(bb1, bb2) - } -} diff --git a/ruby/ql/lib/codeql/ruby/controlflow/CfgNodes.qll b/ruby/ql/lib/codeql/ruby/controlflow/CfgNodes.qll index 0da31370ff01..72806211f3f7 100644 --- a/ruby/ql/lib/codeql/ruby/controlflow/CfgNodes.qll +++ b/ruby/ql/lib/codeql/ruby/controlflow/CfgNodes.qll @@ -3,30 +3,9 @@ overlay[local] module; private import codeql.ruby.AST -private import codeql.ruby.controlflow.BasicBlocks private import codeql.ruby.dataflow.SSA private import codeql.ruby.ast.internal.Constant private import ControlFlowGraph -private import internal.ControlFlowGraphImpl as CfgImpl - -/** An entry node for a given scope. */ -class EntryNode extends CfgNode, CfgImpl::EntryNode { - override string getAPrimaryQlClass() { result = "EntryNode" } - - final override EntryBasicBlock getBasicBlock() { result = super.getBasicBlock() } -} - -/** An exit node for a given scope, annotated with the type of exit. */ -class AnnotatedExitNode extends CfgNode, CfgImpl::AnnotatedExitNode { - override string getAPrimaryQlClass() { result = "AnnotatedExitNode" } - - final override AnnotatedExitBasicBlock getBasicBlock() { result = super.getBasicBlock() } -} - -/** An exit node for a given scope. */ -class ExitNode extends CfgNode, CfgImpl::ExitNode { - override string getAPrimaryQlClass() { result = "ExitNode" } -} /** * A node for an AST node. @@ -35,7 +14,11 @@ class ExitNode extends CfgNode, CfgImpl::ExitNode { * (dead) code or not important for control flow, and multiple when there are different * splits for the AST node. */ -class AstCfgNode extends CfgNode, CfgImpl::AstCfgNode { +class AstCfgNode extends CfgNode { + AstCfgNode() { this.injects(_) } + + AstNode getAstNode() { this.injects(result) } + /** Gets the name of the primary QL class for this node. */ overlay[global] override string getAPrimaryQlClass() { result = "AstCfgNode" } @@ -67,10 +50,7 @@ class ReturningCfgNode extends AstCfgNode { ReturningCfgNode() { s = this.getAstNode() } /** Gets the node of the returned value, if any. */ - ExprCfgNode getReturnedValueNode() { - result = this.getAPredecessor() and - result.getAstNode() = s.getValue() - } + ExprCfgNode getReturnedValueNode() { result.getAstNode() = s.getValue() } } /** A control-flow node that wraps a `StringComponent` AST expression. */ @@ -100,108 +80,31 @@ private AstNode desugar(AstNode n) { result = n } -/** - * A class for mapping parent-child AST nodes to parent-child CFG nodes. - */ -abstract private class ChildMapping extends AstNode { - /** - * Holds if `child` is a (possibly nested) child of this expression - * for which we would like to find a matching CFG child. - */ - abstract predicate relevantChild(AstNode child); - - pragma[nomagic] - abstract predicate reachesBasicBlock(AstNode child, CfgNode cfn, BasicBlock bb); - - /** - * Holds if there is a control-flow path from `cfn` to `cfnChild`, where `cfn` - * is a control-flow node for this expression, and `cfnChild` is a control-flow - * node for `child`. - * - * The path never escapes the syntactic scope of this expression. - */ - cached - predicate hasCfgChild(AstNode child, CfgNode cfn, CfgNode cfnChild) { - this.reachesBasicBlock(child, cfn, cfnChild.getBasicBlock()) and - cfnChild.getAstNode() = desugar(child) - } -} - -/** - * A class for mapping parent-child AST nodes to parent-child CFG nodes. - */ -abstract private class ExprChildMapping extends Expr, ChildMapping { - pragma[nomagic] - override predicate reachesBasicBlock(AstNode child, CfgNode cfn, BasicBlock bb) { - this.relevantChild(child) and - cfn = this.getAControlFlowNode() and - bb.getANode() = cfn - or - exists(BasicBlock mid | - this.reachesBasicBlock(child, cfn, mid) and - bb = mid.getAPredecessor() and - not mid.getANode().getAstNode() = child - ) - } -} - -/** - * A class for mapping parent-child AST nodes to parent-child CFG nodes. - */ -abstract private class NonExprChildMapping extends ChildMapping { - NonExprChildMapping() { not this instanceof Expr } - - pragma[nomagic] - override predicate reachesBasicBlock(AstNode child, CfgNode cfn, BasicBlock bb) { - this.relevantChild(child) and - cfn.getAstNode() = this and - bb.getANode() = cfn - or - exists(BasicBlock mid | - this.reachesBasicBlock(child, cfn, mid) and - bb = mid.getASuccessor() and - not mid.getANode().getAstNode() = child - ) - } -} - /** Provides classes for control-flow nodes that wrap AST expressions. */ module ExprNodes { - private class LiteralChildMapping extends ExprChildMapping, Literal { - override predicate relevantChild(AstNode n) { none() } - } - /** A control-flow node that wraps a `Literal` AST expression. */ class LiteralCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "LiteralCfgNode" } - override LiteralChildMapping e; + override Literal e; override Literal getExpr() { result = super.getExpr() } } - private class ControlExprChildMapping extends ExprChildMapping, ControlExpr { - override predicate relevantChild(AstNode n) { none() } - } - /** A control-flow node that wraps a `ControlExpr` AST expression. */ class ControlExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "ControlExprCfgNode" } - override ControlExprChildMapping e; + override ControlExpr e; override ControlExpr getExpr() { result = super.getExpr() } } - private class LhsExprChildMapping extends ExprChildMapping, LhsExpr { - override predicate relevantChild(AstNode n) { none() } - } - /** A control-flow node that wraps a `LhsExpr` AST expression. */ class LhsExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "LhsExprCfgNode" } - override LhsExprChildMapping e; + override LhsExpr e; override LhsExpr getExpr() { result = super.getExpr() } @@ -209,34 +112,26 @@ module ExprNodes { Variable getVariable() { result = e.(VariableAccess).getVariable() } } - private class AssignExprChildMapping extends ExprChildMapping, AssignExpr { - override predicate relevantChild(AstNode n) { n = this.getAnOperand() } - } - /** A control-flow node that wraps an `AssignExpr` AST expression. */ class AssignExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "AssignExprCfgNode" } - override AssignExprChildMapping e; + override AssignExpr e; final override AssignExpr getExpr() { result = super.getExpr() } /** Gets the LHS of this assignment. */ - final LhsExprCfgNode getLhs() { e.hasCfgChild(e.getLeftOperand(), this, result) } + final LhsExprCfgNode getLhs() { result.injects(desugar(e.getLeftOperand())) } /** Gets the RHS of this assignment. */ - final ExprCfgNode getRhs() { e.hasCfgChild(e.getRightOperand(), this, result) } - } - - private class OperationExprChildMapping extends ExprChildMapping, Operation { - override predicate relevantChild(AstNode n) { n = this.getAnOperand() } + final ExprCfgNode getRhs() { result.injects(desugar(e.getRightOperand())) } } /** A control-flow node that wraps an `Operation` AST expression. */ class OperationCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "OperationCfgNode" } - override OperationExprChildMapping e; + override Operation e; override Operation getExpr() { result = super.getExpr() } @@ -244,7 +139,7 @@ module ExprNodes { string getOperator() { result = this.getExpr().getOperator() } /** Gets an operand of this operation. */ - final ExprCfgNode getAnOperand() { e.hasCfgChild(e.getAnOperand(), this, result) } + final ExprCfgNode getAnOperand() { result.injects(desugar(e.getAnOperand())) } } /** A control-flow node that wraps a `UnaryOperation` AST expression. */ @@ -258,7 +153,7 @@ module ExprNodes { override UnaryOperation getExpr() { result = super.getExpr() } /** Gets the operand of this unary operation. */ - final ExprCfgNode getOperand() { e.hasCfgChild(uo.getOperand(), this, result) } + final ExprCfgNode getOperand() { result.injects(desugar(uo.getOperand())) } } /** A control-flow node that wraps a `BinaryOperation` AST expression. */ @@ -272,32 +167,22 @@ module ExprNodes { override BinaryOperation getExpr() { result = super.getExpr() } /** Gets the left operand of this binary operation. */ - final ExprCfgNode getLeftOperand() { e.hasCfgChild(bo.getLeftOperand(), this, result) } + final ExprCfgNode getLeftOperand() { result.injects(desugar(bo.getLeftOperand())) } /** Gets the right operand of this binary operation. */ - final ExprCfgNode getRightOperand() { e.hasCfgChild(bo.getRightOperand(), this, result) } - } - - private class BlockArgumentChildMapping extends ExprChildMapping, BlockArgument { - override predicate relevantChild(AstNode n) { n = this.getValue() } + final ExprCfgNode getRightOperand() { result.injects(desugar(bo.getRightOperand())) } } /** A control-flow node that wraps a `BlockArgument` AST expression. */ class BlockArgumentCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "BlockArgumentCfgNode" } - override BlockArgumentChildMapping e; + override BlockArgument e; final override BlockArgument getExpr() { result = super.getExpr() } /** Gets the value of this block argument. */ - final ExprCfgNode getValue() { e.hasCfgChild(e.getValue(), this, result) } - } - - private class CallExprChildMapping extends ExprChildMapping, Call { - override predicate relevantChild(AstNode n) { - n = [this.getAnArgument(), this.(MethodCall).getReceiver(), this.(MethodCall).getBlock()] - } + final ExprCfgNode getValue() { result.injects(desugar(e.getValue())) } } /** A control-flow node that wraps a `Call` AST expression. */ @@ -305,12 +190,12 @@ module ExprNodes { overlay[global] override string getAPrimaryQlClass() { result = "CallCfgNode" } - override CallExprChildMapping e; + override Call e; override Call getExpr() { result = super.getExpr() } /** Gets the `n`th argument of this call. */ - final ExprCfgNode getArgument(int n) { e.hasCfgChild(e.getArgument(n), this, result) } + final ExprCfgNode getArgument(int n) { result.injects(desugar(e.getArgument(n))) } /** Gets an argument of this call. */ final ExprCfgNode getAnArgument() { result = this.getArgument(_) } @@ -319,7 +204,7 @@ module ExprNodes { overlay[global] final ExprCfgNode getKeywordArgument(string keyword) { exists(PairCfgNode n | - e.hasCfgChild(e.getAnArgument(), this, n) and + n.injects(desugar(e.getAnArgument())) and n.getKey().getExpr().getConstantValue().isSymbol(keyword) and result = n.getValue() ) @@ -337,10 +222,10 @@ module ExprNodes { final int getNumberOfArguments() { result = e.getNumberOfArguments() } /** Gets the receiver of this call. */ - final ExprCfgNode getReceiver() { e.hasCfgChild(e.(MethodCall).getReceiver(), this, result) } + final ExprCfgNode getReceiver() { result.injects(desugar(e.(MethodCall).getReceiver())) } /** Gets the block of this call. */ - final ExprCfgNode getBlock() { e.hasCfgChild(e.(MethodCall).getBlock(), this, result) } + final ExprCfgNode getBlock() { result.injects(desugar(e.(MethodCall).getBlock())) } } /** A control-flow node that wraps a `MethodCall` AST expression. */ @@ -356,104 +241,54 @@ module ExprNodes { string getMethodName() { result = this.getExpr().getMethodName() } } - private class CaseExprChildMapping extends ExprChildMapping, CaseExpr { - override predicate relevantChild(AstNode e) { e = this.getValue() or e = this.getABranch() } - } - /** A control-flow node that wraps a `CaseExpr` AST expression. */ class CaseExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "CaseExprCfgNode" } - override CaseExprChildMapping e; + override CaseExpr e; final override CaseExpr getExpr() { result = super.getExpr() } /** Gets the expression being compared, if any. */ - final ExprCfgNode getValue() { e.hasCfgChild(e.getValue(), this, result) } + final ExprCfgNode getValue() { result.injects(desugar(e.getValue())) } /** * Gets the `n`th branch of this case expression, either a `when` clause, an `in` clause, or an `else` branch. */ - final AstCfgNode getBranch(int n) { e.hasCfgChild(e.getBranch(n), this, result) } - } - - private class InClauseChildMapping extends NonExprChildMapping, InClause { - override predicate relevantChild(AstNode e) { - e = this.getPattern() or - e = this.getCondition() or - e = this.getBody() - } + final AstCfgNode getBranch(int n) { result.injects(desugar(e.getBranch(n))) } } /** A control-flow node that wraps an `InClause` AST expression. */ class InClauseCfgNode extends AstCfgNode { - private InClauseChildMapping e; + private InClause e; InClauseCfgNode() { e = this.getAstNode() } override string getAPrimaryQlClass() { result = "InClauseCfgNode" } /** Gets the pattern in this `in`-clause. */ - final AstCfgNode getPattern() { e.hasCfgChild(e.getPattern(), this, result) } + final AstCfgNode getPattern() { result.injects(desugar(e.getPattern())) } /** Gets the pattern guard condition in this `in` clause, if any. */ - final ExprCfgNode getCondition() { e.hasCfgChild(e.getCondition(), this, result) } + final ExprCfgNode getCondition() { result.injects(desugar(e.getCondition())) } /** Gets the body of this `in`-clause. */ - final ExprCfgNode getBody() { e.hasCfgChild(e.getBody(), this, result) } - } - - // `when` clauses need special treatment, since they are neither pre-order - // nor post-order - private class WhenClauseChildMapping extends WhenClause { - predicate patternReachesBasicBlock(int i, CfgNode cfnPattern, BasicBlock bb) { - exists(Expr pattern | - pattern = this.getPattern(i) and - cfnPattern.getAstNode() = pattern and - bb.getANode() = cfnPattern - ) - or - exists(BasicBlock mid | - this.patternReachesBasicBlock(i, cfnPattern, mid) and - bb = mid.getASuccessor() and - not mid.getANode().getAstNode() = this - ) - } - - predicate bodyReachesBasicBlock(CfgNode cfnBody, BasicBlock bb) { - exists(Stmt body | - body = this.getBody() and - cfnBody.getAstNode() = body and - bb.getANode() = cfnBody - ) - or - exists(BasicBlock mid | - this.bodyReachesBasicBlock(cfnBody, mid) and - bb = mid.getAPredecessor() and - not mid.getANode().getAstNode() = this - ) - } + final ExprCfgNode getBody() { result.injects(desugar(e.getBody())) } } /** A control-flow node that wraps a `WhenClause` AST expression. */ class WhenClauseCfgNode extends AstCfgNode { - private WhenClauseChildMapping e; + private WhenClause e; WhenClauseCfgNode() { e = this.getAstNode() } override string getAPrimaryQlClass() { result = "WhenClauseCfgNode" } /** Gets the body of this `when`-clause. */ - final ExprCfgNode getBody() { - result.getAstNode() = desugar(e.getBody()) and - e.bodyReachesBasicBlock(result, this.getBasicBlock()) - } + final ExprCfgNode getBody() { result.getAstNode() = desugar(e.getBody()) } /** Gets the `i`th pattern this `when`-clause. */ - final ExprCfgNode getPattern(int i) { - result.getAstNode() = desugar(e.getPattern(i)) and - e.patternReachesBasicBlock(i, result, this.getBasicBlock()) - } + final ExprCfgNode getPattern(int i) { result.getAstNode() = desugar(e.getPattern(i)) } } /** A control-flow node that wraps a `CasePattern`. */ @@ -465,41 +300,25 @@ module ExprNodes { override string getAPrimaryQlClass() { result = "CasePatternCfgNode" } } - private class ArrayPatternChildMapping extends NonExprChildMapping, ArrayPattern { - override predicate relevantChild(AstNode e) { - e = this.getPrefixElement(_) or - e = this.getSuffixElement(_) or - e = this.getRestVariableAccess() - } - } - /** A control-flow node that wraps an `ArrayPattern` node. */ class ArrayPatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "ArrayPatternCfgNode" } - override ArrayPatternChildMapping e; + override ArrayPattern e; /** Gets the `n`th element of this list pattern's prefix. */ final CasePatternCfgNode getPrefixElement(int n) { - e.hasCfgChild(e.getPrefixElement(n), this, result) + result.injects(desugar(e.getPrefixElement(n))) } /** Gets the `n`th element of this list pattern's suffix. */ final CasePatternCfgNode getSuffixElement(int n) { - e.hasCfgChild(e.getSuffixElement(n), this, result) + result.injects(desugar(e.getSuffixElement(n))) } /** Gets the variable of the rest token, if any. */ final VariableWriteAccessCfgNode getRestVariableAccess() { - e.hasCfgChild(e.getRestVariableAccess(), this, result) - } - } - - private class FindPatternChildMapping extends NonExprChildMapping, FindPattern { - override predicate relevantChild(AstNode e) { - e = this.getElement(_) or - e = this.getPrefixVariableAccess() or - e = this.getSuffixVariableAccess() + result.injects(desugar(e.getRestVariableAccess())) } } @@ -507,26 +326,19 @@ module ExprNodes { class FindPatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "FindPatternCfgNode" } - override FindPatternChildMapping e; + override FindPattern e; /** Gets the `n`th element of this find pattern. */ - final CasePatternCfgNode getElement(int n) { e.hasCfgChild(e.getElement(n), this, result) } + final CasePatternCfgNode getElement(int n) { result.injects(desugar(e.getElement(n))) } /** Gets the variable for the prefix of this find pattern, if any. */ final VariableWriteAccessCfgNode getPrefixVariableAccess() { - e.hasCfgChild(e.getPrefixVariableAccess(), this, result) + result.injects(desugar(e.getPrefixVariableAccess())) } /** Gets the variable for the suffix of this find pattern, if any. */ final VariableWriteAccessCfgNode getSuffixVariableAccess() { - e.hasCfgChild(e.getSuffixVariableAccess(), this, result) - } - } - - private class HashPatternChildMapping extends NonExprChildMapping, HashPattern { - override predicate relevantChild(AstNode e) { - e = this.getValue(_) or - e = this.getRestVariableAccess() + result.injects(desugar(e.getSuffixVariableAccess())) } } @@ -534,136 +346,104 @@ module ExprNodes { class HashPatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "HashPatternCfgNode" } - override HashPatternChildMapping e; + override HashPattern e; /** Gets the value of the `n`th pair. */ - final CasePatternCfgNode getValue(int n) { e.hasCfgChild(e.getValue(n), this, result) } + final CasePatternCfgNode getValue(int n) { result.injects(desugar(e.getValue(n))) } /** Gets the variable of the keyword rest token, if any. */ final VariableWriteAccessCfgNode getRestVariableAccess() { - e.hasCfgChild(e.getRestVariableAccess(), this, result) + result.injects(desugar(e.getRestVariableAccess())) } } - private class AlternativePatternChildMapping extends NonExprChildMapping, AlternativePattern { - override predicate relevantChild(AstNode e) { e = this.getAnAlternative() } - } - /** A control-flow node that wraps an `AlternativePattern` node. */ class AlternativePatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "AlternativePatternCfgNode" } - override AlternativePatternChildMapping e; + override AlternativePattern e; /** Gets the `n`th alternative. */ - final CasePatternCfgNode getAlternative(int n) { - e.hasCfgChild(e.getAlternative(n), this, result) - } - } - - private class AsPatternChildMapping extends NonExprChildMapping, AsPattern { - override predicate relevantChild(AstNode e) { - e = this.getPattern() or e = this.getVariableAccess() - } + final CasePatternCfgNode getAlternative(int n) { result.injects(desugar(e.getAlternative(n))) } } /** A control-flow node that wraps an `AsPattern` node. */ class AsPatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "AsPatternCfgNode" } - override AsPatternChildMapping e; + override AsPattern e; /** Gets the underlying pattern. */ - final CasePatternCfgNode getPattern() { e.hasCfgChild(e.getPattern(), this, result) } + final CasePatternCfgNode getPattern() { result.injects(desugar(e.getPattern())) } /** Gets the variable access for this pattern. */ final VariableWriteAccessCfgNode getVariableAccess() { - e.hasCfgChild(e.getVariableAccess(), this, result) + result.injects(desugar(e.getVariableAccess())) } } - private class ParenthesizedPatternChildMapping extends NonExprChildMapping, ParenthesizedPattern { - override predicate relevantChild(AstNode e) { e = this.getPattern() } - } - /** A control-flow node that wraps a `ParenthesizedPattern` node. */ class ParenthesizedPatternCfgNode extends CasePatternCfgNode { override string getAPrimaryQlClass() { result = "ParenthesizedPatternCfgNode" } - override ParenthesizedPatternChildMapping e; + override ParenthesizedPattern e; /** Gets the underlying pattern. */ - final CasePatternCfgNode getPattern() { e.hasCfgChild(e.getPattern(), this, result) } - } - - private class ConditionalExprChildMapping extends ExprChildMapping, ConditionalExpr { - override predicate relevantChild(AstNode n) { n = [this.getCondition(), this.getBranch(_)] } + final CasePatternCfgNode getPattern() { result.injects(desugar(e.getPattern())) } } /** A control-flow node that wraps a `ConditionalExpr` AST expression. */ class ConditionalExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "ConditionalExprCfgNode" } - override ConditionalExprChildMapping e; + override ConditionalExpr e; final override ConditionalExpr getExpr() { result = super.getExpr() } /** Gets the condition expression. */ - final ExprCfgNode getCondition() { e.hasCfgChild(e.getCondition(), this, result) } + final ExprCfgNode getCondition() { result.injects(desugar(e.getCondition())) } /** * Gets the branch of this conditional expression that is taken when the condition * evaluates to cond, if any. */ - final ExprCfgNode getBranch(boolean cond) { e.hasCfgChild(e.getBranch(cond), this, result) } - } - - private class ConstantAccessChildMapping extends ExprChildMapping, ConstantAccess { - override predicate relevantChild(AstNode n) { n = this.getScopeExpr() } + final ExprCfgNode getBranch(boolean cond) { result.injects(desugar(e.getBranch(cond))) } } - /** A control-flow node that wraps a `ConditionalExpr` AST expression. */ + /** A control-flow node that wraps a `ConstantAccess` AST expression. */ class ConstantAccessCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "ConstantAccessCfgNode" } - override ConstantAccessChildMapping e; + override ConstantAccess e; final override ConstantAccess getExpr() { result = super.getExpr() } /** Gets the scope expression. */ - final ExprCfgNode getScopeExpr() { e.hasCfgChild(e.getScopeExpr(), this, result) } - } - - private class StmtSequenceChildMapping extends ExprChildMapping, StmtSequence { - override predicate relevantChild(AstNode n) { n = this.getLastStmt() } + final ExprCfgNode getScopeExpr() { result.injects(desugar(e.getScopeExpr())) } } /** A control-flow node that wraps a `StmtSequence` AST expression. */ class StmtSequenceCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "StmtSequenceCfgNode" } - override StmtSequenceChildMapping e; + override StmtSequence e; final override StmtSequence getExpr() { result = super.getExpr() } /** Gets the last statement in this sequence, if any. */ - final ExprCfgNode getLastStmt() { e.hasCfgChild(e.getLastStmt(), this, result) } - } - - private class ForExprChildMapping extends ExprChildMapping, ForExpr { - override predicate relevantChild(AstNode n) { n = this.getValue() } + final ExprCfgNode getLastStmt() { result.injects(desugar(e.getLastStmt())) } } /** A control-flow node that wraps a `ForExpr` AST expression. */ class ForExprCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "ForExprCfgNode" } - override ForExprChildMapping e; + override ForExpr e; final override ForExpr getExpr() { result = super.getExpr() } /** Gets the value being iterated over. */ - final ExprCfgNode getValue() { e.hasCfgChild(e.getValue(), this, result) } + final ExprCfgNode getValue() { result.injects(desugar(e.getValue())) } } /** A control-flow node that wraps a `ParenthesizedExpr` AST expression. */ @@ -673,27 +453,23 @@ module ExprNodes { ParenthesizedExprCfgNode() { this.getExpr() instanceof ParenthesizedExpr } } - private class PairChildMapping extends ExprChildMapping, Pair { - override predicate relevantChild(AstNode n) { n = [this.getKey(), this.getValue()] } - } - /** A control-flow node that wraps a `Pair` AST expression. */ class PairCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "PairCfgNode" } - override PairChildMapping e; + override Pair e; final override Pair getExpr() { result = super.getExpr() } /** * Gets the key expression of this pair. */ - final ExprCfgNode getKey() { e.hasCfgChild(e.getKey(), this, result) } + final ExprCfgNode getKey() { result.injects(desugar(e.getKey())) } /** * Gets the value expression of this pair. */ - final ExprCfgNode getValue() { e.hasCfgChild(e.getValue(), this, result) } + final ExprCfgNode getValue() { result.injects(desugar(e.getValue())) } } /** A control-flow node that wraps a `VariableAccess` AST expression. */ @@ -728,41 +504,29 @@ module ExprNodes { final override LocalVariable getVariable() { result = super.getVariable() } } - private class InstanceVariableAccessMapping extends ExprChildMapping, InstanceVariableAccess { - override predicate relevantChild(AstNode n) { n = this.getReceiver() } - } - /** A control-flow node that wraps an `InstanceVariableAccess` AST expression. */ class InstanceVariableAccessCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "InstanceVariableAccessCfgNode" } - override InstanceVariableAccessMapping e; + override InstanceVariableAccess e; override InstanceVariableAccess getExpr() { result = super.getExpr() } /** * Gets the synthetic receiver (`self`) of this instance variable access. */ - final CfgNode getReceiver() { e.hasCfgChild(e.getReceiver(), this, result) } - } - - private class SelfVariableAccessMapping extends ExprChildMapping, SelfVariableAccess { - override predicate relevantChild(AstNode n) { none() } + final CfgNode getReceiver() { result.injects(desugar(e.getReceiver())) } } /** A control-flow node that wraps a `SelfVariableAccess` AST expression. */ class SelfVariableAccessCfgNode extends VariableAccessCfgNode { final override string getAPrimaryQlClass() { result = "SelfVariableAccessCfgNode" } - override SelfVariableAccessMapping e; + override SelfVariableAccess e; override SelfVariableAccess getExpr() { result = super.getExpr() } } - private class VariableWriteAccessChildMapping extends ExprChildMapping, VariableWriteAccess { - override predicate relevantChild(AstNode n) { this.isExplicitWrite(n) } - } - /** A control-flow node that wraps a `VariableWriteAccess` AST expression. */ class VariableWriteAccessCfgNode extends VariableAccessCfgNode { /** @@ -784,20 +548,16 @@ module ExprNodes { override string getAPrimaryQlClass() { result = "VariableWriteAccessCfgNode" } - override VariableWriteAccessChildMapping e; + override VariableWriteAccess e; override VariableWriteAccess getExpr() { result = super.getExpr() } } - private class LocalVariableWriteAccessChildMapping extends VariableWriteAccessChildMapping, - LocalVariableWriteAccess - { } - /** A control-flow node that wraps a `LocalVariableWriteAccess` AST expression. */ class LocalVariableWriteAccessCfgNode extends VariableWriteAccessCfgNode { override string getAPrimaryQlClass() { result = "LocalVariableWriteAccessCfgNode" } - override LocalVariableWriteAccessChildMapping e; + override LocalVariableWriteAccess e; final override LocalVariableWriteAccess getExpr() { result = super.getExpr() } @@ -870,20 +630,16 @@ module ExprNodes { } } - private class StringlikeLiteralChildMapping extends ExprChildMapping, StringlikeLiteral { - override predicate relevantChild(AstNode n) { n = this.getComponent(_) } - } - /** A control-flow node that wraps a `StringlikeLiteral` AST expression. */ class StringlikeLiteralCfgNode extends ExprCfgNode { override string getAPrimaryQlClass() { result = "StringlikeLiteralCfgNode" } - override StringlikeLiteralChildMapping e; + override StringlikeLiteral e; override StringlikeLiteral getExpr() { result = super.getExpr() } /** Gets the `n`th component of this `StringlikeLiteral` */ - StringComponentCfgNode getComponent(int n) { e.hasCfgChild(e.getComponent(n), this, result) } + StringComponentCfgNode getComponent(int n) { result.injects(desugar(e.getComponent(n))) } /** Gets a component of this `StringlikeLiteral` */ StringComponentCfgNode getAComponent() { result = this.getComponent(_) } @@ -929,15 +685,11 @@ module ExprNodes { final override RelationalOperation getExpr() { result = super.getExpr() } } - private class SplatExprChildMapping extends OperationExprChildMapping, SplatExpr { - override predicate relevantChild(AstNode n) { n = this.getOperand() } - } - /** A control-flow node that wraps a `SplatExpr` AST expression. */ class SplatExprCfgNode extends UnaryOperationCfgNode { override string getAPrimaryQlClass() { result = "SplatExprCfgNode" } - override SplatExprChildMapping e; + override SplatExpr e; final override SplatExpr getExpr() { result = super.getExpr() } } diff --git a/ruby/ql/lib/codeql/ruby/controlflow/ControlFlowGraph.qll b/ruby/ql/lib/codeql/ruby/controlflow/ControlFlowGraph.qll index 8a7abea30904..64fb9c36b3d9 100644 --- a/ruby/ql/lib/codeql/ruby/controlflow/ControlFlowGraph.qll +++ b/ruby/ql/lib/codeql/ruby/controlflow/ControlFlowGraph.qll @@ -2,12 +2,23 @@ overlay[local] module; +private import ruby as R +private import codeql.Locations +private import codeql.controlflow.ControlFlowGraph import codeql.controlflow.SuccessorType -private import codeql.ruby.AST -private import codeql.ruby.controlflow.BasicBlocks -private import internal.ControlFlowGraphImpl as CfgImpl -private import internal.Splitting as Splitting -private import internal.Completion +private import codeql.ruby.ast.internal.Synthesis +private import codeql.ruby.ast.internal.Scope + +private module Cfg0 = Make0; + +private module Cfg1 = Make1; + +private module Cfg2 = Make2; + +private import Cfg0 +private import Cfg1 +private import Cfg2 +import Public /** * An AST node with an associated control-flow graph. @@ -17,12 +28,12 @@ private import internal.Completion * Note that module declarations are not themselves CFG scopes, as they are part of * the CFG of the enclosing top-level or callable. */ -class CfgScope extends Scope instanceof CfgImpl::CfgScopeImpl { +class CfgScope extends R::Ast::Scope instanceof CfgScopeImpl { /** Gets the CFG scope that this scope is nested under, if any. */ final CfgScope getOuterCfgScope() { - exists(AstNode parent | + exists(R::Ast::AstNode parent | parent = this.getParent() and - result = CfgImpl::getCfgScope(parent) + result = getEnclosingCallable(parent) ) } } @@ -35,14 +46,11 @@ class CfgScope extends Scope instanceof CfgImpl::CfgScopeImpl { * * Only nodes that can be reached from an entry point are included in the CFG. */ -class CfgNode extends CfgImpl::Node { +class CfgNode extends ControlFlowNode { /** Gets the name of the primary QL class for this node. */ overlay[global] string getAPrimaryQlClass() { none() } - /** Gets the file of this control flow node. */ - final File getFile() { result = this.getLocation().getFile() } - /** Gets a successor node of a given type, if any. */ final CfgNode getASuccessor(SuccessorType t) { result = super.getASuccessor(t) } @@ -54,14 +62,503 @@ class CfgNode extends CfgImpl::Node { /** Gets an immediate predecessor, if any. */ final CfgNode getAPredecessor() { result = this.getAPredecessor(_) } +} - /** Gets the basic block that this control flow node belongs to. */ - BasicBlock getBasicBlock() { result.getANode() = this } +private Ast::AstNode desugar(R::Ast::AstNode n) { result = n or result = n.getDesugared() } + +class CfgScopeImpl = Ast::Callable; + +predicate getEnclosingCallable = Ast::getEnclosingCallable/1; + +/** Provides an implementation of the AST signature for Ruby. */ +private module Ast implements AstSig { + private import codeql.ruby.ast.internal.AST + + private predicate additionalExclude(R::Ast::AstNode n) { + n instanceof R::Ast::DestructuredLhsExpr or + exists(n.getDesugared()) + } + + class AstNode extends R::Ast::AstNode { + AstNode() { + not any(Synthesis s).excludeFromControlFlowTree(this) and not additionalExclude(this) + } + } + + private R::Ast::AstNode adjustedGetChild(R::Ast::AstNode parent, int index) { + exists(R::Ast::WhenClause when | parent = when | + when.getPattern(index) = result + or + when.getBody() = result and index = toGenerated(result).getParentIndex() + ) + or + exists(R::Ast::MethodCall call | parent = call and not call instanceof R::Ast::BinaryOperation | + index = -1 and call.getReceiver() = result + or + call.getArgument(index) = result + or + index = call.getNumberOfArguments() and + call.getBlock() = result + ) + or + exists(R::Ast::ClassDeclaration cls | parent = cls | + index = 0 and cls.getScopeExpr() = result + or + index = 1 and cls.getSuperclassExpr() = result + or + cls.getStmt(index - 2) = result + ) + or + exists(R::Ast::ModuleDeclaration mod | parent = mod | + index = 0 and mod.getScopeExpr() = result + or + mod.getStmt(index - 1) = result + ) + or + exists(R::Ast::SingletonClass cls | parent = cls | + index = 0 and cls.getValue() = result + or + cls.getStmt(index - 1) = result + ) + or + exists(R::Ast::SingletonMethod method | parent = method | + index = 0 and method.getObject() = result + ) + or + exists(R::Ast::Pair pair | parent = pair | + index = 0 and pair.getKey() = result + or + index = 1 and pair.getValue() = result + ) + or + exists(R::Ast::ArrayPattern arraypattern | parent = arraypattern | + index = -1 and arraypattern.getClass() = result + or + arraypattern.getPrefixElement(index) = result + or + exists(int restix | restix = count(arraypattern.getPrefixElement(_)) | + restix = index and arraypattern.getRestVariableAccess() = result + or + arraypattern.getSuffixElement(index - restix - 1) = result + ) + ) + or + exists(R::Ast::FindPattern findpattern | parent = findpattern | + index = -2 and findpattern.getClass() = result + or + index = -1 and findpattern.getPrefixVariableAccess() = result + or + findpattern.getElement(index) = result + or + index = 1 + max(int i | exists(findpattern.getElement(i))) and + findpattern.getSuffixVariableAccess() = result + ) + or + exists(R::Ast::HashPattern hashpattern | parent = hashpattern | + index = -1 and hashpattern.getClass() = result + or + exists(int i | + hashpattern.getKey(i) = result and + index = 2 * i + or + hashpattern.getValue(i) = result and + index = 2 * i + 1 + ) + or + index = 2 * count(hashpattern.getValue(_)) and hashpattern.getRestVariableAccess() = result + ) + } + + private R::Ast::AstNode baseGetChild(R::Ast::AstNode parent, int index) { + result = adjustedGetChild(parent, index) + or + not exists(adjustedGetChild(parent, _)) and + not parent instanceof R::Ast::Callable and + ( + synthChild(parent, index, result) + or + result = parent.getAChild() and + not synthChild(parent, _, result) and + toGenerated(result).getParentIndex() = index + ) + } + + AstNode getChild(AstNode parent, int index) { result = desugar(baseGetChild(parent, index)) } + + private R::Ast::Scope parentScope(R::Ast::Scope n) { + result = n.getOuterScope() and + not n instanceof Callable + } + + cached + Callable getEnclosingCallable(AstNode node) { result = parentScope*(scopeOfInclSynth(node)) } + + // TODO: Include EndBlock + class Callable extends AstNode { + Callable() { this instanceof R::Ast::Toplevel or this instanceof R::Ast::Callable } + } + + AstNode callableGetBody(Callable c) { + result = c.(R::Ast::Toplevel).getABeginBlock() or + result = c.(R::Ast::Toplevel).getAStmt() or + result = c.(R::Ast::Callable).getBody() + } + + class Parameter extends AstNode instanceof R::Ast::Parameter { + AstNode getPattern() { + this.(R::Ast::NamedParameter).getDefiningAccess() = result + or + not exists(this.(R::Ast::NamedParameter).getDefiningAccess()) and + this = result + } + + Expr getDefaultValue() { + result = desugar(this.(R::Ast::KeywordParameter).getDefaultValue()) or + result = desugar(this.(R::Ast::OptionalParameter).getDefaultValue()) + } + } + + Parameter callableGetParameter(Callable c, int index) { + c.(R::Ast::Callable).getParameter(index) = result + } + + class Stmt extends AstNode instanceof R::Ast::Stmt { } + + // Most ast nodes in Ruby are both statements and expressions with only a few + // that are only statements. Similarly, most nodes accept statement children, + // but a few only accept expression children. But since this really only + // matters for parsing, we can just treat expressions and statements as the + // same thing to avoid hard-to-find mistakes. + class Expr = Stmt; + + class BlockStmt extends Stmt instanceof R::Ast::StmtSequence { + BlockStmt() { not this instanceof TryStmt } + + Stmt getStmt(int n) { result = desugar(super.getStmt(n)) } + + Stmt getLastStmt() { result = desugar(super.getLastStmt()) } + } + + class ExprStmt extends Stmt { + ExprStmt() { none() } + + Expr getExpr() { none() } + } + + class IfStmt extends Stmt instanceof R::Ast::ConditionalExpr { + IfStmt() { + exists(Stmt branch | + branch = desugar(super.getBranch(_)) and not branch instanceof R::Ast::Expr + ) + } + + Expr getCondition() { result = desugar(super.getCondition()) } + + Stmt getThen() { result = desugar(super.getBranch(true)) } + + Stmt getElse() { result = desugar(super.getBranch(false)) } + } + + class LoopStmt extends Stmt instanceof R::Ast::Loop { + Stmt getBody() { result = desugar(super.getBody()) } + } + + class WhileStmt extends LoopStmt instanceof R::Ast::ConditionalLoop { + WhileStmt() { this instanceof R::Ast::WhileExpr or this instanceof R::Ast::WhileModifierExpr } + + Expr getCondition() { result = desugar(super.getCondition()) } + } + + class UntilStmt extends LoopStmt instanceof R::Ast::ConditionalLoop { + UntilStmt() { this instanceof R::Ast::UntilExpr or this instanceof R::Ast::UntilModifierExpr } + + Expr getCondition() { result = desugar(super.getCondition()) } + } + + class DoStmt extends LoopStmt { + DoStmt() { none() } + + Expr getCondition() { none() } + } + + class ForStmt extends LoopStmt { + ForStmt() { none() } + + AstNode getInit(int index) { none() } + + Expr getCondition() { none() } + + AstNode getUpdate(int index) { none() } + } + + // `ForExpr` would be a match for `ForeachStmt`, but it is desugared. + class ForeachStmt extends LoopStmt { + ForeachStmt() { none() } + + Expr getVariable() { none() } + + Expr getCollection() { none() } + } + + class BreakStmt extends Stmt instanceof R::Ast::BreakStmt { } + + class ContinueStmt extends Stmt instanceof R::Ast::NextStmt { } + + class GotoStmt extends Stmt { + GotoStmt() { none() } + } + + class ReturnStmt extends Stmt instanceof R::Ast::ReturnStmt { + Expr getExpr() { result = desugar(super.getValue()) } + } + + // raise is just a method call + class Throw extends AstNode { + Throw() { none() } + + Expr getExpr() { none() } + } + + class TryStmt extends Stmt instanceof R::Ast::BodyStmt { + TryStmt() { exists(this.getRescue(_)) or exists(this.getElse()) or this.hasEnsure() } + + AstNode getBody(int index) { result = desugar(super.getStmt(index)) } + + CatchClause getCatch(int index) { result = super.getRescue(index) } + + Stmt getFinally() { result = super.getEnsure() } + } + + AstNode getTryElse(TryStmt try) { result = try.(R::Ast::BodyStmt).getElse() } + + class CatchClause extends AstNode instanceof R::Ast::RescueClause { + AstNode getPattern() { result = desugar(super.getPattern()) } + + AstNode getVariable() { result = super.getVariableExpr() } + + Expr getCondition() { none() } + + Stmt getBody() { result = super.getBody() } + } + + class Switch extends AstNode instanceof R::Ast::CaseExpr { + Expr getExpr() { result = desugar(super.getValue()) } + + Case getCase(int index) { result = super.getBranch(index) } + + Stmt getStmt(int index) { none() } + } + + class Case extends AstNode { + Case() { this = any(R::Ast::CaseExpr switch).getABranch() } + + AstNode getPattern(int index) { + desugar(this.(R::Ast::WhenClause).getPattern(index)) = result + or + desugar(this.(R::Ast::InClause).getPattern()) = result and index = 0 + } + + Expr getGuard() { desugar(this.(R::Ast::InClause).getCondition()) = result } + + AstNode getBody() { + desugar(this.(R::Ast::WhenClause).getBody()) = result or + desugar(this.(R::Ast::InClause).getBody()) = result or + desugar(this.(R::Ast::CaseElseBranch).getBody()) = result + } + } + + class DefaultCase extends Case instanceof R::Ast::CaseElseBranch { } + + class ConditionalExpr extends Expr instanceof R::Ast::ConditionalExpr { + ConditionalExpr() { not this instanceof IfStmt } + + Expr getCondition() { result = desugar(super.getCondition()) } + + Expr getThen() { result = desugar(super.getBranch(true)) } + + Expr getElse() { result = desugar(super.getBranch(false)) } + } + + class BinaryExpr extends Expr { + BinaryExpr() { this instanceof R::Ast::BinaryOperation or this instanceof R::Ast::Assignment } + + Expr getLeftOperand() { + result = desugar(this.(R::Ast::BinaryOperation).getLeftOperand()) or + result = desugar(this.(R::Ast::Assignment).getLeftOperand()) + } + + Expr getRightOperand() { + result = desugar(this.(R::Ast::BinaryOperation).getRightOperand()) or + result = desugar(this.(R::Ast::Assignment).getRightOperand()) + } + } + + class LogicalAndExpr extends BinaryExpr instanceof R::Ast::LogicalAndExpr { } + + class LogicalOrExpr extends BinaryExpr instanceof R::Ast::LogicalOrExpr { } + + class NullCoalescingExpr extends BinaryExpr { + NullCoalescingExpr() { none() } + } + + class UnaryExpr extends Expr instanceof R::Ast::UnaryOperation { + Expr getOperand() { result = desugar(super.getOperand()) } + } + + class LogicalNotExpr extends UnaryExpr instanceof R::Ast::NotExpr { } + + class Assignment extends BinaryExpr instanceof R::Ast::Assignment { } + + class AssignExpr extends Assignment instanceof R::Ast::AssignExpr { } + + // Compound assignments are desugared. + class CompoundAssignment extends Assignment { + CompoundAssignment() { none() } + } + + class AssignLogicalAndExpr extends CompoundAssignment { } + + class AssignLogicalOrExpr extends CompoundAssignment { } + + class AssignNullCoalescingExpr extends CompoundAssignment { } + + class BooleanLiteral extends Expr instanceof R::Ast::BooleanLiteral { + boolean getValue() { result = super.getValue() } + } + + class PatternMatchExpr extends Expr { + PatternMatchExpr() { none() } + + Expr getExpr() { none() } + + AstNode getPattern() { none() } + } +} + +private predicate rescuable(R::Ast::AstNode n) { + exists(R::Ast::RescueModifierExpr rescueModifier | n = desugar(rescueModifier.getBody())) + or + exists(Ast::TryStmt try | n = try.getBody(_)) + or + exists(R::Ast::AstNode parent | n = desugar(parent.getAChild()) and rescuable(parent)) } -class Split = Splitting::Split; +/** + * Holds if `c` happens in an exception-aware context, that is, it may be + * `rescue`d or `ensure`d. In such cases, we assume that the target of `c` + * may raise an exception (in addition to evaluating normally). + */ +private predicate mayRaise(R::Ast::Call c) { rescuable(c) } + +private module Input implements InputSig1, InputSig2 { + private import codeql.util.Void + private import codeql.util.Unit + private import internal.NonReturning + + predicate cfgCachedStageRef() { CfgCachedStage::ref() } + + class Label = Void; -/** Provides different kinds of control flow graph splittings. */ -module Split { - class ConditionalCompletionSplit = Splitting::ConditionalCompletionSplit; + predicate preOrderExpr(Ast::Expr e) { + e instanceof R::Ast::StmtSequence or + e instanceof R::Ast::RescueClause or + e instanceof R::Ast::ConditionalExpr or + e instanceof R::Ast::Loop or + e instanceof R::Ast::RescueModifierExpr + } + + predicate postOrInOrder(Ast::AstNode n) { + n instanceof R::Ast::Call and + not n instanceof R::Ast::BinaryOperation and + not n instanceof R::Ast::UnaryOperation + or + n instanceof R::Ast::RedoStmt + or + n instanceof R::Ast::RetryStmt + } + + class CallableContext = Unit; + + Ast::AstNode callableGetBodyPart(Ast::Callable c, CallableContext ctx, int index) { + exists(R::Ast::Toplevel t | + c = t and + exists(ctx) + | + result = t.getBeginBlock(index) or + result = desugar(t.getStmt(index - count(t.getABeginBlock()))) + ) + } + + predicate catchAll(Ast::CatchClause catch) { + not exists(catch.(R::Ast::RescueClause).getAnException()) + } + + predicate beginAbruptCompletion( + Ast::AstNode ast, PreControlFlowNode n, AbruptCompletion c, boolean always + ) { + ast.(NonReturningCall).getASuccessorType() = c.asSimpleAbruptCompletion() and + n.isIn(ast) and + always = true + or + mayRaise(ast) and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof ExceptionSuccessor and + always = false + or + ast instanceof R::Ast::RedoStmt and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof RedoSuccessor and + always = true + or + ast instanceof R::Ast::RetryStmt and + n.isIn(ast) and + c.asSimpleAbruptCompletion() instanceof RetrySuccessor and + always = true + } + + predicate endAbruptCompletion(Ast::AstNode ast, PreControlFlowNode n, AbruptCompletion c) { + exists(R::Ast::Callable callable | + callable.getBody() = ast and + n.(NormalExitNodeImpl).getEnclosingCallable() = callable + | + c.asSimpleAbruptCompletion() instanceof BreakSuccessor or + c.asSimpleAbruptCompletion() instanceof ContinueSuccessor or + c.asSimpleAbruptCompletion() instanceof RedoSuccessor + ) + or + exists(R::Ast::RescueModifierExpr rescueModifier | + ast = desugar(rescueModifier.getBody()) and + c.getSuccessorType() instanceof ExceptionSuccessor and + n.isBefore(desugar(rescueModifier.getHandler())) + ) + or + ast = any(Ast::LoopStmt loop).getBody() and + c.asSimpleAbruptCompletion() instanceof RedoSuccessor and + n.isBefore(ast) + or + exists(Ast::TryStmt try | + ast = try.getCatch(_).getBody() and + c.asSimpleAbruptCompletion() instanceof RetrySuccessor and + n.isBefore(try.getBody(0)) + ) + } + + predicate step(PreControlFlowNode n1, PreControlFlowNode n2) { + exists(Ast::ConditionalExpr ce | + n1.isAfterTrue(ce.getCondition()) and not exists(ce.getThen()) and n2.isAfter(ce) + or + n1.isAfterFalse(ce.getCondition()) and not exists(ce.getElse()) and n2.isAfter(ce) + ) + or + exists(R::Ast::RescueModifierExpr rescueModifier | + n1.isBefore(rescueModifier) and + n2.isBefore(desugar(rescueModifier.getBody())) + or + n1.isAfter(desugar(rescueModifier.getBody())) and + n2.isAfter(rescueModifier) + or + n1.isAfter(desugar(rescueModifier.getHandler())) and + n2.isAfter(rescueModifier) + ) + } } diff --git a/ruby/ql/lib/codeql/ruby/controlflow/internal/Completion.qll b/ruby/ql/lib/codeql/ruby/controlflow/internal/Completion.qll deleted file mode 100644 index bcfe8f98d437..000000000000 --- a/ruby/ql/lib/codeql/ruby/controlflow/internal/Completion.qll +++ /dev/null @@ -1,565 +0,0 @@ -/** - * Provides classes representing control flow completions. - * - * A completion represents how a statement or expression terminates. - */ -overlay[local] -module; - -private import codeql.ruby.AST -private import codeql.ruby.ast.internal.AST -private import codeql.ruby.ast.internal.Control -private import codeql.ruby.controlflow.ControlFlowGraph -private import ControlFlowGraphImpl as CfgImpl -private import NonReturning - -private newtype TCompletion = - TSimpleCompletion() or - TBooleanCompletion(boolean b) { b in [false, true] } or - TMatchingCompletion(boolean isMatch) { isMatch in [false, true] } or - TReturnCompletion() or - TBreakCompletion() or - TNextCompletion() or - TRedoCompletion() or - TRetryCompletion() or - TRaiseCompletion() or // TODO: Add exception type? - TExitCompletion() or - TNestedCompletion(TCompletion inner, TCompletion outer, int nestLevel) { - inner = TBreakCompletion() and - outer instanceof NonNestedNormalCompletion and - nestLevel = 0 - or - inner instanceof TBooleanCompletion and - outer instanceof TMatchingCompletion and - nestLevel = 0 - or - inner instanceof NormalCompletion and - nestedEnsureCompletion(outer, nestLevel) - } - -pragma[noinline] -private predicate nestedEnsureCompletion(TCompletion outer, int nestLevel) { - ( - outer = TReturnCompletion() - or - outer = TBreakCompletion() - or - outer = TNextCompletion() - or - outer = TRedoCompletion() - or - outer = TRetryCompletion() - or - outer = TRaiseCompletion() - or - outer = TExitCompletion() - ) and - nestLevel = any(CfgImpl::Trees::BodyStmtTree t).getNestLevel() -} - -pragma[noinline] -private predicate completionIsValidForStmt(AstNode n, Completion c) { - n instanceof BreakStmt and - c = TBreakCompletion() - or - n instanceof NextStmt and - c = TNextCompletion() - or - n instanceof RedoStmt and - c = TRedoCompletion() - or - n instanceof ReturnStmt and - c = TReturnCompletion() -} - -private AstNode getARescuableBodyChild() { - exists(CfgImpl::Trees::BodyStmtTree bst | result = bst.getBodyChild(_, true) | - exists(bst.getARescue()) - or - exists(bst.getEnsure()) - ) - or - result = getARescuableBodyChild().getAChild() -} - -/** - * Holds if `c` happens in an exception-aware context, that is, it may be - * `rescue`d or `ensure`d. In such cases, we assume that the target of `c` - * may raise an exception (in addition to evaluating normally). - */ -private predicate mayRaise(Call c) { c = getARescuableBodyChild() } - -/** A completion of a statement or an expression. */ -abstract class Completion extends TCompletion { - private predicate isValidForSpecific0(AstNode n) { - this = n.(NonReturningCall).getACompletion() - or - completionIsValidForStmt(n, this) - or - mustHaveBooleanCompletion(n) and - ( - exists(boolean value | isBooleanConstant(n, value) | this = TBooleanCompletion(value)) - or - not isBooleanConstant(n, _) and - this = TBooleanCompletion(_) - ) - or - mustHaveMatchingCompletion(n) and - this = TMatchingCompletion(_) - or - n = any(RescueModifierExpr parent).getBody() and - this = [TSimpleCompletion().(TCompletion), TRaiseCompletion()] - } - - private predicate isValidForSpecific(AstNode n) { - this.isValidForSpecific0(n) - or - exists(AstNode other | n = other.getDesugared() and this.isValidForSpecific(other)) - or - mayRaise(n) and - ( - this = TRaiseCompletion() - or - not any(Completion c).isValidForSpecific0(n) and - this = TSimpleCompletion() - ) - } - - /** Holds if this completion is valid for node `n`. */ - predicate isValidFor(AstNode n) { - this.isValidForSpecific(n) - or - not any(Completion c).isValidForSpecific(n) and - this = TSimpleCompletion() - } - - /** - * Holds if this completion will continue a loop when it is the completion - * of a loop body. - */ - predicate continuesLoop() { - this instanceof NormalCompletion or - this instanceof NextCompletion - } - - /** - * Gets the inner completion. This is either the inner completion, - * when the completion is nested, or the completion itself. - */ - Completion getInnerCompletion() { result = this } - - /** - * Gets the outer completion. This is either the outer completion, - * when the completion is nested, or the completion itself. - */ - Completion getOuterCompletion() { result = this } - - /** Gets a successor type that matches this completion. */ - abstract SuccessorType getAMatchingSuccessorType(); - - /** Gets a textual representation of this completion. */ - abstract string toString(); -} - -/** Holds if node `n` has the Boolean constant value `value`. */ -private predicate isBooleanConstant(AstNode n, boolean value) { - mustHaveBooleanCompletion(n) and - ( - n.(BooleanLiteral).isTrue() and - value = true - or - n.(BooleanLiteral).isFalse() and - value = false - ) -} - -/** - * Holds if a normal completion of `n` must be a Boolean completion. - */ -private predicate mustHaveBooleanCompletion(AstNode n) { - inBooleanContext(n) and - not n instanceof NonReturningCall -} - -/** - * Holds if `n` is used in a Boolean context. That is, the value - * that `n` evaluates to determines a true/false branch successor. - */ -private predicate inBooleanContext(AstNode n) { - exists(ConditionalExpr i | - n = i.getCondition() - or - inBooleanContext(i) and - n = i.getBranch(_) - ) - or - n = any(ConditionalLoop parent).getCondition() - or - n = any(InClause parent).getCondition() - or - exists(LogicalAndExpr parent | - n = parent.getLeftOperand() - or - inBooleanContext(parent) and - n = parent.getRightOperand() - ) - or - exists(LogicalOrExpr parent | - n = parent.getLeftOperand() - or - inBooleanContext(parent) and - n = parent.getRightOperand() - ) - or - n = any(NotExpr parent | inBooleanContext(parent)).getOperand() - or - n = any(StmtSequence parent | inBooleanContext(parent)).getLastStmt() - or - exists(CaseExpr c, WhenClause w | - not exists(c.getValue()) and - c.getABranch() = w - | - w.getPattern(_) = n - or - w = n - ) -} - -/** - * Holds if a normal completion of `n` must be a matching completion. - */ -private predicate mustHaveMatchingCompletion(AstNode n) { - inMatchingContext(n) and - not n instanceof NonReturningCall -} - -/** - * Holds if `n` is used in a matching context. That is, whether or - * not the value of `n` matches, determines the successor. - */ -private predicate inMatchingContext(AstNode n) { - n = any(RescueClause r).getException(_) - or - exists(CaseExpr c, WhenClause w | - exists(c.getValue()) and - c.getABranch() = w - | - w.getPattern(_) = n - or - w = n - ) - or - n instanceof CasePattern - or - n = any(ReferencePattern p).getExpr() - or - n.(CfgImpl::Trees::DefaultValueParameterTree).hasDefaultValue() -} - -/** - * A completion that represents normal evaluation of a statement or an - * expression. - */ -abstract class NormalCompletion extends Completion { } - -abstract private class NonNestedNormalCompletion extends NormalCompletion { } - -/** A simple (normal) completion. */ -class SimpleCompletion extends NonNestedNormalCompletion, TSimpleCompletion { - override DirectSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { result = "simple" } -} - -/** - * A completion that represents evaluation of an expression, whose value determines - * the successor. Either a Boolean completion (`BooleanCompletion`), or a matching - * completion (`MatchingCompletion`). - */ -abstract class ConditionalCompletion extends NormalCompletion { - boolean value; - - bindingset[value] - ConditionalCompletion() { any() } - - /** Gets the Boolean value of this conditional completion. */ - final boolean getValue() { result = value } -} - -/** - * A completion that represents evaluation of an expression - * with a Boolean value. - */ -class BooleanCompletion extends ConditionalCompletion, NonNestedNormalCompletion, TBooleanCompletion -{ - BooleanCompletion() { this = TBooleanCompletion(value) } - - /** Gets the dual Boolean completion. */ - BooleanCompletion getDual() { result = TBooleanCompletion(value.booleanNot()) } - - override BooleanSuccessor getAMatchingSuccessorType() { result.getValue() = value } - - override string toString() { result = value.toString() } -} - -/** A Boolean `true` completion. */ -class TrueCompletion extends BooleanCompletion { - TrueCompletion() { this.getValue() = true } -} - -/** A Boolean `false` completion. */ -class FalseCompletion extends BooleanCompletion { - FalseCompletion() { this.getValue() = false } -} - -/** - * A completion that represents evaluation of a matching test, for example - * a test in a `rescue` statement. - */ -class MatchingCompletion extends ConditionalCompletion { - MatchingCompletion() { - this = TMatchingCompletion(value) - or - this = TNestedCompletion(_, TMatchingCompletion(value), _) - } - - override ConditionalSuccessor getAMatchingSuccessorType() { - this = TMatchingCompletion(result.(MatchingSuccessor).getValue()) - } - - override string toString() { if value = true then result = "match" else result = "no-match" } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a return. - */ -class ReturnCompletion extends Completion { - ReturnCompletion() { - this = TReturnCompletion() or - this = TNestedCompletion(_, TReturnCompletion(), _) - } - - override ReturnSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TReturnCompletion() and result = "return" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a break from a loop. - */ -class BreakCompletion extends Completion { - BreakCompletion() { - this = TBreakCompletion() or - this = TNestedCompletion(_, TBreakCompletion(), _) - } - - override BreakSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TBreakCompletion() and result = "break" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a continuation of a loop. - */ -class NextCompletion extends Completion { - NextCompletion() { - this = TNextCompletion() or - this = TNestedCompletion(_, TNextCompletion(), _) - } - - override ContinueSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TNextCompletion() and result = "next" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a redo of a loop iteration. - */ -class RedoCompletion extends Completion { - RedoCompletion() { - this = TRedoCompletion() or - this = TNestedCompletion(_, TRedoCompletion(), _) - } - - override RedoSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TRedoCompletion() and result = "redo" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a retry. - */ -class RetryCompletion extends Completion { - RetryCompletion() { - this = TRetryCompletion() or - this = TNestedCompletion(_, TRetryCompletion(), _) - } - - override RetrySuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TRetryCompletion() and result = "retry" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in a thrown exception. - */ -class RaiseCompletion extends Completion { - RaiseCompletion() { - this = TRaiseCompletion() or - this = TNestedCompletion(_, TRaiseCompletion(), _) - } - - override ExceptionSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TRaiseCompletion() and result = "raise" - } -} - -/** - * A completion that represents evaluation of a statement or an - * expression resulting in an abort/exit. - */ -class ExitCompletion extends Completion { - ExitCompletion() { - this = TExitCompletion() or - this = TNestedCompletion(_, TExitCompletion(), _) - } - - override ExitSuccessor getAMatchingSuccessorType() { any() } - - override string toString() { - // `NestedCompletion` defines `toString()` for the other case - this = TExitCompletion() and result = "exit" - } -} - -/** - * A nested completion. For example, in - * - * ```rb - * def m - * while x >= 0 - * x -= 1 - * if num > 100 - * break - * end - * end - * puts "done" - * end - * ``` - * - * the `while` loop can have a nested completion where the inner completion - * is a `break` and the outer completion is a simple successor. - */ -abstract class NestedCompletion extends Completion, TNestedCompletion { - Completion inner; - Completion outer; - int nestLevel; - - NestedCompletion() { this = TNestedCompletion(inner, outer, nestLevel) } - - /** Gets a completion that is compatible with the inner completion. */ - Completion getAnInnerCompatibleCompletion() { - result.getOuterCompletion() = this.getInnerCompletion() - } - - /** Gets the level of this nested completion. */ - final int getNestLevel() { result = nestLevel } - - override string toString() { result = outer + " [" + inner + "] (" + nestLevel + ")" } -} - -class NestedBreakCompletion extends NormalCompletion, NestedCompletion { - NestedBreakCompletion() { - inner = TBreakCompletion() and - outer instanceof NonNestedNormalCompletion - } - - override BreakCompletion getInnerCompletion() { result = inner } - - override NonNestedNormalCompletion getOuterCompletion() { result = outer } - - override Completion getAnInnerCompatibleCompletion() { - result = inner and - outer = TSimpleCompletion() - or - result = TNestedCompletion(outer, inner, _) - } - - override SuccessorType getAMatchingSuccessorType() { - outer instanceof SimpleCompletion and - result instanceof BreakSuccessor - or - result = outer.(ConditionalCompletion).getAMatchingSuccessorType() - } -} - -class NestedEnsureCompletion extends NestedCompletion { - NestedEnsureCompletion() { - inner instanceof NormalCompletion and - nestedEnsureCompletion(outer, nestLevel) - } - - override NormalCompletion getInnerCompletion() { result = inner } - - override Completion getOuterCompletion() { result = outer } - - override SuccessorType getAMatchingSuccessorType() { none() } -} - -/** - * A completion used for conditions in pattern matching: - * - * ```rb - * in x if x == 5 then puts "five" - * in x unless x == 4 then puts "not four" - * ``` - * - * The outer (Matching) completion indicates whether there is a match, and - * the inner (Boolean) completion indicates what the condition evaluated - * to. - * - * For the condition `x == 5` above, `TNestedCompletion(true, true, 0)` and - * `TNestedCompletion(false, false, 0)` are both valid completions, while - * `TNestedCompletion(true, false, 0)` and `TNestedCompletion(false, true, 0)` - * are valid completions for `x == 4`. - */ -class NestedMatchingCompletion extends NestedCompletion, MatchingCompletion { - NestedMatchingCompletion() { - inner instanceof TBooleanCompletion and - outer instanceof TMatchingCompletion - } - - override BooleanCompletion getInnerCompletion() { result = inner } - - override MatchingCompletion getOuterCompletion() { result = outer } - - override BooleanSuccessor getAMatchingSuccessorType() { - result.getValue() = this.getInnerCompletion().getValue() - } - - override string toString() { result = NestedCompletion.super.toString() } -} diff --git a/ruby/ql/lib/codeql/ruby/controlflow/internal/ControlFlowGraphImpl.qll b/ruby/ql/lib/codeql/ruby/controlflow/internal/ControlFlowGraphImpl.qll deleted file mode 100644 index e66e8bad0037..000000000000 --- a/ruby/ql/lib/codeql/ruby/controlflow/internal/ControlFlowGraphImpl.qll +++ /dev/null @@ -1,1510 +0,0 @@ -/** - * Provides an implementation for constructing control-flow graphs (CFGs) from - * abstract syntax trees (ASTs), using the shared library from `codeql.controlflow.Cfg`. - */ -overlay[local] -module; - -private import codeql.controlflow.Cfg as CfgShared -private import codeql.ruby.AST -private import codeql.ruby.AST as Ast -private import codeql.ruby.ast.internal.AST as AstInternal -private import codeql.ruby.ast.internal.Scope -private import codeql.ruby.ast.internal.Synthesis -private import codeql.ruby.ast.Scope -private import codeql.ruby.ast.internal.TreeSitter -private import codeql.ruby.ast.internal.Variable -private import codeql.ruby.controlflow.ControlFlowGraph -private import Completion - -class AstNode extends Ast::AstNode { - AstNode() { not any(Synthesis s).excludeFromControlFlowTree(this) } -} - -private module CfgInput implements CfgShared::InputSig { - private import ControlFlowGraphImpl as Impl - private import Completion as Comp - private import codeql.ruby.CFG as Cfg - - class AstNode = Impl::AstNode; - - class Completion = Comp::Completion; - - predicate completionIsNormal(Completion c) { c instanceof Comp::NormalCompletion } - - predicate completionIsSimple(Completion c) { c instanceof Comp::SimpleCompletion } - - predicate completionIsValidFor(Completion c, AstNode e) { c.isValidFor(e) } - - class CfgScope = Cfg::CfgScope; - - CfgScope getCfgScope(AstNode n) { result = Impl::getCfgScope(n) } - - predicate scopeFirst(CfgScope scope, AstNode first) { scope.(Impl::CfgScopeImpl).entry(first) } - - predicate scopeLast(CfgScope scope, AstNode last, Completion c) { - scope.(Impl::CfgScopeImpl).exit(last, c) - } - - private class SuccessorType = Cfg::SuccessorType; - - SuccessorType getAMatchingSuccessorType(Completion c) { result = c.getAMatchingSuccessorType() } - - private predicate id(Ruby::AstNode node1, Ruby::AstNode node2) { node1 = node2 } - - private predicate idOf(Ruby::AstNode node, int id) = equivalenceRelation(id/2)(node, id) - - int idOfAstNode(AstNode node) { idOf(AstInternal::toGeneratedInclSynth(node), result) } - - int idOfCfgScope(CfgScope node) { result = idOfAstNode(node) } -} - -private module CfgSplittingInput implements CfgShared::SplittingInputSig { - private import Splitting as S - - class SplitKindBase = S::TSplitKind; - - class Split = S::Split; -} - -private module ConditionalCompletionSplittingInput implements - CfgShared::ConditionalCompletionSplittingInputSig -{ - import Splitting::ConditionalCompletionSplitting::ConditionalCompletionSplittingInput -} - -import CfgShared::MakeWithSplitting - -abstract class CfgScopeImpl extends AstNode { - abstract predicate entry(AstNode first); - - abstract predicate exit(AstNode last, Completion c); -} - -private class ToplevelScope extends CfgScopeImpl, Toplevel { - final override predicate entry(AstNode first) { first(this, first) } - - final override predicate exit(AstNode last, Completion c) { last(this, last, c) } -} - -private class EndBlockScope extends CfgScopeImpl, EndBlock { - final override predicate entry(AstNode first) { - first(this.(Trees::EndBlockTree).getBodyChild(0, _), first) - } - - final override predicate exit(AstNode last, Completion c) { - last(this.(Trees::EndBlockTree).getLastBodyChild(), last, c) - or - last(this.(Trees::EndBlockTree).getBodyChild(_, _), last, c) and - not c instanceof NormalCompletion - } -} - -private class CallableScope extends CfgScopeImpl, Callable { - final override predicate entry(AstNode first) { - first(this.(Trees::CallableTree).getBodyChild(0), first) - } - - final override predicate exit(AstNode last, Completion c) { - this.getBody().(Trees::BodyStmtTree).last(last, c) - or - exists(int i | - not exists(this.getBody()) and - last(this.(Trees::CallableTree).getBodyChild(i), last, c) and - not exists(this.(Trees::CallableTree).getBodyChild(i + 1)) - ) - or - exists(AstNode child | - child = this.(Trees::CallableTree).getBodyChild(_) and - not child = this.getBody() and - last(child, last, c) and - not c instanceof NormalCompletion - ) - } -} - -/** Holds if `first` is first executed when entering `scope`. */ -pragma[nomagic] -predicate succEntry(CfgScopeImpl scope, AstNode first) { scope.entry(first) } - -/** Holds if `last` with completion `c` can exit `scope`. */ -pragma[nomagic] -predicate succExit(CfgScopeImpl scope, AstNode last, Completion c) { scope.exit(last, c) } - -/** Defines the CFG by dispatch on the various AST types. */ -module Trees { - private class AliasStmtTree extends StandardPreOrderTree instanceof AliasStmt { - final override ControlFlowTree getChildNode(int i) { - result = super.getNewName() and i = 0 - or - result = super.getOldName() and i = 1 - } - } - - private class ArgumentListTree extends StandardPostOrderTree instanceof ArgumentList { - final override ControlFlowTree getChildNode(int i) { result = super.getElement(i) } - } - - private class AssignExprTree extends StandardPostOrderTree instanceof AssignExpr { - AssignExprTree() { - exists(Expr left | left = super.getLeftOperand() | - left instanceof VariableAccess or - left instanceof ConstantAccess - ) - } - - final override ControlFlowTree getChildNode(int i) { - result = super.getLeftOperand() and i = 0 - or - result = super.getRightOperand() and i = 1 - } - } - - private class BeginTree extends BodyStmtTree instanceof BeginExpr { - final override predicate propagatesAbnormal(AstNode child) { none() } - } - - private class BlockArgumentTree extends StandardPostOrderTree instanceof BlockArgument { - final override ControlFlowTree getChildNode(int i) { result = super.getValue() and i = 0 } - } - - abstract private class NonDefaultValueParameterTree extends ControlFlowTree instanceof NamedParameter - { - final override predicate first(AstNode first) { - super.getDefiningAccess().(ControlFlowTree).first(first) - or - not exists(super.getDefiningAccess()) and first = this - } - - final override predicate last(AstNode last, Completion c) { - super.getDefiningAccess().(ControlFlowTree).last(last, c) - or - not exists(super.getDefiningAccess()) and - last = this and - c.isValidFor(this) - } - - override predicate propagatesAbnormal(AstNode child) { - super.getDefiningAccess().(ControlFlowTree).propagatesAbnormal(child) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { none() } - } - - private class BlockParameterTree extends NonDefaultValueParameterTree instanceof BlockParameter { - } - - class BodyStmtTree extends StmtSequenceTree instanceof BodyStmt { - /** Gets a rescue clause in this block. */ - final RescueClause getARescue() { result = super.getRescue(_) } - - /** Gets the `ensure` clause in this block, if any. */ - final StmtSequence getEnsure() { result = super.getEnsure() } - - override predicate first(AstNode first) { - first(this.getBodyChild(0, _), first) - or - not exists(this.getBodyChild(_, _)) and - first(super.getEnsure(), first) - } - - override predicate last(AstNode last, Completion c) { - exists(boolean ensurable | last = this.getAnEnsurePredecessor(c, ensurable) | - not super.hasEnsure() - or - ensurable = false - ) - or - // If the body completes normally, take the completion from the `ensure` block - this.lastEnsure(last, c, any(NormalCompletion nc), _) - or - // If the `ensure` block completes normally, it inherits any non-normal - // completion from the body - c = - any(NestedEnsureCompletion nec | - this.lastEnsure(last, nec.getAnInnerCompatibleCompletion(), nec.getOuterCompletion(), - nec.getNestLevel()) - ) - or - not exists(this.getBodyChild(_, _)) and - not exists(super.getRescue(_)) and - this.lastEnsure0(last, c) - or - last([super.getEnsure().(AstNode), this.getBodyChild(_, false)], last, c) and - not c instanceof NormalCompletion - } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Normal left-to-right evaluation in the body - exists(int i | - last(this.getBodyChild(i, _), pred, c) and - first(this.getBodyChild(i + 1, _), succ) and - c instanceof NormalCompletion - ) - or - // Exceptional flow from body to first `rescue` - this.lastBody(pred, c, true) and - first(super.getRescue(0), succ) and - c instanceof RaiseCompletion - or - // Flow from one `rescue` clause to the next when there is no match - exists(RescueTree rescue, int i | rescue = super.getRescue(i) | - rescue.lastNoMatch(pred, c) and - first(super.getRescue(i + 1), succ) - ) - or - // Flow from body to `else` block when no exception - this.lastBody(pred, c, _) and - first(super.getElse(), succ) and - c instanceof NormalCompletion - or - // Flow into `ensure` block - pred = this.getAnEnsurePredecessor(c, true) and - first(super.getEnsure(), succ) - } - - /** - * Gets a last element from this block that may finish with completion `c`, such - * that control may be transferred to the `ensure` block (if it exists), but only - * if `ensurable = true`. - */ - pragma[nomagic] - private AstNode getAnEnsurePredecessor(Completion c, boolean ensurable) { - this.lastBody(result, c, ensurable) and - ( - // Any non-throw completion will always continue directly to the `ensure` block, - // unless there is an `else` block - not c instanceof RaiseCompletion and - not exists(super.getElse()) - or - // Any completion will continue to the `ensure` block when there are no `rescue` - // blocks - not exists(super.getRescue(_)) - ) - or - // Last element from any matching `rescue` block continues to the `ensure` block - last(super.getRescue(_), result, c) and - ensurable = true - or - // If the last `rescue` block does not match, continue to the `ensure` block - exists(int lst, MatchingCompletion mc | - super.getRescue(lst).(RescueTree).lastNoMatch(result, mc) and - mc.getValue() = false and - not exists(super.getRescue(lst + 1)) and - c = - any(NestedEnsureCompletion nec | - nec.getOuterCompletion() instanceof RaiseCompletion and - nec.getInnerCompletion() = mc and - nec.getNestLevel() = 0 - ) and - ensurable = true - ) - or - // Last element of `else` block continues to the `ensure` block - last(super.getElse(), result, c) and - ensurable = true - } - - pragma[nomagic] - private predicate lastEnsure0(AstNode last, Completion c) { last(super.getEnsure(), last, c) } - - /** - * Gets a descendant that belongs to the `ensure` block of this block, if any. - * Nested `ensure` blocks are not included. - */ - pragma[nomagic] - AstNode getAnEnsureDescendant() { - result = super.getEnsure() - or - exists(AstNode mid | - mid = this.getAnEnsureDescendant() and - result = mid.getAChild() and - getCfgScope(result) = getCfgScope(mid) and - not exists(BodyStmt nestedBlock | - result = nestedBlock.getEnsure() and - nestedBlock != this - ) - ) - } - - /** - * Holds if `innerBlock` has an `ensure` block and is immediately nested inside the - * `ensure` block of this block. - */ - private predicate nestedEnsure(BodyStmtTree innerBlock) { - exists(StmtSequence innerEnsure | - innerEnsure = this.getAnEnsureDescendant().getAChild() and - getCfgScope(innerEnsure) = getCfgScope(this) and - innerEnsure = innerBlock.getEnsure() - ) - } - - /** - * Gets the `ensure`-nesting level of this block. That is, the number of `ensure` - * blocks that this block is nested under. - */ - int getNestLevel() { result = count(BodyStmtTree outer | outer.nestedEnsure+(this)) } - - pragma[nomagic] - private predicate lastEnsure( - AstNode last, NormalCompletion ensure, Completion outer, int nestLevel - ) { - this.lastEnsure0(last, ensure) and - exists( - this.getAnEnsurePredecessor(any(Completion c0 | outer = c0.getOuterCompletion()), true) - ) and - nestLevel = this.getNestLevel() - } - - /** - * Holds if `last` is a last element in the body of this block. `ensurable` - * indicates whether `last` may be a predecessor of an `ensure` block. - */ - pragma[nomagic] - private predicate lastBody(AstNode last, Completion c, boolean ensurable) { - exists(boolean rescuable | - if c instanceof RaiseCompletion then ensurable = rescuable else ensurable = true - | - last(this.getBodyChild(_, rescuable), last, c) and - not c instanceof NormalCompletion - or - exists(int lst | - last(this.getBodyChild(lst, rescuable), last, c) and - not exists(this.getBodyChild(lst + 1, _)) - ) - ) - } - } - - private class BooleanLiteralTree extends LeafTree instanceof BooleanLiteral { } - - class BraceBlockTree extends CallableTree instanceof BraceBlock { - final override AstNode getBodyChild(int i) { - result = super.getParameter(i) - or - result = super.getLocalVariable(i - super.getNumberOfParameters()) - or - result = super.getBody() and - i = super.getNumberOfParameters() + count(super.getALocalVariable()) - } - } - - class CallableTree extends PostOrderTree instanceof Callable { - final override predicate propagatesAbnormal(AstNode child) { none() } - - override predicate first(AstNode first) { first = this } - - abstract AstNode getBodyChild(int i); - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(int i | - last(this.getBodyChild(i), pred, c) and - first(this.getBodyChild(i + 1), succ) and - c instanceof NormalCompletion - ) - } - } - - private class CallTree extends StandardPostOrderTree instanceof Call { - CallTree() { - // Logical operations are handled separately - not this instanceof UnaryLogicalOperation and - not this instanceof BinaryLogicalOperation and - // Calls with the `&.` operator are desugared - not this.(MethodCall).isSafeNavigation() - } - - override ControlFlowTree getChildNode(int i) { result = super.getArgument(i) } - } - - private class CaseTree extends PostOrderTree instanceof CaseExpr, AstInternal::TCaseExpr { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getValue() or child = super.getABranch() - } - - final override predicate first(AstNode first) { - first(super.getValue(), first) - or - not exists(super.getValue()) and first(super.getBranch(0), first) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getValue(), pred, c) and - first(super.getBranch(0), succ) and - c instanceof SimpleCompletion - or - exists(int i, WhenTree branch | branch = super.getBranch(i) | - pred = branch and - first(super.getBranch(i + 1), succ) and - c.isValidFor(branch) and - c.(ConditionalCompletion).getValue() = false - ) - or - succ = this and - c instanceof NormalCompletion and - ( - last(super.getValue(), pred, c) and not exists(super.getABranch()) - or - last(super.getABranch().(WhenClause).getBody(), pred, c) - or - exists(int i, ControlFlowTree lastBranch | - lastBranch = super.getBranch(i) and - not exists(super.getBranch(i + 1)) and - last(lastBranch, pred, c) - ) - ) - } - } - - private class CaseMatchTree extends PostOrderTree instanceof CaseExpr, AstInternal::TCaseMatch { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getValue() or child = super.getABranch() - } - - final override predicate first(AstNode first) { first(super.getValue(), first) } - - final override predicate last(AstNode last, Completion c) { - super.last(last, c) - or - not exists(super.getElseBranch()) and - exists(MatchingCompletion lc, AstNode lastBranch | - lastBranch = max(int i | | super.getBranch(i) order by i) and - lc.getValue() = false and - last(lastBranch, last, lc) and - c instanceof RaiseCompletion and - not c instanceof NestedCompletion - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getValue(), pred, c) and - first(super.getBranch(0), succ) and - c instanceof SimpleCompletion - or - exists(int i, AstNode branch | branch = super.getBranch(i) | - last(branch, pred, c) and - first(super.getBranch(i + 1), succ) and - c.(MatchingCompletion).getValue() = false - ) - or - succ = this and - c instanceof NormalCompletion and - ( - last(super.getABranch(), pred, c) and - not c.(MatchingCompletion).getValue() = false - or - last(super.getElseBranch(), pred, c) - ) - } - } - - private class CaseElseBranchTree extends ControlFlowTree instanceof CaseElseBranch { - final override predicate propagatesAbnormal(AstNode child) { child = super.getBody() } - - final override predicate first(AstNode first) { first(super.getBody(), first) } - - final override predicate last(AstNode last, Completion c) { last(super.getBody(), last, c) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { none() } - } - - private class PatternVariableAccessTree extends LocalVariableAccessTree instanceof LocalVariableWriteAccess, - CasePattern - { - final override predicate last(AstNode last, Completion c) { - super.last(last, c) and - c.(MatchingCompletion).getValue() = true - } - } - - private class ArrayPatternTree extends ControlFlowTree instanceof ArrayPattern { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getClass() or - child = super.getPrefixElement(_) or - child = super.getRestVariableAccess() or - child = super.getSuffixElement(_) - } - - final override predicate first(AstNode first) { - first(super.getClass(), first) - or - not exists(super.getClass()) and first = this - } - - final override predicate last(AstNode last, Completion c) { - c.(MatchingCompletion).getValue() = false and - ( - last = this and - c.isValidFor(this) - or - exists(AstNode node | - node = super.getClass() or - node = super.getPrefixElement(_) or - node = super.getSuffixElement(_) - | - last(node, last, c) - ) - ) - or - c.(MatchingCompletion).getValue() = true and - last = this and - c.isValidFor(this) and - not exists(super.getPrefixElement(_)) and - not exists(super.getRestVariableAccess()) - or - c.(MatchingCompletion).getValue() = true and - last(max(int i | | super.getPrefixElement(i) order by i), last, c) and - not exists(super.getRestVariableAccess()) - or - last(super.getRestVariableAccess(), last, c) and - not exists(super.getSuffixElement(_)) - or - c.(MatchingCompletion).getValue() = true and - last(max(int i | | super.getSuffixElement(i) order by i), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getClass(), pred, c) and - succ = this and - c.(MatchingCompletion).getValue() = true - or - exists(AstNode next | - pred = this and - c.(MatchingCompletion).getValue() = true and - first(next, succ) - | - next = super.getPrefixElement(0) - or - not exists(super.getPrefixElement(_)) and - next = super.getRestVariableAccess() - ) - or - last(max(int i | | super.getPrefixElement(i) order by i), pred, c) and - first(super.getRestVariableAccess(), succ) and - c.(MatchingCompletion).getValue() = true - or - exists(int i | - last(super.getPrefixElement(i), pred, c) and - first(super.getPrefixElement(i + 1), succ) and - c.(MatchingCompletion).getValue() = true - ) - or - last(super.getRestVariableAccess(), pred, c) and - first(super.getSuffixElement(0), succ) and - c instanceof SimpleCompletion - or - exists(int i | - last(super.getSuffixElement(i), pred, c) and - first(super.getSuffixElement(i + 1), succ) and - c.(MatchingCompletion).getValue() = true - ) - } - } - - private class FindPatternTree extends ControlFlowTree instanceof FindPattern { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getClass() or - child = super.getPrefixVariableAccess() or - child = super.getElement(_) or - child = super.getSuffixVariableAccess() - } - - final override predicate first(AstNode first) { - first(super.getClass(), first) - or - not exists(super.getClass()) and first = this - } - - final override predicate last(AstNode last, Completion c) { - last(super.getSuffixVariableAccess(), last, c) - or - last(max(int i | | super.getElement(i) order by i), last, c) and - not exists(super.getSuffixVariableAccess()) - or - c.(MatchingCompletion).getValue() = false and - ( - last = this and - c.isValidFor(this) - or - exists(AstNode node | node = super.getClass() or node = super.getElement(_) | - last(node, last, c) - ) - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getClass(), pred, c) and - succ = this and - c.(MatchingCompletion).getValue() = true - or - exists(AstNode next | - pred = this and - c.(MatchingCompletion).getValue() = true and - first(next, succ) - | - next = super.getPrefixVariableAccess() - or - not exists(super.getPrefixVariableAccess()) and - next = super.getElement(0) - ) - or - last(super.getPrefixVariableAccess(), pred, c) and - first(super.getElement(0), succ) and - c instanceof SimpleCompletion - or - c.(MatchingCompletion).getValue() = true and - exists(int i | - last(super.getElement(i), pred, c) and - first(super.getElement(i + 1), succ) - ) - or - c.(MatchingCompletion).getValue() = true and - last(max(int i | | super.getElement(i) order by i), pred, c) and - first(super.getSuffixVariableAccess(), succ) - } - } - - private class HashPatternTree extends ControlFlowTree instanceof HashPattern { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getClass() or - child = super.getValue(_) or - child = super.getRestVariableAccess() - } - - final override predicate first(AstNode first) { - first(super.getClass(), first) - or - not exists(super.getClass()) and first = this - } - - final override predicate last(AstNode last, Completion c) { - c.(MatchingCompletion).getValue() = false and - ( - last = this and - c.isValidFor(this) - or - exists(AstNode node | - node = super.getClass() or - node = super.getValue(_) - | - last(node, last, c) - ) - ) - or - c.(MatchingCompletion).getValue() = true and - last = this and - not exists(super.getValue(_)) and - not exists(super.getRestVariableAccess()) - or - c.(MatchingCompletion).getValue() = true and - last(max(int i | | super.getValue(i) order by i), last, c) and - not exists(super.getRestVariableAccess()) - or - last(super.getRestVariableAccess(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getClass(), pred, c) and - succ = this and - c.(MatchingCompletion).getValue() = true - or - exists(AstNode next | - pred = this and - c.(MatchingCompletion).getValue() = true and - first(next, succ) - | - next = super.getValue(0) - or - not exists(super.getValue(_)) and - next = super.getRestVariableAccess() - ) - or - last(max(int i | | super.getValue(i) order by i), pred, c) and - first(super.getRestVariableAccess(), succ) and - c.(MatchingCompletion).getValue() = true - or - exists(int i | - last(super.getValue(i), pred, c) and - first(super.getValue(i + 1), succ) and - c.(MatchingCompletion).getValue() = true - ) - } - } - - private class LineLiteralTree extends LeafTree instanceof LineLiteral { } - - private class FileLiteralTree extends LeafTree instanceof FileLiteral { } - - private class EncodingLiteralTree extends LeafTree instanceof EncodingLiteral { } - - private class AlternativePatternTree extends PreOrderTree instanceof AlternativePattern { - final override predicate propagatesAbnormal(AstNode child) { child = super.getAnAlternative() } - - final override predicate last(AstNode last, Completion c) { - last(super.getAnAlternative(), last, c) and - c.(MatchingCompletion).getValue() = true - or - last(max(int i | | super.getAlternative(i) order by i), last, c) and - c.(MatchingCompletion).getValue() = false - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - pred = this and - first(super.getAlternative(0), succ) and - c instanceof SimpleCompletion - or - exists(int i | - last(super.getAlternative(i), pred, c) and - first(super.getAlternative(i + 1), succ) and - c.(MatchingCompletion).getValue() = false - ) - } - } - - private class AsPatternTree extends PreOrderTree instanceof AsPattern { - final override predicate propagatesAbnormal(AstNode child) { child = super.getPattern() } - - final override predicate last(AstNode last, Completion c) { - last(super.getPattern(), last, c) and - c.(MatchingCompletion).getValue() = false - or - last(super.getVariableAccess(), last, any(SimpleCompletion x)) and - c.(MatchingCompletion).getValue() = true and - not c instanceof NestedCompletion - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - pred = this and - first(super.getPattern(), succ) and - c instanceof SimpleCompletion - or - last(super.getPattern(), pred, c) and - first(super.getVariableAccess(), succ) and - c.(MatchingCompletion).getValue() = true - } - } - - private class ParenthesizedPatternTree extends StandardPreOrderTree instanceof ParenthesizedPattern - { - override ControlFlowTree getChildNode(int i) { result = super.getPattern() and i = 0 } - } - - private class ReferencePatternTree extends StandardPreOrderTree instanceof ReferencePattern { - override ControlFlowTree getChildNode(int i) { result = super.getExpr() and i = 0 } - } - - private class InClauseTree extends PreOrderTree instanceof InClause { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getPattern() or - child = super.getCondition() - } - - private predicate lastCondition(AstNode last, BooleanCompletion c, boolean flag) { - last(super.getCondition(), last, c) and - ( - flag = true and super.hasIfCondition() - or - flag = false and super.hasUnlessCondition() - ) - } - - final override predicate last(AstNode last, Completion c) { - last(super.getPattern(), last, c) and - c.(MatchingCompletion).getValue() = false - or - exists(BooleanCompletion bc, boolean flag, MatchingCompletion mc | - this.lastCondition(last, bc, flag) and - c = - any(NestedMatchingCompletion nmc | - nmc.getInnerCompletion() = bc and nmc.getOuterCompletion() = mc - ) - | - mc.getValue() = false and - bc.getValue() = flag.booleanNot() - or - not exists(super.getBody()) and - mc.getValue() = true and - bc.getValue() = flag - ) - or - last(super.getBody(), last, c) - or - not exists(super.getBody()) and - not exists(super.getCondition()) and - last(super.getPattern(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - pred = this and - first(super.getPattern(), succ) and - c instanceof SimpleCompletion - or - exists(Expr next | - last(super.getPattern(), pred, c) and - c.(MatchingCompletion).getValue() = true and - first(next, succ) - | - next = super.getCondition() - or - not exists(super.getCondition()) and next = super.getBody() - ) - or - exists(boolean flag | - this.lastCondition(pred, c, flag) and - c.(BooleanCompletion).getValue() = flag and - first(super.getBody(), succ) - ) - } - } - - private class CharacterTree extends LeafTree instanceof CharacterLiteral { } - - private class ClassDeclarationTree extends NamespaceTree instanceof ClassDeclaration { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i, boolean rescuable) { - result = super.getScopeExpr() and i = 0 and rescuable = false - or - result = super.getSuperclassExpr() and - i = count(super.getScopeExpr()) and - rescuable = true - or - result = - super - .getBodyChild(i - count(super.getScopeExpr()) - count(super.getSuperclassExpr()), - rescuable) - } - } - - private class ClassVariableTree extends LeafTree instanceof ClassVariableAccess { } - - private class ConditionalExprTree extends PostOrderTree instanceof ConditionalExpr { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getCondition() or child = super.getBranch(_) - } - - final override predicate first(AstNode first) { first(super.getCondition(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - exists(boolean b | - last(super.getCondition(), pred, c) and - b = c.(BooleanCompletion).getValue() - | - first(super.getBranch(b), succ) - or - not exists(super.getBranch(b)) and - succ = this - ) - or - last(super.getBranch(_), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - private class ConditionalLoopTree extends PostOrderTree instanceof ConditionalLoop { - final override predicate propagatesAbnormal(AstNode child) { child = super.getCondition() } - - final override predicate first(AstNode first) { first(super.getCondition(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getCondition(), pred, c) and - super.entersLoopWhenConditionIs(c.(BooleanCompletion).getValue()) and - first(super.getBody(), succ) - or - last(super.getBody(), pred, c) and - first(super.getCondition(), succ) and - c.continuesLoop() - or - last(super.getBody(), pred, c) and - first(super.getBody(), succ) and - c instanceof RedoCompletion - or - succ = this and - ( - last(super.getCondition(), pred, c) and - super.entersLoopWhenConditionIs(c.(BooleanCompletion).getValue().booleanNot()) - or - last(super.getBody(), pred, c) and - not c.continuesLoop() and - not c instanceof BreakCompletion and - not c instanceof RedoCompletion - or - last(super.getBody(), pred, c.(NestedBreakCompletion).getAnInnerCompatibleCompletion()) - ) - } - } - - private class ConstantAccessTree extends PostOrderTree instanceof ConstantAccess { - ConstantAccessTree() { - not this instanceof ClassDeclaration and - not this instanceof ModuleDeclaration and - // constant accesses with scope expression in compound assignments are desugared - not ( - this = any(AssignOperation op).getLeftOperand() and - exists(super.getScopeExpr()) - ) - } - - final override predicate propagatesAbnormal(AstNode child) { child = super.getScopeExpr() } - - final override predicate first(AstNode first) { - first(super.getScopeExpr(), first) - or - not exists(super.getScopeExpr()) and - first = this - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getScopeExpr(), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - /** A parameter that may have a default value. */ - abstract class DefaultValueParameterTree extends ControlFlowTree { - abstract Expr getDefaultValueExpr(); - - abstract AstNode getAccessNode(); - - predicate hasDefaultValue() { exists(this.getDefaultValueExpr()) } - - final override predicate propagatesAbnormal(AstNode child) { - child = this.getDefaultValueExpr() or child = this.getAccessNode() - } - - final override predicate first(AstNode first) { first = this.getAccessNode() } - - final override predicate last(AstNode last, Completion c) { - last(this.getDefaultValueExpr(), last, c) and - c instanceof NormalCompletion - or - last = this.getAccessNode() and - ( - not this.hasDefaultValue() and - c instanceof SimpleCompletion - or - this.hasDefaultValue() and - c.(MatchingCompletion).getValue() = true and - c.isValidFor(this) - ) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - pred = this.getAccessNode() and - first(this.getDefaultValueExpr(), succ) and - c.(MatchingCompletion).getValue() = false - } - } - - private class DestructuredParameterTree extends StandardPostOrderTree instanceof DestructuredParameter - { - final override ControlFlowTree getChildNode(int i) { result = super.getElement(i) } - } - - private class DesugaredTree extends ControlFlowTree { - ControlFlowTree desugared; - - DesugaredTree() { desugared = this.getDesugared() } - - final override predicate propagatesAbnormal(AstNode child) { - desugared.propagatesAbnormal(child) - } - - final override predicate first(AstNode first) { desugared.first(first) } - - final override predicate last(AstNode last, Completion c) { desugared.last(last, c) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { none() } - } - - private class DoBlockTree extends CallableTree instanceof DoBlock { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i) { - result = super.getParameter(i) - or - result = super.getLocalVariable(i - super.getNumberOfParameters()) - or - result = super.getBody() and - i = super.getNumberOfParameters() + count(super.getALocalVariable()) - } - } - - private class EmptyStatementTree extends LeafTree instanceof EmptyStmt { } - - class EndBlockTree extends StmtSequenceTree instanceof EndBlock { - override predicate first(AstNode first) { first = this } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Normal left-to-right evaluation in the body - exists(int i | - last(super.getBodyChild(i, _), pred, c) and - first(super.getBodyChild(i + 1, _), succ) and - c instanceof NormalCompletion - ) - } - } - - private class ForwardedArgumentsTree extends LeafTree instanceof ForwardedArguments { } - - private class ForwardParameterTree extends LeafTree instanceof ForwardParameter { } - - private class GlobalVariableTree extends LeafTree instanceof GlobalVariableAccess { } - - private class HashSplatNilParameterTree extends LeafTree instanceof HashSplatNilParameter { } - - private class HashSplatParameterTree extends NonDefaultValueParameterTree instanceof HashSplatParameter - { } - - private class HereDocTree extends StandardPostOrderTree instanceof HereDoc { - final override ControlFlowTree getChildNode(int i) { result = super.getComponent(i) } - } - - private class InstanceVariableTree extends StandardPostOrderTree instanceof InstanceVariableAccess - { - final override ControlFlowTree getChildNode(int i) { result = super.getReceiver() and i = 0 } - } - - private class KeywordParameterTree extends DefaultValueParameterTree instanceof KeywordParameter { - final override Expr getDefaultValueExpr() { result = super.getDefaultValue() } - - final override AstNode getAccessNode() { result = super.getDefiningAccess() } - } - - private class LambdaTree extends CallableTree instanceof Lambda { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i) { - result = super.getParameter(i) - or - result = super.getBody() and i = super.getNumberOfParameters() - } - } - - private class LocalVariableAccessTree extends LeafTree instanceof LocalVariableAccess { } - - private class LogicalAndTree extends PostOrderTree instanceof LogicalAndExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getAnOperand() } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getLeftOperand(), pred, c) and - c instanceof TrueCompletion and - first(super.getRightOperand(), succ) - or - last(super.getLeftOperand(), pred, c) and - c instanceof FalseCompletion and - succ = this - or - last(super.getRightOperand(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class LogicalNotTree extends PostOrderTree instanceof NotExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getOperand() } - - final override predicate first(AstNode first) { first(super.getOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - succ = this and - last(super.getOperand(), pred, c) and - c instanceof NormalCompletion - } - } - - private class LogicalOrTree extends PostOrderTree instanceof LogicalOrExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getAnOperand() } - - final override predicate first(AstNode first) { first(super.getLeftOperand(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getLeftOperand(), pred, c) and - c instanceof FalseCompletion and - first(super.getRightOperand(), succ) - or - last(super.getLeftOperand(), pred, c) and - c instanceof TrueCompletion and - succ = this - or - last(super.getRightOperand(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class MethodCallTree extends CallTree instanceof MethodCall { - final override ControlFlowTree getChildNode(int i) { - result = super.getReceiver() and i = 0 - or - result = super.getArgument(i - 1) - or - result = super.getBlock() and i = 1 + super.getNumberOfArguments() - } - } - - private class MethodNameTree extends LeafTree instanceof MethodName, AstInternal::TTokenMethodName - { } - - private class MethodTree extends CallableTree instanceof Method { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i) { - result = super.getParameter(i) - or - result = super.getBody() and i = super.getNumberOfParameters() - } - } - - private class ModuleDeclarationTree extends NamespaceTree instanceof ModuleDeclaration { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i, boolean rescuable) { - result = super.getScopeExpr() and i = 0 and rescuable = false - or - result = NamespaceTree.super.getBodyChild(i - count(super.getScopeExpr()), rescuable) - } - } - - /** - * Namespaces (i.e. modules or classes) behave like other `BodyStmt`s except they are - * executed in pre-order rather than post-order. We do this in order to insert a write for - * `self` before any subsequent reads in the namespace body. - */ - private class NamespaceTree extends BodyStmtTree instanceof Namespace { - final override predicate first(AstNode first) { first = this } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - BodyStmtTree.super.succ(pred, succ, c) - or - pred = this and - super.first(succ) and - c instanceof SimpleCompletion - } - - final override predicate last(AstNode last, Completion c) { - super.last(last, c) - or - not exists(this.getAChild(_)) and - last = this and - c.isValidFor(this) - } - } - - private class NilTree extends LeafTree instanceof NilLiteral { } - - private class NumericLiteralTree extends LeafTree instanceof NumericLiteral { } - - private class OptionalParameterTree extends DefaultValueParameterTree instanceof OptionalParameter - { - final override Expr getDefaultValueExpr() { result = super.getDefaultValue() } - - final override AstNode getAccessNode() { result = super.getDefiningAccess() } - } - - private class PairTree extends StandardPostOrderTree instanceof Pair { - final override ControlFlowTree getChildNode(int i) { - result = super.getKey() and i = 0 - or - result = super.getValue() and i = 1 - } - } - - private class RangeLiteralTree extends StandardPostOrderTree instanceof RangeLiteral { - final override ControlFlowTree getChildNode(int i) { - result = super.getBegin() and i = 0 - or - result = super.getEnd() and i = 1 - } - } - - private class RedoStmtTree extends LeafTree instanceof RedoStmt { } - - private class RescueModifierTree extends PostOrderTree instanceof RescueModifierExpr { - final override predicate propagatesAbnormal(AstNode child) { child = super.getHandler() } - - final override predicate first(AstNode first) { first(super.getBody(), first) } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getBody(), pred, c) and - ( - c instanceof RaiseCompletion and - first(super.getHandler(), succ) - or - not c instanceof RaiseCompletion and - succ = this - ) - or - last(super.getHandler(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class RescueTree extends PostOrderTree instanceof RescueClause { - final override predicate propagatesAbnormal(AstNode child) { - child = super.getAnException() or - child = super.getBody() - } - - final override predicate first(AstNode first) { - first(super.getException(0), first) - or - not exists(super.getException(0)) and - ( - first(super.getVariableExpr(), first) - or - not exists(super.getVariableExpr()) and - ( - first(super.getBody(), first) - or - not exists(super.getBody()) and first = this - ) - ) - } - - private Expr getLastException() { - exists(int i | result = super.getException(i) and not exists(super.getException(i + 1))) - } - - predicate lastNoMatch(AstNode last, Completion c) { - last(this.getLastException(), last, c) and - c.(MatchingCompletion).getValue() = false - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - last(super.getAnException(), pred, c) and - c.(MatchingCompletion).getValue() = true and - ( - first(super.getVariableExpr(), succ) - or - not exists(super.getVariableExpr()) and - ( - first(super.getBody(), succ) - or - not exists(super.getBody()) and succ = this - ) - ) - or - exists(int i | - last(super.getException(i), pred, c) and - c.(MatchingCompletion).getValue() = false and - first(super.getException(i + 1), succ) - ) - or - last(super.getVariableExpr(), pred, c) and - c instanceof NormalCompletion and - ( - first(super.getBody(), succ) - or - not exists(super.getBody()) and succ = this - ) - or - last(super.getBody(), pred, c) and - c instanceof NormalCompletion and - succ = this - } - } - - private class RetryStmtTree extends LeafTree instanceof RetryStmt { } - - private class ReturningStmtTree extends StandardPostOrderTree instanceof ReturningStmt { - final override ControlFlowTree getChildNode(int i) { result = super.getValue() and i = 0 } - } - - private class SimpleParameterTree extends NonDefaultValueParameterTree instanceof SimpleParameter { - } - - // Corner case: For duplicated '_' parameters, only the first occurrence has a defining - // access. For subsequent parameters we simply include the parameter itself in the CFG - private class SimpleParameterTreeDupUnderscore extends LeafTree instanceof SimpleParameter { - SimpleParameterTreeDupUnderscore() { not exists(this.getDefiningAccess()) } - } - - private class SingletonClassTree extends BodyStmtTree instanceof SingletonClass { - final override predicate first(AstNode first) { - super.first(first) - or - not exists(this.getAChild(_)) and - first = this - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - BodyStmtTree.super.succ(pred, succ, c) - or - succ = this and - super.last(pred, c) - } - - final override predicate last(AstNode last, Completion c) { - last = this and - c.isValidFor(this) - } - - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i, boolean rescuable) { - ( - result = super.getValue() and i = 0 and rescuable = false - or - result = BodyStmtTree.super.getBodyChild(i - 1, rescuable) - ) - } - } - - private class SingletonMethodTree extends CallableTree instanceof SingletonMethod { - /** Gets the `i`th child in the body of this block. */ - final override AstNode getBodyChild(int i) { - result = super.getParameter(i) - or - result = super.getBody() and i = super.getNumberOfParameters() - } - - override predicate first(AstNode first) { first(super.getObject(), first) } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - CallableTree.super.succ(pred, succ, c) - or - last(super.getObject(), pred, c) and - succ = this and - c instanceof NormalCompletion - } - } - - private class SplatParameterTree extends NonDefaultValueParameterTree instanceof SplatParameter { - } - - class StmtSequenceTree extends PostOrderTree instanceof StmtSequence { - override predicate propagatesAbnormal(AstNode child) { child = super.getAStmt() } - - override predicate first(AstNode first) { - // If this sequence contains any statements, go to the first one. - first(super.getStmt(0), first) - or - // Otherwise, treat this node as a leaf node. - not exists(super.getStmt(0)) and first = this - } - - /** Gets the `i`th child in the body of this body statement. */ - AstNode getBodyChild(int i, boolean rescuable) { - result = super.getStmt(i) and - rescuable = true - } - - final AstNode getLastBodyChild() { - exists(int i | - result = this.getBodyChild(i, _) and - not exists(this.getBodyChild(i + 1, _)) - ) - } - - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Normal left-to-right evaluation in the body - exists(int i | - last(this.getBodyChild(i, _), pred, c) and - first(this.getBodyChild(i + 1, _), succ) and - c instanceof NormalCompletion - ) - or - succ = this and - last(this.getLastBodyChild(), pred, c) and - c instanceof NormalCompletion - } - } - - private class StringConcatenationTree extends StandardPostOrderTree instanceof StringConcatenation - { - final override ControlFlowTree getChildNode(int i) { result = super.getString(i) } - } - - private class StringlikeLiteralTree extends StandardPostOrderTree instanceof StringlikeLiteral { - StringlikeLiteralTree() { - not this instanceof HereDoc and - not this instanceof AstInternal::TSimpleSymbolLiteralSynth - } - - final override ControlFlowTree getChildNode(int i) { result = super.getComponent(i) } - } - - private class StringComponentTree extends LeafTree instanceof StringComponent { - StringComponentTree() { - // Interpolations contain `StmtSequence`s, so they shouldn't be treated as leaf nodes. - not this instanceof StringInterpolationComponent and - // In the interests of brevity we treat regexes as string literals when constructing the CFG. - // Thus we must exclude regex interpolations here too. - not this instanceof RegExpInterpolationComponent - } - } - - private class ToplevelTree extends BodyStmtTree instanceof Toplevel { - final override AstNode getBodyChild(int i, boolean rescuable) { - result = super.getBeginBlock(i) and rescuable = true - or - result = BodyStmtTree.super.getBodyChild(i - count(super.getABeginBlock()), rescuable) - } - } - - private class UndefStmtTree extends StandardPreOrderTree instanceof UndefStmt { - final override ControlFlowTree getChildNode(int i) { result = super.getMethodName(i) } - } - - private class WhenTree extends ControlFlowTree instanceof WhenClause { - final override predicate propagatesAbnormal(AstNode child) { - child = [super.getAPattern(), super.getBody()] - } - - final Expr getLastPattern() { - exists(int i | - result = super.getPattern(i) and - not exists(super.getPattern(i + 1)) - ) - } - - final override predicate first(AstNode first) { first(super.getPattern(0), first) } - - final override predicate last(AstNode last, Completion c) { - last = this and - c.isValidFor(this) and - c.(ConditionalCompletion).getValue() = false - or - last(super.getBody(), last, c) - } - - final override predicate succ(AstNode pred, AstNode succ, Completion c) { - pred = this and - c.isValidFor(this) and - c.(ConditionalCompletion).getValue() = true and - first(super.getBody(), succ) - or - exists(int i, Expr p, boolean b | - p = super.getPattern(i) and - last(p, pred, c) and - b = c.(ConditionalCompletion).getValue() - | - b = true and - succ = this - or - b = false and - first(super.getPattern(i + 1), succ) - or - not exists(super.getPattern(i + 1)) and - succ = this - ) - } - } -} - -private Scope parent(Scope n) { - result = n.getOuterScope() and - not n instanceof CfgScopeImpl -} - -cached -private CfgScope getCfgScopeImpl(AstNode n) { result = parent*(scopeOfInclSynth(n)) } - -/** Gets the CFG scope of node `n`. */ -pragma[inline] -CfgScope getCfgScope(AstNode n) { - exists(AstNode n0 | - pragma[only_bind_into](n0) = n and - pragma[only_bind_into](result) = getCfgScopeImpl(n0) - ) -} diff --git a/ruby/ql/lib/codeql/ruby/controlflow/internal/Guards.qll b/ruby/ql/lib/codeql/ruby/controlflow/internal/Guards.qll index 387fb03dc9a8..e1f2e2397729 100644 --- a/ruby/ql/lib/codeql/ruby/controlflow/internal/Guards.qll +++ b/ruby/ql/lib/codeql/ruby/controlflow/internal/Guards.qll @@ -6,9 +6,15 @@ private import codeql.ruby.CFG /** Holds if the guard `guard` controls block `bb` upon evaluating to `branch`. */ pragma[nomagic] predicate guardControlsBlock(CfgNodes::AstCfgNode guard, BasicBlock bb, boolean branch) { - exists(ConditionBlock conditionBlock, ConditionalSuccessor s | + exists(BasicBlock conditionBlock, ConditionalSuccessor s | guard = conditionBlock.getLastNode() and s.getValue() = branch and conditionBlock.edgeDominates(bb, s) ) + or + exists(ConditionalSuccessor s, ControlFlowNode guardNode | + guardNode.isAfterValue(guard.getAstNode(), s) and + s.getValue() = branch and + guardNode.getBasicBlock().dominates(bb) + ) } diff --git a/ruby/ql/lib/codeql/ruby/controlflow/internal/NonReturning.qll b/ruby/ql/lib/codeql/ruby/controlflow/internal/NonReturning.qll index 45b299a5d2b7..36061ea5f635 100644 --- a/ruby/ql/lib/codeql/ruby/controlflow/internal/NonReturning.qll +++ b/ruby/ql/lib/codeql/ruby/controlflow/internal/NonReturning.qll @@ -3,22 +3,22 @@ overlay[local] module; private import codeql.ruby.AST -private import Completion +private import codeql.controlflow.SuccessorType /** A call that definitely does not return (conservative analysis). */ abstract class NonReturningCall extends MethodCall { - /** Gets a valid completion for this non-returning call. */ - abstract Completion getACompletion(); + /** Gets a valid successor type for this non-returning call. */ + abstract AbruptSuccessor getASuccessorType(); } private class RaiseCall extends NonReturningCall { RaiseCall() { this.getMethodName() = "raise" } - override RaiseCompletion getACompletion() { not result instanceof NestedCompletion } + override ExceptionSuccessor getASuccessorType() { any() } } private class ExitCall extends NonReturningCall { ExitCall() { this.getMethodName() in ["abort", "exit"] } - override ExitCompletion getACompletion() { not result instanceof NestedCompletion } + override ExitSuccessor getASuccessorType() { any() } } diff --git a/ruby/ql/lib/codeql/ruby/controlflow/internal/Splitting.qll b/ruby/ql/lib/codeql/ruby/controlflow/internal/Splitting.qll deleted file mode 100644 index 737f450b4f23..000000000000 --- a/ruby/ql/lib/codeql/ruby/controlflow/internal/Splitting.qll +++ /dev/null @@ -1,348 +0,0 @@ -/** - * Provides classes and predicates relevant for splitting the control flow graph. - */ -overlay[local] -module; - -private import codeql.ruby.AST as Ast -private import Completion as Comp -private import Comp -private import ControlFlowGraphImpl -private import codeql.ruby.controlflow.ControlFlowGraph - -cached -private module Cached { - cached - newtype TSplitKind = - TConditionalCompletionSplitKind() { forceCachingInSameStage() } or - TEnsureSplitKind(int nestLevel) { nestLevel = any(Trees::BodyStmtTree t).getNestLevel() } - - cached - newtype TSplit = - TConditionalCompletionSplit(ConditionalCompletion c) or - TEnsureSplit(EnsureSplitting::EnsureSplitType type, int nestLevel) { - nestLevel = any(Trees::BodyStmtTree t).getNestLevel() - } -} - -import Cached - -/** A split for a control flow node. */ -class Split extends TSplit { - /** Gets a textual representation of this split. */ - string toString() { none() } -} - -module ConditionalCompletionSplitting { - /** - * A split for conditional completions. For example, in - * - * ```rb - * def method x - * if x < 2 and x > 0 - * puts "x is 1" - * end - * end - * ``` - * - * we record whether `x < 2` and `x > 0` evaluate to `true` or `false`, and - * restrict the edges out of `x < 2 and x > 0` accordingly. - */ - class ConditionalCompletionSplit extends Split, TConditionalCompletionSplit { - ConditionalCompletion completion; - - ConditionalCompletionSplit() { this = TConditionalCompletionSplit(completion) } - - ConditionalCompletion getCompletion() { result = completion } - - override string toString() { result = completion.toString() } - } - - private class ConditionalCompletionSplitKind_ extends SplitKind, TConditionalCompletionSplitKind { - override int getListOrder() { result = 0 } - - override predicate isEnabled(AstNode n) { this.appliesTo(n) } - - override string toString() { result = "ConditionalCompletion" } - } - - module ConditionalCompletionSplittingInput { - private import Completion as Comp - - class ConditionalCompletion = Comp::ConditionalCompletion; - - class ConditionalCompletionSplitKind extends ConditionalCompletionSplitKind_, TSplitKind { } - - class ConditionalCompletionSplit = ConditionalCompletionSplitting::ConditionalCompletionSplit; - - bindingset[parent, parentCompletion] - predicate condPropagateExpr( - AstNode parent, ConditionalCompletion parentCompletion, AstNode child, - ConditionalCompletion childCompletion - ) { - child = parent.(Ast::NotExpr).getOperand() and - childCompletion.(BooleanCompletion).getDual() = parentCompletion - or - childCompletion = parentCompletion and - ( - child = parent.(Ast::LogicalAndExpr).getAnOperand() - or - child = parent.(Ast::LogicalOrExpr).getAnOperand() - or - child = parent.(Ast::StmtSequence).getLastStmt() - or - child = parent.(Ast::ConditionalExpr).getBranch(_) - ) - } - } - - int getNextListOrder() { result = 1 } - - private class ConditionalCompletionSplitImpl extends SplitImplementations::ConditionalCompletionSplitting::ConditionalCompletionSplitImpl - { - override predicate hasEntry(AstNode pred, AstNode succ, Completion c) { - super.hasEntry(pred, succ, c) - or - // a non-standard case is needed for `when` clauses - succ(pred, succ, c) and - succ instanceof Ast::WhenClause and - c = this.getCompletion() - } - } -} - -class ConditionalCompletionSplit = ConditionalCompletionSplitting::ConditionalCompletionSplit; - -module EnsureSplitting { - /** - * The type of a split `ensure` node. - * - * The type represents one of the possible ways of entering an `ensure` - * block. For example, if a block ends with a `return` statement, then - * the `ensure` block must end with a `return` as well (provided that - * the `ensure` block executes normally). - */ - class EnsureSplitType extends SuccessorType { - EnsureSplitType() { not this instanceof ConditionalSuccessor } - - /** Holds if this split type matches entry into an `ensure` block with completion `c`. */ - predicate isSplitForEntryCompletion(Completion c) { - if c instanceof NormalCompletion - then - // If the entry into the `ensure` block completes with any normal completion, - // it simply means normal execution after the `ensure` block - this instanceof DirectSuccessor - else this = c.getAMatchingSuccessorType() - } - } - - /** A node that belongs to an `ensure` block. */ - private class EnsureNode extends AstNode { - private Trees::BodyStmtTree block; - - EnsureNode() { this = block.getAnEnsureDescendant() } - - int getNestLevel() { result = block.getNestLevel() } - - /** Holds if this node is the entry node in the `ensure` block it belongs to. */ - predicate isEntryNode() { first(block.getEnsure(), this) } - - Ast::BodyStmt getBlock() { result = block } - - pragma[noinline] - predicate isEntered(AstNode pred, int nestLevel, Completion c) { - this.isEntryNode() and - nestLevel = this.getNestLevel() and - succ(pred, this, c) and - // the entry node may be reachable via a backwards loop edge; in this case - // the split has already been entered - not pred = block.getAnEnsureDescendant() - } - } - - /** - * A split for nodes belonging to an `ensure` block, which determines how to - * continue execution after leaving the `ensure` block. For example, in - * - * ```rb - * begin - * if x - * raise "Exception" - * end - * ensure - * puts "Ensure" - * end - * ``` - * - * all control flow nodes in the `ensure` block have two splits: one representing - * normal execution of the body (when `x` evaluates to `true`), and one representing - * exceptional execution of the body (when `x` evaluates to `false`). - */ - class EnsureSplit extends Split, TEnsureSplit { - private EnsureSplitType type; - private int nestLevel; - - EnsureSplit() { this = TEnsureSplit(type, nestLevel) } - - /** - * Gets the type of this `ensure` split, that is, how to continue execution after the - * `ensure` block. - */ - EnsureSplitType getType() { result = type } - - /** Gets the nesting level. */ - int getNestLevel() { result = nestLevel } - - override string toString() { - if type instanceof DirectSuccessor - then result = "" - else - if nestLevel > 0 - then result = "ensure(" + nestLevel + "): " + type.toString() - else result = "ensure: " + type.toString() - } - } - - private int getListOrder(EnsureSplitKind kind) { - result = ConditionalCompletionSplitting::getNextListOrder() + kind.getNestLevel() - } - - int getNextListOrder() { - result = max([getListOrder(_) + 1, ConditionalCompletionSplitting::getNextListOrder()]) - } - - private class EnsureSplitKind extends SplitKind, TEnsureSplitKind { - private int nestLevel; - - EnsureSplitKind() { this = TEnsureSplitKind(nestLevel) } - - /** Gets the nesting level. */ - int getNestLevel() { result = nestLevel } - - override int getListOrder() { result = getListOrder(this) } - - override string toString() { result = "ensure (" + nestLevel + ")" } - } - - private class EnsureSplitImpl extends SplitImpl instanceof EnsureSplit { - override EnsureSplitKind getKind() { result.getNestLevel() = super.getNestLevel() } - - override predicate hasEntry(AstNode pred, AstNode succ, Completion c) { - succ.(EnsureNode).isEntered(pred, super.getNestLevel(), c) and - super.getType().isSplitForEntryCompletion(c) - } - - override predicate hasEntryScope(CfgScope scope, AstNode first) { none() } - - /** - * Holds if this split applies to `pred`, where `pred` is a valid predecessor. - */ - private predicate appliesToPredecessor(AstNode pred) { - this.appliesTo(pred) and - (succ(pred, _, _) or succExit(_, pred, _)) - } - - pragma[noinline] - private predicate exit0(AstNode pred, Trees::BodyStmtTree block, int nestLevel, Completion c) { - this.appliesToPredecessor(pred) and - nestLevel = block.getNestLevel() and - block.last(pred, c) - } - - /** - * Holds if `pred` may exit this split with completion `c`. The Boolean - * `inherited` indicates whether `c` is an inherited completion from the - * body. - */ - private predicate exit(AstNode pred, Completion c, boolean inherited) { - exists(Trees::BodyStmtTree block, EnsureSplitType type | - this.exit0(pred, block, super.getNestLevel(), c) and - type = super.getType() - | - if last(block.getEnsure(), pred, c) - then - // `ensure` block can itself exit with completion `c`: either `c` must - // match this split, `c` must be an abnormal completion, or this split - // does not require another completion to be recovered - inherited = false and - ( - type = c.getAMatchingSuccessorType() - or - not c instanceof NormalCompletion - or - type instanceof DirectSuccessor - ) - else ( - // `ensure` block can exit with inherited completion `c`, which must - // match this split - inherited = true and - type = c.getAMatchingSuccessorType() and - not type instanceof DirectSuccessor - ) - ) - or - // If this split is normal, and an outer split can exit based on an inherited - // completion, we need to exit this split as well. For example, in - // - // ```rb - // def m(b1, b2) - // if b1 - // return - // end - // ensure - // begin - // if b2 - // raise "Exception" - // end - // ensure - // puts "inner ensure" - // end - // end - // ``` - // - // if the outer split for `puts "inner ensure"` is `return` and the inner split - // is "normal" (corresponding to `b1 = true` and `b2 = false`), then the inner - // split must be able to exit with a `return` completion. - this.appliesToPredecessor(pred) and - exists(EnsureSplitImpl outer | - outer.(EnsureSplit).getNestLevel() = super.getNestLevel() - 1 and - outer.exit(pred, c, inherited) and - super.getType() instanceof DirectSuccessor and - inherited = true - ) - } - - override predicate hasExit(AstNode pred, AstNode succ, Completion c) { - succ(pred, succ, c) and - ( - this.exit(pred, c, _) - or - this.exit(pred, c.(NestedBreakCompletion).getAnInnerCompatibleCompletion(), _) - ) - } - - override predicate hasExitScope(CfgScope scope, AstNode last, Completion c) { - succExit(scope, last, c) and - ( - this.exit(last, c, _) - or - this.exit(last, c.(NestedBreakCompletion).getAnInnerCompatibleCompletion(), _) - ) - } - - override predicate hasSuccessor(AstNode pred, AstNode succ, Completion c) { - this.appliesToPredecessor(pred) and - succ(pred, succ, c) and - succ = - any(EnsureNode en | - if en.isEntryNode() and en.getBlock() != pred.(EnsureNode).getBlock() - then - // entering a nested `ensure` block - en.getNestLevel() > super.getNestLevel() - else - // staying in the same (possibly nested) `ensure` block as `pred` - en.getNestLevel() >= super.getNestLevel() - ) - } - } -} diff --git a/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll b/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll index 08ca08732b6b..d95740a8c867 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/SSA.qll @@ -384,20 +384,7 @@ module Ssa { inp = SsaImpl::phiHasInputFromBlock(this, bb) } - private string getSplitString() { - result = this.getBasicBlock().getFirstNode().(CfgNodes::AstCfgNode).getSplitsString() - } - - override string toString() { - exists(string prefix | - prefix = "[" + this.getSplitString() + "] " - or - not exists(this.getSplitString()) and - prefix = "" - | - result = prefix + "phi" - ) - } + override string toString() { result = "phi" } /* * The location of a phi node is the same as the location of the first node diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index 3c647f41bbbe..3d3e8a4d0d04 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -183,7 +183,7 @@ class NormalCall extends DataFlowCall, TNormalCall { override CfgNodes::ExprNodes::CallCfgNode asCall() { result = c } - override DataFlowCallable getEnclosingCallable() { result = TCfgScope(c.getScope()) } + override DataFlowCallable getEnclosingCallable() { result = TCfgScope(c.getEnclosingCallable()) } override string toString() { result = c.toString() } @@ -700,7 +700,7 @@ private CfgScope privateFilter(DataFlowCall call) { // This may remove some plausible targets, but also removes a lot of // implausible targets ( - isToplevelMethodInFile(result, call.asCall().getFile()) or + isToplevelMethodInFile(result, call.asCall().getLocation().getFile()) or not isToplevelMethodInFile(result, _) ) } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 2203ff8e1054..e8dee7628b80 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -95,7 +95,7 @@ CfgNodes::ExprCfgNode getPostUpdateReverseStep(CfgNodes::ExprCfgNode e) { pragma[nomagic] Ssa::Definition getParameterDef(NamedParameter p) { exists(BasicBlock bb, int i | - bb.getNode(i).getAstNode() = p.getDefiningAccess() and + bb.getNode(i).injects(p.getDefiningAccess()) and result.definesAt(_, bb, i) ) } @@ -285,7 +285,6 @@ predicate isNonConstantExpr(CfgNodes::ExprCfgNode n) { /** Provides logic related to captured variables. */ module VariableCapture { private import codeql.dataflow.VariableCapture as Shared - private import codeql.ruby.controlflow.BasicBlocks as BasicBlocks private predicate closureFlowStep(CfgNodes::ExprCfgNode e1, CfgNodes::ExprCfgNode e2) { e1 = getALastEvalNode(e2) @@ -296,13 +295,11 @@ module VariableCapture { ) } - private module CaptureInput implements Shared::InputSig { + private module CaptureInput implements Shared::InputSig { private import codeql.ruby.controlflow.ControlFlowGraph as Cfg private import TaintTrackingPrivate as TaintTrackingPrivate - Callable basicBlockGetEnclosingCallable(BasicBlocks::Cfg::BasicBlock bb) { - result = bb.getScope() - } + Callable basicBlockGetEnclosingCallable(BasicBlock bb) { result = bb.getScope() } class CapturedVariable extends LocalVariable { CapturedVariable() { @@ -374,7 +371,7 @@ module VariableCapture { class ClosureExpr = CaptureInput::ClosureExpr; - module Flow = Shared::Flow; + module Flow = Shared::Flow; private Flow::ClosureNode asClosureNode(Node n) { result = n.(CaptureNode).getSynthesizedCaptureNode() @@ -864,7 +861,7 @@ class ReturningStatementNode extends NodeImpl, TReturningNode { /** Gets the expression corresponding to this node. */ CfgNodes::ReturningCfgNode getReturningNode() { result = n } - override CfgScope getCfgScopeImpl() { result = n.getScope() } + override CfgScope getCfgScopeImpl() { result = n.getEnclosingCallable() } override Location getLocationImpl() { result = n.getLocation() } @@ -1364,7 +1361,7 @@ module ArgumentNodes { this.sourceArgumentOf(call.asCall(), pos) } - override CfgScope getCfgScopeImpl() { result = yield.getScope() } + override CfgScope getCfgScopeImpl() { result = yield.getEnclosingCallable() } override Location getLocationImpl() { result = yield.getLocation() } } @@ -1394,7 +1391,7 @@ module ArgumentNodes { this.sourceArgumentOf(call.asCall(), pos) } - override CfgScope getCfgScopeImpl() { result = sup.getScope() } + override CfgScope getCfgScopeImpl() { result = sup.getEnclosingCallable() } override Location getLocationImpl() { result = sup.getLocation() } } @@ -1617,7 +1614,7 @@ private module ReturnNodes { private predicate isValid(CfgNodes::ReturningCfgNode node) { exists(ReturningStmt stmt, Callable scope | stmt = node.getAstNode() and - scope = node.getScope() + scope = node.getEnclosingCallable() | stmt instanceof ReturnStmt and (scope instanceof Method or scope instanceof SingletonMethod or scope instanceof Lambda) @@ -1637,8 +1634,8 @@ private module ReturnNodes { class ExplicitReturnNode extends SourceReturnNode, ReturningStatementNode { ExplicitReturnNode() { isValid(n) and - n.getASuccessor().(CfgNodes::AnnotatedExitNode).isNormal() and - n.getScope() instanceof Callable + n.getASuccessor() instanceof ControlFlow::NormalExitNode and + n.getEnclosingCallable() instanceof Callable } override ReturnKind getKindSource() { @@ -2415,9 +2412,7 @@ module TypeInference { private predicate hasTypeCheckedRead( Ssa::Definition def, CfgNodes::ExprCfgNode caseRead, CfgNodes::ExprCfgNode read, Module m ) { - exists( - CfgNodes::ExprCfgNode pattern, ConditionBlock cb, CfgNodes::ExprNodes::CaseExprCfgNode case - | + exists(CfgNodes::ExprCfgNode pattern, BasicBlock cb, CfgNodes::ExprNodes::CaseExprCfgNode case | m = resolveConstantReadAccess(pattern.getExpr()) and cb.getLastNode() = pattern and cb.edgeDominates(read.getBasicBlock(), any(MatchingSuccessor match | match.getValue() = true)) and diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll index 74394150ca32..9f5dfd9dcc25 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/SsaImpl.qll @@ -4,13 +4,11 @@ module; private import codeql.ssa.Ssa as SsaImplCommon private import codeql.ruby.AST private import codeql.ruby.CFG as Cfg -private import codeql.ruby.controlflow.BasicBlocks as BasicBlocks -private import codeql.ruby.controlflow.internal.ControlFlowGraphImpl as ControlFlowGraphImpl private import codeql.ruby.dataflow.SSA private import codeql.ruby.ast.Variable private import Cfg::CfgNodes::ExprNodes -private class BasicBlock = BasicBlocks::Cfg::BasicBlock; +private class BasicBlock = Cfg::BasicBlock; module SsaInput implements SsaImplCommon::InputSig { private import codeql.ruby.controlflow.ControlFlowGraph as Cfg @@ -25,11 +23,11 @@ module SsaInput implements SsaImplCommon::InputSig { ( exists(Scope scope | scope = v.(SelfVariable).getDeclaringScope() | // We consider the `self` variable to have a single write at the entry to a method block... - scope = bb.(BasicBlocks::EntryBasicBlock).getScope() and + scope = bb.(Cfg::EntryBasicBlock).getScope() and i = 0 or // ...or a class or module block. - bb.getNode(i).getAstNode() = scope.(ModuleBase).getAControlFlowEntryNode() and + bb.getNode(i).isBefore(scope.(ModuleBase)) and not scope instanceof Toplevel // handled by case above ) or @@ -60,7 +58,7 @@ module SsaInput implements SsaImplCommon::InputSig { } } -import SsaImplCommon::Make as Impl +import SsaImplCommon::Make as Impl class Definition = Impl::Definition; @@ -98,12 +96,17 @@ private predicate writesCapturedVariable(Cfg::BasicBlock bb, LocalVariable v) { ) } +private predicate isAnnotatedExitBlock(BasicBlock bb) { + bb.getANode() instanceof Cfg::ControlFlow::AnnotatedExitNode +} + /** * Holds if a pseudo read of captured variable `v` should be inserted * at index `i` in exit block `bb`. */ -private predicate capturedExitRead(Cfg::AnnotatedExitBasicBlock bb, int i, LocalVariable v) { +private predicate capturedExitRead(BasicBlock bb, int i, LocalVariable v) { writesCapturedVariable(bb.getAPredecessor*(), v) and + isAnnotatedExitBlock(bb) and i = bb.length() } @@ -112,13 +115,11 @@ private predicate capturedExitRead(Cfg::AnnotatedExitBasicBlock bb, int i, Local * at index `i` in basic block `bb`. We do this to ensure that namespace * self-variables always get an SSA definition. */ -private predicate namespaceSelfExitRead(Cfg::AnnotatedExitBasicBlock bb, int i, SelfVariable v) { - exists(Namespace ns, AstNode last | +private predicate namespaceSelfExitRead(BasicBlock bb, int i, SelfVariable v) { + exists(Namespace ns, Cfg::ControlFlowNode n | v.getDeclaringScope() = ns and - last = ControlFlowGraphImpl::getAControlFlowExitNode(ns) and - if last = ns - then bb.getNode(i).getAPredecessor().getAstNode() = last - else bb.getNode(i).getAstNode() = last + n.isAfter(ns) and + if n.isBefore(ns) then bb.getNode(i - 1) = n else bb.getNode(i) = n ) } @@ -129,7 +130,8 @@ private predicate namespaceSelfExitRead(Cfg::AnnotatedExitBasicBlock bb, int i, pragma[noinline] private predicate hasCapturedRead(Variable v, Cfg::CfgScope scope) { any(LocalVariableReadAccessCfgNode read | - read.getVariable() = v and scope = read.getScope().getOuterCfgScope*() + read.getVariable() = v and + scope = read.getEnclosingCallable().(Cfg::CfgScope).getOuterCfgScope*() ).getExpr().isCapturedAccess() } @@ -177,7 +179,7 @@ private predicate capturedCallRead(CallCfgNode call, Cfg::BasicBlock bb, int i, private predicate variableReadActual(Cfg::BasicBlock bb, int i, LocalVariable v) { exists(VariableReadAccess read | read.getVariable() = v and - read = bb.getNode(i).getAstNode() + bb.getNode(i).injects(read) ) } @@ -188,7 +190,8 @@ private predicate variableReadActual(Cfg::BasicBlock bb, int i, LocalVariable v) pragma[noinline] private predicate hasCapturedWrite(Variable v, Cfg::CfgScope scope) { any(LocalVariableWriteAccessCfgNode write | - write.getVariable() = v and scope = write.getScope().getOuterCfgScope*() + write.getVariable() = v and + scope = write.getEnclosingCallable().(Cfg::CfgScope).getOuterCfgScope*() ).getExpr().isCapturedAccess() } @@ -393,7 +396,7 @@ class NormalParameter extends Parameter { pragma[nomagic] Definition getParameterDef(NamedParameter p) { exists(Cfg::BasicBlock bb, int i | - bb.getNode(i).getAstNode() = p.getDefiningAccess() and + bb.getNode(i).injects(p.getDefiningAccess()) and result.definesAt(_, bb, i) ) } diff --git a/ruby/ql/lib/codeql/ruby/frameworks/Sinatra.qll b/ruby/ql/lib/codeql/ruby/frameworks/Sinatra.qll index eabee2ea5133..3ffdb915c6f3 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/Sinatra.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/Sinatra.qll @@ -289,7 +289,7 @@ module Sinatra { private predicate blockPostSelf(DataFlow::PostUpdateNode n, DataFlow::BlockNode b) { exists(SelfVariableAccessCfgNode self | n.getPreUpdateNode().asExpr() = self and - self.getScope() = b.asExpr().getAstNode() + self.getEnclosingCallable() = b.asExpr().getAstNode() ) } diff --git a/ruby/ql/lib/codeql/ruby/security/ConditionalBypassCustomizations.qll b/ruby/ql/lib/codeql/ruby/security/ConditionalBypassCustomizations.qll index a64cd1039c17..cf752c3aaeb1 100644 --- a/ruby/ql/lib/codeql/ruby/security/ConditionalBypassCustomizations.qll +++ b/ruby/ql/lib/codeql/ruby/security/ConditionalBypassCustomizations.qll @@ -46,8 +46,8 @@ module ConditionalBypass { SensitiveAction action; SensitiveActionGuardConditional() { - exists(ConditionBlock cb, BasicBlock controlled | - cb.edgeDominates(controlled, _) and + exists(BasicBlock cb, BasicBlock controlled | + cb.edgeDominates(controlled, any(ConditionalSuccessor s)) and controlled.getANode() = action.asExpr() and cb.getLastNode() = this.asExpr() ) diff --git a/ruby/ql/lib/ide-contextual-queries/printCfg.ql b/ruby/ql/lib/ide-contextual-queries/printCfg.ql index 1c4cec61a3ef..c749f035f748 100644 --- a/ruby/ql/lib/ide-contextual-queries/printCfg.ql +++ b/ruby/ql/lib/ide-contextual-queries/printCfg.ql @@ -8,7 +8,6 @@ */ private import codeql.Locations -private import codeql.ruby.controlflow.internal.ControlFlowGraphImpl private import codeql.ruby.controlflow.ControlFlowGraph external string selectedSourceFile(); @@ -23,7 +22,7 @@ external int selectedSourceColumn(); private predicate selectedSourceColumnAlias = selectedSourceColumn/0; -module ViewCfgQueryInput implements ViewCfgQueryInputSig { +module ViewCfgQueryInput implements ControlFlow::ViewCfgQueryInputSig { predicate selectedSourceFile = selectedSourceFileAlias/0; predicate selectedSourceLine = selectedSourceLineAlias/0; @@ -31,11 +30,11 @@ module ViewCfgQueryInput implements ViewCfgQueryInputSig { predicate selectedSourceColumn = selectedSourceColumnAlias/0; predicate cfgScopeSpan( - CfgScope scope, File file, int startLine, int startColumn, int endLine, int endColumn + CfgScopeImpl scope, File file, int startLine, int startColumn, int endLine, int endColumn ) { file = scope.getFile() and scope.getLocation().hasLocationInfo(_, startLine, startColumn, endLine, endColumn) } } -import ViewCfgQuery +import ControlFlow::ViewCfgQuery diff --git a/ruby/ql/src/experimental/performance/UseDetect.ql b/ruby/ql/src/experimental/performance/UseDetect.ql index 56ab99ae4056..61cf8ccd3f33 100644 --- a/ruby/ql/src/experimental/performance/UseDetect.ql +++ b/ruby/ql/src/experimental/performance/UseDetect.ql @@ -42,13 +42,11 @@ class EndCall extends MethodCall { } Expr getUniqueRead(Expr e) { - forex(CfgNode eNode | eNode.getAstNode() = e | - exists(Ssa::WriteDefinition def | - def.assigns(eNode) and - strictcount(def.getARead()) = 1 and - not def = any(Ssa::PhiNode phi).getAnInput() and - def.getARead().getAstNode() = result - ) + exists(Ssa::WriteDefinition def | + def.assigns(e.getControlFlowNode()) and + strictcount(def.getARead()) = 1 and + not def = any(Ssa::PhiNode phi).getAnInput() and + def.getARead().getAstNode() = result ) } diff --git a/ruby/ql/src/queries/performance/DatabaseQueryInLoop.ql b/ruby/ql/src/queries/performance/DatabaseQueryInLoop.ql index c81cdd6b2f63..67e9ba4f9c77 100644 --- a/ruby/ql/src/queries/performance/DatabaseQueryInLoop.ql +++ b/ruby/ql/src/queries/performance/DatabaseQueryInLoop.ql @@ -36,7 +36,7 @@ class LoopingCall extends DataFlow::CallNode { } /** Holds if `c` is executed as part of the body of this loop. */ - predicate executesCall(DataFlow::CallNode c) { c.asExpr().getScope() = loopScope } + predicate executesCall(DataFlow::CallNode c) { c.asExpr().getEnclosingCallable() = loopScope } } /** Holds if `ar` influences a guard that may control the execution of a loop. */ diff --git a/ruby/ql/src/queries/variables/DeadStoreOfLocal.ql b/ruby/ql/src/queries/variables/DeadStoreOfLocal.ql index 849fb8ecd5a7..70d3191b8a72 100644 --- a/ruby/ql/src/queries/variables/DeadStoreOfLocal.ql +++ b/ruby/ql/src/queries/variables/DeadStoreOfLocal.ql @@ -19,7 +19,12 @@ import codeql.ruby.ApiGraphs pragma[nomagic] private predicate hasErbResultCall(CfgScope scope) { - scope = API::getTopLevelMember("ERB").getInstance().getAMethodCall("result").asExpr().getScope() + scope = + API::getTopLevelMember("ERB") + .getInstance() + .getAMethodCall("result") + .asExpr() + .getEnclosingCallable() } class RelevantLocalVariableWriteAccess extends LocalVariableWriteAccess { diff --git a/ruby/ql/test/library-tests/ast/ValueText.expected b/ruby/ql/test/library-tests/ast/ValueText.expected index 42eab5f74d9e..d662062f6470 100644 --- a/ruby/ql/test/library-tests/ast/ValueText.expected +++ b/ruby/ql/test/library-tests/ast/ValueText.expected @@ -1130,13 +1130,24 @@ exprCfgNodeValue | control/cases.rb:46:12:46:12 | 3 | 3 | int | | control/cases.rb:47:6:47:6 | 1 | 1 | int | | control/cases.rb:47:13:47:13 | 3 | 3 | int | +| control/cases.rb:49:9:49:9 | 3 | 3 | int | +| control/cases.rb:49:12:49:12 | 4 | 4 | int | | control/cases.rb:50:9:50:9 | 3 | 3 | int | | control/cases.rb:51:10:51:10 | 3 | 3 | int | +| control/cases.rb:52:6:52:6 | :a | :a | symbol | +| control/cases.rb:53:6:53:6 | :a | :a | symbol | | control/cases.rb:53:9:53:9 | 5 | 5 | int | +| control/cases.rb:54:6:54:6 | :a | :a | symbol | | control/cases.rb:54:9:54:9 | 5 | 5 | int | +| control/cases.rb:55:6:55:6 | :a | :a | symbol | | control/cases.rb:55:9:55:9 | 5 | 5 | int | +| control/cases.rb:55:12:55:12 | :b | :b | symbol | +| control/cases.rb:56:6:56:6 | :a | :a | symbol | | control/cases.rb:56:9:56:9 | 5 | 5 | int | +| control/cases.rb:56:12:56:12 | :b | :b | symbol | +| control/cases.rb:57:6:57:6 | :a | :a | symbol | | control/cases.rb:57:9:57:9 | 5 | 5 | int | +| control/cases.rb:57:12:57:12 | :b | :b | symbol | | control/cases.rb:59:7:59:7 | 5 | 5 | int | | control/cases.rb:60:7:60:7 | 5 | 5 | int | | control/cases.rb:61:7:61:7 | 1 | 1 | int | @@ -1158,11 +1169,20 @@ exprCfgNodeValue | control/cases.rb:68:14:68:14 | 4 | 4 | int | | control/cases.rb:69:10:69:10 | 3 | 3 | int | | control/cases.rb:70:11:70:11 | 3 | 3 | int | +| control/cases.rb:71:7:71:7 | :a | :a | symbol | +| control/cases.rb:72:7:72:7 | :a | :a | symbol | | control/cases.rb:72:10:72:10 | 5 | 5 | int | +| control/cases.rb:73:7:73:7 | :a | :a | symbol | | control/cases.rb:73:10:73:10 | 5 | 5 | int | +| control/cases.rb:74:7:74:7 | :a | :a | symbol | | control/cases.rb:74:10:74:10 | 5 | 5 | int | +| control/cases.rb:74:13:74:13 | :b | :b | symbol | +| control/cases.rb:75:7:75:7 | :a | :a | symbol | | control/cases.rb:75:10:75:10 | 5 | 5 | int | +| control/cases.rb:75:13:75:13 | :b | :b | symbol | +| control/cases.rb:76:7:76:7 | :a | :a | symbol | | control/cases.rb:76:10:76:10 | 5 | 5 | int | +| control/cases.rb:76:13:76:13 | :b | :b | symbol | | control/cases.rb:84:7:84:8 | 42 | 42 | int | | control/cases.rb:87:6:87:6 | 5 | 5 | int | | control/cases.rb:88:7:88:9 | foo | 42 | int | @@ -1199,8 +1219,14 @@ exprCfgNodeValue | control/cases.rb:130:11:130:11 | 1 | 1 | int | | control/cases.rb:130:14:130:14 | 2 | 2 | int | | control/cases.rb:131:18:131:18 | 1 | 1 | int | +| control/cases.rb:139:7:139:7 | :x | :x | symbol | +| control/cases.rb:140:16:140:16 | :x | :x | symbol | | control/cases.rb:140:18:140:18 | 1 | 1 | int | +| control/cases.rb:141:16:141:16 | :x | :x | symbol | | control/cases.rb:141:18:141:18 | 1 | 1 | int | +| control/cases.rb:141:21:141:21 | :a | :a | symbol | +| control/cases.rb:142:11:142:11 | :y | :y | symbol | +| control/cases.rb:144:11:144:11 | :a | :a | symbol | | control/cases.rb:144:14:144:14 | 1 | 1 | int | | control/cases.rb:148:7:148:9 | foo | 42 | int | | control/cases.rb:155:8:155:10 | foo | 42 | int | @@ -1212,6 +1238,8 @@ exprCfgNodeValue | control/cases.rb:160:10:160:10 | 1 | 1 | int | | control/cases.rb:160:13:160:13 | 2 | 2 | int | | control/cases.rb:162:1:162:20 | nil | nil | nil | +| control/cases.rb:162:10:162:10 | :x | :x | symbol | +| control/cases.rb:162:16:162:16 | :y | :y | symbol | | control/cases.rb:162:19:162:19 | 1 | 1 | int | | control/cases.rb:165:3:165:5 | foo | 42 | int | | control/cases.rb:166:6:166:6 | 1 | 1 | int | @@ -1740,6 +1768,7 @@ exprCfgNodeValue | modules/modules.rb:55:8:55:30 | "module Foo::Bar again" | module Foo::Bar again | string | | modules/modules.rb:56:17:56:17 | 4 | 4 | int | | modules/toplevel.rb:1:6:1:12 | "world" | world | string | +| modules/toplevel.rb:3:12:3:16 | "!!!" | !!! | string | | modules/toplevel.rb:5:14:5:20 | "hello" | hello | string | | operations/operations.rb:3:5:3:5 | 0 | 0 | int | | operations/operations.rb:4:5:4:5 | 0 | 0 | int | @@ -1885,8 +1914,6 @@ exprCfgNodeValue | params/params.rb:47:32:47:32 | 3 | 3 | int | | params/params.rb:49:37:49:39 | 100 | 100 | int | | params/params.rb:53:44:53:44 | 3 | 3 | int | -| params/params.rb:58:46:58:46 | 0 | 0 | int | -| params/params.rb:58:56:58:58 | 100 | 100 | int | | params/params.rb:63:14:63:19 | "Zeus" | Zeus | string | | params/params.rb:65:41:65:42 | 99 | 99 | int | | params/params.rb:70:42:70:45 | 1000 | 1000 | int | diff --git a/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected b/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected index dd9e84f487a7..2a5630b86172 100644 --- a/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected +++ b/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected @@ -1,6546 +1,5408 @@ dominates -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:1:1:11:3 | exit m1 | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:8:3:10:5 | if ... | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:9:5:9:23 | [ensure: exception] self | -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:1:1:11:3 | exit m1 | break_ensure.rb:1:1:11:3 | exit m1 | -| break_ensure.rb:1:1:56:4 | enter break_ensure.rb | break_ensure.rb:1:1:56:4 | enter break_ensure.rb | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:8:3:10:5 | if ... | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:1:1:11:3 | exit m1 | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:8:3:10:5 | if ... | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:9:5:9:23 | [ensure: exception] self | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:3:5:5:7 | if ... | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:4:7:4:11 | break | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:8:3:10:5 | if ... | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:9:5:9:23 | [ensure: exception] self | -| break_ensure.rb:9:5:9:23 | [ensure: exception] self | break_ensure.rb:9:5:9:23 | [ensure: exception] self | -| break_ensure.rb:9:5:9:23 | self | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:13:1:25:3 | enter m2 | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:14:3:24:5 | while ... | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:3:24:5 | while ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:14:3:24:5 | while ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:21:9:21:20 | [ensure: break] self | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:21:9:21:20 | [ensure: exception] self | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:21:9:21:20 | self | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:27:1:42:3 | exit m3 | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:27:1:42:3 | exit m3 (normal) | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | [ensure: exception] y | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:36:11:36:15 | [ensure: exception] break | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:27:1:42:3 | exit m3 | break_ensure.rb:27:1:42:3 | exit m3 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:27:1:42:3 | exit m3 (normal) | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:33:11:33:11 | [ensure: exception] y | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:36:11:36:15 | [ensure: exception] break | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | -| break_ensure.rb:35:9:37:11 | [ensure: return] if ... | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:35:9:37:11 | if ... | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:36:11:36:15 | [ensure: exception] break | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:36:11:36:15 | [ensure: exception] break | break_ensure.rb:36:11:36:15 | [ensure: exception] break | -| break_ensure.rb:36:11:36:15 | [ensure: return] break | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:36:11:36:15 | break | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:44:1:56:3 | enter m4 | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:45:3:55:5 | while ... | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:3:55:5 | while ... | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:45:3:55:5 | while ... | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| break_ensure.rb:48:9:48:16 | self | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:51:7:53:9 | if ... | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| break_ensure.rb:52:15:52:16 | 10 | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:2:3:5:5 | case ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [match] when ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:18:3:41 | if ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:21:3:22 | self | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:29:3:37 | self | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:5:4:24 | [match] when ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:10:4:10 | 2 | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:17:4:24 | self | -| case.rb:1:1:99:4 | enter case.rb | case.rb:1:1:99:4 | enter case.rb | -| case.rb:2:3:5:5 | case ... | case.rb:2:3:5:5 | case ... | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:5:3:42 | [match] when ... | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:18:3:41 | if ... | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:21:3:22 | self | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:29:3:37 | self | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:5:4:24 | [match] when ... | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:10:4:10 | 2 | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:17:4:24 | self | -| case.rb:3:18:3:41 | if ... | case.rb:3:18:3:41 | if ... | -| case.rb:3:21:3:22 | self | case.rb:3:18:3:41 | if ... | -| case.rb:3:21:3:22 | self | case.rb:3:21:3:22 | self | -| case.rb:3:21:3:22 | self | case.rb:3:29:3:37 | self | -| case.rb:3:29:3:37 | self | case.rb:3:29:3:37 | self | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:5:4:24 | [match] when ... | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:17:4:24 | self | -| case.rb:4:5:4:24 | [no-match] when ... | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [match] when ... | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:4:10:4:10 | 2 | case.rb:4:10:4:10 | 2 | -| case.rb:4:10:4:10 | 2 | case.rb:4:17:4:24 | self | -| case.rb:4:17:4:24 | self | case.rb:4:17:4:24 | self | -| case.rb:8:1:18:3 | enter case_match | case.rb:8:1:18:3 | enter case_match | -| case.rb:8:1:18:3 | enter case_match | case.rb:9:3:17:5 | case ... | -| case.rb:8:1:18:3 | enter case_match | case.rb:11:5:11:15 | in ... then ... | -| case.rb:8:1:18:3 | enter case_match | case.rb:11:15:11:15 | 3 | -| case.rb:8:1:18:3 | enter case_match | case.rb:12:5:13:7 | in ... then ... | -| case.rb:8:1:18:3 | enter case_match | case.rb:13:7:13:7 | 4 | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:5:14:25 | in ... then ... | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:13:14:13 | x | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:25:14:25 | 6 | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:5:15:28 | in ... then ... | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:17:15:17 | x | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:28:15:28 | 7 | -| case.rb:8:1:18:3 | enter case_match | case.rb:16:10:16:10 | 8 | -| case.rb:9:3:17:5 | case ... | case.rb:9:3:17:5 | case ... | -| case.rb:11:5:11:15 | in ... then ... | case.rb:11:5:11:15 | in ... then ... | -| case.rb:11:5:11:15 | in ... then ... | case.rb:11:15:11:15 | 3 | -| case.rb:11:5:11:15 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | -| case.rb:11:5:11:15 | in ... then ... | case.rb:13:7:13:7 | 4 | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:13:14:13 | x | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:25:14:25 | 6 | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:17:15:17 | x | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:28:15:28 | 7 | -| case.rb:11:5:11:15 | in ... then ... | case.rb:16:10:16:10 | 8 | -| case.rb:11:15:11:15 | 3 | case.rb:11:15:11:15 | 3 | -| case.rb:12:5:13:7 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | -| case.rb:12:5:13:7 | in ... then ... | case.rb:13:7:13:7 | 4 | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:13:14:13 | x | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:25:14:25 | 6 | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:17:15:17 | x | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:28:15:28 | 7 | -| case.rb:12:5:13:7 | in ... then ... | case.rb:16:10:16:10 | 8 | -| case.rb:13:7:13:7 | 4 | case.rb:13:7:13:7 | 4 | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:13:14:13 | x | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:25:14:25 | 6 | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:17:15:17 | x | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:28:15:28 | 7 | -| case.rb:14:5:14:25 | in ... then ... | case.rb:16:10:16:10 | 8 | -| case.rb:14:13:14:13 | x | case.rb:14:13:14:13 | x | -| case.rb:14:13:14:13 | x | case.rb:14:25:14:25 | 6 | -| case.rb:14:13:14:13 | x | case.rb:15:5:15:28 | in ... then ... | -| case.rb:14:13:14:13 | x | case.rb:15:17:15:17 | x | -| case.rb:14:13:14:13 | x | case.rb:15:28:15:28 | 7 | -| case.rb:14:13:14:13 | x | case.rb:16:10:16:10 | 8 | -| case.rb:14:25:14:25 | 6 | case.rb:14:25:14:25 | 6 | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:1:1:11:3 | Exceptional Exit | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:1:1:11:3 | Exit | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:1:1:56:4 | Entry | break_ensure.rb:1:1:56:4 | Entry | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:2:9:2:13 | After ... < ... [false] | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:3:8:3:12 | After ... > ... [false] | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:3:8:3:12 | After ... > ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:8:6:8:18 | After call to nil? [false] | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:8:6:8:18 | After call to nil? [true] | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:13:1:25:3 | Entry | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:13:1:25:3 | Exit | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:14:3:24:5 | After while ... | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:14:9:14:13 | After ... < ... [false] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:13:1:25:3 | Exceptional Exit | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:13:1:25:3 | Exit | break_ensure.rb:13:1:25:3 | Exit | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:3:24:5 | After while ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:13:1:25:3 | Exit | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:3:24:5 | After while ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [false] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:14:9:14:13 | After ... < ... [false] | break_ensure.rb:14:9:14:13 | After ... < ... [false] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:15:5:23:7 | After begin ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:16:10:16:14 | After ... > ... [false] | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:16:10:16:14 | After ... > ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:20:10:20:15 | After call to nil? [false] | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:20:10:20:15 | After call to nil? [true] | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:27:1:42:3 | Exceptional Exit | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:27:1:42:3 | Exit | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:28:3:40:5 | After begin ... | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:29:8:29:13 | After call to nil? [false] | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:29:8:29:13 | After call to nil? [true] | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:33:11:33:15 | After ... < ... [false] | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:35:12:35:16 | After ... > ... [false] | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:35:12:35:16 | After ... > ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:44:1:56:3 | Entry | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:44:1:56:3 | Exit | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:45:3:55:5 | After while ... | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:45:9:45:13 | After ... < ... [false] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| break_ensure.rb:44:1:56:3 | Exceptional Exit | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:44:1:56:3 | Exit | break_ensure.rb:44:1:56:3 | Exit | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:3:55:5 | After while ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:44:1:56:3 | Exit | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:3:55:5 | After while ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [false] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| break_ensure.rb:45:9:45:13 | After ... < ... [false] | break_ensure.rb:45:9:45:13 | After ... < ... [false] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| break_ensure.rb:46:5:54:7 | After begin ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:47:10:47:14 | After ... > ... [false] | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:47:10:47:14 | After ... > ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:51:10:51:14 | After ... > ... [true] | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| case.rb:1:1:6:3 | Entry | case.rb:1:1:6:3 | Entry | +| case.rb:1:1:6:3 | Entry | case.rb:2:3:5:5 | After case ... | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:1:1:6:3 | Entry | case.rb:3:18:3:41 | After if ... | +| case.rb:1:1:6:3 | Entry | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:1:1:6:3 | Entry | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:1:1:6:3 | Entry | case.rb:4:10:4:10 | After 2 [match] | +| case.rb:1:1:6:3 | Entry | case.rb:4:10:4:10 | After 2 [no-match] | +| case.rb:1:1:99:4 | Entry | case.rb:1:1:99:4 | Entry | +| case.rb:2:3:5:5 | After case ... | case.rb:2:3:5:5 | After case ... | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:18:3:41 | After if ... | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [match] | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [no-match] | +| case.rb:3:18:3:41 | After if ... | case.rb:3:18:3:41 | After if ... | +| case.rb:3:21:3:22 | After call to x2 [false] | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:3:21:3:22 | After call to x2 [true] | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:4:10:4:10 | After 2 [match] | case.rb:4:10:4:10 | After 2 [match] | +| case.rb:4:10:4:10 | After 2 [no-match] | case.rb:4:10:4:10 | After 2 [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:8:1:18:3 | Entry | +| case.rb:8:1:18:3 | Entry | case.rb:9:3:17:5 | After case ... | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [match] | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:8:1:18:3 | Entry | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:11:10:11:15 | then ... | +| case.rb:8:1:18:3 | Entry | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:8:1:18:3 | Entry | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:14:8:14:8 | After x [match] | +| case.rb:8:1:18:3 | Entry | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:8:1:18:3 | Entry | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:8:1:18:3 | Entry | case.rb:15:5:15:28 | in ... then ... | +| case.rb:8:1:18:3 | Entry | case.rb:15:8:15:8 | After x [match] | +| case.rb:8:1:18:3 | Entry | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:8:1:18:3 | Entry | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:8:1:18:3 | Entry | case.rb:16:5:16:10 | else ... | +| case.rb:9:3:17:5 | After case ... | case.rb:9:3:17:5 | After case ... | +| case.rb:10:8:10:8 | After 0 [match] | case.rb:10:8:10:8 | After 0 [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:8:14:8 | After x [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:5:15:28 | in ... then ... | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:8:15:8 | After x [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:16:5:16:10 | else ... | +| case.rb:11:8:11:8 | After 1 [match] | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:8:14:8 | After x [match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:5:15:28 | in ... then ... | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:8:15:8 | After x [match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:16:5:16:10 | else ... | +| case.rb:11:10:11:15 | then ... | case.rb:11:10:11:15 | then ... | +| case.rb:12:8:12:8 | After 2 [match] | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:15:5:15:28 | in ... then ... | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:15:8:15:8 | After x [match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:16:5:16:10 | else ... | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:8:14:8 | After x [match] | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:14:8:14:8 | After x [no-match] | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:14:13:14:18 | After ... == ... [false] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:14:13:14:18 | After ... == ... [true] | case.rb:14:13:14:18 | After ... == ... [true] | | case.rb:15:5:15:28 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:17 | x | -| case.rb:15:5:15:28 | in ... then ... | case.rb:15:28:15:28 | 7 | -| case.rb:15:5:15:28 | in ... then ... | case.rb:16:10:16:10 | 8 | -| case.rb:15:17:15:17 | x | case.rb:15:17:15:17 | x | -| case.rb:15:17:15:17 | x | case.rb:15:28:15:28 | 7 | -| case.rb:15:17:15:17 | x | case.rb:16:10:16:10 | 8 | -| case.rb:15:28:15:28 | 7 | case.rb:15:28:15:28 | 7 | -| case.rb:16:10:16:10 | 8 | case.rb:16:10:16:10 | 8 | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:21:3:23:5 | case ... | -| case.rb:20:1:24:3 | exit case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match | -| case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | -| case.rb:21:3:23:5 | case ... | case.rb:21:3:23:5 | case ... | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:1:30:3 | exit case_match_raise | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:27:3:29:5 | case ... | -| case.rb:26:1:30:3 | exit case_match_raise | case.rb:26:1:30:3 | exit case_match_raise | -| case.rb:26:1:30:3 | exit case_match_raise (abnormal) | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | -| case.rb:27:3:29:5 | case ... | case.rb:27:3:29:5 | case ... | -| case.rb:28:7:28:28 | enter -> { ... } | case.rb:28:7:28:28 | enter -> { ... } | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:1:39:3 | exit case_match_array | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:33:3:38:5 | case ... | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:35:5:35:11 | in ... then ... | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:35:9:35:9 | x | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:36:5:36:13 | in ... then ... | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:36:9:36:9 | x | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:5:37:27 | in ... then ... | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:12:37:12 | a | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:15:37:15 | b | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:19:37:19 | c | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:25:37:25 | e | -| case.rb:32:1:39:3 | exit case_match_array | case.rb:32:1:39:3 | exit case_match_array | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:33:3:38:5 | case ... | case.rb:33:3:38:5 | case ... | -| case.rb:35:5:35:11 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:5:35:11 | in ... then ... | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | -| case.rb:35:5:35:11 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | -| case.rb:35:5:35:11 | in ... then ... | case.rb:36:9:36:9 | x | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:12:37:12 | a | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:15:37:15 | b | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:19:37:19 | c | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:25:37:25 | e | -| case.rb:35:9:35:9 | x | case.rb:35:9:35:9 | x | -| case.rb:36:5:36:13 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:12:37:12 | a | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:15:37:15 | b | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:19:37:19 | c | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:25:37:25 | e | -| case.rb:36:9:36:9 | x | case.rb:36:9:36:9 | x | -| case.rb:37:5:37:27 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:12:37:12 | a | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:15:37:15 | b | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:19:37:19 | c | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:25:37:25 | e | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:15:37:15 | b | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:19:37:19 | c | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:25:37:25 | e | -| case.rb:37:12:37:12 | a | case.rb:37:12:37:12 | a | -| case.rb:37:12:37:12 | a | case.rb:37:15:37:15 | b | -| case.rb:37:12:37:12 | a | case.rb:37:19:37:19 | c | -| case.rb:37:12:37:12 | a | case.rb:37:25:37:25 | e | -| case.rb:37:15:37:15 | b | case.rb:37:15:37:15 | b | -| case.rb:37:15:37:15 | b | case.rb:37:19:37:19 | c | -| case.rb:37:15:37:15 | b | case.rb:37:25:37:25 | e | -| case.rb:37:19:37:19 | c | case.rb:37:19:37:19 | c | -| case.rb:37:19:37:19 | c | case.rb:37:25:37:25 | e | -| case.rb:37:25:37:25 | e | case.rb:37:25:37:25 | e | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:1:45:3 | exit case_match_find | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:1:45:3 | exit case_match_find (abnormal) | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:16:43:16 | 2 | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:20:43:20 | y | -| case.rb:41:1:45:3 | exit case_match_find | case.rb:41:1:45:3 | exit case_match_find | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:41:1:45:3 | exit case_match_find (abnormal) | -| case.rb:43:10:43:10 | x | case.rb:43:10:43:10 | x | -| case.rb:43:10:43:10 | x | case.rb:43:16:43:16 | 2 | -| case.rb:43:10:43:10 | x | case.rb:43:20:43:20 | y | -| case.rb:43:16:43:16 | 2 | case.rb:43:16:43:16 | 2 | -| case.rb:43:16:43:16 | 2 | case.rb:43:20:43:20 | y | -| case.rb:43:20:43:20 | y | case.rb:43:20:43:20 | y | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:47:1:53:3 | exit case_match_hash | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:48:3:52:5 | case ... | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:8:49:34 | { ..., ** } | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:20:49:20 | 1 | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:23:49:23 | a | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:29:49:32 | rest | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:50:5:50:25 | in ... then ... | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:50:16:50:16 | 1 | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:51:5:51:17 | in ... then ... | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:47:1:53:3 | exit case_match_hash | case.rb:47:1:53:3 | exit case_match_hash | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | -| case.rb:48:3:52:5 | case ... | case.rb:48:3:52:5 | case ... | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:8:49:34 | { ..., ** } | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:23:49:23 | a | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:29:49:32 | rest | -| case.rb:49:20:49:20 | 1 | case.rb:49:20:49:20 | 1 | -| case.rb:49:20:49:20 | 1 | case.rb:49:23:49:23 | a | -| case.rb:49:20:49:20 | 1 | case.rb:49:29:49:32 | rest | -| case.rb:49:23:49:23 | a | case.rb:49:23:49:23 | a | -| case.rb:49:23:49:23 | a | case.rb:49:29:49:32 | rest | -| case.rb:49:29:49:32 | rest | case.rb:49:29:49:32 | rest | -| case.rb:50:5:50:25 | in ... then ... | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:5:50:25 | in ... then ... | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:16:50:16 | 1 | -| case.rb:50:5:50:25 | in ... then ... | case.rb:51:5:51:17 | in ... then ... | -| case.rb:50:5:50:25 | in ... then ... | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | -| case.rb:50:16:50:16 | 1 | case.rb:50:16:50:16 | 1 | -| case.rb:51:5:51:17 | in ... then ... | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:5:51:17 | in ... then ... | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:55:1:61:3 | enter case_match_variable | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:56:3:60:5 | case ... | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:58:5:58:10 | in ... then ... | -| case.rb:56:3:60:5 | case ... | case.rb:56:3:60:5 | case ... | -| case.rb:58:5:58:10 | in ... then ... | case.rb:58:5:58:10 | in ... then ... | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:63:1:67:3 | enter case_match_underscore | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:64:3:66:5 | case ... | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:65:12:65:12 | _ | -| case.rb:64:3:66:5 | case ... | case.rb:64:3:66:5 | case ... | -| case.rb:65:12:65:12 | _ | case.rb:65:12:65:12 | _ | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:1:93:3 | exit case_match_various | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:72:3:92:5 | case ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:74:5:74:11 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:75:5:75:15 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:76:5:76:18 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:77:5:77:18 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:78:5:78:19 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:79:5:79:14 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:80:5:80:12 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:81:5:81:11 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:5:82:20 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:13:82:13 | x | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:20:82:20 | 1 | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:5:83:26 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:12:83:15 | ^... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:20:83:25 | string | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:84:5:84:17 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:85:5:85:23 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:86:5:86:11 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:87:5:87:17 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:88:5:88:15 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:88:14:88:15 | 10 | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:5:89:69 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:14:89:17 | self | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:21:89:24 | true | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:28:89:32 | false | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:36:89:43 | __LINE__ | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:47:89:54 | __FILE__ | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:90:5:90:13 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:5:91:25 | in ... then ... | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:13:91:14 | "" | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:69:1:93:3 | exit case_match_various | case.rb:69:1:93:3 | exit case_match_various | -| case.rb:69:1:93:3 | exit case_match_various (abnormal) | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:72:3:92:5 | case ... | case.rb:72:3:92:5 | case ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:74:5:74:11 | in ... then ... | case.rb:74:5:74:11 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:74:5:74:11 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:74:5:74:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:75:5:75:15 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:75:5:75:15 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:75:5:75:15 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:75:5:75:15 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:76:5:76:18 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:76:5:76:18 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:76:5:76:18 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:76:5:76:18 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:77:5:77:18 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:77:5:77:18 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:77:5:77:18 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:77:5:77:18 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:78:5:78:19 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:78:5:78:19 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:78:5:78:19 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:78:5:78:19 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:79:5:79:14 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:79:5:79:14 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:79:5:79:14 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:79:5:79:14 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:80:5:80:12 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:80:5:80:12 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:80:5:80:12 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:80:5:80:12 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:81:5:81:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:81:5:81:11 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:81:5:81:11 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:81:5:81:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:82:5:82:20 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:13:82:13 | x | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:20:82:20 | 1 | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:82:5:82:20 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:82:5:82:20 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:82:13:82:13 | x | case.rb:82:13:82:13 | x | -| case.rb:82:13:82:13 | x | case.rb:82:20:82:20 | 1 | -| case.rb:82:20:82:20 | 1 | case.rb:82:20:82:20 | 1 | -| case.rb:83:5:83:26 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:12:83:15 | ^... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:83:5:83:26 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:83:5:83:26 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:83:12:83:15 | ^... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:83:12:83:15 | ^... | case.rb:83:12:83:15 | ^... | -| case.rb:83:12:83:15 | ^... | case.rb:83:20:83:25 | string | -| case.rb:83:12:83:15 | ^... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:88:14:88:15 | 10 | -| case.rb:83:12:83:15 | ^... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:89:14:89:17 | self | -| case.rb:83:12:83:15 | ^... | case.rb:89:21:89:24 | true | -| case.rb:83:12:83:15 | ^... | case.rb:89:28:89:32 | false | -| case.rb:83:12:83:15 | ^... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:83:12:83:15 | ^... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:83:12:83:15 | ^... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:83:12:83:15 | ^... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:91:13:91:14 | "" | -| case.rb:83:12:83:15 | ^... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:83:12:83:15 | ^... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:83:20:83:25 | string | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:83:20:83:25 | string | case.rb:83:20:83:25 | string | -| case.rb:83:20:83:25 | string | case.rb:84:5:84:17 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:85:5:85:23 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:86:5:86:11 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:87:5:87:17 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:88:5:88:15 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:88:14:88:15 | 10 | -| case.rb:83:20:83:25 | string | case.rb:89:5:89:69 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:89:14:89:17 | self | -| case.rb:83:20:83:25 | string | case.rb:89:21:89:24 | true | -| case.rb:83:20:83:25 | string | case.rb:89:28:89:32 | false | -| case.rb:83:20:83:25 | string | case.rb:89:36:89:43 | __LINE__ | -| case.rb:83:20:83:25 | string | case.rb:89:47:89:54 | __FILE__ | -| case.rb:83:20:83:25 | string | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:83:20:83:25 | string | case.rb:90:5:90:13 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:91:5:91:25 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:91:13:91:14 | "" | -| case.rb:83:20:83:25 | string | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:83:20:83:25 | string | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:84:5:84:17 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:84:5:84:17 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:84:5:84:17 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:85:5:85:23 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:85:5:85:23 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:85:5:85:23 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:85:8:85:23 | enter -> { ... } | case.rb:85:8:85:23 | enter -> { ... } | -| case.rb:86:5:86:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:86:5:86:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:86:5:86:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:87:5:87:17 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:87:5:87:17 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:87:5:87:17 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:88:5:88:15 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:88:5:88:15 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:88:5:88:15 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:88:14:88:15 | 10 | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:88:14:88:15 | 10 | case.rb:88:14:88:15 | 10 | -| case.rb:88:14:88:15 | 10 | case.rb:89:5:89:69 | in ... then ... | -| case.rb:88:14:88:15 | 10 | case.rb:89:14:89:17 | self | -| case.rb:88:14:88:15 | 10 | case.rb:89:21:89:24 | true | -| case.rb:88:14:88:15 | 10 | case.rb:89:28:89:32 | false | -| case.rb:88:14:88:15 | 10 | case.rb:89:36:89:43 | __LINE__ | -| case.rb:88:14:88:15 | 10 | case.rb:89:47:89:54 | __FILE__ | -| case.rb:88:14:88:15 | 10 | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:88:14:88:15 | 10 | case.rb:90:5:90:13 | in ... then ... | -| case.rb:88:14:88:15 | 10 | case.rb:91:5:91:25 | in ... then ... | -| case.rb:88:14:88:15 | 10 | case.rb:91:13:91:14 | "" | -| case.rb:88:14:88:15 | 10 | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:88:14:88:15 | 10 | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:5:89:69 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:14:89:17 | self | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:21:89:24 | true | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:28:89:32 | false | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:5:89:69 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:14:89:17 | self | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:14:89:17 | self | case.rb:89:14:89:17 | self | -| case.rb:89:14:89:17 | self | case.rb:89:21:89:24 | true | -| case.rb:89:14:89:17 | self | case.rb:89:28:89:32 | false | -| case.rb:89:14:89:17 | self | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:14:89:17 | self | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:14:89:17 | self | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:14:89:17 | self | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:14:89:17 | self | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:14:89:17 | self | case.rb:91:13:91:14 | "" | -| case.rb:89:14:89:17 | self | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:14:89:17 | self | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:21:89:24 | true | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:21:89:24 | true | case.rb:89:21:89:24 | true | -| case.rb:89:21:89:24 | true | case.rb:89:28:89:32 | false | -| case.rb:89:21:89:24 | true | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:21:89:24 | true | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:21:89:24 | true | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:21:89:24 | true | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:21:89:24 | true | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:21:89:24 | true | case.rb:91:13:91:14 | "" | -| case.rb:89:21:89:24 | true | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:21:89:24 | true | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:28:89:32 | false | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:28:89:32 | false | case.rb:89:28:89:32 | false | -| case.rb:89:28:89:32 | false | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:28:89:32 | false | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:28:89:32 | false | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:28:89:32 | false | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:28:89:32 | false | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:28:89:32 | false | case.rb:91:13:91:14 | "" | -| case.rb:89:28:89:32 | false | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:28:89:32 | false | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:36:89:43 | __LINE__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:36:89:43 | __LINE__ | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:13:91:14 | "" | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:47:89:54 | __FILE__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:47:89:54 | __FILE__ | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:13:91:14 | "" | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:90:5:90:13 | in ... then ... | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:5:91:25 | in ... then ... | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:13:91:14 | "" | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:90:5:90:13 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:90:5:90:13 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:91:5:91:25 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:13:91:14 | "" | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:91:13:91:14 | "" | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:91:13:91:14 | "" | case.rb:91:13:91:14 | "" | -| case.rb:91:13:91:14 | "" | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:91:13:91:14 | "" | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | enter case_match_guard_no_else | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:97:13:97:13 | x | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:97:25:97:25 | 6 | -| case.rb:95:1:99:3 | exit case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else | -| case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | -| case.rb:97:13:97:13 | x | case.rb:95:1:99:3 | exit case_match_guard_no_else | -| case.rb:97:13:97:13 | x | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | -| case.rb:97:13:97:13 | x | case.rb:97:13:97:13 | x | -| case.rb:97:13:97:13 | x | case.rb:97:25:97:25 | 6 | -| case.rb:97:25:97:25 | 6 | case.rb:97:25:97:25 | 6 | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:18:14:22:16 | if ... | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:19:19:19:32 | self | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:21:19:21:32 | self | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:18:14:22:16 | if ... | -| cfg.html.erb:19:19:19:32 | self | cfg.html.erb:19:19:19:32 | self | -| cfg.html.erb:21:19:21:32 | self | cfg.html.erb:21:19:21:32 | self | -| cfg.html.erb:29:24:31:10 | enter do ... end | cfg.html.erb:29:24:31:10 | enter do ... end | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:15:42:24 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:21:43:31 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:44:8:44:18 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:20:48:29 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:8:49:8 | b | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:16:49:16 | b | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:27:49:37 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:27:60:31 | hello | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:37:60:39 | bye | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:23:75:23 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:43:75:43 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:113:1:113:9 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:136:12:136:29 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:21:172:29 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:36:172:45 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:174:1:174:9 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:7:176:7 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:17:176:17 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:2:179:13 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:30:179:30 | i | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:182:7:182:7 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:183:3:183:3 | x | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:184:18:184:21 | redo | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:2:188:13 | self | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:30:188:30 | i | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:1:205:3 | nil | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:25:9:25:22 | enter { ... } | cfg.rb:25:9:25:22 | enter { ... } | -| cfg.rb:29:10:29:24 | enter { ... } | cfg.rb:29:10:29:24 | enter { ... } | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:15:42:24 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:21:43:31 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:44:8:44:18 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:20:48:29 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:8:49:8 | b | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:16:49:16 | b | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:27:49:37 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:27:60:31 | hello | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:37:60:39 | bye | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:23:75:23 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:43:75:43 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:113:1:113:9 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:136:12:136:29 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:21:172:29 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:36:172:45 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:174:1:174:9 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:7:176:7 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:17:176:17 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:2:179:13 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:30:179:30 | i | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:182:7:182:7 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:183:3:183:3 | x | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:184:18:184:21 | redo | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:2:188:13 | self | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:30:188:30 | i | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:1:205:3 | nil | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:42:15:42:24 | self | cfg.rb:42:15:42:24 | self | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:21:43:31 | self | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:44:8:44:18 | self | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:44:8:44:18 | self | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:44:8:44:18 | self | -| cfg.rb:43:21:43:31 | self | cfg.rb:43:21:43:31 | self | -| cfg.rb:44:8:44:18 | self | cfg.rb:44:8:44:18 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:48:20:48:29 | self | cfg.rb:48:20:48:29 | self | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:49:3:49:37 | [no-match] when ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:8:49:8 | b | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:16:49:16 | b | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:27:49:37 | self | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:16:49:16 | b | -| cfg.rb:49:27:49:37 | self | cfg.rb:49:27:49:37 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:60:27:60:31 | hello | cfg.rb:60:27:60:31 | hello | -| cfg.rb:60:37:60:39 | bye | cfg.rb:60:37:60:39 | bye | -| cfg.rb:63:3:66:5 | enter pattern | cfg.rb:63:3:66:5 | enter pattern | -| cfg.rb:69:3:71:5 | enter print | cfg.rb:69:3:71:5 | enter print | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:75:15:75:15 | 0 | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:43:75:43 | x | -| cfg.rb:75:35:75:36 | 10 | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:75:43:75:43 | x | cfg.rb:75:43:75:43 | x | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:90:1:93:3 | exit { ... } (normal) | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:3:91:24 | if ... | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:17:91:20 | next | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:90:1:93:3 | exit { ... } (normal) | -| cfg.rb:90:5:90:5 | [false] ! ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | x | -| cfg.rb:91:3:91:24 | if ... | cfg.rb:91:3:91:24 | if ... | -| cfg.rb:91:17:91:20 | next | cfg.rb:91:17:91:20 | next | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:1:104:3 | enter parameters | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:28:101:30 | key | -| cfg.rb:101:24:101:25 | 42 | cfg.rb:101:24:101:25 | 42 | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [match] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:16:5:16:10 | else ... | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:8:15:8 | After x [match] | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:15:8:15:8 | After x [no-match] | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:15:17:15:21 | After ... < ... [false] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:15:17:15:21 | After ... < ... [true] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:16:5:16:10 | else ... | case.rb:16:5:16:10 | else ... | +| case.rb:20:1:24:3 | Entry | case.rb:20:1:24:3 | Entry | +| case.rb:20:1:24:3 | Entry | case.rb:21:3:23:5 | After case ... | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [match] | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [no-match] | +| case.rb:21:3:23:5 | After case ... | case.rb:21:3:23:5 | After case ... | +| case.rb:22:8:22:8 | After 1 [match] | case.rb:22:8:22:8 | After 1 [match] | +| case.rb:22:8:22:8 | After 1 [no-match] | case.rb:22:8:22:8 | After 1 [no-match] | +| case.rb:26:1:30:3 | Entry | case.rb:26:1:30:3 | Entry | +| case.rb:26:1:30:3 | Entry | case.rb:27:3:29:5 | After case ... | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [match] | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [no-match] | +| case.rb:27:3:29:5 | After case ... | case.rb:27:3:29:5 | After case ... | +| case.rb:28:7:28:28 | After -> { ... } [match] | case.rb:28:7:28:28 | After -> { ... } [match] | +| case.rb:28:7:28:28 | After -> { ... } [no-match] | case.rb:28:7:28:28 | After -> { ... } [no-match] | +| case.rb:28:7:28:28 | Entry | case.rb:28:7:28:28 | Entry | +| case.rb:32:1:39:3 | Entry | case.rb:32:1:39:3 | Entry | +| case.rb:32:1:39:3 | Entry | case.rb:33:3:38:5 | After case ... | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [match] | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:32:1:39:3 | Entry | case.rb:35:8:35:10 | After [ ..., * ] [match] | +| case.rb:32:1:39:3 | Entry | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:32:1:39:3 | Entry | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:32:1:39:3 | Entry | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:32:1:39:3 | Entry | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:32:1:39:3 | Entry | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:33:3:38:5 | After case ... | case.rb:33:3:38:5 | After case ... | +| case.rb:34:8:34:9 | After [ ..., * ] [match] | case.rb:34:8:34:9 | After [ ..., * ] [match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:35:8:35:10 | After [ ..., * ] [match] | case.rb:35:8:35:10 | After [ ..., * ] [match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:36:8:36:12 | After [ ..., * ] [match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:37:8:37:26 | After [ ..., * ] [match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:37:8:37:26 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:41:1:45:3 | Entry | case.rb:41:1:45:3 | Entry | +| case.rb:41:1:45:3 | Entry | case.rb:42:3:44:5 | After case ... | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [match] | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | +| case.rb:42:3:44:5 | After case ... | case.rb:42:3:44:5 | After case ... | +| case.rb:43:8:43:21 | After [ *,...,* ] [match] | case.rb:43:8:43:21 | After [ *,...,* ] [match] | +| case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | +| case.rb:47:1:53:3 | Entry | case.rb:47:1:53:3 | Entry | +| case.rb:47:1:53:3 | Entry | case.rb:48:3:52:5 | After case ... | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [match] | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:47:1:53:3 | Entry | case.rb:50:8:50:24 | After { ..., ** } [match] | +| case.rb:47:1:53:3 | Entry | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:47:1:53:3 | Entry | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:47:1:53:3 | Entry | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:48:3:52:5 | After case ... | case.rb:48:3:52:5 | After case ... | +| case.rb:49:8:49:34 | After { ..., ** } [match] | case.rb:49:8:49:34 | After { ..., ** } [match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:50:8:50:24 | After { ..., ** } [match] | case.rb:50:8:50:24 | After { ..., ** } [match] | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:51:8:51:16 | After { ..., ** } [match] | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:51:8:51:16 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:55:1:61:3 | Entry | case.rb:55:1:61:3 | Entry | +| case.rb:55:1:61:3 | Entry | case.rb:56:3:60:5 | After case ... | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [match] | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:55:1:61:3 | Entry | case.rb:58:8:58:10 | After var [match] | +| case.rb:55:1:61:3 | Entry | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:55:1:61:3 | Entry | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:55:1:61:3 | Entry | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:56:3:60:5 | After case ... | case.rb:56:3:60:5 | After case ... | +| case.rb:57:8:57:8 | After 5 [match] | case.rb:57:8:57:8 | After 5 [match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:58:8:58:10 | After var [match] | case.rb:58:8:58:10 | After var [match] | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:59:8:59:20 | After "unreachable" [match] | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:59:8:59:20 | After "unreachable" [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:63:1:67:3 | Entry | case.rb:63:1:67:3 | Entry | +| case.rb:63:1:67:3 | Entry | case.rb:64:3:66:5 | After case ... | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [match] | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [no-match] | +| case.rb:64:3:66:5 | After case ... | case.rb:64:3:66:5 | After case ... | +| case.rb:65:8:65:28 | After ... \| ... [match] | case.rb:65:8:65:28 | After ... \| ... [match] | +| case.rb:65:8:65:28 | After ... \| ... [no-match] | case.rb:65:8:65:28 | After ... \| ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:69:1:93:3 | Entry | +| case.rb:69:1:93:3 | Entry | case.rb:72:3:92:5 | After case ... | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [match] | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:69:1:93:3 | Entry | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:69:1:93:3 | Entry | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:69:1:93:3 | Entry | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:69:1:93:3 | Entry | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:69:1:93:3 | Entry | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:69:1:93:3 | Entry | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:69:1:93:3 | Entry | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:69:1:93:3 | Entry | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:69:1:93:3 | Entry | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:82:15:82:20 | then ... | +| case.rb:69:1:93:3 | Entry | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:69:1:93:3 | Entry | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:69:1:93:3 | Entry | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:69:1:93:3 | Entry | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:69:1:93:3 | Entry | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:69:1:93:3 | Entry | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:69:1:93:3 | Entry | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:69:1:93:3 | Entry | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:69:1:93:3 | Entry | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:69:1:93:3 | Entry | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:72:3:92:5 | After case ... | +| case.rb:73:8:73:8 | After 5 [match] | case.rb:73:8:73:8 | After 5 [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:74:8:74:11 | After ^... [match] | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:75:8:75:15 | After "string" [match] | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:76:8:76:18 | After call to [] [match] | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:77:8:77:18 | After call to [] [match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:82:8:82:13 | After ... => ... [match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:82:15:82:20 | then ... | case.rb:82:15:82:20 | then ... | +| case.rb:83:8:83:26 | After ... \| ... [match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:84:8:84:17 | After Bar [match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:85:8:85:23 | Entry | case.rb:85:8:85:23 | Entry | +| case.rb:86:8:86:11 | After :foo [match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:90:8:90:13 | After ( ... ) [match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:91:8:91:25 | After ( ... ) [match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:91:8:91:25 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:95:1:99:3 | Entry | case.rb:95:1:99:3 | Entry | +| case.rb:95:1:99:3 | Entry | case.rb:96:3:98:5 | After case ... | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [match] | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [no-match] | +| case.rb:95:1:99:3 | Entry | case.rb:97:13:97:18 | After ... == ... [false] | +| case.rb:95:1:99:3 | Entry | case.rb:97:13:97:18 | After ... == ... [true] | +| case.rb:96:3:98:5 | After case ... | case.rb:96:3:98:5 | After case ... | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:8:97:8 | After x [match] | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [false] | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [true] | +| case.rb:97:8:97:8 | After x [no-match] | case.rb:97:8:97:8 | After x [no-match] | +| case.rb:97:13:97:18 | After ... == ... [false] | case.rb:97:13:97:18 | After ... == ... [false] | +| case.rb:97:13:97:18 | After ... == ... [true] | case.rb:97:13:97:18 | After ... == ... [true] | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:5:16:31:12 | Entry | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:14:22:16 | After if ... | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [false] | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [true] | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:18:14:22:16 | After if ... | +| cfg.html.erb:18:17:18:22 | After call to admin? [false] | cfg.html.erb:18:17:18:22 | After call to admin? [false] | +| cfg.html.erb:18:17:18:22 | After call to admin? [true] | cfg.html.erb:18:17:18:22 | After call to admin? [true] | +| cfg.html.erb:29:24:31:10 | Entry | cfg.html.erb:29:24:31:10 | Entry | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:1:1:221:1 | Exceptional Exit | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:1:1:221:1 | Exit | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:25:9:25:22 | Entry | cfg.rb:25:9:25:22 | Entry | +| cfg.rb:29:10:29:24 | Entry | cfg.rb:29:10:29:24 | Entry | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:42:8:42:8 | After 1 [match] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:43:8:43:8 | After 2 [match] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:43:11:43:11 | After 3 [match] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:43:14:43:14 | After 4 [match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:43:14:43:14 | After 4 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:48:8:48:13 | After ... == ... [match] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:49:8:49:13 | After ... == ... [match] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:49:16:49:20 | After ... > ... [match] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:49:16:49:20 | After ... > ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:60:17:60:22 | After ... < ... [false] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:60:17:60:22 | After ... < ... [true] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:63:3:66:5 | Entry | cfg.rb:63:3:66:5 | Entry | +| cfg.rb:69:3:71:5 | Entry | cfg.rb:69:3:71:5 | Entry | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:75:4:75:8 | After ... < ... [true] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:75:23:75:28 | After ... > ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:75:23:75:28 | After ... > ... [true] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:90:1:93:3 | Normal Exit | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [false] | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [true] | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:90:1:93:3 | Normal Exit | +| cfg.rb:90:5:90:5 | After defined? ... [false] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:90:5:90:5 | After defined? ... [true] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:91:6:91:10 | After ... > ... [false] | cfg.rb:91:6:91:10 | After ... > ... [false] | +| cfg.rb:91:6:91:10 | After ... > ... [true] | cfg.rb:91:6:91:10 | After ... > ... [true] | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [match] | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [no-match] | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:28:101:30 | key | +| cfg.rb:101:16:101:20 | After value [match] | cfg.rb:101:16:101:20 | After value [match] | +| cfg.rb:101:16:101:20 | After value [no-match] | cfg.rb:101:16:101:20 | After value [no-match] | | cfg.rb:101:28:101:30 | key | cfg.rb:101:28:101:30 | key | -| cfg.rb:113:1:113:9 | self | cfg.rb:113:1:113:9 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:120:8:120:28 | enter -> { ... } | cfg.rb:120:8:120:28 | enter -> { ... } | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:136:12:136:29 | self | cfg.rb:136:12:136:29 | self | -| cfg.rb:145:3:148:5 | enter print | cfg.rb:145:3:148:5 | enter print | -| cfg.rb:152:1:154:3 | enter method | cfg.rb:152:1:154:3 | enter method | -| cfg.rb:156:1:156:28 | enter two_parameters | cfg.rb:156:1:156:28 | enter two_parameters | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:172:21:172:29 | self | cfg.rb:172:21:172:29 | self | -| cfg.rb:172:36:172:45 | self | cfg.rb:172:36:172:45 | self | -| cfg.rb:174:1:174:9 | self | cfg.rb:174:1:174:9 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:7:176:7 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:17:176:17 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:2:179:13 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:30:179:30 | i | -| cfg.rb:176:7:176:7 | x | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:182:7:182:7 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:183:3:183:3 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:184:18:184:21 | redo | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:2:188:13 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:30:188:30 | i | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:1:205:3 | nil | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:176:17:176:17 | x | cfg.rb:176:17:176:17 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:179:2:179:13 | self | cfg.rb:179:2:179:13 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:2:179:13 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:30:179:30 | i | -| cfg.rb:179:30:179:30 | i | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:182:7:182:7 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:183:3:183:3 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:184:18:184:21 | redo | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:2:188:13 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:30:188:30 | i | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:1:205:3 | nil | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:182:7:182:7 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:183:3:183:3 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:18:184:21 | redo | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:2:188:13 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:30:188:30 | i | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:1:205:3 | nil | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:183:3:183:3 | x | cfg.rb:183:3:183:3 | x | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:18:184:21 | redo | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:184:18:184:21 | redo | cfg.rb:184:18:184:21 | redo | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:188:2:188:13 | self | cfg.rb:188:2:188:13 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:2:188:13 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:30:188:30 | i | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:1:205:3 | nil | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:190:1:192:3 | enter run_block | cfg.rb:190:1:192:3 | enter run_block | -| cfg.rb:194:11:194:23 | enter { ... } | cfg.rb:194:11:194:23 | enter { ... } | -| cfg.rb:196:1:198:3 | enter forward_param | cfg.rb:196:1:198:3 | enter forward_param | -| cfg.rb:200:9:200:32 | enter { ... } | cfg.rb:200:9:200:32 | enter { ... } | -| cfg.rb:202:9:202:35 | enter do ... end | cfg.rb:202:9:202:35 | enter do ... end | -| cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:205:1:205:3 | nil | cfg.rb:205:1:205:3 | nil | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:205:15:205:23 | enter { ... } | cfg.rb:205:15:205:23 | enter { ... } | -| cfg.rb:207:1:211:3 | enter filter_nil | cfg.rb:207:1:211:3 | enter filter_nil | -| cfg.rb:208:15:210:5 | enter do ... end | cfg.rb:208:15:210:5 | enter do ... end | -| cfg.rb:213:14:216:3 | enter do ... end | cfg.rb:213:14:216:3 | enter do ... end | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:19:21:19:23 | 123 | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | -| constant_compound_assign.rb:5:22:5:24 | 123 | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | -| constant_compound_assign.rb:14:18:14:20 | 123 | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | -| constant_compound_assign.rb:19:21:19:23 | 123 | constant_compound_assign.rb:19:21:19:23 | 123 | -| desugar.rb:1:1:3:3 | enter m1 | desugar.rb:1:1:3:3 | enter m1 | -| desugar.rb:1:1:38:17 | enter desugar.rb | desugar.rb:1:1:38:17 | enter desugar.rb | -| desugar.rb:5:1:7:3 | enter m2 | desugar.rb:5:1:7:3 | enter m2 | -| desugar.rb:9:1:11:3 | enter m3 | desugar.rb:9:1:11:3 | enter m3 | -| desugar.rb:13:1:15:3 | enter m4 | desugar.rb:13:1:15:3 | enter m4 | -| desugar.rb:17:1:19:3 | enter m5 | desugar.rb:17:1:19:3 | enter m5 | -| desugar.rb:21:1:23:3 | enter m6 | desugar.rb:21:1:23:3 | enter m6 | -| desugar.rb:25:1:27:3 | enter m7 | desugar.rb:25:1:27:3 | enter m7 | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:1:1:6:3 | exit m1 | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:2:3:4:5 | if ... | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:3:5:3:10 | self | -| exit.rb:1:1:6:3 | exit m1 | exit.rb:1:1:6:3 | exit m1 | -| exit.rb:1:1:13:4 | enter exit.rb | exit.rb:1:1:13:4 | enter exit.rb | -| exit.rb:2:3:4:5 | if ... | exit.rb:2:3:4:5 | if ... | -| exit.rb:3:5:3:10 | self | exit.rb:3:5:3:10 | self | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:8:1:13:3 | enter m2 | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:8:1:13:3 | exit m2 | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:9:3:11:5 | if ... | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:10:5:10:18 | self | -| exit.rb:8:1:13:3 | exit m2 | exit.rb:8:1:13:3 | exit m2 | -| exit.rb:9:3:11:5 | if ... | exit.rb:9:3:11:5 | if ... | -| exit.rb:10:5:10:18 | self | exit.rb:10:5:10:18 | self | -| heredoc.rb:1:1:7:3 | enter double_heredoc | heredoc.rb:1:1:7:3 | enter double_heredoc | -| heredoc.rb:1:1:7:4 | enter heredoc.rb | heredoc.rb:1:1:7:4 | enter heredoc.rb | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:2:3:8:5 | if ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:3:5:3:30 | self | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:3:7:35 | elsif ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:9 | x | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:20:4:20 | x | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:32:4:32 | x | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:5:5:5:17 | self | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:7:5:7:35 | self | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:1:1:58:4 | enter ifs.rb | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:36:1:38:3 | conditional_method_def | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:36:1:38:17 | ... unless ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:2:3:8:5 | if ... | -| ifs.rb:3:5:3:30 | self | ifs.rb:3:5:3:30 | self | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:3:7:35 | elsif ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:3:7:35 | elsif ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:20:4:20 | x | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:9:4:9 | x | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:9:4:9 | x | ifs.rb:7:5:7:35 | self | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:7:5:7:35 | self | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:20:4:20 | x | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:20:4:20 | x | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:32:4:32 | x | ifs.rb:5:5:5:17 | self | -| ifs.rb:5:5:5:17 | self | ifs.rb:5:5:5:17 | self | -| ifs.rb:7:5:7:35 | self | ifs.rb:7:5:7:35 | self | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:11:1:16:3 | exit m2 (normal) | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:12:3:14:5 | if ... | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:13:12:13:12 | 0 | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:11:1:16:3 | exit m2 (normal) | -| ifs.rb:12:3:14:5 | if ... | ifs.rb:12:3:14:5 | if ... | -| ifs.rb:13:12:13:12 | 0 | ifs.rb:13:12:13:12 | 0 | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:18:1:26:3 | enter m3 | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:19:3:24:5 | if ... | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:20:5:20:5 | x | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:21:5:23:7 | if ... | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:22:7:22:7 | x | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:19:3:24:5 | if ... | -| ifs.rb:20:5:20:5 | x | ifs.rb:20:5:20:5 | x | -| ifs.rb:20:5:20:5 | x | ifs.rb:21:5:23:7 | if ... | -| ifs.rb:20:5:20:5 | x | ifs.rb:22:7:22:7 | x | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:21:5:23:7 | if ... | -| ifs.rb:22:7:22:7 | x | ifs.rb:22:7:22:7 | x | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:10:29:51 | ... ? ... : ... | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:16:29:17 | b2 | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:21:29:22 | b3 | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:10:29:51 | ... ? ... : ... | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:16:29:17 | b2 | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:21:29:22 | b3 | -| ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:3:33:100 | if ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:3:33:100 | if ... | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:33:13:33:19 | [false] then ... | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:13:33:19 | [true] then ... | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:30:33:36 | [false] then ... | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:30:33:36 | [true] then ... | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:38:33:44 | [false] else ... | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:38:33:44 | [true] else ... | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:36:1:38:3 | conditional_method_def | ifs.rb:36:1:38:3 | conditional_method_def | -| ifs.rb:36:1:38:3 | enter conditional_method_def | ifs.rb:36:1:38:3 | enter conditional_method_def | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:36:1:38:17 | ... unless ... | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:40:1:44:3 | enter constant_condition | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:3:43:5 | if ... | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:6:41:10 | [false] ! ... | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:41:3:43:5 | if ... | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:3:43:5 | if ... | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:6:41:10 | [false] ! ... | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:47:3:50:5 | if ... | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:48:5:48:15 | self | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:49:3:49:6 | else ... | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:47:3:50:5 | if ... | -| ifs.rb:48:5:48:15 | self | ifs.rb:48:5:48:15 | self | -| ifs.rb:49:3:49:6 | else ... | ifs.rb:49:3:49:6 | else ... | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:3:57:5 | if ... | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:56:5:56:19 | self | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:3:57:5 | if ... | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:56:5:56:19 | self | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:56:5:56:19 | self | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:56:5:56:19 | self | ifs.rb:56:5:56:19 | self | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:1:1:6:3 | enter m1 | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:2:3:5:5 | while ... | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:2:9:2:9 | x | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:3:5:3:10 | self | -| loops.rb:1:1:33:4 | enter loops.rb | loops.rb:1:1:33:4 | enter loops.rb | -| loops.rb:2:3:5:5 | while ... | loops.rb:2:3:5:5 | while ... | -| loops.rb:2:9:2:9 | x | loops.rb:2:3:5:5 | while ... | -| loops.rb:2:9:2:9 | x | loops.rb:2:9:2:9 | x | -| loops.rb:2:9:2:9 | x | loops.rb:3:5:3:10 | self | -| loops.rb:3:5:3:10 | self | loops.rb:3:5:3:10 | self | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:8:1:22:3 | enter m2 | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:9:3:20:5 | while ... | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:9:9:9:9 | x | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:10:5:10:10 | self | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:13:7:13:11 | break | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:14:11:14:11 | x | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:15:7:15:10 | next | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:16:11:16:11 | x | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:17:7:17:10 | redo | -| loops.rb:9:3:20:5 | while ... | loops.rb:9:3:20:5 | while ... | -| loops.rb:9:9:9:9 | x | loops.rb:9:3:20:5 | while ... | -| loops.rb:9:9:9:9 | x | loops.rb:9:9:9:9 | x | -| loops.rb:9:9:9:9 | x | loops.rb:10:5:10:10 | self | -| loops.rb:9:9:9:9 | x | loops.rb:13:7:13:11 | break | -| loops.rb:9:9:9:9 | x | loops.rb:14:11:14:11 | x | -| loops.rb:9:9:9:9 | x | loops.rb:15:7:15:10 | next | -| loops.rb:9:9:9:9 | x | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:9:9:9:9 | x | loops.rb:16:11:16:11 | x | -| loops.rb:9:9:9:9 | x | loops.rb:17:7:17:10 | redo | -| loops.rb:10:5:10:10 | self | loops.rb:10:5:10:10 | self | -| loops.rb:10:5:10:10 | self | loops.rb:13:7:13:11 | break | -| loops.rb:10:5:10:10 | self | loops.rb:14:11:14:11 | x | -| loops.rb:10:5:10:10 | self | loops.rb:15:7:15:10 | next | -| loops.rb:10:5:10:10 | self | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:10:5:10:10 | self | loops.rb:16:11:16:11 | x | -| loops.rb:10:5:10:10 | self | loops.rb:17:7:17:10 | redo | -| loops.rb:13:7:13:11 | break | loops.rb:13:7:13:11 | break | -| loops.rb:14:11:14:11 | x | loops.rb:14:11:14:11 | x | -| loops.rb:14:11:14:11 | x | loops.rb:15:7:15:10 | next | -| loops.rb:14:11:14:11 | x | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:14:11:14:11 | x | loops.rb:16:11:16:11 | x | -| loops.rb:14:11:14:11 | x | loops.rb:17:7:17:10 | redo | -| loops.rb:15:7:15:10 | next | loops.rb:15:7:15:10 | next | -| loops.rb:16:5:17:10 | elsif ... | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:16:11:16:11 | x | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:16:11:16:11 | x | loops.rb:16:11:16:11 | x | -| loops.rb:16:11:16:11 | x | loops.rb:17:7:17:10 | redo | -| loops.rb:17:7:17:10 | redo | loops.rb:17:7:17:10 | redo | -| loops.rb:24:1:28:3 | enter m3 | loops.rb:24:1:28:3 | enter m3 | -| loops.rb:25:16:27:5 | enter do ... end | loops.rb:25:16:27:5 | enter do ... end | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:30:1:33:3 | enter m4 | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:31:3:32:5 | while ... | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:31:9:31:9 | x | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:31:15:32:5 | do ... | -| loops.rb:31:3:32:5 | while ... | loops.rb:31:3:32:5 | while ... | -| loops.rb:31:9:31:9 | x | loops.rb:31:3:32:5 | while ... | -| loops.rb:31:9:31:9 | x | loops.rb:31:9:31:9 | x | -| loops.rb:31:9:31:9 | x | loops.rb:31:15:32:5 | do ... | -| loops.rb:31:15:32:5 | do ... | loops.rb:31:15:32:5 | do ... | -| raise.rb:1:1:182:4 | enter raise.rb | raise.rb:1:1:182:4 | enter raise.rb | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:7:1:12:3 | exit m1 | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:8:3:10:5 | if ... | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:9:5:9:17 | self | -| raise.rb:7:1:12:3 | exit m1 | raise.rb:7:1:12:3 | exit m1 | -| raise.rb:8:3:10:5 | if ... | raise.rb:8:3:10:5 | if ... | -| raise.rb:9:5:9:17 | self | raise.rb:9:5:9:17 | self | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:1:23:3 | exit m2 | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:1:23:3 | exit m2 (abnormal) | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:16:5:18:7 | if ... | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:17:7:17:22 | self | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:20:5:20:18 | self | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:22:3:22:15 | self | -| raise.rb:14:1:23:3 | exit m2 | raise.rb:14:1:23:3 | exit m2 | -| raise.rb:14:1:23:3 | exit m2 (abnormal) | raise.rb:14:1:23:3 | exit m2 (abnormal) | -| raise.rb:16:5:18:7 | if ... | raise.rb:16:5:18:7 | if ... | -| raise.rb:17:7:17:22 | self | raise.rb:14:1:23:3 | exit m2 (abnormal) | -| raise.rb:17:7:17:22 | self | raise.rb:17:7:17:22 | self | -| raise.rb:17:7:17:22 | self | raise.rb:20:5:20:18 | self | -| raise.rb:20:5:20:18 | self | raise.rb:20:5:20:18 | self | -| raise.rb:22:3:22:15 | self | raise.rb:22:3:22:15 | self | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:27:5:29:7 | if ... | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:28:7:28:22 | self | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:33:3:33:15 | self | -| raise.rb:27:5:29:7 | if ... | raise.rb:27:5:29:7 | if ... | -| raise.rb:28:7:28:22 | self | raise.rb:28:7:28:22 | self | -| raise.rb:33:3:33:15 | self | raise.rb:33:3:33:15 | self | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:38:5:40:7 | if ... | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:39:7:39:22 | self | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:44:3:44:15 | self | -| raise.rb:38:5:40:7 | if ... | raise.rb:38:5:40:7 | if ... | -| raise.rb:39:7:39:22 | self | raise.rb:39:7:39:22 | self | -| raise.rb:44:3:44:15 | self | raise.rb:44:3:44:15 | self | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:49:5:51:7 | if ... | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:50:7:50:22 | self | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:54:3:54:15 | self | -| raise.rb:49:5:51:7 | if ... | raise.rb:49:5:51:7 | if ... | -| raise.rb:50:7:50:22 | self | raise.rb:50:7:50:22 | self | -| raise.rb:54:3:54:15 | self | raise.rb:54:3:54:15 | self | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:1:66:3 | exit m6 | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:1:66:3 | exit m6 (abnormal) | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:59:5:61:7 | if ... | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:60:7:60:22 | self | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:62:36:62:36 | e | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:65:3:65:15 | self | -| raise.rb:57:1:66:3 | exit m6 | raise.rb:57:1:66:3 | exit m6 | -| raise.rb:57:1:66:3 | exit m6 (abnormal) | raise.rb:57:1:66:3 | exit m6 (abnormal) | -| raise.rb:59:5:61:7 | if ... | raise.rb:59:5:61:7 | if ... | -| raise.rb:60:7:60:22 | self | raise.rb:57:1:66:3 | exit m6 (abnormal) | -| raise.rb:60:7:60:22 | self | raise.rb:60:7:60:22 | self | -| raise.rb:60:7:60:22 | self | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:60:7:60:22 | self | raise.rb:62:36:62:36 | e | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:57:1:66:3 | exit m6 (abnormal) | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:62:36:62:36 | e | raise.rb:62:36:62:36 | e | -| raise.rb:65:3:65:15 | self | raise.rb:65:3:65:15 | self | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:1:77:3 | exit m7 | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:1:77:3 | exit m7 (normal) | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:70:5:70:17 | self | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:71:9:71:9 | x | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:72:13:72:17 | x < 0 | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:76:3:76:15 | [ensure: exception] self | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:76:3:76:15 | self | -| raise.rb:68:1:77:3 | exit m7 | raise.rb:68:1:77:3 | exit m7 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:68:1:77:3 | exit m7 (normal) | -| raise.rb:70:5:70:17 | self | raise.rb:70:5:70:17 | self | -| raise.rb:71:3:72:18 | elsif ... | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:71:3:72:18 | elsif ... | raise.rb:76:3:76:15 | self | -| raise.rb:71:9:71:9 | x | raise.rb:68:1:77:3 | exit m7 (normal) | -| raise.rb:71:9:71:9 | x | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:71:9:71:9 | x | raise.rb:71:9:71:9 | x | -| raise.rb:71:9:71:9 | x | raise.rb:72:13:72:17 | x < 0 | -| raise.rb:71:9:71:9 | x | raise.rb:76:3:76:15 | self | -| raise.rb:72:13:72:17 | x < 0 | raise.rb:72:13:72:17 | x < 0 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:76:3:76:15 | [ensure: exception] self | -| raise.rb:76:3:76:15 | self | raise.rb:76:3:76:15 | self | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:1:92:3 | exit m8 | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:1:92:3 | exit m8 (normal) | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:83:7:83:19 | self | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:84:11:84:11 | x | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:85:15:85:19 | x < 0 | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:89:5:89:17 | [ensure: exception] self | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:89:5:89:17 | self | -| raise.rb:79:1:92:3 | exit m8 | raise.rb:79:1:92:3 | exit m8 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:79:1:92:3 | exit m8 (normal) | -| raise.rb:83:7:83:19 | self | raise.rb:83:7:83:19 | self | -| raise.rb:84:5:85:20 | elsif ... | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:84:5:85:20 | elsif ... | raise.rb:89:5:89:17 | self | -| raise.rb:84:11:84:11 | x | raise.rb:79:1:92:3 | exit m8 (normal) | -| raise.rb:84:11:84:11 | x | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:84:11:84:11 | x | raise.rb:84:11:84:11 | x | -| raise.rb:84:11:84:11 | x | raise.rb:85:15:85:19 | x < 0 | -| raise.rb:84:11:84:11 | x | raise.rb:89:5:89:17 | self | -| raise.rb:85:15:85:19 | x < 0 | raise.rb:85:15:85:19 | x < 0 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:89:5:89:17 | [ensure: exception] self | -| raise.rb:89:5:89:17 | self | raise.rb:89:5:89:17 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:1:119:3 | exit m9 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:1:119:3 | exit m9 (abnormal) | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:1:119:3 | exit m9 (normal) | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:97:8:97:8 | x | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:98:7:98:19 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:99:11:99:11 | x | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:104:5:104:23 | [ensure: exception] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:104:5:104:23 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:7:108:9 | if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:106:10:106:11 | b1 | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:107:9:107:26 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:115:3:115:22 | [ensure: exception] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:115:3:115:22 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:116:3:118:5 | [ensure: exception] if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:116:3:118:5 | if ... | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:117:5:117:22 | [ensure: exception] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:117:5:117:22 | self | -| raise.rb:94:1:119:3 | exit m9 | raise.rb:94:1:119:3 | exit m9 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:94:1:119:3 | exit m9 (abnormal) | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:94:1:119:3 | exit m9 (normal) | -| raise.rb:97:8:97:8 | x | raise.rb:94:1:119:3 | exit m9 (normal) | -| raise.rb:97:8:97:8 | x | raise.rb:97:8:97:8 | x | -| raise.rb:97:8:97:8 | x | raise.rb:98:7:98:19 | self | -| raise.rb:97:8:97:8 | x | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:97:8:97:8 | x | raise.rb:99:11:99:11 | x | -| raise.rb:97:8:97:8 | x | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:97:8:97:8 | x | raise.rb:104:5:104:23 | [ensure: exception] self | -| raise.rb:97:8:97:8 | x | raise.rb:104:5:104:23 | self | -| raise.rb:97:8:97:8 | x | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:97:8:97:8 | x | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:97:8:97:8 | x | raise.rb:106:7:108:9 | if ... | -| raise.rb:97:8:97:8 | x | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:97:8:97:8 | x | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:97:8:97:8 | x | raise.rb:106:10:106:11 | b1 | -| raise.rb:97:8:97:8 | x | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:97:8:97:8 | x | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:97:8:97:8 | x | raise.rb:107:9:107:26 | self | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:97:8:97:8 | x | raise.rb:115:3:115:22 | self | -| raise.rb:97:8:97:8 | x | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:97:8:97:8 | x | raise.rb:116:3:118:5 | if ... | -| raise.rb:97:8:97:8 | x | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:97:8:97:8 | x | raise.rb:117:5:117:22 | self | -| raise.rb:98:7:98:19 | self | raise.rb:98:7:98:19 | self | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:104:5:104:23 | self | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:106:10:106:11 | b1 | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:107:9:107:26 | self | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:115:3:115:22 | self | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:116:3:118:5 | if ... | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:117:5:117:22 | self | -| raise.rb:99:11:99:11 | x | raise.rb:94:1:119:3 | exit m9 (normal) | -| raise.rb:99:11:99:11 | x | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:99:11:99:11 | x | raise.rb:99:11:99:11 | x | -| raise.rb:99:11:99:11 | x | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:99:11:99:11 | x | raise.rb:104:5:104:23 | self | -| raise.rb:99:11:99:11 | x | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:99:11:99:11 | x | raise.rb:106:7:108:9 | if ... | -| raise.rb:99:11:99:11 | x | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:99:11:99:11 | x | raise.rb:106:10:106:11 | b1 | -| raise.rb:99:11:99:11 | x | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:99:11:99:11 | x | raise.rb:107:9:107:26 | self | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:99:11:99:11 | x | raise.rb:115:3:115:22 | self | -| raise.rb:99:11:99:11 | x | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:99:11:99:11 | x | raise.rb:116:3:118:5 | if ... | -| raise.rb:99:11:99:11 | x | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:99:11:99:11 | x | raise.rb:117:5:117:22 | self | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:104:5:104:23 | [ensure: exception] self | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:104:5:104:23 | self | raise.rb:104:5:104:23 | self | -| raise.rb:104:5:104:23 | self | raise.rb:106:7:108:9 | if ... | -| raise.rb:104:5:104:23 | self | raise.rb:106:10:106:11 | b1 | -| raise.rb:104:5:104:23 | self | raise.rb:107:9:107:26 | self | -| raise.rb:104:5:104:23 | self | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:104:5:104:23 | self | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:104:5:104:23 | self | raise.rb:115:3:115:22 | self | -| raise.rb:104:5:104:23 | self | raise.rb:116:3:118:5 | if ... | -| raise.rb:104:5:104:23 | self | raise.rb:117:5:117:22 | self | -| raise.rb:106:7:108:9 | [ensure: exception] if ... | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:106:7:108:9 | [ensure: exception] if ... | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:106:7:108:9 | if ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:106:7:108:9 | if ... | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:106:7:108:9 | if ... | raise.rb:115:3:115:22 | self | -| raise.rb:106:7:108:9 | if ... | raise.rb:116:3:118:5 | if ... | -| raise.rb:106:7:108:9 | if ... | raise.rb:117:5:117:22 | self | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:7:108:9 | if ... | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:10:106:11 | b1 | -| raise.rb:106:10:106:11 | b1 | raise.rb:107:9:107:26 | self | -| raise.rb:106:10:106:11 | b1 | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:106:10:106:11 | b1 | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:106:10:106:11 | b1 | raise.rb:115:3:115:22 | self | -| raise.rb:106:10:106:11 | b1 | raise.rb:116:3:118:5 | if ... | -| raise.rb:106:10:106:11 | b1 | raise.rb:117:5:117:22 | self | -| raise.rb:107:9:107:26 | [ensure: exception] self | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:107:9:107:26 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:107:9:107:26 | [ensure: return] self | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:107:9:107:26 | [ensure: return] self | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:107:9:107:26 | self | raise.rb:107:9:107:26 | self | -| raise.rb:107:9:107:26 | self | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: exception] ensure ... | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:117:5:117:22 | [ensure: return] self | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:113:14:113:19 | After ... > ... [false] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:113:14:113:19 | After ... > ... [true] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:120:8:120:28 | Entry | cfg.rb:120:8:120:28 | Entry | +| cfg.rb:136:1:136:3 | After ... / ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:136:12:136:29 | Before call to puts | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:145:3:148:5 | Entry | cfg.rb:145:3:148:5 | Entry | +| cfg.rb:152:1:154:3 | Entry | cfg.rb:152:1:154:3 | Entry | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:172:8:172:14 | After ... == ... [false] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:172:8:172:14 | After ... == ... [true] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:174:18:174:23 | After ... == ... [false] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:174:18:174:23 | After ... == ... [true] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:176:7:176:12 | After ... > ... [false] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:179:30:179:36 | After ... == ... [false] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:184:6:184:11 | After ... == ... [true] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:188:30:188:35 | After ... != ... [true] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:190:1:192:3 | Entry | cfg.rb:190:1:192:3 | Entry | +| cfg.rb:194:11:194:23 | Entry | cfg.rb:194:11:194:23 | Entry | +| cfg.rb:196:1:198:3 | Entry | cfg.rb:196:1:198:3 | Entry | +| cfg.rb:200:9:200:32 | Entry | cfg.rb:200:9:200:32 | Entry | +| cfg.rb:202:9:202:35 | Entry | cfg.rb:202:9:202:35 | Entry | +| cfg.rb:205:4:205:5 | After call to == [false] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:205:4:205:5 | After call to == [true] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:205:15:205:23 | Entry | cfg.rb:205:15:205:23 | Entry | +| cfg.rb:207:1:211:3 | Entry | cfg.rb:207:1:211:3 | Entry | +| cfg.rb:208:15:210:5 | Entry | cfg.rb:208:15:210:5 | Entry | +| cfg.rb:213:14:216:3 | Entry | cfg.rb:213:14:216:3 | Entry | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | +| desugar.rb:1:1:3:3 | Entry | desugar.rb:1:1:3:3 | Entry | +| desugar.rb:1:1:38:17 | Entry | desugar.rb:1:1:38:17 | Entry | +| desugar.rb:5:1:7:3 | Entry | desugar.rb:5:1:7:3 | Entry | +| desugar.rb:9:1:11:3 | Entry | desugar.rb:9:1:11:3 | Entry | +| desugar.rb:13:1:15:3 | Entry | desugar.rb:13:1:15:3 | Entry | +| desugar.rb:17:1:19:3 | Entry | desugar.rb:17:1:19:3 | Entry | +| desugar.rb:21:1:23:3 | Entry | desugar.rb:21:1:23:3 | Entry | +| desugar.rb:25:1:27:3 | Entry | desugar.rb:25:1:27:3 | Entry | +| exit.rb:1:1:6:3 | Entry | exit.rb:1:1:6:3 | Entry | +| exit.rb:1:1:6:3 | Entry | exit.rb:1:1:6:3 | Exit | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [false] | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [true] | +| exit.rb:1:1:6:3 | Exit | exit.rb:1:1:6:3 | Exit | +| exit.rb:1:1:13:4 | Entry | exit.rb:1:1:13:4 | Entry | +| exit.rb:2:6:2:10 | After ... > ... [false] | exit.rb:2:6:2:10 | After ... > ... [false] | +| exit.rb:2:6:2:10 | After ... > ... [true] | exit.rb:2:6:2:10 | After ... > ... [true] | +| exit.rb:8:1:13:3 | Entry | exit.rb:8:1:13:3 | Entry | +| exit.rb:8:1:13:3 | Entry | exit.rb:8:1:13:3 | Exit | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [false] | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [true] | +| exit.rb:8:1:13:3 | Exit | exit.rb:8:1:13:3 | Exit | +| exit.rb:9:6:9:10 | After ... > ... [false] | exit.rb:9:6:9:10 | After ... > ... [false] | +| exit.rb:9:6:9:10 | After ... > ... [true] | exit.rb:9:6:9:10 | After ... > ... [true] | +| heredoc.rb:1:1:7:3 | Entry | heredoc.rb:1:1:7:3 | Entry | +| heredoc.rb:1:1:7:4 | Entry | heredoc.rb:1:1:7:4 | Entry | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:3:8:5 | After if ... | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [true] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:3:7:35 | After elsif ... | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:36:1:38:17 | After ... unless ... | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [false] | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [true] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:2:3:8:5 | After if ... | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:3:7:35 | After elsif ... | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:2:6:2:10 | After ... > ... [true] | ifs.rb:2:6:2:10 | After ... > ... [true] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:3:7:35 | After elsif ... | +| ifs.rb:4:9:4:14 | After ... <= ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:4:20:4:24 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:4:32:4:37 | After ... == ... [false] | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:4:32:4:37 | After ... == ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:11:1:16:3 | Normal Exit | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [false] | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [true] | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:11:1:16:3 | Normal Exit | +| ifs.rb:12:6:12:6 | After b [false] | ifs.rb:12:6:12:6 | After b [false] | +| ifs.rb:12:6:12:6 | After b [true] | ifs.rb:12:6:12:6 | After b [true] | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:3:24:5 | After if ... | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [false] | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:5:23:7 | After if ... | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:19:3:24:5 | After if ... | +| ifs.rb:19:6:19:10 | After ... < ... [false] | ifs.rb:19:6:19:10 | After ... < ... [false] | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:5:23:7 | After if ... | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:21:5:23:7 | After if ... | +| ifs.rb:21:8:21:13 | After ... > ... [false] | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:21:8:21:13 | After ... > ... [true] | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:10:29:51 | After ... ? ... : ... | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:10:29:51 | After ... ? ... : ... | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | +| ifs.rb:29:16:29:17 | After b2 [false] | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:29:16:29:17 | After b2 [true] | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:29:21:29:22 | After b3 [false] | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:29:21:29:22 | After b3 [true] | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:3:33:100 | After if ... | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:7:33:48 | After if ... [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:7:33:48 | After if ... [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:3:33:100 | After if ... | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:7:33:48 | After if ... [false] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:7:33:48 | After if ... [true] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:33:18:33:19 | After b2 [false] | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:33:18:33:19 | After b2 [true] | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:35:33:36 | After b4 [false] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:35:33:36 | After b4 [true] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:43:33:44 | After b5 [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:43:33:44 | After b5 [true] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:36:1:38:3 | Entry | ifs.rb:36:1:38:3 | Entry | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:36:1:38:17 | After ... unless ... | +| ifs.rb:38:12:38:17 | After ... == ... [false] | ifs.rb:38:12:38:17 | After ... == ... [false] | +| ifs.rb:38:12:38:17 | After ... == ... [true] | ifs.rb:38:12:38:17 | After ... == ... [true] | +| ifs.rb:40:1:44:3 | Entry | ifs.rb:40:1:44:3 | Entry | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:3:50:5 | After if ... | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [false] | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [true] | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:47:3:50:5 | After if ... | +| ifs.rb:47:6:47:6 | After b [false] | ifs.rb:47:6:47:6 | After b [false] | +| ifs.rb:47:6:47:6 | After b [true] | ifs.rb:47:6:47:6 | After b [true] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:3:57:5 | After if ... | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [false] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [true] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:13:55:14 | After b2 [false] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:13:55:14 | After b2 [true] | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:3:57:5 | After if ... | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:7:55:8 | After b1 [false] | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [false] | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [true] | +| ifs.rb:55:7:55:8 | After b1 [true] | ifs.rb:55:7:55:8 | After b1 [true] | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | +| ifs.rb:55:13:55:14 | After b2 [false] | ifs.rb:55:13:55:14 | After b2 [false] | +| ifs.rb:55:13:55:14 | After b2 [true] | ifs.rb:55:13:55:14 | After b2 [true] | +| loops.rb:1:1:6:3 | Entry | loops.rb:1:1:6:3 | Entry | +| loops.rb:1:1:6:3 | Entry | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:1:1:6:3 | Entry | loops.rb:2:9:2:14 | After ... >= ... [false] | +| loops.rb:1:1:6:3 | Entry | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:1:1:33:4 | Entry | loops.rb:1:1:33:4 | Entry | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [false] | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:9:2:14 | After ... >= ... [false] | +| loops.rb:2:9:2:14 | After ... >= ... [true] | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:8:1:22:3 | Entry | loops.rb:8:1:22:3 | Entry | +| loops.rb:8:1:22:3 | Entry | loops.rb:9:3:20:5 | After while ... | +| loops.rb:8:1:22:3 | Entry | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:8:1:22:3 | Entry | loops.rb:9:9:9:14 | After ... >= ... [false] | +| loops.rb:8:1:22:3 | Entry | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:8:1:22:3 | Entry | loops.rb:9:15:20:5 | do ... | +| loops.rb:8:1:22:3 | Entry | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:8:1:22:3 | Entry | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:8:1:22:3 | Entry | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:8:1:22:3 | Entry | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:8:1:22:3 | Entry | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:8:1:22:3 | Entry | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:3:20:5 | After while ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:3:20:5 | After while ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [false] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:15:20:5 | do ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:9:9:9:14 | After ... >= ... [false] | loops.rb:9:9:9:14 | After ... >= ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:9:15:20:5 | do ... | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:9:15:20:5 | do ... | loops.rb:9:15:20:5 | do ... | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:9:15:20:5 | do ... | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:9:15:20:5 | do ... | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:9:15:20:5 | do ... | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:9:15:20:5 | do ... | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:12:8:12:14 | After ... > ... [true] | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:14:11:14:16 | After ... > ... [true] | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:16:11:16:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:16:11:16:16 | After ... > ... [true] | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:24:1:28:3 | Entry | loops.rb:24:1:28:3 | Entry | +| loops.rb:25:16:27:5 | Entry | loops.rb:25:16:27:5 | Entry | +| loops.rb:30:1:33:3 | Entry | loops.rb:30:1:33:3 | Entry | +| loops.rb:30:1:33:3 | Entry | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| loops.rb:30:1:33:3 | Entry | loops.rb:31:9:31:13 | After ... < ... [false] | +| loops.rb:30:1:33:3 | Entry | loops.rb:31:9:31:13 | After ... < ... [true] | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [false] | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [true] | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:9:31:13 | After ... < ... [false] | +| loops.rb:31:9:31:13 | After ... < ... [true] | loops.rb:31:9:31:13 | After ... < ... [true] | +| raise.rb:1:1:182:4 | Entry | raise.rb:1:1:182:4 | Entry | +| raise.rb:7:1:12:3 | Entry | raise.rb:7:1:12:3 | Entry | +| raise.rb:7:1:12:3 | Entry | raise.rb:7:1:12:3 | Exit | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [false] | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [true] | +| raise.rb:7:1:12:3 | Exit | raise.rb:7:1:12:3 | Exit | +| raise.rb:8:6:8:10 | After ... > ... [false] | raise.rb:8:6:8:10 | After ... > ... [false] | +| raise.rb:8:6:8:10 | After ... > ... [true] | raise.rb:8:6:8:10 | After ... > ... [true] | +| raise.rb:14:1:23:3 | Entry | raise.rb:14:1:23:3 | Entry | +| raise.rb:14:1:23:3 | Entry | raise.rb:14:1:23:3 | Exit | +| raise.rb:14:1:23:3 | Entry | raise.rb:15:3:21:5 | After begin ... | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [false] | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:14:1:23:3 | Entry | raise.rb:19:10:19:19 | After ExceptionA [match] | +| raise.rb:14:1:23:3 | Entry | raise.rb:19:10:19:19 | After ExceptionA [no-match] | +| raise.rb:14:1:23:3 | Exit | raise.rb:14:1:23:3 | Exit | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:15:3:21:5 | After begin ... | +| raise.rb:16:8:16:8 | After b [false] | raise.rb:16:8:16:8 | After b [false] | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [match] | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [no-match] | +| raise.rb:19:10:19:19 | After ExceptionA [match] | raise.rb:19:10:19:19 | After ExceptionA [match] | +| raise.rb:19:10:19:19 | After ExceptionA [no-match] | raise.rb:19:10:19:19 | After ExceptionA [no-match] | +| raise.rb:25:1:34:3 | Entry | raise.rb:25:1:34:3 | Entry | +| raise.rb:25:1:34:3 | Entry | raise.rb:26:3:32:5 | After begin ... | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [false] | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [true] | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:26:3:32:5 | After begin ... | +| raise.rb:27:8:27:8 | After b [false] | raise.rb:27:8:27:8 | After b [false] | +| raise.rb:27:8:27:8 | After b [true] | raise.rb:27:8:27:8 | After b [true] | +| raise.rb:36:1:45:3 | Entry | raise.rb:36:1:45:3 | Entry | +| raise.rb:36:1:45:3 | Entry | raise.rb:37:3:43:5 | After begin ... | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [false] | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [true] | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:37:3:43:5 | After begin ... | +| raise.rb:38:8:38:8 | After b [false] | raise.rb:38:8:38:8 | After b [false] | +| raise.rb:38:8:38:8 | After b [true] | raise.rb:38:8:38:8 | After b [true] | +| raise.rb:47:1:55:3 | Entry | raise.rb:47:1:55:3 | Entry | +| raise.rb:47:1:55:3 | Entry | raise.rb:48:3:53:5 | After begin ... | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [false] | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [true] | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:48:3:53:5 | After begin ... | +| raise.rb:49:8:49:8 | After b [false] | raise.rb:49:8:49:8 | After b [false] | +| raise.rb:49:8:49:8 | After b [true] | raise.rb:49:8:49:8 | After b [true] | +| raise.rb:57:1:66:3 | Entry | raise.rb:57:1:66:3 | Entry | +| raise.rb:57:1:66:3 | Entry | raise.rb:57:1:66:3 | Exit | +| raise.rb:57:1:66:3 | Entry | raise.rb:58:3:64:5 | After begin ... | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [false] | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:57:1:66:3 | Entry | raise.rb:62:10:62:31 | After ..., ... [match] | +| raise.rb:57:1:66:3 | Entry | raise.rb:62:10:62:31 | After ..., ... [no-match] | +| raise.rb:57:1:66:3 | Exit | raise.rb:57:1:66:3 | Exit | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:58:3:64:5 | After begin ... | +| raise.rb:59:8:59:8 | After b [false] | raise.rb:59:8:59:8 | After b [false] | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [match] | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [no-match] | +| raise.rb:62:10:62:31 | After ..., ... [match] | raise.rb:62:10:62:31 | After ..., ... [match] | +| raise.rb:62:10:62:31 | After ..., ... [no-match] | raise.rb:62:10:62:31 | After ..., ... [no-match] | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:1:77:3 | Entry | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:1:77:3 | Exceptional Exit | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:1:77:3 | Exit | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:1:77:3 | Normal Exit | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:3:76:15 | After ... | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [true] | +| raise.rb:68:1:77:3 | Entry | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:68:1:77:3 | Entry | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:68:1:77:3 | Entry | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:68:1:77:3 | Entry | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:68:1:77:3 | Exceptional Exit | raise.rb:68:1:77:3 | Exceptional Exit | +| raise.rb:68:1:77:3 | Exit | raise.rb:68:1:77:3 | Exit | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:68:1:77:3 | Normal Exit | +| raise.rb:69:3:76:15 | After ... | raise.rb:69:3:76:15 | After ... | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:69:6:69:10 | After ... > ... [true] | raise.rb:69:6:69:10 | After ... > ... [true] | +| raise.rb:71:9:71:13 | After ... < ... [false] | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:71:9:71:13 | After ... < ... [false] | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:71:9:71:13 | After ... < ... [true] | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:74:3:74:20 | After call to puts | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | Exceptional Exit | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | Exit | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | Normal Exit | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:69:3:76:15 | After ... | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:1:92:3 | Entry | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:1:92:3 | Exceptional Exit | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:1:92:3 | Exit | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:1:92:3 | Normal Exit | +| raise.rb:79:1:92:3 | Entry | raise.rb:81:3:90:5 | After begin ... | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [true] | +| raise.rb:79:1:92:3 | Entry | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:79:1:92:3 | Entry | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:79:1:92:3 | Entry | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:79:1:92:3 | Entry | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:79:1:92:3 | Exceptional Exit | raise.rb:79:1:92:3 | Exceptional Exit | +| raise.rb:79:1:92:3 | Exit | raise.rb:79:1:92:3 | Exit | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:79:1:92:3 | Normal Exit | +| raise.rb:81:3:90:5 | After begin ... | raise.rb:81:3:90:5 | After begin ... | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:82:8:82:12 | After ... > ... [true] | raise.rb:82:8:82:12 | After ... > ... [true] | +| raise.rb:84:11:84:15 | After ... < ... [false] | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:84:11:84:15 | After ... < ... [false] | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:84:11:84:15 | After ... < ... [true] | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:87:5:87:22 | After call to puts | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:79:1:92:3 | Exceptional Exit | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:79:1:92:3 | Exit | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:79:1:92:3 | Normal Exit | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:81:3:90:5 | After begin ... | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:1:119:3 | Entry | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:1:119:3 | Exceptional Exit | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:1:119:3 | Exit | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:1:119:3 | Normal Exit | +| raise.rb:94:1:119:3 | Entry | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:94:1:119:3 | Entry | raise.rb:95:3:118:5 | After ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:94:1:119:3 | Entry | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:94:1:119:3 | Entry | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:94:1:119:3 | Entry | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:94:1:119:3 | Entry | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:94:1:119:3 | Entry | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:94:1:119:3 | Entry | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:94:1:119:3 | Entry | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:94:1:119:3 | Entry | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:94:1:119:3 | Entry | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:94:1:119:3 | Entry | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:94:1:119:3 | Entry | raise.rb:116:6:116:7 | After b2 [true] | +| raise.rb:94:1:119:3 | Exceptional Exit | raise.rb:94:1:119:3 | Exceptional Exit | +| raise.rb:94:1:119:3 | Exit | raise.rb:94:1:119:3 | Exit | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:94:1:119:3 | Normal Exit | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:95:3:118:5 | After ... | raise.rb:95:3:118:5 | After ... | +| raise.rb:96:3:112:5 | After begin ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:96:3:112:5 | After begin ... | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:97:8:97:12 | After ... > ... [true] | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:99:11:99:15 | After ... < ... [false] | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:99:11:99:15 | After ... < ... [false] | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:99:11:99:15 | After ... < ... [true] | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:102:5:102:22 | After call to puts | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:106:10:106:11 | After b1 [false] | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:106:10:106:11 | After b1 [true] | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:105:5:111:7 | After begin ... | | raise.rb:109:5:110:25 | ensure ... | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:115:3:115:22 | self | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:116:3:118:5 | if ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:117:5:117:22 | self | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:115:3:115:22 | [ensure: exception] self | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:116:3:118:5 | [ensure: exception] if ... | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:117:5:117:22 | [ensure: exception] self | -| raise.rb:115:3:115:22 | self | raise.rb:115:3:115:22 | self | -| raise.rb:115:3:115:22 | self | raise.rb:116:3:118:5 | if ... | -| raise.rb:115:3:115:22 | self | raise.rb:117:5:117:22 | self | -| raise.rb:116:3:118:5 | [ensure: exception] if ... | raise.rb:116:3:118:5 | [ensure: exception] if ... | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:116:3:118:5 | if ... | -| raise.rb:117:5:117:22 | [ensure: exception] self | raise.rb:117:5:117:22 | [ensure: exception] self | -| raise.rb:117:5:117:22 | [ensure: return] self | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:117:5:117:22 | self | raise.rb:117:5:117:22 | self | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:1:126:3 | exit m10 | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:125:3:125:51 | self | -| raise.rb:121:1:126:3 | exit m10 | raise.rb:121:1:126:3 | exit m10 | -| raise.rb:121:14:121:30 | self | raise.rb:121:14:121:30 | self | -| raise.rb:125:3:125:51 | self | raise.rb:125:3:125:51 | self | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:128:1:140:3 | exit m11 | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:130:5:132:7 | if ... | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:131:7:131:22 | self | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:133:3:133:19 | rescue ... | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:135:5:135:21 | self | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:137:5:137:17 | [ensure: exception] self | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:137:5:137:17 | self | -| raise.rb:128:1:140:3 | exit m11 | raise.rb:128:1:140:3 | exit m11 | -| raise.rb:130:5:132:7 | if ... | raise.rb:130:5:132:7 | if ... | -| raise.rb:131:7:131:22 | self | raise.rb:131:7:131:22 | self | -| raise.rb:131:7:131:22 | self | raise.rb:133:3:133:19 | rescue ... | -| raise.rb:131:7:131:22 | self | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:131:7:131:22 | self | raise.rb:135:5:135:21 | self | -| raise.rb:131:7:131:22 | self | raise.rb:137:5:137:17 | [ensure: exception] self | -| raise.rb:133:3:133:19 | rescue ... | raise.rb:133:3:133:19 | rescue ... | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:135:5:135:21 | self | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:137:5:137:17 | [ensure: exception] self | -| raise.rb:135:5:135:21 | self | raise.rb:135:5:135:21 | self | -| raise.rb:137:5:137:17 | [ensure: exception] self | raise.rb:137:5:137:17 | [ensure: exception] self | -| raise.rb:137:5:137:17 | self | raise.rb:137:5:137:17 | self | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:142:1:148:3 | exit m12 (normal) | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:143:3:145:5 | if ... | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:144:5:144:12 | self | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:142:1:148:3 | exit m12 (normal) | -| raise.rb:143:3:145:5 | if ... | raise.rb:143:3:145:5 | if ... | -| raise.rb:144:5:144:12 | self | raise.rb:144:5:144:12 | self | -| raise.rb:150:1:152:3 | enter m13 | raise.rb:150:1:152:3 | enter m13 | -| raise.rb:154:1:156:3 | enter m14 | raise.rb:154:1:156:3 | enter m14 | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:16:155:50 | exit { ... } | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:32 | self | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:48 | ... if ... | -| raise.rb:155:16:155:50 | exit { ... } | raise.rb:155:16:155:50 | exit { ... } | -| raise.rb:155:25:155:32 | self | raise.rb:155:25:155:32 | self | -| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:25:155:48 | ... if ... | -| raise.rb:158:1:164:3 | enter m15 | raise.rb:158:1:164:3 | enter m15 | -| raise.rb:159:7:163:5 | enter do ... end | raise.rb:159:7:163:5 | enter do ... end | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:160:9:162:7 | exit -> { ... } | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:14 | self | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:23 | ... unless ... | -| raise.rb:160:9:162:7 | exit -> { ... } | raise.rb:160:9:162:7 | exit -> { ... } | -| raise.rb:161:7:161:14 | self | raise.rb:161:7:161:14 | self | -| raise.rb:161:7:161:23 | ... unless ... | raise.rb:161:7:161:23 | ... unless ... | -| raise.rb:167:3:169:5 | enter m | raise.rb:167:3:169:5 | enter m | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:1:182:3 | exit m16 | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:1:182:3 | exit m16 (abnormal) | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:1:182:3 | exit m16 (normal) | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:8:174:23 | [true] ... \|\| ... | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:14:174:15 | b2 | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:175:14:175:14 | 1 | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:177:14:177:14 | 2 | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:180:12:180:12 | 3 | -| raise.rb:172:1:182:3 | exit m16 | raise.rb:172:1:182:3 | exit m16 | -| raise.rb:172:1:182:3 | exit m16 (abnormal) | raise.rb:172:1:182:3 | exit m16 (abnormal) | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:172:1:182:3 | exit m16 (normal) | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:177:14:177:14 | 2 | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:174:8:174:23 | [true] ... \|\| ... | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:175:14:175:14 | 1 | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:14:174:15 | b2 | -| raise.rb:174:14:174:15 | b2 | raise.rb:177:14:177:14 | 2 | -| raise.rb:175:14:175:14 | 1 | raise.rb:175:14:175:14 | 1 | -| raise.rb:177:14:177:14 | 2 | raise.rb:177:14:177:14 | 2 | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:172:1:182:3 | exit m16 (abnormal) | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:180:12:180:12 | 3 | -| raise.rb:180:12:180:12 | 3 | raise.rb:180:12:180:12 | 3 | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:113:3:113:15 | After call to puts | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Exceptional Exit | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Exit | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Normal Exit | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:95:3:118:5 | After ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [true] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:94:1:119:3 | Normal Exit | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:95:3:118:5 | After ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:116:6:116:7 | After b2 [true] | raise.rb:116:6:116:7 | After b2 [true] | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:1:126:3 | Entry | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:1:126:3 | Exit | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [match] | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [no-match] | +| raise.rb:121:1:126:3 | Exit | raise.rb:121:1:126:3 | Exit | +| raise.rb:121:9:121:9 | After p [match] | raise.rb:121:9:121:9 | After p [match] | +| raise.rb:121:9:121:9 | After p [no-match] | raise.rb:121:9:121:9 | After p [no-match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:128:1:140:3 | Entry | +| raise.rb:128:1:140:3 | Entry | raise.rb:128:1:140:3 | Exceptional Exit | +| raise.rb:128:1:140:3 | Entry | raise.rb:128:1:140:3 | Exit | +| raise.rb:128:1:140:3 | Entry | raise.rb:129:3:138:5 | After begin ... | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [false] | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:128:1:140:3 | Entry | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:128:1:140:3 | Exceptional Exit | raise.rb:128:1:140:3 | Exceptional Exit | +| raise.rb:128:1:140:3 | Exit | raise.rb:128:1:140:3 | Exit | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:129:3:138:5 | After begin ... | +| raise.rb:130:8:130:8 | After b [false] | raise.rb:130:8:130:8 | After b [false] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:133:10:133:19 | After ExceptionA [match] | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:134:10:134:19 | After ExceptionB [match] | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:134:10:134:19 | After ExceptionB [no-match] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:128:1:140:3 | Exceptional Exit | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:128:1:140:3 | Exit | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:129:3:138:5 | After begin ... | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:142:1:148:3 | Entry | raise.rb:142:1:148:3 | Entry | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [false] | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [true] | +| raise.rb:142:1:148:3 | Entry | raise.rb:146:1:147:10 | ensure ... | +| raise.rb:143:6:143:6 | After b [false] | raise.rb:143:6:143:6 | After b [false] | +| raise.rb:143:6:143:6 | After b [true] | raise.rb:143:6:143:6 | After b [true] | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:146:1:147:10 | ensure ... | +| raise.rb:150:1:152:3 | Entry | raise.rb:150:1:152:3 | Entry | +| raise.rb:154:1:156:3 | Entry | raise.rb:154:1:156:3 | Entry | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:16:155:50 | Entry | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:16:155:50 | Exit | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [false] | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [true] | +| raise.rb:155:16:155:50 | Exit | raise.rb:155:16:155:50 | Exit | +| raise.rb:155:37:155:48 | After call to nil? [false] | raise.rb:155:37:155:48 | After call to nil? [false] | +| raise.rb:155:37:155:48 | After call to nil? [true] | raise.rb:155:37:155:48 | After call to nil? [true] | +| raise.rb:158:1:164:3 | Entry | raise.rb:158:1:164:3 | Entry | +| raise.rb:159:7:163:5 | Entry | raise.rb:159:7:163:5 | Entry | +| raise.rb:160:9:162:7 | Entry | raise.rb:160:9:162:7 | Entry | +| raise.rb:160:9:162:7 | Entry | raise.rb:160:9:162:7 | Exit | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [false] | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [true] | +| raise.rb:160:9:162:7 | Exit | raise.rb:160:9:162:7 | Exit | +| raise.rb:161:23:161:23 | After x [false] | raise.rb:161:23:161:23 | After x [false] | +| raise.rb:161:23:161:23 | After x [true] | raise.rb:161:23:161:23 | After x [true] | +| raise.rb:167:3:169:5 | Entry | raise.rb:167:3:169:5 | Entry | +| raise.rb:172:1:182:3 | Entry | raise.rb:172:1:182:3 | Entry | +| raise.rb:172:1:182:3 | Entry | raise.rb:172:1:182:3 | Exit | +| raise.rb:172:1:182:3 | Entry | raise.rb:172:1:182:3 | Normal Exit | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [true] | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:23 | After ... \|\| ... [true] | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:14:174:23 | After ... == ... [false] | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:10:179:19 | After ExceptionA [no-match] | +| raise.rb:172:1:182:3 | Exit | raise.rb:172:1:182:3 | Exit | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:172:1:182:3 | Normal Exit | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [false] | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:179:10:179:19 | After ExceptionA [no-match] | +| raise.rb:174:8:174:9 | After b1 [true] | raise.rb:174:8:174:9 | After b1 [true] | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | +| raise.rb:174:14:174:23 | After ... == ... [false] | raise.rb:174:14:174:23 | After ... == ... [false] | +| raise.rb:174:14:174:23 | After ... == ... [true] | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [no-match] | +| raise.rb:179:10:179:19 | After ExceptionA [match] | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:179:10:179:19 | After ExceptionA [no-match] | raise.rb:179:10:179:19 | After ExceptionA [no-match] | postDominance -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:1:1:11:3 | exit m1 | break_ensure.rb:1:1:11:3 | exit m1 | -| break_ensure.rb:1:1:56:4 | enter break_ensure.rb | break_ensure.rb:1:1:56:4 | enter break_ensure.rb | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:3:5:5:7 | if ... | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:4:7:4:11 | break | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:3:5:5:7 | if ... | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:4:7:4:11 | break | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:8:3:10:5 | if ... | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:9:5:9:23 | [ensure: exception] self | break_ensure.rb:9:5:9:23 | [ensure: exception] self | -| break_ensure.rb:9:5:9:23 | self | break_ensure.rb:9:5:9:23 | self | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:13:1:25:3 | enter m2 | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:13:1:25:3 | enter m2 | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:3:24:5 | while ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:13:1:25:3 | enter m2 | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:20:7:22:9 | if ... | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:21:9:21:20 | [ensure: break] self | break_ensure.rb:21:9:21:20 | [ensure: break] self | -| break_ensure.rb:21:9:21:20 | [ensure: exception] self | break_ensure.rb:21:9:21:20 | [ensure: exception] self | -| break_ensure.rb:21:9:21:20 | self | break_ensure.rb:21:9:21:20 | self | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:27:1:42:3 | exit m3 | break_ensure.rb:27:1:42:3 | exit m3 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:27:1:42:3 | exit m3 (normal) | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:5:39:7 | while ... | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:33:11:33:11 | [ensure: exception] y | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | -| break_ensure.rb:35:9:37:11 | [ensure: return] if ... | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | -| break_ensure.rb:35:9:37:11 | if ... | break_ensure.rb:35:9:37:11 | if ... | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:36:11:36:15 | [ensure: exception] break | break_ensure.rb:36:11:36:15 | [ensure: exception] break | -| break_ensure.rb:36:11:36:15 | [ensure: return] break | break_ensure.rb:36:11:36:15 | [ensure: return] break | -| break_ensure.rb:36:11:36:15 | break | break_ensure.rb:36:11:36:15 | break | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:44:1:56:3 | enter m4 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:44:1:56:3 | enter m4 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:3:55:5 | while ... | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:44:1:56:3 | enter m4 | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:48:9:48:16 | self | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | -| break_ensure.rb:51:7:53:9 | if ... | break_ensure.rb:51:7:53:9 | if ... | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:48:9:48:16 | self | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:52:15:52:16 | 10 | break_ensure.rb:52:15:52:16 | 10 | -| break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:1:1:99:4 | enter case.rb | case.rb:1:1:99:4 | enter case.rb | -| case.rb:2:3:5:5 | case ... | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:2:3:5:5 | case ... | case.rb:2:3:5:5 | case ... | -| case.rb:2:3:5:5 | case ... | case.rb:3:5:3:42 | [match] when ... | -| case.rb:2:3:5:5 | case ... | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:2:3:5:5 | case ... | case.rb:3:18:3:41 | if ... | -| case.rb:2:3:5:5 | case ... | case.rb:3:21:3:22 | self | -| case.rb:2:3:5:5 | case ... | case.rb:3:29:3:37 | self | -| case.rb:2:3:5:5 | case ... | case.rb:4:5:4:24 | [match] when ... | -| case.rb:2:3:5:5 | case ... | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:2:3:5:5 | case ... | case.rb:4:10:4:10 | 2 | -| case.rb:2:3:5:5 | case ... | case.rb:4:17:4:24 | self | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:5:3:42 | [match] when ... | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:3:18:3:41 | if ... | case.rb:3:5:3:42 | [match] when ... | -| case.rb:3:18:3:41 | if ... | case.rb:3:18:3:41 | if ... | -| case.rb:3:18:3:41 | if ... | case.rb:3:21:3:22 | self | -| case.rb:3:18:3:41 | if ... | case.rb:3:29:3:37 | self | -| case.rb:3:21:3:22 | self | case.rb:3:5:3:42 | [match] when ... | -| case.rb:3:21:3:22 | self | case.rb:3:21:3:22 | self | -| case.rb:3:29:3:37 | self | case.rb:3:29:3:37 | self | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:5:4:24 | [match] when ... | -| case.rb:4:5:4:24 | [no-match] when ... | case.rb:4:5:4:24 | [no-match] when ... | -| case.rb:4:10:4:10 | 2 | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:4:10:4:10 | 2 | case.rb:4:10:4:10 | 2 | -| case.rb:4:17:4:24 | self | case.rb:4:5:4:24 | [match] when ... | -| case.rb:4:17:4:24 | self | case.rb:4:17:4:24 | self | -| case.rb:8:1:18:3 | enter case_match | case.rb:8:1:18:3 | enter case_match | -| case.rb:9:3:17:5 | case ... | case.rb:8:1:18:3 | enter case_match | -| case.rb:9:3:17:5 | case ... | case.rb:9:3:17:5 | case ... | -| case.rb:9:3:17:5 | case ... | case.rb:11:5:11:15 | in ... then ... | -| case.rb:9:3:17:5 | case ... | case.rb:11:15:11:15 | 3 | -| case.rb:9:3:17:5 | case ... | case.rb:12:5:13:7 | in ... then ... | -| case.rb:9:3:17:5 | case ... | case.rb:13:7:13:7 | 4 | -| case.rb:9:3:17:5 | case ... | case.rb:14:5:14:25 | in ... then ... | -| case.rb:9:3:17:5 | case ... | case.rb:14:13:14:13 | x | -| case.rb:9:3:17:5 | case ... | case.rb:14:25:14:25 | 6 | -| case.rb:9:3:17:5 | case ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:9:3:17:5 | case ... | case.rb:15:17:15:17 | x | -| case.rb:9:3:17:5 | case ... | case.rb:15:28:15:28 | 7 | -| case.rb:9:3:17:5 | case ... | case.rb:16:10:16:10 | 8 | -| case.rb:11:5:11:15 | in ... then ... | case.rb:11:5:11:15 | in ... then ... | -| case.rb:11:15:11:15 | 3 | case.rb:11:15:11:15 | 3 | -| case.rb:12:5:13:7 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | -| case.rb:13:7:13:7 | 4 | case.rb:13:7:13:7 | 4 | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | -| case.rb:14:13:14:13 | x | case.rb:14:5:14:25 | in ... then ... | -| case.rb:14:13:14:13 | x | case.rb:14:13:14:13 | x | -| case.rb:14:25:14:25 | 6 | case.rb:14:25:14:25 | 6 | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:1:1:11:3 | Exceptional Exit | break_ensure.rb:1:1:11:3 | Exceptional Exit | +| break_ensure.rb:1:1:11:3 | Exit | break_ensure.rb:1:1:11:3 | Exit | +| break_ensure.rb:1:1:56:4 | Entry | break_ensure.rb:1:1:56:4 | Entry | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:3:10:5 | After ... | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:2:9:2:13 | After ... < ... [false] | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:3:8:3:12 | After ... > ... [false] | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:3:8:3:12 | After ... > ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:2:3:6:5 | After while ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:8:6:8:18 | After call to nil? [false] | break_ensure.rb:8:6:8:18 | After call to nil? [false] | +| break_ensure.rb:8:6:8:18 | After call to nil? [true] | break_ensure.rb:8:6:8:18 | After call to nil? [true] | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:13:1:25:3 | Entry | +| break_ensure.rb:13:1:25:3 | Exceptional Exit | break_ensure.rb:13:1:25:3 | Exceptional Exit | +| break_ensure.rb:13:1:25:3 | Exit | break_ensure.rb:13:1:25:3 | Exit | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:13:1:25:3 | Entry | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:3:24:5 | After while ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:9:14:13 | After ... < ... [false] | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:13:1:25:3 | Entry | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:14:9:14:13 | After ... < ... [false] | break_ensure.rb:14:9:14:13 | After ... < ... [false] | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:15:5:23:7 | After begin ... | break_ensure.rb:15:5:23:7 | After begin ... | +| break_ensure.rb:16:10:16:14 | After ... > ... [false] | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:16:10:16:14 | After ... > ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:20:10:20:15 | After call to nil? [false] | break_ensure.rb:20:10:20:15 | After call to nil? [false] | +| break_ensure.rb:20:10:20:15 | After call to nil? [true] | break_ensure.rb:20:10:20:15 | After call to nil? [true] | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:27:1:42:3 | Exceptional Exit | break_ensure.rb:27:1:42:3 | Exceptional Exit | +| break_ensure.rb:27:1:42:3 | Exit | break_ensure.rb:27:1:42:3 | Exit | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:27:1:42:3 | Normal Exit | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:28:3:40:5 | After begin ... | break_ensure.rb:28:3:40:5 | After begin ... | +| break_ensure.rb:29:8:29:13 | After call to nil? [false] | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:29:8:29:13 | After call to nil? [true] | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:29:8:29:13 | After call to nil? [false] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:29:8:29:13 | After call to nil? [true] | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:33:11:33:15 | After ... < ... [false] | break_ensure.rb:33:11:33:15 | After ... < ... [false] | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:35:12:35:16 | After ... > ... [false] | break_ensure.rb:35:12:35:16 | After ... > ... [false] | +| break_ensure.rb:35:12:35:16 | After ... > ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [true] | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:44:1:56:3 | Entry | +| break_ensure.rb:44:1:56:3 | Exceptional Exit | break_ensure.rb:44:1:56:3 | Exceptional Exit | +| break_ensure.rb:44:1:56:3 | Exit | break_ensure.rb:44:1:56:3 | Exit | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:44:1:56:3 | Entry | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:3:55:5 | After while ... | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:9:45:13 | After ... < ... [false] | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:44:1:56:3 | Entry | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:45:9:45:13 | After ... < ... [false] | break_ensure.rb:45:9:45:13 | After ... < ... [false] | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:46:5:54:7 | After begin ... | break_ensure.rb:46:5:54:7 | After begin ... | +| break_ensure.rb:46:5:54:7 | After begin ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:47:10:47:14 | After ... > ... [false] | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:47:10:47:14 | After ... > ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:47:10:47:14 | After ... > ... [false] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:47:10:47:14 | After ... > ... [true] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:51:10:51:14 | After ... > ... [true] | break_ensure.rb:51:10:51:14 | After ... > ... [true] | +| case.rb:1:1:6:3 | Entry | case.rb:1:1:6:3 | Entry | +| case.rb:1:1:99:4 | Entry | case.rb:1:1:99:4 | Entry | +| case.rb:2:3:5:5 | After case ... | case.rb:1:1:6:3 | Entry | +| case.rb:2:3:5:5 | After case ... | case.rb:2:3:5:5 | After case ... | +| case.rb:2:3:5:5 | After case ... | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:2:3:5:5 | After case ... | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:2:3:5:5 | After case ... | case.rb:3:18:3:41 | After if ... | +| case.rb:2:3:5:5 | After case ... | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:2:3:5:5 | After case ... | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:2:3:5:5 | After case ... | case.rb:4:10:4:10 | After 2 [match] | +| case.rb:2:3:5:5 | After case ... | case.rb:4:10:4:10 | After 2 [no-match] | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:3:18:3:41 | After if ... | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:3:18:3:41 | After if ... | case.rb:3:18:3:41 | After if ... | +| case.rb:3:18:3:41 | After if ... | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:3:18:3:41 | After if ... | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:3:21:3:22 | After call to x2 [false] | case.rb:3:21:3:22 | After call to x2 [false] | +| case.rb:3:21:3:22 | After call to x2 [true] | case.rb:3:21:3:22 | After call to x2 [true] | +| case.rb:4:10:4:10 | After 2 [match] | case.rb:4:10:4:10 | After 2 [match] | +| case.rb:4:10:4:10 | After 2 [no-match] | case.rb:4:10:4:10 | After 2 [no-match] | +| case.rb:8:1:18:3 | Entry | case.rb:8:1:18:3 | Entry | +| case.rb:9:3:17:5 | After case ... | case.rb:8:1:18:3 | Entry | +| case.rb:9:3:17:5 | After case ... | case.rb:9:3:17:5 | After case ... | +| case.rb:9:3:17:5 | After case ... | case.rb:10:8:10:8 | After 0 [match] | +| case.rb:9:3:17:5 | After case ... | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:9:3:17:5 | After case ... | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:11:10:11:15 | then ... | +| case.rb:9:3:17:5 | After case ... | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:9:3:17:5 | After case ... | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:14:8:14:8 | After x [match] | +| case.rb:9:3:17:5 | After case ... | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:9:3:17:5 | After case ... | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:9:3:17:5 | After case ... | case.rb:15:5:15:28 | in ... then ... | +| case.rb:9:3:17:5 | After case ... | case.rb:15:8:15:8 | After x [match] | +| case.rb:9:3:17:5 | After case ... | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:9:3:17:5 | After case ... | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:9:3:17:5 | After case ... | case.rb:16:5:16:10 | else ... | +| case.rb:10:8:10:8 | After 0 [match] | case.rb:10:8:10:8 | After 0 [match] | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:11:8:11:8 | After 1 [match] | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:11:10:11:15 | then ... | case.rb:10:8:10:8 | After 0 [match] | +| case.rb:11:10:11:15 | then ... | case.rb:11:8:11:8 | After 1 [match] | +| case.rb:11:10:11:15 | then ... | case.rb:11:10:11:15 | then ... | +| case.rb:12:8:12:8 | After 2 [match] | case.rb:12:8:12:8 | After 2 [match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:8:14:8 | After x [match] | +| case.rb:14:8:14:8 | After x [no-match] | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:14:13:14:18 | After ... == ... [false] | case.rb:14:13:14:18 | After ... == ... [false] | +| case.rb:14:13:14:18 | After ... == ... [true] | case.rb:14:13:14:18 | After ... == ... [true] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:14:8:14:8 | After x [no-match] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:14:13:14:18 | After ... == ... [false] | | case.rb:15:5:15:28 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | -| case.rb:15:17:15:17 | x | case.rb:15:5:15:28 | in ... then ... | -| case.rb:15:17:15:17 | x | case.rb:15:17:15:17 | x | -| case.rb:15:28:15:28 | 7 | case.rb:15:28:15:28 | 7 | -| case.rb:16:10:16:10 | 8 | case.rb:16:10:16:10 | 8 | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:20:1:24:3 | exit case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match | -| case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | -| case.rb:21:3:23:5 | case ... | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:21:3:23:5 | case ... | case.rb:21:3:23:5 | case ... | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:26:1:30:3 | exit case_match_raise | case.rb:26:1:30:3 | exit case_match_raise | -| case.rb:26:1:30:3 | exit case_match_raise (abnormal) | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | -| case.rb:27:3:29:5 | case ... | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:27:3:29:5 | case ... | case.rb:27:3:29:5 | case ... | -| case.rb:28:7:28:28 | enter -> { ... } | case.rb:28:7:28:28 | enter -> { ... } | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:32:1:39:3 | exit case_match_array | case.rb:32:1:39:3 | exit case_match_array | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:32:1:39:3 | exit case_match_array (abnormal) | -| case.rb:33:3:38:5 | case ... | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:33:3:38:5 | case ... | case.rb:33:3:38:5 | case ... | -| case.rb:33:3:38:5 | case ... | case.rb:35:5:35:11 | in ... then ... | -| case.rb:33:3:38:5 | case ... | case.rb:35:9:35:9 | x | -| case.rb:33:3:38:5 | case ... | case.rb:36:5:36:13 | in ... then ... | -| case.rb:33:3:38:5 | case ... | case.rb:36:9:36:9 | x | -| case.rb:33:3:38:5 | case ... | case.rb:37:5:37:27 | in ... then ... | -| case.rb:33:3:38:5 | case ... | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:33:3:38:5 | case ... | case.rb:37:12:37:12 | a | -| case.rb:33:3:38:5 | case ... | case.rb:37:15:37:15 | b | -| case.rb:33:3:38:5 | case ... | case.rb:37:19:37:19 | c | -| case.rb:33:3:38:5 | case ... | case.rb:37:25:37:25 | e | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:5:35:11 | in ... then ... | -| case.rb:35:9:35:9 | x | case.rb:35:9:35:9 | x | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | -| case.rb:36:9:36:9 | x | case.rb:36:9:36:9 | x | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:12:37:12 | a | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:12:37:12 | a | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:12:37:12 | a | case.rb:37:12:37:12 | a | -| case.rb:37:15:37:15 | b | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:15:37:15 | b | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:15:37:15 | b | case.rb:37:12:37:12 | a | -| case.rb:37:15:37:15 | b | case.rb:37:15:37:15 | b | -| case.rb:37:19:37:19 | c | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:19:37:19 | c | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:19:37:19 | c | case.rb:37:12:37:12 | a | -| case.rb:37:19:37:19 | c | case.rb:37:15:37:15 | b | -| case.rb:37:19:37:19 | c | case.rb:37:19:37:19 | c | -| case.rb:37:25:37:25 | e | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:25:37:25 | e | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:25:37:25 | e | case.rb:37:12:37:12 | a | -| case.rb:37:25:37:25 | e | case.rb:37:15:37:15 | b | -| case.rb:37:25:37:25 | e | case.rb:37:19:37:19 | c | -| case.rb:37:25:37:25 | e | case.rb:37:25:37:25 | e | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:41:1:45:3 | exit case_match_find | case.rb:41:1:45:3 | exit case_match_find | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:41:1:45:3 | exit case_match_find (abnormal) | -| case.rb:43:10:43:10 | x | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:43:10:43:10 | x | case.rb:43:10:43:10 | x | -| case.rb:43:16:43:16 | 2 | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:43:16:43:16 | 2 | case.rb:43:10:43:10 | x | -| case.rb:43:16:43:16 | 2 | case.rb:43:16:43:16 | 2 | -| case.rb:43:20:43:20 | y | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:43:20:43:20 | y | case.rb:43:10:43:10 | x | -| case.rb:43:20:43:20 | y | case.rb:43:16:43:16 | 2 | -| case.rb:43:20:43:20 | y | case.rb:43:20:43:20 | y | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:47:1:53:3 | exit case_match_hash | case.rb:47:1:53:3 | exit case_match_hash | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | -| case.rb:48:3:52:5 | case ... | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:48:3:52:5 | case ... | case.rb:48:3:52:5 | case ... | -| case.rb:48:3:52:5 | case ... | case.rb:49:8:49:34 | { ..., ** } | -| case.rb:48:3:52:5 | case ... | case.rb:49:20:49:20 | 1 | -| case.rb:48:3:52:5 | case ... | case.rb:49:23:49:23 | a | -| case.rb:48:3:52:5 | case ... | case.rb:49:29:49:32 | rest | -| case.rb:48:3:52:5 | case ... | case.rb:50:5:50:25 | in ... then ... | -| case.rb:48:3:52:5 | case ... | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:48:3:52:5 | case ... | case.rb:50:16:50:16 | 1 | -| case.rb:48:3:52:5 | case ... | case.rb:51:5:51:17 | in ... then ... | -| case.rb:48:3:52:5 | case ... | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:8:49:34 | { ..., ** } | -| case.rb:49:20:49:20 | 1 | case.rb:49:20:49:20 | 1 | -| case.rb:49:23:49:23 | a | case.rb:49:23:49:23 | a | -| case.rb:49:29:49:32 | rest | case.rb:49:23:49:23 | a | -| case.rb:49:29:49:32 | rest | case.rb:49:29:49:32 | rest | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:5:50:25 | in ... then ... | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:50:16:50:16 | 1 | case.rb:50:16:50:16 | 1 | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:5:51:17 | in ... then ... | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:51:5:51:17 | in ... then ... | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:51:8:51:16 | { ..., ** } | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:55:1:61:3 | enter case_match_variable | -| case.rb:56:3:60:5 | case ... | case.rb:55:1:61:3 | enter case_match_variable | -| case.rb:56:3:60:5 | case ... | case.rb:56:3:60:5 | case ... | -| case.rb:56:3:60:5 | case ... | case.rb:58:5:58:10 | in ... then ... | -| case.rb:58:5:58:10 | in ... then ... | case.rb:58:5:58:10 | in ... then ... | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:63:1:67:3 | enter case_match_underscore | -| case.rb:64:3:66:5 | case ... | case.rb:63:1:67:3 | enter case_match_underscore | -| case.rb:64:3:66:5 | case ... | case.rb:64:3:66:5 | case ... | -| case.rb:64:3:66:5 | case ... | case.rb:65:12:65:12 | _ | -| case.rb:65:12:65:12 | _ | case.rb:65:12:65:12 | _ | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:69:1:93:3 | exit case_match_various | case.rb:69:1:93:3 | exit case_match_various | -| case.rb:69:1:93:3 | exit case_match_various (abnormal) | case.rb:69:1:93:3 | exit case_match_various (abnormal) | -| case.rb:72:3:92:5 | case ... | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:72:3:92:5 | case ... | case.rb:72:3:92:5 | case ... | -| case.rb:72:3:92:5 | case ... | case.rb:74:5:74:11 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:75:5:75:15 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:82:13:82:13 | x | -| case.rb:72:3:92:5 | case ... | case.rb:82:20:82:20 | 1 | -| case.rb:72:3:92:5 | case ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:83:12:83:15 | ^... | -| case.rb:72:3:92:5 | case ... | case.rb:83:20:83:25 | string | -| case.rb:72:3:92:5 | case ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:88:14:88:15 | 10 | -| case.rb:72:3:92:5 | case ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:89:14:89:17 | self | -| case.rb:72:3:92:5 | case ... | case.rb:89:21:89:24 | true | -| case.rb:72:3:92:5 | case ... | case.rb:89:28:89:32 | false | -| case.rb:72:3:92:5 | case ... | case.rb:89:36:89:43 | __LINE__ | -| case.rb:72:3:92:5 | case ... | case.rb:89:47:89:54 | __FILE__ | -| case.rb:72:3:92:5 | case ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:72:3:92:5 | case ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:72:3:92:5 | case ... | case.rb:91:13:91:14 | "" | -| case.rb:72:3:92:5 | case ... | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:72:3:92:5 | case ... | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:74:5:74:11 | in ... then ... | case.rb:74:5:74:11 | in ... then ... | -| case.rb:75:5:75:15 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:82:13:82:13 | x | case.rb:82:13:82:13 | x | -| case.rb:82:20:82:20 | 1 | case.rb:82:13:82:13 | x | -| case.rb:82:20:82:20 | 1 | case.rb:82:20:82:20 | 1 | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:83:12:83:15 | ^... | -| case.rb:83:20:83:25 | string | case.rb:83:20:83:25 | string | -| case.rb:84:5:84:17 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:85:5:85:23 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:85:8:85:23 | enter -> { ... } | case.rb:85:8:85:23 | enter -> { ... } | -| case.rb:86:5:86:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | -| case.rb:88:14:88:15 | 10 | case.rb:88:14:88:15 | 10 | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | -| case.rb:89:14:89:17 | self | case.rb:89:14:89:17 | self | -| case.rb:89:21:89:24 | true | case.rb:89:21:89:24 | true | -| case.rb:89:28:89:32 | false | case.rb:89:28:89:32 | false | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:47:89:54 | __FILE__ | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:90:5:90:13 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | -| case.rb:91:13:91:14 | "" | case.rb:91:13:91:14 | "" | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | enter case_match_guard_no_else | -| case.rb:95:1:99:3 | exit case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else | -| case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | -| case.rb:97:13:97:13 | x | case.rb:95:1:99:3 | enter case_match_guard_no_else | -| case.rb:97:13:97:13 | x | case.rb:97:13:97:13 | x | -| case.rb:97:25:97:25 | 6 | case.rb:95:1:99:3 | enter case_match_guard_no_else | -| case.rb:97:25:97:25 | 6 | case.rb:97:13:97:13 | x | -| case.rb:97:25:97:25 | 6 | case.rb:97:25:97:25 | 6 | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:18:14:22:16 | if ... | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:19:19:19:32 | self | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:21:19:21:32 | self | -| cfg.html.erb:19:19:19:32 | self | cfg.html.erb:19:19:19:32 | self | -| cfg.html.erb:21:19:21:32 | self | cfg.html.erb:21:19:21:32 | self | -| cfg.html.erb:29:24:31:10 | enter do ... end | cfg.html.erb:29:24:31:10 | enter do ... end | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:25:9:25:22 | enter { ... } | cfg.rb:25:9:25:22 | enter { ... } | -| cfg.rb:29:10:29:24 | enter { ... } | cfg.rb:29:10:29:24 | enter { ... } | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:42:15:42:24 | self | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:42:15:42:24 | self | cfg.rb:42:15:42:24 | self | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:43:21:43:31 | self | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:43:21:43:31 | self | cfg.rb:43:21:43:31 | self | -| cfg.rb:44:8:44:18 | self | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:44:8:44:18 | self | cfg.rb:44:8:44:18 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:48:20:48:29 | self | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:48:20:48:29 | self | cfg.rb:48:20:48:29 | self | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:49:3:49:37 | [no-match] when ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:49:8:49:8 | b | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:8:49:8 | b | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:16:49:16 | b | -| cfg.rb:49:27:49:37 | self | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:49:27:49:37 | self | cfg.rb:49:27:49:37 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:60:27:60:31 | hello | cfg.rb:60:27:60:31 | hello | -| cfg.rb:60:37:60:39 | bye | cfg.rb:60:37:60:39 | bye | -| cfg.rb:63:3:66:5 | enter pattern | cfg.rb:63:3:66:5 | enter pattern | -| cfg.rb:69:3:71:5 | enter print | cfg.rb:69:3:71:5 | enter print | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:75:15:75:15 | 0 | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:35:75:36 | 10 | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:75:43:75:43 | x | cfg.rb:75:43:75:43 | x | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:90:1:93:3 | exit { ... } (normal) | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:91:3:91:24 | if ... | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:91:17:91:20 | next | -| cfg.rb:90:5:90:5 | [false] ! ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | x | -| cfg.rb:91:3:91:24 | if ... | cfg.rb:91:3:91:24 | if ... | -| cfg.rb:91:17:91:20 | next | cfg.rb:91:17:91:20 | next | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:1:104:3 | enter parameters | -| cfg.rb:101:24:101:25 | 42 | cfg.rb:101:24:101:25 | 42 | -| cfg.rb:101:28:101:30 | key | cfg.rb:101:1:104:3 | enter parameters | -| cfg.rb:101:28:101:30 | key | cfg.rb:101:24:101:25 | 42 | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:8:15:8 | After x [match] | +| case.rb:15:8:15:8 | After x [no-match] | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:15:17:15:21 | After ... < ... [false] | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:15:17:15:21 | After ... < ... [true] | case.rb:15:17:15:21 | After ... < ... [true] | +| case.rb:16:5:16:10 | else ... | case.rb:15:8:15:8 | After x [no-match] | +| case.rb:16:5:16:10 | else ... | case.rb:15:17:15:21 | After ... < ... [false] | +| case.rb:16:5:16:10 | else ... | case.rb:16:5:16:10 | else ... | +| case.rb:20:1:24:3 | Entry | case.rb:20:1:24:3 | Entry | +| case.rb:21:3:23:5 | After case ... | case.rb:20:1:24:3 | Entry | +| case.rb:21:3:23:5 | After case ... | case.rb:21:3:23:5 | After case ... | +| case.rb:21:3:23:5 | After case ... | case.rb:22:8:22:8 | After 1 [match] | +| case.rb:21:3:23:5 | After case ... | case.rb:22:8:22:8 | After 1 [no-match] | +| case.rb:22:8:22:8 | After 1 [match] | case.rb:22:8:22:8 | After 1 [match] | +| case.rb:22:8:22:8 | After 1 [no-match] | case.rb:22:8:22:8 | After 1 [no-match] | +| case.rb:26:1:30:3 | Entry | case.rb:26:1:30:3 | Entry | +| case.rb:27:3:29:5 | After case ... | case.rb:26:1:30:3 | Entry | +| case.rb:27:3:29:5 | After case ... | case.rb:27:3:29:5 | After case ... | +| case.rb:27:3:29:5 | After case ... | case.rb:28:7:28:28 | After -> { ... } [match] | +| case.rb:27:3:29:5 | After case ... | case.rb:28:7:28:28 | After -> { ... } [no-match] | +| case.rb:28:7:28:28 | After -> { ... } [match] | case.rb:28:7:28:28 | After -> { ... } [match] | +| case.rb:28:7:28:28 | After -> { ... } [no-match] | case.rb:28:7:28:28 | After -> { ... } [no-match] | +| case.rb:28:7:28:28 | Entry | case.rb:28:7:28:28 | Entry | +| case.rb:32:1:39:3 | Entry | case.rb:32:1:39:3 | Entry | +| case.rb:33:3:38:5 | After case ... | case.rb:32:1:39:3 | Entry | +| case.rb:33:3:38:5 | After case ... | case.rb:33:3:38:5 | After case ... | +| case.rb:33:3:38:5 | After case ... | case.rb:34:8:34:9 | After [ ..., * ] [match] | +| case.rb:33:3:38:5 | After case ... | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:33:3:38:5 | After case ... | case.rb:35:8:35:10 | After [ ..., * ] [match] | +| case.rb:33:3:38:5 | After case ... | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:33:3:38:5 | After case ... | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:33:3:38:5 | After case ... | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:33:3:38:5 | After case ... | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:33:3:38:5 | After case ... | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:34:8:34:9 | After [ ..., * ] [match] | case.rb:34:8:34:9 | After [ ..., * ] [match] | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:35:8:35:10 | After [ ..., * ] [match] | case.rb:35:8:35:10 | After [ ..., * ] [match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:36:8:36:12 | After [ ..., * ] [match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:37:8:37:26 | After [ ..., * ] [match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | +| case.rb:37:8:37:26 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | +| case.rb:41:1:45:3 | Entry | case.rb:41:1:45:3 | Entry | +| case.rb:42:3:44:5 | After case ... | case.rb:41:1:45:3 | Entry | +| case.rb:42:3:44:5 | After case ... | case.rb:42:3:44:5 | After case ... | +| case.rb:42:3:44:5 | After case ... | case.rb:43:8:43:21 | After [ *,...,* ] [match] | +| case.rb:42:3:44:5 | After case ... | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | +| case.rb:43:8:43:21 | After [ *,...,* ] [match] | case.rb:43:8:43:21 | After [ *,...,* ] [match] | +| case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | +| case.rb:47:1:53:3 | Entry | case.rb:47:1:53:3 | Entry | +| case.rb:48:3:52:5 | After case ... | case.rb:47:1:53:3 | Entry | +| case.rb:48:3:52:5 | After case ... | case.rb:48:3:52:5 | After case ... | +| case.rb:48:3:52:5 | After case ... | case.rb:49:8:49:34 | After { ..., ** } [match] | +| case.rb:48:3:52:5 | After case ... | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:48:3:52:5 | After case ... | case.rb:50:8:50:24 | After { ..., ** } [match] | +| case.rb:48:3:52:5 | After case ... | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:48:3:52:5 | After case ... | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:48:3:52:5 | After case ... | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:49:8:49:34 | After { ..., ** } [match] | case.rb:49:8:49:34 | After { ..., ** } [match] | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:50:8:50:24 | After { ..., ** } [match] | case.rb:50:8:50:24 | After { ..., ** } [match] | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:51:8:51:16 | After { ..., ** } [match] | case.rb:51:8:51:16 | After { ..., ** } [match] | +| case.rb:51:8:51:16 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | +| case.rb:55:1:61:3 | Entry | case.rb:55:1:61:3 | Entry | +| case.rb:56:3:60:5 | After case ... | case.rb:55:1:61:3 | Entry | +| case.rb:56:3:60:5 | After case ... | case.rb:56:3:60:5 | After case ... | +| case.rb:56:3:60:5 | After case ... | case.rb:57:8:57:8 | After 5 [match] | +| case.rb:56:3:60:5 | After case ... | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:56:3:60:5 | After case ... | case.rb:58:8:58:10 | After var [match] | +| case.rb:56:3:60:5 | After case ... | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:56:3:60:5 | After case ... | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:56:3:60:5 | After case ... | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:57:8:57:8 | After 5 [match] | case.rb:57:8:57:8 | After 5 [match] | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:58:8:58:10 | After var [match] | case.rb:58:8:58:10 | After var [match] | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:59:8:59:20 | After "unreachable" [match] | case.rb:59:8:59:20 | After "unreachable" [match] | +| case.rb:59:8:59:20 | After "unreachable" [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | +| case.rb:63:1:67:3 | Entry | case.rb:63:1:67:3 | Entry | +| case.rb:64:3:66:5 | After case ... | case.rb:63:1:67:3 | Entry | +| case.rb:64:3:66:5 | After case ... | case.rb:64:3:66:5 | After case ... | +| case.rb:64:3:66:5 | After case ... | case.rb:65:8:65:28 | After ... \| ... [match] | +| case.rb:64:3:66:5 | After case ... | case.rb:65:8:65:28 | After ... \| ... [no-match] | +| case.rb:65:8:65:28 | After ... \| ... [match] | case.rb:65:8:65:28 | After ... \| ... [match] | +| case.rb:65:8:65:28 | After ... \| ... [no-match] | case.rb:65:8:65:28 | After ... \| ... [no-match] | +| case.rb:69:1:93:3 | Entry | case.rb:69:1:93:3 | Entry | +| case.rb:72:3:92:5 | After case ... | case.rb:69:1:93:3 | Entry | +| case.rb:72:3:92:5 | After case ... | case.rb:72:3:92:5 | After case ... | +| case.rb:72:3:92:5 | After case ... | case.rb:73:8:73:8 | After 5 [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:82:15:82:20 | then ... | +| case.rb:72:3:92:5 | After case ... | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:72:3:92:5 | After case ... | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:72:3:92:5 | After case ... | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:73:8:73:8 | After 5 [match] | case.rb:73:8:73:8 | After 5 [match] | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:74:8:74:11 | After ^... [match] | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:75:8:75:15 | After "string" [match] | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:76:8:76:18 | After call to [] [match] | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:77:8:77:18 | After call to [] [match] | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [match] | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [match] | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [match] | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:82:8:82:13 | After ... => ... [match] | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:82:15:82:20 | then ... | case.rb:73:8:73:8 | After 5 [match] | +| case.rb:82:15:82:20 | then ... | case.rb:74:8:74:11 | After ^... [match] | +| case.rb:82:15:82:20 | then ... | case.rb:75:8:75:15 | After "string" [match] | +| case.rb:82:15:82:20 | then ... | case.rb:76:8:76:18 | After call to [] [match] | +| case.rb:82:15:82:20 | then ... | case.rb:77:8:77:18 | After call to [] [match] | +| case.rb:82:15:82:20 | then ... | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | +| case.rb:82:15:82:20 | then ... | case.rb:79:8:79:14 | After _ .. _ [match] | +| case.rb:82:15:82:20 | then ... | case.rb:80:8:80:12 | After _ .. _ [match] | +| case.rb:82:15:82:20 | then ... | case.rb:81:8:81:11 | After _ .. _ [match] | +| case.rb:82:15:82:20 | then ... | case.rb:82:8:82:13 | After ... => ... [match] | +| case.rb:82:15:82:20 | then ... | case.rb:82:15:82:20 | then ... | +| case.rb:83:8:83:26 | After ... \| ... [match] | case.rb:83:8:83:26 | After ... \| ... [match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:84:8:84:17 | After Bar [match] | case.rb:84:8:84:17 | After Bar [match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [match] | case.rb:85:8:85:23 | After -> { ... } [match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:85:8:85:23 | Entry | case.rb:85:8:85:23 | Entry | +| case.rb:86:8:86:11 | After :foo [match] | case.rb:86:8:86:11 | After :foo [match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [match] | case.rb:87:8:87:17 | After :"foo bar" [match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [match] | case.rb:88:8:88:15 | After ... \| ... [match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [match] | case.rb:89:8:89:69 | After ... \| ... [match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:90:8:90:13 | After ( ... ) [match] | case.rb:90:8:90:13 | After ( ... ) [match] | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:91:8:91:25 | After ( ... ) [match] | case.rb:91:8:91:25 | After ( ... ) [match] | +| case.rb:91:8:91:25 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | +| case.rb:95:1:99:3 | Entry | case.rb:95:1:99:3 | Entry | +| case.rb:96:3:98:5 | After case ... | case.rb:95:1:99:3 | Entry | +| case.rb:96:3:98:5 | After case ... | case.rb:96:3:98:5 | After case ... | +| case.rb:96:3:98:5 | After case ... | case.rb:97:8:97:8 | After x [match] | +| case.rb:96:3:98:5 | After case ... | case.rb:97:8:97:8 | After x [no-match] | +| case.rb:96:3:98:5 | After case ... | case.rb:97:13:97:18 | After ... == ... [false] | +| case.rb:96:3:98:5 | After case ... | case.rb:97:13:97:18 | After ... == ... [true] | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:8:97:8 | After x [match] | +| case.rb:97:8:97:8 | After x [no-match] | case.rb:97:8:97:8 | After x [no-match] | +| case.rb:97:13:97:18 | After ... == ... [false] | case.rb:97:13:97:18 | After ... == ... [false] | +| case.rb:97:13:97:18 | After ... == ... [true] | case.rb:97:13:97:18 | After ... == ... [true] | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:5:16:31:12 | Entry | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:5:16:31:12 | Entry | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:18:14:22:16 | After if ... | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:18:17:18:22 | After call to admin? [false] | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:18:17:18:22 | After call to admin? [true] | +| cfg.html.erb:18:17:18:22 | After call to admin? [false] | cfg.html.erb:18:17:18:22 | After call to admin? [false] | +| cfg.html.erb:18:17:18:22 | After call to admin? [true] | cfg.html.erb:18:17:18:22 | After call to admin? [true] | +| cfg.html.erb:29:24:31:10 | Entry | cfg.html.erb:29:24:31:10 | Entry | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:1:1:221:1 | Exceptional Exit | cfg.rb:1:1:221:1 | Exceptional Exit | +| cfg.rb:1:1:221:1 | Exit | cfg.rb:1:1:221:1 | Exit | +| cfg.rb:25:9:25:22 | Entry | cfg.rb:25:9:25:22 | Entry | +| cfg.rb:29:10:29:24 | Entry | cfg.rb:29:10:29:24 | Entry | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:42:8:42:8 | After 1 [match] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:43:8:43:8 | After 2 [match] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:43:11:43:11 | After 3 [match] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:43:14:43:14 | After 4 [match] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:43:14:43:14 | After 4 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:48:8:48:13 | After ... == ... [match] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:49:8:49:13 | After ... == ... [match] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:49:16:49:20 | After ... > ... [match] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:49:16:49:20 | After ... > ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:60:17:60:22 | After ... < ... [false] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:60:17:60:22 | After ... < ... [true] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:63:3:66:5 | Entry | cfg.rb:63:3:66:5 | Entry | +| cfg.rb:69:3:71:5 | Entry | cfg.rb:69:3:71:5 | Entry | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:4:75:8 | After ... < ... [true] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:75:23:75:28 | After ... > ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:75:23:75:28 | After ... > ... [true] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:90:1:93:3 | Normal Exit | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:91:6:91:10 | After ... > ... [false] | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:91:6:91:10 | After ... > ... [true] | +| cfg.rb:90:5:90:5 | After defined? ... [false] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:90:5:90:5 | After defined? ... [true] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:91:6:91:10 | After ... > ... [false] | cfg.rb:91:6:91:10 | After ... > ... [false] | +| cfg.rb:91:6:91:10 | After ... > ... [true] | cfg.rb:91:6:91:10 | After ... > ... [true] | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:101:16:101:20 | After value [match] | cfg.rb:101:16:101:20 | After value [match] | +| cfg.rb:101:16:101:20 | After value [no-match] | cfg.rb:101:16:101:20 | After value [no-match] | +| cfg.rb:101:28:101:30 | key | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:101:28:101:30 | key | cfg.rb:101:16:101:20 | After value [match] | +| cfg.rb:101:28:101:30 | key | cfg.rb:101:16:101:20 | After value [no-match] | | cfg.rb:101:28:101:30 | key | cfg.rb:101:28:101:30 | key | -| cfg.rb:113:1:113:9 | self | cfg.rb:113:1:113:9 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:120:8:120:28 | enter -> { ... } | cfg.rb:120:8:120:28 | enter -> { ... } | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:136:12:136:29 | self | cfg.rb:136:12:136:29 | self | -| cfg.rb:145:3:148:5 | enter print | cfg.rb:145:3:148:5 | enter print | -| cfg.rb:152:1:154:3 | enter method | cfg.rb:152:1:154:3 | enter method | -| cfg.rb:156:1:156:28 | enter two_parameters | cfg.rb:156:1:156:28 | enter two_parameters | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:172:21:172:29 | self | cfg.rb:172:21:172:29 | self | -| cfg.rb:172:36:172:45 | self | cfg.rb:172:36:172:45 | self | -| cfg.rb:174:1:174:9 | self | cfg.rb:174:1:174:9 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:176:7:176:7 | x | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:176:7:176:7 | x | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:42:15:42:24 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:176:7:176:7 | x | cfg.rb:43:21:43:31 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:44:8:44:18 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:48:20:48:29 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:49:8:49:8 | b | -| cfg.rb:176:7:176:7 | x | cfg.rb:49:16:49:16 | b | -| cfg.rb:176:7:176:7 | x | cfg.rb:49:27:49:37 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:60:27:60:31 | hello | -| cfg.rb:176:7:176:7 | x | cfg.rb:60:37:60:39 | bye | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:23:75:23 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:176:7:176:7 | x | cfg.rb:75:43:75:43 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:90:5:90:5 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:113:1:113:9 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:136:12:136:29 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:172:21:172:29 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:172:36:172:45 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:174:1:174:9 | self | -| cfg.rb:176:7:176:7 | x | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:7:176:7 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:17:176:17 | x | -| cfg.rb:176:17:176:17 | x | cfg.rb:176:17:176:17 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:179:2:179:13 | self | cfg.rb:179:2:179:13 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:179:30:179:30 | i | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:179:30:179:30 | i | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:42:15:42:24 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:179:30:179:30 | i | cfg.rb:43:21:43:31 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:44:8:44:18 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:48:20:48:29 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:49:8:49:8 | b | -| cfg.rb:179:30:179:30 | i | cfg.rb:49:16:49:16 | b | -| cfg.rb:179:30:179:30 | i | cfg.rb:49:27:49:37 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:60:27:60:31 | hello | -| cfg.rb:179:30:179:30 | i | cfg.rb:60:37:60:39 | bye | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:23:75:23 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:179:30:179:30 | i | cfg.rb:75:43:75:43 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:90:5:90:5 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:113:1:113:9 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:136:12:136:29 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:172:21:172:29 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:172:36:172:45 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:174:1:174:9 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:179:30:179:30 | i | cfg.rb:176:7:176:7 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:176:17:176:17 | x | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:2:179:13 | self | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:30:179:30 | i | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:182:7:182:7 | x | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:182:7:182:7 | x | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:182:7:182:7 | x | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:42:15:42:24 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:182:7:182:7 | x | cfg.rb:43:21:43:31 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:44:8:44:18 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:48:20:48:29 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:49:8:49:8 | b | -| cfg.rb:182:7:182:7 | x | cfg.rb:49:16:49:16 | b | -| cfg.rb:182:7:182:7 | x | cfg.rb:49:27:49:37 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:60:27:60:31 | hello | -| cfg.rb:182:7:182:7 | x | cfg.rb:60:37:60:39 | bye | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:23:75:23 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:182:7:182:7 | x | cfg.rb:75:43:75:43 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:90:5:90:5 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:113:1:113:9 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:136:12:136:29 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:172:21:172:29 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:172:36:172:45 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:174:1:174:9 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:176:7:176:7 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:176:17:176:17 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:179:2:179:13 | self | -| cfg.rb:182:7:182:7 | x | cfg.rb:179:30:179:30 | i | -| cfg.rb:182:7:182:7 | x | cfg.rb:182:7:182:7 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:183:3:183:3 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:18:184:21 | redo | -| cfg.rb:183:3:183:3 | x | cfg.rb:183:3:183:3 | x | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:18:184:21 | redo | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:184:18:184:21 | redo | cfg.rb:184:18:184:21 | redo | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:188:2:188:13 | self | cfg.rb:188:2:188:13 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:188:30:188:30 | i | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:188:30:188:30 | i | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:42:15:42:24 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:188:30:188:30 | i | cfg.rb:43:21:43:31 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:44:8:44:18 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:48:20:48:29 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:49:8:49:8 | b | -| cfg.rb:188:30:188:30 | i | cfg.rb:49:16:49:16 | b | -| cfg.rb:188:30:188:30 | i | cfg.rb:49:27:49:37 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:60:27:60:31 | hello | -| cfg.rb:188:30:188:30 | i | cfg.rb:60:37:60:39 | bye | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:23:75:23 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:188:30:188:30 | i | cfg.rb:75:43:75:43 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:90:5:90:5 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:113:1:113:9 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:136:12:136:29 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:172:21:172:29 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:172:36:172:45 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:174:1:174:9 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:176:7:176:7 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:176:17:176:17 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:179:2:179:13 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:179:30:179:30 | i | -| cfg.rb:188:30:188:30 | i | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:182:7:182:7 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:183:3:183:3 | x | -| cfg.rb:188:30:188:30 | i | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:188:30:188:30 | i | cfg.rb:184:18:184:21 | redo | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:2:188:13 | self | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:30:188:30 | i | -| cfg.rb:190:1:192:3 | enter run_block | cfg.rb:190:1:192:3 | enter run_block | -| cfg.rb:194:11:194:23 | enter { ... } | cfg.rb:194:11:194:23 | enter { ... } | -| cfg.rb:196:1:198:3 | enter forward_param | cfg.rb:196:1:198:3 | enter forward_param | -| cfg.rb:200:9:200:32 | enter { ... } | cfg.rb:200:9:200:32 | enter { ... } | -| cfg.rb:202:9:202:35 | enter do ... end | cfg.rb:202:9:202:35 | enter do ... end | -| cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:205:1:205:3 | nil | cfg.rb:205:1:205:3 | nil | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:42:15:42:24 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:43:21:43:31 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:44:8:44:18 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:48:20:48:29 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:3:49:37 | [no-match] when ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:27:49:37 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:60:27:60:31 | hello | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:60:37:60:39 | bye | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:15:75:15 | 0 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:17:75:43 | elsif ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:35:75:36 | 10 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:75:43:75:43 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:90:5:90:5 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:113:1:113:9 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:136:12:136:29 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:172:21:172:29 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:172:36:172:45 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:174:1:174:9 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:176:17:176:17 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:179:2:179:13 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:184:3:184:25 | if ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:184:18:184:21 | redo | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:188:2:188:13 | self | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:1:205:3 | __synth__0__1 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:1:205:3 | nil | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:4:205:5 | if ... | -| cfg.rb:205:15:205:23 | enter { ... } | cfg.rb:205:15:205:23 | enter { ... } | -| cfg.rb:207:1:211:3 | enter filter_nil | cfg.rb:207:1:211:3 | enter filter_nil | -| cfg.rb:208:15:210:5 | enter do ... end | cfg.rb:208:15:210:5 | enter do ... end | -| cfg.rb:213:14:216:3 | enter do ... end | cfg.rb:213:14:216:3 | enter do ... end | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:5:22:5:24 | 123 | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:14:18:14:20 | 123 | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:5:22:5:24 | 123 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | -| constant_compound_assign.rb:19:21:19:23 | 123 | constant_compound_assign.rb:19:21:19:23 | 123 | -| desugar.rb:1:1:3:3 | enter m1 | desugar.rb:1:1:3:3 | enter m1 | -| desugar.rb:1:1:38:17 | enter desugar.rb | desugar.rb:1:1:38:17 | enter desugar.rb | -| desugar.rb:5:1:7:3 | enter m2 | desugar.rb:5:1:7:3 | enter m2 | -| desugar.rb:9:1:11:3 | enter m3 | desugar.rb:9:1:11:3 | enter m3 | -| desugar.rb:13:1:15:3 | enter m4 | desugar.rb:13:1:15:3 | enter m4 | -| desugar.rb:17:1:19:3 | enter m5 | desugar.rb:17:1:19:3 | enter m5 | -| desugar.rb:21:1:23:3 | enter m6 | desugar.rb:21:1:23:3 | enter m6 | -| desugar.rb:25:1:27:3 | enter m7 | desugar.rb:25:1:27:3 | enter m7 | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:1:1:6:3 | exit m1 | exit.rb:1:1:6:3 | exit m1 | -| exit.rb:1:1:13:4 | enter exit.rb | exit.rb:1:1:13:4 | enter exit.rb | -| exit.rb:2:3:4:5 | if ... | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:2:3:4:5 | if ... | exit.rb:2:3:4:5 | if ... | -| exit.rb:3:5:3:10 | self | exit.rb:3:5:3:10 | self | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:8:1:13:3 | enter m2 | -| exit.rb:8:1:13:3 | exit m2 | exit.rb:8:1:13:3 | exit m2 | -| exit.rb:9:3:11:5 | if ... | exit.rb:8:1:13:3 | enter m2 | -| exit.rb:9:3:11:5 | if ... | exit.rb:9:3:11:5 | if ... | -| exit.rb:10:5:10:18 | self | exit.rb:10:5:10:18 | self | -| heredoc.rb:1:1:7:3 | enter double_heredoc | heredoc.rb:1:1:7:3 | enter double_heredoc | -| heredoc.rb:1:1:7:4 | enter heredoc.rb | heredoc.rb:1:1:7:4 | enter heredoc.rb | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:1:1:58:4 | enter ifs.rb | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:2:3:8:5 | if ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:3:5:3:30 | self | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:3:7:35 | elsif ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:9:4:9 | x | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:20:4:20 | x | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:32:4:32 | x | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:5:5:5:17 | self | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:7:5:7:35 | self | -| ifs.rb:3:5:3:30 | self | ifs.rb:3:5:3:30 | self | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:3:7:35 | elsif ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:20:4:20 | x | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:5:5:5:17 | self | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:7:5:7:35 | self | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:20:4:20 | x | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:32:4:32 | x | -| ifs.rb:5:5:5:17 | self | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:5:5:5:17 | self | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:5:5:5:17 | self | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:5:5:5:17 | self | ifs.rb:5:5:5:17 | self | -| ifs.rb:7:5:7:35 | self | ifs.rb:4:9:4:24 | [false] ... and ... | -| ifs.rb:7:5:7:35 | self | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:7:5:7:35 | self | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:7:5:7:35 | self | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:7:5:7:35 | self | ifs.rb:7:5:7:35 | self | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:11:1:16:3 | exit m2 (normal) | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:12:3:14:5 | if ... | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:13:12:13:12 | 0 | -| ifs.rb:12:3:14:5 | if ... | ifs.rb:12:3:14:5 | if ... | -| ifs.rb:13:12:13:12 | 0 | ifs.rb:13:12:13:12 | 0 | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:18:1:26:3 | enter m3 | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:18:1:26:3 | enter m3 | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:19:3:24:5 | if ... | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:20:5:20:5 | x | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:21:5:23:7 | if ... | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:22:7:22:7 | x | -| ifs.rb:20:5:20:5 | x | ifs.rb:20:5:20:5 | x | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:20:5:20:5 | x | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:21:5:23:7 | if ... | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:22:7:22:7 | x | -| ifs.rb:22:7:22:7 | x | ifs.rb:22:7:22:7 | x | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:10:29:51 | ... ? ... : ... | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:16:29:17 | b2 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:21:29:22 | b3 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:16:29:17 | b2 | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:21:29:22 | b3 | -| ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:28:29:35 | b2 \|\| b3 | -| ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:3:33:100 | if ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:13:33:19 | [false] then ... | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:13:33:19 | [true] then ... | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:30:33:36 | [false] then ... | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:30:33:36 | [true] then ... | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:38:33:44 | [false] else ... | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:38:33:44 | [true] else ... | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:13:33:19 | [true] then ... | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:21:33:44 | [true] elsif ... | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:30:33:36 | [true] then ... | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:38:33:44 | [true] else ... | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:13:33:19 | [false] then ... | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:21:33:44 | [false] elsif ... | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:30:33:36 | [false] then ... | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:38:33:44 | [false] else ... | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | -| ifs.rb:36:1:38:3 | conditional_method_def | ifs.rb:36:1:38:3 | conditional_method_def | -| ifs.rb:36:1:38:3 | enter conditional_method_def | ifs.rb:36:1:38:3 | enter conditional_method_def | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:1:1:58:4 | enter ifs.rb | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:36:1:38:3 | conditional_method_def | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:36:1:38:17 | ... unless ... | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:40:1:44:3 | enter constant_condition | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:40:1:44:3 | enter constant_condition | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:41:3:43:5 | if ... | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:41:6:41:10 | [false] ! ... | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:40:1:44:3 | enter constant_condition | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:6:41:10 | [false] ! ... | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:47:3:50:5 | if ... | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:48:5:48:15 | self | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:49:3:49:6 | else ... | -| ifs.rb:48:5:48:15 | self | ifs.rb:48:5:48:15 | self | -| ifs.rb:49:3:49:6 | else ... | ifs.rb:49:3:49:6 | else ... | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:3:57:5 | if ... | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:56:5:56:19 | self | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:6:55:15 | [false] ( ... ) | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:56:5:56:19 | self | ifs.rb:55:6:55:15 | [true] ( ... ) | -| ifs.rb:56:5:56:19 | self | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:56:5:56:19 | self | ifs.rb:56:5:56:19 | self | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:1:1:6:3 | enter m1 | -| loops.rb:1:1:33:4 | enter loops.rb | loops.rb:1:1:33:4 | enter loops.rb | -| loops.rb:2:3:5:5 | while ... | loops.rb:1:1:6:3 | enter m1 | -| loops.rb:2:3:5:5 | while ... | loops.rb:2:3:5:5 | while ... | -| loops.rb:2:3:5:5 | while ... | loops.rb:2:9:2:9 | x | -| loops.rb:2:3:5:5 | while ... | loops.rb:3:5:3:10 | self | -| loops.rb:2:9:2:9 | x | loops.rb:1:1:6:3 | enter m1 | -| loops.rb:2:9:2:9 | x | loops.rb:2:9:2:9 | x | -| loops.rb:2:9:2:9 | x | loops.rb:3:5:3:10 | self | -| loops.rb:3:5:3:10 | self | loops.rb:3:5:3:10 | self | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:8:1:22:3 | enter m2 | -| loops.rb:9:3:20:5 | while ... | loops.rb:8:1:22:3 | enter m2 | -| loops.rb:9:3:20:5 | while ... | loops.rb:9:3:20:5 | while ... | -| loops.rb:9:3:20:5 | while ... | loops.rb:9:9:9:9 | x | -| loops.rb:9:3:20:5 | while ... | loops.rb:10:5:10:10 | self | -| loops.rb:9:3:20:5 | while ... | loops.rb:13:7:13:11 | break | -| loops.rb:9:3:20:5 | while ... | loops.rb:14:11:14:11 | x | -| loops.rb:9:3:20:5 | while ... | loops.rb:15:7:15:10 | next | -| loops.rb:9:3:20:5 | while ... | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:9:3:20:5 | while ... | loops.rb:16:11:16:11 | x | -| loops.rb:9:3:20:5 | while ... | loops.rb:17:7:17:10 | redo | -| loops.rb:9:9:9:9 | x | loops.rb:8:1:22:3 | enter m2 | -| loops.rb:9:9:9:9 | x | loops.rb:9:9:9:9 | x | -| loops.rb:9:9:9:9 | x | loops.rb:15:7:15:10 | next | -| loops.rb:9:9:9:9 | x | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:10:5:10:10 | self | loops.rb:10:5:10:10 | self | -| loops.rb:10:5:10:10 | self | loops.rb:17:7:17:10 | redo | -| loops.rb:13:7:13:11 | break | loops.rb:13:7:13:11 | break | -| loops.rb:14:11:14:11 | x | loops.rb:14:11:14:11 | x | -| loops.rb:15:7:15:10 | next | loops.rb:15:7:15:10 | next | -| loops.rb:16:5:17:10 | elsif ... | loops.rb:16:5:17:10 | elsif ... | -| loops.rb:16:11:16:11 | x | loops.rb:16:11:16:11 | x | -| loops.rb:17:7:17:10 | redo | loops.rb:17:7:17:10 | redo | -| loops.rb:24:1:28:3 | enter m3 | loops.rb:24:1:28:3 | enter m3 | -| loops.rb:25:16:27:5 | enter do ... end | loops.rb:25:16:27:5 | enter do ... end | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:30:1:33:3 | enter m4 | -| loops.rb:31:3:32:5 | while ... | loops.rb:30:1:33:3 | enter m4 | -| loops.rb:31:3:32:5 | while ... | loops.rb:31:3:32:5 | while ... | -| loops.rb:31:3:32:5 | while ... | loops.rb:31:9:31:9 | x | -| loops.rb:31:3:32:5 | while ... | loops.rb:31:15:32:5 | do ... | -| loops.rb:31:9:31:9 | x | loops.rb:30:1:33:3 | enter m4 | -| loops.rb:31:9:31:9 | x | loops.rb:31:9:31:9 | x | -| loops.rb:31:9:31:9 | x | loops.rb:31:15:32:5 | do ... | -| loops.rb:31:15:32:5 | do ... | loops.rb:31:15:32:5 | do ... | -| raise.rb:1:1:182:4 | enter raise.rb | raise.rb:1:1:182:4 | enter raise.rb | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:7:1:12:3 | exit m1 | raise.rb:7:1:12:3 | exit m1 | -| raise.rb:8:3:10:5 | if ... | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:8:3:10:5 | if ... | raise.rb:8:3:10:5 | if ... | -| raise.rb:9:5:9:17 | self | raise.rb:9:5:9:17 | self | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:14:1:23:3 | exit m2 | raise.rb:14:1:23:3 | exit m2 | -| raise.rb:14:1:23:3 | exit m2 (abnormal) | raise.rb:14:1:23:3 | exit m2 (abnormal) | -| raise.rb:16:5:18:7 | if ... | raise.rb:16:5:18:7 | if ... | -| raise.rb:17:7:17:22 | self | raise.rb:17:7:17:22 | self | -| raise.rb:20:5:20:18 | self | raise.rb:17:7:17:22 | self | -| raise.rb:20:5:20:18 | self | raise.rb:20:5:20:18 | self | -| raise.rb:22:3:22:15 | self | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:22:3:22:15 | self | raise.rb:16:5:18:7 | if ... | -| raise.rb:22:3:22:15 | self | raise.rb:17:7:17:22 | self | -| raise.rb:22:3:22:15 | self | raise.rb:20:5:20:18 | self | -| raise.rb:22:3:22:15 | self | raise.rb:22:3:22:15 | self | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:27:5:29:7 | if ... | raise.rb:27:5:29:7 | if ... | -| raise.rb:28:7:28:22 | self | raise.rb:28:7:28:22 | self | -| raise.rb:33:3:33:15 | self | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:33:3:33:15 | self | raise.rb:27:5:29:7 | if ... | -| raise.rb:33:3:33:15 | self | raise.rb:28:7:28:22 | self | -| raise.rb:33:3:33:15 | self | raise.rb:33:3:33:15 | self | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:38:5:40:7 | if ... | raise.rb:38:5:40:7 | if ... | -| raise.rb:39:7:39:22 | self | raise.rb:39:7:39:22 | self | -| raise.rb:44:3:44:15 | self | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:44:3:44:15 | self | raise.rb:38:5:40:7 | if ... | -| raise.rb:44:3:44:15 | self | raise.rb:39:7:39:22 | self | -| raise.rb:44:3:44:15 | self | raise.rb:44:3:44:15 | self | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:49:5:51:7 | if ... | raise.rb:49:5:51:7 | if ... | -| raise.rb:50:7:50:22 | self | raise.rb:50:7:50:22 | self | -| raise.rb:54:3:54:15 | self | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:54:3:54:15 | self | raise.rb:49:5:51:7 | if ... | -| raise.rb:54:3:54:15 | self | raise.rb:50:7:50:22 | self | -| raise.rb:54:3:54:15 | self | raise.rb:54:3:54:15 | self | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:57:1:66:3 | exit m6 | raise.rb:57:1:66:3 | exit m6 | -| raise.rb:57:1:66:3 | exit m6 (abnormal) | raise.rb:57:1:66:3 | exit m6 (abnormal) | -| raise.rb:59:5:61:7 | if ... | raise.rb:59:5:61:7 | if ... | -| raise.rb:60:7:60:22 | self | raise.rb:60:7:60:22 | self | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:62:36:62:36 | e | raise.rb:60:7:60:22 | self | -| raise.rb:62:36:62:36 | e | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:62:36:62:36 | e | raise.rb:62:36:62:36 | e | -| raise.rb:65:3:65:15 | self | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:65:3:65:15 | self | raise.rb:59:5:61:7 | if ... | -| raise.rb:65:3:65:15 | self | raise.rb:60:7:60:22 | self | -| raise.rb:65:3:65:15 | self | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:65:3:65:15 | self | raise.rb:62:36:62:36 | e | -| raise.rb:65:3:65:15 | self | raise.rb:65:3:65:15 | self | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:68:1:77:3 | exit m7 | raise.rb:68:1:77:3 | exit m7 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:68:1:77:3 | exit m7 (normal) | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:71:9:71:9 | x | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:72:13:72:17 | x < 0 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:76:3:76:15 | self | -| raise.rb:70:5:70:17 | self | raise.rb:70:5:70:17 | self | -| raise.rb:71:3:72:18 | elsif ... | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:71:9:71:9 | x | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:71:9:71:9 | x | raise.rb:71:9:71:9 | x | -| raise.rb:72:13:72:17 | x < 0 | raise.rb:72:13:72:17 | x < 0 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:76:3:76:15 | [ensure: exception] self | -| raise.rb:76:3:76:15 | self | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:76:3:76:15 | self | raise.rb:76:3:76:15 | self | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:79:1:92:3 | exit m8 | raise.rb:79:1:92:3 | exit m8 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:79:1:92:3 | exit m8 (normal) | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:84:11:84:11 | x | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:85:15:85:19 | x < 0 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:89:5:89:17 | self | -| raise.rb:83:7:83:19 | self | raise.rb:83:7:83:19 | self | -| raise.rb:84:5:85:20 | elsif ... | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:84:11:84:11 | x | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:84:11:84:11 | x | raise.rb:84:11:84:11 | x | -| raise.rb:85:15:85:19 | x < 0 | raise.rb:85:15:85:19 | x < 0 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:89:5:89:17 | [ensure: exception] self | -| raise.rb:89:5:89:17 | self | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:89:5:89:17 | self | raise.rb:89:5:89:17 | self | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:94:1:119:3 | exit m9 | raise.rb:94:1:119:3 | exit m9 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:94:1:119:3 | exit m9 (abnormal) | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:94:1:119:3 | exit m9 (normal) | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:97:8:97:8 | x | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:99:11:99:11 | x | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:104:5:104:23 | self | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:106:7:108:9 | if ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:106:10:106:11 | b1 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:115:3:115:22 | self | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:116:3:118:5 | if ... | -| raise.rb:97:8:97:8 | x | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:97:8:97:8 | x | raise.rb:97:8:97:8 | x | -| raise.rb:98:7:98:19 | self | raise.rb:98:7:98:19 | self | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:99:11:99:11 | x | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:99:11:99:11 | x | raise.rb:97:8:97:8 | x | -| raise.rb:99:11:99:11 | x | raise.rb:99:11:99:11 | x | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:104:5:104:23 | [ensure: exception] self | -| raise.rb:104:5:104:23 | self | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:104:5:104:23 | self | raise.rb:104:5:104:23 | self | -| raise.rb:106:7:108:9 | [ensure: exception] if ... | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:106:7:108:9 | if ... | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:106:7:108:9 | if ... | raise.rb:104:5:104:23 | self | -| raise.rb:106:7:108:9 | if ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:106:7:108:9 | if ... | raise.rb:106:10:106:11 | b1 | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:106:10:106:11 | b1 | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:106:10:106:11 | b1 | raise.rb:104:5:104:23 | self | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:10:106:11 | b1 | -| raise.rb:107:9:107:26 | [ensure: exception] self | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:107:9:107:26 | [ensure: return] self | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:107:9:107:26 | self | raise.rb:107:9:107:26 | self | -| raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: exception] ensure ... | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:104:5:104:23 | self | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:106:10:106:11 | b1 | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:113:14:113:19 | After ... > ... [false] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:113:14:113:19 | After ... > ... [true] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:120:8:120:28 | Entry | cfg.rb:120:8:120:28 | Entry | +| cfg.rb:136:1:136:3 | After ... / ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:136:12:136:29 | Before call to puts | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:145:3:148:5 | Entry | cfg.rb:145:3:148:5 | Entry | +| cfg.rb:152:1:154:3 | Entry | cfg.rb:152:1:154:3 | Entry | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:172:8:172:14 | After ... == ... [false] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:172:8:172:14 | After ... == ... [true] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:174:18:174:23 | After ... == ... [false] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:174:18:174:23 | After ... == ... [true] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [false] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [false] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:184:6:184:11 | After ... == ... [true] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:188:30:188:35 | After ... != ... [true] | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:190:1:192:3 | Entry | cfg.rb:190:1:192:3 | Entry | +| cfg.rb:194:11:194:23 | Entry | cfg.rb:194:11:194:23 | Entry | +| cfg.rb:196:1:198:3 | Entry | cfg.rb:196:1:198:3 | Entry | +| cfg.rb:200:9:200:32 | Entry | cfg.rb:200:9:200:32 | Entry | +| cfg.rb:202:9:202:35 | Entry | cfg.rb:202:9:202:35 | Entry | +| cfg.rb:205:4:205:5 | After call to == [false] | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:205:4:205:5 | After call to == [true] | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:42:8:42:8 | After 1 [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:3:43:31 | After when ... [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:8:43:8 | After 2 [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:11:43:11 | After 3 [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:14:43:14 | After 4 [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:43:14:43:14 | After 4 [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:49:3:49:37 | After when ... [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:60:17:60:22 | After ... < ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:4:75:8 | After ... < ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:17:75:43 | After elsif ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:75:23:75:28 | After ... > ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:90:5:90:5 | After defined? ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:136:1:136:3 | After ... / ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:136:12:136:29 | Before call to puts | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:172:8:172:14 | After ... == ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:174:18:174:23 | After ... == ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:184:6:184:11 | After ... == ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:205:4:205:5 | After call to == [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:205:4:205:5 | After call to == [true] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:205:4:205:5 | After if ... | +| cfg.rb:205:15:205:23 | Entry | cfg.rb:205:15:205:23 | Entry | +| cfg.rb:207:1:211:3 | Entry | cfg.rb:207:1:211:3 | Entry | +| cfg.rb:208:15:210:5 | Entry | cfg.rb:208:15:210:5 | Entry | +| cfg.rb:213:14:216:3 | Entry | cfg.rb:213:14:216:3 | Entry | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | +| desugar.rb:1:1:3:3 | Entry | desugar.rb:1:1:3:3 | Entry | +| desugar.rb:1:1:38:17 | Entry | desugar.rb:1:1:38:17 | Entry | +| desugar.rb:5:1:7:3 | Entry | desugar.rb:5:1:7:3 | Entry | +| desugar.rb:9:1:11:3 | Entry | desugar.rb:9:1:11:3 | Entry | +| desugar.rb:13:1:15:3 | Entry | desugar.rb:13:1:15:3 | Entry | +| desugar.rb:17:1:19:3 | Entry | desugar.rb:17:1:19:3 | Entry | +| desugar.rb:21:1:23:3 | Entry | desugar.rb:21:1:23:3 | Entry | +| desugar.rb:25:1:27:3 | Entry | desugar.rb:25:1:27:3 | Entry | +| exit.rb:1:1:6:3 | Entry | exit.rb:1:1:6:3 | Entry | +| exit.rb:1:1:6:3 | Exit | exit.rb:1:1:6:3 | Exit | +| exit.rb:1:1:13:4 | Entry | exit.rb:1:1:13:4 | Entry | +| exit.rb:2:6:2:10 | After ... > ... [false] | exit.rb:1:1:6:3 | Entry | +| exit.rb:2:6:2:10 | After ... > ... [false] | exit.rb:2:6:2:10 | After ... > ... [false] | +| exit.rb:2:6:2:10 | After ... > ... [true] | exit.rb:2:6:2:10 | After ... > ... [true] | +| exit.rb:8:1:13:3 | Entry | exit.rb:8:1:13:3 | Entry | +| exit.rb:8:1:13:3 | Exit | exit.rb:8:1:13:3 | Exit | +| exit.rb:9:6:9:10 | After ... > ... [false] | exit.rb:8:1:13:3 | Entry | +| exit.rb:9:6:9:10 | After ... > ... [false] | exit.rb:9:6:9:10 | After ... > ... [false] | +| exit.rb:9:6:9:10 | After ... > ... [true] | exit.rb:9:6:9:10 | After ... > ... [true] | +| heredoc.rb:1:1:7:3 | Entry | heredoc.rb:1:1:7:3 | Entry | +| heredoc.rb:1:1:7:4 | Entry | heredoc.rb:1:1:7:4 | Entry | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:2:3:8:5 | After if ... | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:2:6:2:10 | After ... > ... [true] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:3:7:35 | After elsif ... | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:2:6:2:10 | After ... > ... [true] | ifs.rb:2:6:2:10 | After ... > ... [true] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:3:7:35 | After elsif ... | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:4:9:4:14 | After ... <= ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:4:20:4:24 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:4:32:4:37 | After ... == ... [false] | ifs.rb:4:32:4:37 | After ... == ... [false] | +| ifs.rb:4:32:4:37 | After ... == ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:11:1:16:3 | Normal Exit | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:12:6:12:6 | After b [false] | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:12:6:12:6 | After b [true] | +| ifs.rb:12:6:12:6 | After b [false] | ifs.rb:12:6:12:6 | After b [false] | +| ifs.rb:12:6:12:6 | After b [true] | ifs.rb:12:6:12:6 | After b [true] | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:19:3:24:5 | After if ... | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:19:6:19:10 | After ... < ... [false] | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:21:5:23:7 | After if ... | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:19:6:19:10 | After ... < ... [false] | ifs.rb:19:6:19:10 | After ... < ... [false] | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:21:5:23:7 | After if ... | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:21:8:21:13 | After ... > ... [false] | ifs.rb:21:8:21:13 | After ... > ... [false] | +| ifs.rb:21:8:21:13 | After ... > ... [true] | ifs.rb:21:8:21:13 | After ... > ... [true] | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:10:29:51 | After ... ? ... : ... | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:29:16:29:17 | After b2 [false] | ifs.rb:29:16:29:17 | After b2 [false] | +| ifs.rb:29:16:29:17 | After b2 [true] | ifs.rb:29:16:29:17 | After b2 [true] | +| ifs.rb:29:21:29:22 | After b3 [false] | ifs.rb:29:21:29:22 | After b3 [false] | +| ifs.rb:29:21:29:22 | After b3 [true] | ifs.rb:29:21:29:22 | After b3 [true] | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:3:33:100 | After if ... | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:7:33:48 | After if ... [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:7:33:48 | After if ... [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:7:33:48 | After if ... [false] | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:7:33:48 | After if ... [true] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:33:18:33:19 | After b2 [false] | ifs.rb:33:18:33:19 | After b2 [false] | +| ifs.rb:33:18:33:19 | After b2 [true] | ifs.rb:33:18:33:19 | After b2 [true] | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:35:33:36 | After b4 [false] | ifs.rb:33:35:33:36 | After b4 [false] | +| ifs.rb:33:35:33:36 | After b4 [true] | ifs.rb:33:35:33:36 | After b4 [true] | +| ifs.rb:33:43:33:44 | After b5 [false] | ifs.rb:33:43:33:44 | After b5 [false] | +| ifs.rb:33:43:33:44 | After b5 [true] | ifs.rb:33:43:33:44 | After b5 [true] | +| ifs.rb:36:1:38:3 | Entry | ifs.rb:36:1:38:3 | Entry | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:36:1:38:17 | After ... unless ... | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:38:12:38:17 | After ... == ... [false] | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:38:12:38:17 | After ... == ... [true] | +| ifs.rb:38:12:38:17 | After ... == ... [false] | ifs.rb:38:12:38:17 | After ... == ... [false] | +| ifs.rb:38:12:38:17 | After ... == ... [true] | ifs.rb:38:12:38:17 | After ... == ... [true] | +| ifs.rb:40:1:44:3 | Entry | ifs.rb:40:1:44:3 | Entry | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:47:3:50:5 | After if ... | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:47:6:47:6 | After b [false] | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:47:6:47:6 | After b [true] | +| ifs.rb:47:6:47:6 | After b [false] | ifs.rb:47:6:47:6 | After b [false] | +| ifs.rb:47:6:47:6 | After b [true] | ifs.rb:47:6:47:6 | After b [true] | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:3:57:5 | After if ... | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:7:55:8 | After b1 [false] | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:7:55:8 | After b1 [true] | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:13:55:14 | After b2 [false] | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:13:55:14 | After b2 [true] | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:7:55:8 | After b1 [false] | +| ifs.rb:55:7:55:8 | After b1 [true] | ifs.rb:55:7:55:8 | After b1 [true] | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:55:7:55:8 | After b1 [true] | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:55:13:55:14 | After b2 [true] | +| ifs.rb:55:13:55:14 | After b2 [false] | ifs.rb:55:13:55:14 | After b2 [false] | +| ifs.rb:55:13:55:14 | After b2 [true] | ifs.rb:55:13:55:14 | After b2 [true] | +| loops.rb:1:1:6:3 | Entry | loops.rb:1:1:6:3 | Entry | +| loops.rb:1:1:33:4 | Entry | loops.rb:1:1:33:4 | Entry | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:1:1:6:3 | Entry | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:1:1:6:3 | Entry | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:9:2:14 | After ... >= ... [false] | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:2:9:2:14 | After ... >= ... [true] | loops.rb:2:9:2:14 | After ... >= ... [true] | +| loops.rb:8:1:22:3 | Entry | loops.rb:8:1:22:3 | Entry | +| loops.rb:9:3:20:5 | After while ... | loops.rb:8:1:22:3 | Entry | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:3:20:5 | After while ... | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:9:9:14 | After ... >= ... [false] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:15:20:5 | do ... | +| loops.rb:9:3:20:5 | After while ... | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:9:3:20:5 | After while ... | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:8:1:22:3 | Entry | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [false] | loops.rb:9:9:9:14 | After ... >= ... [false] | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:9:15:20:5 | do ... | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:9:15:20:5 | do ... | loops.rb:9:15:20:5 | do ... | +| loops.rb:9:15:20:5 | do ... | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:12:8:12:14 | After ... > ... [true] | loops.rb:12:8:12:14 | After ... > ... [true] | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:14:11:14:16 | After ... > ... [true] | loops.rb:14:11:14:16 | After ... > ... [true] | +| loops.rb:16:11:16:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | +| loops.rb:16:11:16:16 | After ... > ... [true] | loops.rb:16:11:16:16 | After ... > ... [true] | +| loops.rb:24:1:28:3 | Entry | loops.rb:24:1:28:3 | Entry | +| loops.rb:25:16:27:5 | Entry | loops.rb:25:16:27:5 | Entry | +| loops.rb:30:1:33:3 | Entry | loops.rb:30:1:33:3 | Entry | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:30:1:33:3 | Entry | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [true] | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:30:1:33:3 | Entry | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:9:31:13 | After ... < ... [false] | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:9:31:13 | After ... < ... [true] | +| loops.rb:31:9:31:13 | After ... < ... [true] | loops.rb:31:9:31:13 | After ... < ... [true] | +| raise.rb:1:1:182:4 | Entry | raise.rb:1:1:182:4 | Entry | +| raise.rb:7:1:12:3 | Entry | raise.rb:7:1:12:3 | Entry | +| raise.rb:7:1:12:3 | Exit | raise.rb:7:1:12:3 | Exit | +| raise.rb:8:6:8:10 | After ... > ... [false] | raise.rb:7:1:12:3 | Entry | +| raise.rb:8:6:8:10 | After ... > ... [false] | raise.rb:8:6:8:10 | After ... > ... [false] | +| raise.rb:8:6:8:10 | After ... > ... [true] | raise.rb:8:6:8:10 | After ... > ... [true] | +| raise.rb:14:1:23:3 | Entry | raise.rb:14:1:23:3 | Entry | +| raise.rb:14:1:23:3 | Exit | raise.rb:14:1:23:3 | Exit | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:14:1:23:3 | Entry | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:15:3:21:5 | After begin ... | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:16:8:16:8 | After b [false] | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:19:10:19:19 | After ExceptionA [match] | +| raise.rb:16:8:16:8 | After b [false] | raise.rb:16:8:16:8 | After b [false] | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:19:10:19:19 | After ExceptionA [match] | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:19:10:19:19 | After ExceptionA [match] | raise.rb:19:10:19:19 | After ExceptionA [match] | +| raise.rb:19:10:19:19 | After ExceptionA [no-match] | raise.rb:19:10:19:19 | After ExceptionA [no-match] | +| raise.rb:25:1:34:3 | Entry | raise.rb:25:1:34:3 | Entry | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:25:1:34:3 | Entry | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:26:3:32:5 | After begin ... | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:27:8:27:8 | After b [false] | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:27:8:27:8 | After b [true] | +| raise.rb:27:8:27:8 | After b [false] | raise.rb:27:8:27:8 | After b [false] | +| raise.rb:27:8:27:8 | After b [true] | raise.rb:27:8:27:8 | After b [true] | +| raise.rb:36:1:45:3 | Entry | raise.rb:36:1:45:3 | Entry | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:36:1:45:3 | Entry | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:37:3:43:5 | After begin ... | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:38:8:38:8 | After b [false] | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:38:8:38:8 | After b [true] | +| raise.rb:38:8:38:8 | After b [false] | raise.rb:38:8:38:8 | After b [false] | +| raise.rb:38:8:38:8 | After b [true] | raise.rb:38:8:38:8 | After b [true] | +| raise.rb:47:1:55:3 | Entry | raise.rb:47:1:55:3 | Entry | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:47:1:55:3 | Entry | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:48:3:53:5 | After begin ... | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:49:8:49:8 | After b [false] | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:49:8:49:8 | After b [true] | +| raise.rb:49:8:49:8 | After b [false] | raise.rb:49:8:49:8 | After b [false] | +| raise.rb:49:8:49:8 | After b [true] | raise.rb:49:8:49:8 | After b [true] | +| raise.rb:57:1:66:3 | Entry | raise.rb:57:1:66:3 | Entry | +| raise.rb:57:1:66:3 | Exit | raise.rb:57:1:66:3 | Exit | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:57:1:66:3 | Entry | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:58:3:64:5 | After begin ... | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:59:8:59:8 | After b [false] | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:62:10:62:31 | After ..., ... [match] | +| raise.rb:59:8:59:8 | After b [false] | raise.rb:59:8:59:8 | After b [false] | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:62:10:62:31 | After ..., ... [match] | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:62:10:62:31 | After ..., ... [match] | raise.rb:62:10:62:31 | After ..., ... [match] | +| raise.rb:62:10:62:31 | After ..., ... [no-match] | raise.rb:62:10:62:31 | After ..., ... [no-match] | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:1:77:3 | Entry | +| raise.rb:68:1:77:3 | Exceptional Exit | raise.rb:68:1:77:3 | Exceptional Exit | +| raise.rb:68:1:77:3 | Exit | raise.rb:68:1:77:3 | Exit | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:68:1:77:3 | Entry | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:68:1:77:3 | Normal Exit | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:69:3:76:15 | After ... | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:69:6:69:10 | After ... > ... [true] | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:69:3:76:15 | After ... | raise.rb:69:3:76:15 | After ... | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:69:6:69:10 | After ... > ... [true] | raise.rb:69:6:69:10 | After ... > ... [true] | +| raise.rb:71:9:71:13 | After ... < ... [false] | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:71:9:71:13 | After ... < ... [true] | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:74:3:74:20 | After call to puts | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | Entry | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:69:6:69:10 | After ... > ... [true] | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:71:9:71:13 | After ... < ... [true] | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:74:3:74:20 | After call to puts | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:1:92:3 | Entry | +| raise.rb:79:1:92:3 | Exceptional Exit | raise.rb:79:1:92:3 | Exceptional Exit | +| raise.rb:79:1:92:3 | Exit | raise.rb:79:1:92:3 | Exit | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:79:1:92:3 | Entry | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:79:1:92:3 | Normal Exit | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:81:3:90:5 | After begin ... | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:82:8:82:12 | After ... > ... [true] | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:81:3:90:5 | After begin ... | raise.rb:81:3:90:5 | After begin ... | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:82:8:82:12 | After ... > ... [true] | raise.rb:82:8:82:12 | After ... > ... [true] | +| raise.rb:84:11:84:15 | After ... < ... [false] | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:84:11:84:15 | After ... < ... [true] | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:87:5:87:22 | After call to puts | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:79:1:92:3 | Entry | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:82:8:82:12 | After ... > ... [true] | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:84:11:84:15 | After ... < ... [true] | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:87:5:87:22 | After call to puts | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:1:119:3 | Entry | +| raise.rb:94:1:119:3 | Exceptional Exit | raise.rb:94:1:119:3 | Exceptional Exit | +| raise.rb:94:1:119:3 | Exit | raise.rb:94:1:119:3 | Exit | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:94:1:119:3 | Entry | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:94:1:119:3 | Normal Exit | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:95:3:118:5 | After ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:95:3:118:5 | After ... | raise.rb:95:3:118:5 | After ... | +| raise.rb:96:3:112:5 | After begin ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:97:8:97:12 | After ... > ... [true] | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:99:11:99:15 | After ... < ... [false] | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:99:11:99:15 | After ... < ... [true] | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:102:5:102:22 | After call to puts | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:106:10:106:11 | After b1 [false] | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:106:10:106:11 | After b1 [true] | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:106:10:106:11 | After b1 [true] | | raise.rb:109:5:110:25 | ensure ... | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:115:3:115:22 | [ensure: exception] self | -| raise.rb:115:3:115:22 | self | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:115:3:115:22 | self | raise.rb:104:5:104:23 | self | -| raise.rb:115:3:115:22 | self | raise.rb:106:7:108:9 | if ... | -| raise.rb:115:3:115:22 | self | raise.rb:106:10:106:11 | b1 | -| raise.rb:115:3:115:22 | self | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:115:3:115:22 | self | raise.rb:115:3:115:22 | self | -| raise.rb:116:3:118:5 | [ensure: exception] if ... | raise.rb:116:3:118:5 | [ensure: exception] if ... | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:116:3:118:5 | [ensure: return] if ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:104:5:104:23 | self | -| raise.rb:116:3:118:5 | if ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:106:10:106:11 | b1 | -| raise.rb:116:3:118:5 | if ... | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:115:3:115:22 | self | -| raise.rb:116:3:118:5 | if ... | raise.rb:116:3:118:5 | if ... | -| raise.rb:117:5:117:22 | [ensure: exception] self | raise.rb:117:5:117:22 | [ensure: exception] self | -| raise.rb:117:5:117:22 | [ensure: return] self | raise.rb:117:5:117:22 | [ensure: return] self | -| raise.rb:117:5:117:22 | self | raise.rb:117:5:117:22 | self | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:121:1:126:3 | exit m10 | raise.rb:121:1:126:3 | exit m10 | -| raise.rb:121:14:121:30 | self | raise.rb:121:14:121:30 | self | -| raise.rb:125:3:125:51 | self | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:125:3:125:51 | self | raise.rb:125:3:125:51 | self | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:128:1:140:3 | exit m11 | raise.rb:128:1:140:3 | exit m11 | -| raise.rb:130:5:132:7 | if ... | raise.rb:130:5:132:7 | if ... | -| raise.rb:131:7:131:22 | self | raise.rb:131:7:131:22 | self | -| raise.rb:133:3:133:19 | rescue ... | raise.rb:133:3:133:19 | rescue ... | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:135:5:135:21 | self | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:135:5:135:21 | self | raise.rb:135:5:135:21 | self | -| raise.rb:137:5:137:17 | [ensure: exception] self | raise.rb:137:5:137:17 | [ensure: exception] self | -| raise.rb:137:5:137:17 | self | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:137:5:137:17 | self | raise.rb:130:5:132:7 | if ... | -| raise.rb:137:5:137:17 | self | raise.rb:131:7:131:22 | self | -| raise.rb:137:5:137:17 | self | raise.rb:133:3:133:19 | rescue ... | -| raise.rb:137:5:137:17 | self | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:137:5:137:17 | self | raise.rb:135:5:135:21 | self | -| raise.rb:137:5:137:17 | self | raise.rb:137:5:137:17 | self | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:142:1:148:3 | exit m12 (normal) | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:143:3:145:5 | if ... | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:144:5:144:12 | self | -| raise.rb:143:3:145:5 | if ... | raise.rb:143:3:145:5 | if ... | -| raise.rb:144:5:144:12 | self | raise.rb:144:5:144:12 | self | -| raise.rb:150:1:152:3 | enter m13 | raise.rb:150:1:152:3 | enter m13 | -| raise.rb:154:1:156:3 | enter m14 | raise.rb:154:1:156:3 | enter m14 | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:155:16:155:50 | exit { ... } | raise.rb:155:16:155:50 | exit { ... } | -| raise.rb:155:25:155:32 | self | raise.rb:155:25:155:32 | self | -| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:25:155:48 | ... if ... | -| raise.rb:158:1:164:3 | enter m15 | raise.rb:158:1:164:3 | enter m15 | -| raise.rb:159:7:163:5 | enter do ... end | raise.rb:159:7:163:5 | enter do ... end | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:160:9:162:7 | exit -> { ... } | raise.rb:160:9:162:7 | exit -> { ... } | -| raise.rb:161:7:161:14 | self | raise.rb:161:7:161:14 | self | -| raise.rb:161:7:161:23 | ... unless ... | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:161:7:161:23 | ... unless ... | raise.rb:161:7:161:23 | ... unless ... | -| raise.rb:167:3:169:5 | enter m | raise.rb:167:3:169:5 | enter m | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:172:1:182:3 | exit m16 | raise.rb:172:1:182:3 | exit m16 | -| raise.rb:172:1:182:3 | exit m16 (abnormal) | raise.rb:172:1:182:3 | exit m16 (abnormal) | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:172:1:182:3 | exit m16 (normal) | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:174:8:174:23 | [true] ... \|\| ... | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:174:14:174:15 | b2 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:175:14:175:14 | 1 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:177:14:177:14 | 2 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:180:12:180:12 | 3 | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:174:8:174:23 | [true] ... \|\| ... | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:14:174:15 | b2 | -| raise.rb:175:14:175:14 | 1 | raise.rb:175:14:175:14 | 1 | -| raise.rb:177:14:177:14 | 2 | raise.rb:177:14:177:14 | 2 | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:180:12:180:12 | 3 | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:180:12:180:12 | 3 | raise.rb:180:12:180:12 | 3 | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:113:3:113:15 | After call to puts | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Entry | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:94:1:119:3 | Entry | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:97:8:97:12 | After ... > ... [true] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:99:11:99:15 | After ... < ... [true] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:102:5:102:22 | After call to puts | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:106:10:106:11 | After b1 [false] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:106:10:106:11 | After b1 [true] | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:113:3:113:15 | After call to puts | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:116:6:116:7 | After b2 [true] | raise.rb:116:6:116:7 | After b2 [true] | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:1:126:3 | Entry | +| raise.rb:121:1:126:3 | Exit | raise.rb:121:1:126:3 | Exit | +| raise.rb:121:9:121:9 | After p [match] | raise.rb:121:1:126:3 | Entry | +| raise.rb:121:9:121:9 | After p [match] | raise.rb:121:9:121:9 | After p [match] | +| raise.rb:121:9:121:9 | After p [no-match] | raise.rb:121:9:121:9 | After p [no-match] | +| raise.rb:128:1:140:3 | Entry | raise.rb:128:1:140:3 | Entry | +| raise.rb:128:1:140:3 | Exceptional Exit | raise.rb:128:1:140:3 | Exceptional Exit | +| raise.rb:128:1:140:3 | Exit | raise.rb:128:1:140:3 | Exit | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:128:1:140:3 | Entry | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:129:3:138:5 | After begin ... | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:130:8:130:8 | After b [false] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:130:8:130:8 | After b [false] | raise.rb:130:8:130:8 | After b [false] | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:133:10:133:19 | After ExceptionA [match] | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:134:10:134:19 | After ExceptionB [match] | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:134:10:134:19 | After ExceptionB [no-match] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:128:1:140:3 | Entry | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:130:8:130:8 | After b [false] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:133:10:133:19 | After ExceptionA [match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:134:10:134:19 | After ExceptionB [match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:134:10:134:19 | After ExceptionB [no-match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:142:1:148:3 | Entry | raise.rb:142:1:148:3 | Entry | +| raise.rb:143:6:143:6 | After b [false] | raise.rb:143:6:143:6 | After b [false] | +| raise.rb:143:6:143:6 | After b [true] | raise.rb:143:6:143:6 | After b [true] | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:142:1:148:3 | Entry | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:143:6:143:6 | After b [false] | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:143:6:143:6 | After b [true] | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:146:1:147:10 | ensure ... | +| raise.rb:150:1:152:3 | Entry | raise.rb:150:1:152:3 | Entry | +| raise.rb:154:1:156:3 | Entry | raise.rb:154:1:156:3 | Entry | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:16:155:50 | Entry | +| raise.rb:155:16:155:50 | Exit | raise.rb:155:16:155:50 | Exit | +| raise.rb:155:37:155:48 | After call to nil? [false] | raise.rb:155:16:155:50 | Entry | +| raise.rb:155:37:155:48 | After call to nil? [false] | raise.rb:155:37:155:48 | After call to nil? [false] | +| raise.rb:155:37:155:48 | After call to nil? [true] | raise.rb:155:37:155:48 | After call to nil? [true] | +| raise.rb:158:1:164:3 | Entry | raise.rb:158:1:164:3 | Entry | +| raise.rb:159:7:163:5 | Entry | raise.rb:159:7:163:5 | Entry | +| raise.rb:160:9:162:7 | Entry | raise.rb:160:9:162:7 | Entry | +| raise.rb:160:9:162:7 | Exit | raise.rb:160:9:162:7 | Exit | +| raise.rb:161:23:161:23 | After x [false] | raise.rb:161:23:161:23 | After x [false] | +| raise.rb:161:23:161:23 | After x [true] | raise.rb:160:9:162:7 | Entry | +| raise.rb:161:23:161:23 | After x [true] | raise.rb:161:23:161:23 | After x [true] | +| raise.rb:167:3:169:5 | Entry | raise.rb:167:3:169:5 | Entry | +| raise.rb:172:1:182:3 | Entry | raise.rb:172:1:182:3 | Entry | +| raise.rb:172:1:182:3 | Exit | raise.rb:172:1:182:3 | Exit | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:172:1:182:3 | Entry | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:172:1:182:3 | Normal Exit | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:174:8:174:9 | After b1 [true] | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:174:8:174:23 | After ... \|\| ... [true] | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:174:14:174:23 | After ... == ... [false] | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:174:8:174:9 | After b1 [true] | raise.rb:174:8:174:9 | After b1 [true] | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:174:8:174:9 | After b1 [true] | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:174:14:174:23 | After ... == ... [false] | raise.rb:174:14:174:23 | After ... == ... [false] | +| raise.rb:174:14:174:23 | After ... == ... [true] | raise.rb:174:14:174:23 | After ... == ... [true] | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:179:10:179:19 | After ExceptionA [match] | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:179:10:179:19 | After ExceptionA [match] | raise.rb:179:10:179:19 | After ExceptionA [match] | +| raise.rb:179:10:179:19 | After ExceptionA [no-match] | raise.rb:179:10:179:19 | After ExceptionA [no-match] | immediateDominator -| break_ensure.rb:1:1:11:3 | exit m1 | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:1:1:11:3 | enter m1 | -| break_ensure.rb:3:5:5:7 | if ... | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:4:7:4:11 | break | break_ensure.rb:3:8:3:8 | x | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:2:9:2:9 | x | -| break_ensure.rb:9:5:9:23 | [ensure: exception] self | break_ensure.rb:8:6:8:13 | [ensure: exception] self | -| break_ensure.rb:9:5:9:23 | self | break_ensure.rb:2:3:6:5 | while ... | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:13:1:25:3 | enter m2 | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:14:9:14:9 | x | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:16:10:16:10 | x | -| break_ensure.rb:21:9:21:20 | [ensure: break] self | break_ensure.rb:17:9:17:13 | break | -| break_ensure.rb:21:9:21:20 | [ensure: exception] self | break_ensure.rb:20:10:20:10 | [ensure: exception] y | -| break_ensure.rb:21:9:21:20 | self | break_ensure.rb:16:7:18:9 | if ... | -| break_ensure.rb:27:1:42:3 | exit m3 | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:33:11:33:11 | [ensure: exception] y | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:27:1:42:3 | enter m3 | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:30:7:30:12 | return | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:29:5:31:7 | if ... | -| break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:35:9:37:11 | [ensure: return] if ... | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:35:9:37:11 | if ... | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:33:11:33:11 | [ensure: exception] y | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:33:11:33:11 | [ensure: return] y | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:33:11:33:11 | y | -| break_ensure.rb:36:11:36:15 | [ensure: exception] break | break_ensure.rb:35:12:35:12 | [ensure: exception] x | -| break_ensure.rb:36:11:36:15 | [ensure: return] break | break_ensure.rb:35:12:35:12 | [ensure: return] x | -| break_ensure.rb:36:11:36:15 | break | break_ensure.rb:35:12:35:12 | x | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:44:1:56:3 | enter m4 | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:45:9:45:9 | x | -| break_ensure.rb:48:9:48:16 | self | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| break_ensure.rb:51:7:53:9 | if ... | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:47:10:47:10 | x | -| break_ensure.rb:52:15:52:16 | 10 | break_ensure.rb:47:7:49:9 | if ... | -| break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | break_ensure.rb:51:10:51:10 | [ensure: exception] x | -| case.rb:2:3:5:5 | case ... | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:3:5:3:42 | [match] when ... | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:1:1:6:3 | enter if_in_case | -| case.rb:3:18:3:41 | if ... | case.rb:3:21:3:22 | self | -| case.rb:3:21:3:22 | self | case.rb:3:5:3:42 | [match] when ... | -| case.rb:3:29:3:37 | self | case.rb:3:21:3:22 | self | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:10:4:10 | 2 | -| case.rb:4:5:4:24 | [no-match] when ... | case.rb:4:10:4:10 | 2 | -| case.rb:4:10:4:10 | 2 | case.rb:3:5:3:42 | [no-match] when ... | -| case.rb:4:17:4:24 | self | case.rb:4:5:4:24 | [match] when ... | -| case.rb:9:3:17:5 | case ... | case.rb:8:1:18:3 | enter case_match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:8:1:18:3 | enter case_match | -| case.rb:11:15:11:15 | 3 | case.rb:11:5:11:15 | in ... then ... | -| case.rb:12:5:13:7 | in ... then ... | case.rb:11:5:11:15 | in ... then ... | -| case.rb:13:7:13:7 | 4 | case.rb:12:5:13:7 | in ... then ... | -| case.rb:14:5:14:25 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | -| case.rb:14:13:14:13 | x | case.rb:14:5:14:25 | in ... then ... | -| case.rb:14:25:14:25 | 6 | case.rb:14:13:14:13 | x | -| case.rb:15:5:15:28 | in ... then ... | case.rb:14:13:14:13 | x | -| case.rb:15:17:15:17 | x | case.rb:15:5:15:28 | in ... then ... | -| case.rb:15:28:15:28 | 7 | case.rb:15:17:15:17 | x | -| case.rb:16:10:16:10 | 8 | case.rb:15:17:15:17 | x | -| case.rb:20:1:24:3 | exit case_match_no_match | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:21:3:23:5 | case ... | case.rb:20:1:24:3 | enter case_match_no_match | -| case.rb:26:1:30:3 | exit case_match_raise | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:26:1:30:3 | exit case_match_raise (abnormal) | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:27:3:29:5 | case ... | case.rb:26:1:30:3 | enter case_match_raise | -| case.rb:32:1:39:3 | exit case_match_array | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:37:5:37:27 | in ... then ... | -| case.rb:33:3:38:5 | case ... | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:35:5:35:11 | in ... then ... | case.rb:32:1:39:3 | enter case_match_array | -| case.rb:35:9:35:9 | x | case.rb:35:5:35:11 | in ... then ... | -| case.rb:36:5:36:13 | in ... then ... | case.rb:35:5:35:11 | in ... then ... | -| case.rb:36:9:36:9 | x | case.rb:36:5:36:13 | in ... then ... | -| case.rb:37:5:37:27 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:5:37:27 | in ... then ... | -| case.rb:37:12:37:12 | a | case.rb:37:8:37:26 | [ ..., * ] | -| case.rb:37:15:37:15 | b | case.rb:37:12:37:12 | a | -| case.rb:37:19:37:19 | c | case.rb:37:15:37:15 | b | -| case.rb:37:25:37:25 | e | case.rb:37:19:37:19 | c | -| case.rb:41:1:45:3 | exit case_match_find | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:43:10:43:10 | x | case.rb:41:1:45:3 | enter case_match_find | -| case.rb:43:16:43:16 | 2 | case.rb:43:10:43:10 | x | -| case.rb:43:20:43:20 | y | case.rb:43:16:43:16 | 2 | -| case.rb:47:1:53:3 | exit case_match_hash | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:51:5:51:17 | in ... then ... | -| case.rb:48:3:52:5 | case ... | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:49:20:49:20 | 1 | case.rb:49:8:49:34 | { ..., ** } | -| case.rb:49:23:49:23 | a | case.rb:49:20:49:20 | 1 | -| case.rb:49:29:49:32 | rest | case.rb:49:23:49:23 | a | -| case.rb:50:5:50:25 | in ... then ... | case.rb:47:1:53:3 | enter case_match_hash | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:5:50:25 | in ... then ... | -| case.rb:50:16:50:16 | 1 | case.rb:50:8:50:24 | { ..., ** } | -| case.rb:51:5:51:17 | in ... then ... | case.rb:50:5:50:25 | in ... then ... | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:51:5:51:17 | in ... then ... | -| case.rb:56:3:60:5 | case ... | case.rb:55:1:61:3 | enter case_match_variable | -| case.rb:58:5:58:10 | in ... then ... | case.rb:55:1:61:3 | enter case_match_variable | -| case.rb:64:3:66:5 | case ... | case.rb:63:1:67:3 | enter case_match_underscore | -| case.rb:65:12:65:12 | _ | case.rb:63:1:67:3 | enter case_match_underscore | -| case.rb:69:1:93:3 | exit case_match_various | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:69:1:93:3 | exit case_match_various (abnormal) | case.rb:91:23:91:24 | { ..., ** } | -| case.rb:72:3:92:5 | case ... | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:74:5:74:11 | in ... then ... | case.rb:69:1:93:3 | enter case_match_various | -| case.rb:75:5:75:15 | in ... then ... | case.rb:74:5:74:11 | in ... then ... | -| case.rb:76:5:76:18 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | -| case.rb:77:5:77:18 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | -| case.rb:78:5:78:19 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | -| case.rb:79:5:79:14 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | -| case.rb:80:5:80:12 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | -| case.rb:81:5:81:11 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | -| case.rb:82:5:82:20 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | -| case.rb:82:13:82:13 | x | case.rb:82:5:82:20 | in ... then ... | -| case.rb:82:20:82:20 | 1 | case.rb:82:13:82:13 | x | -| case.rb:83:5:83:26 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | -| case.rb:83:12:83:15 | ^... | case.rb:83:5:83:26 | in ... then ... | -| case.rb:83:20:83:25 | string | case.rb:83:12:83:15 | ^... | -| case.rb:84:5:84:17 | in ... then ... | case.rb:83:20:83:25 | string | -| case.rb:85:5:85:23 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | -| case.rb:86:5:86:11 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | -| case.rb:87:5:87:17 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | -| case.rb:88:5:88:15 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | -| case.rb:88:14:88:15 | 10 | case.rb:88:5:88:15 | in ... then ... | -| case.rb:89:5:89:69 | in ... then ... | case.rb:88:14:88:15 | 10 | -| case.rb:89:14:89:17 | self | case.rb:89:5:89:69 | in ... then ... | -| case.rb:89:21:89:24 | true | case.rb:89:14:89:17 | self | -| case.rb:89:28:89:32 | false | case.rb:89:21:89:24 | true | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:28:89:32 | false | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:36:89:43 | __LINE__ | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:89:47:89:54 | __FILE__ | -| case.rb:90:5:90:13 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | -| case.rb:91:5:91:25 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | -| case.rb:91:13:91:14 | "" | case.rb:91:5:91:25 | in ... then ... | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:13:91:14 | "" | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:91:18:91:19 | [ ..., * ] | -| case.rb:95:1:99:3 | exit case_match_guard_no_else | case.rb:97:13:97:13 | x | -| case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | case.rb:97:13:97:13 | x | -| case.rb:97:13:97:13 | x | case.rb:95:1:99:3 | enter case_match_guard_no_else | -| case.rb:97:25:97:25 | 6 | case.rb:97:13:97:13 | x | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.html.erb:19:19:19:32 | self | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.html.erb:21:19:21:32 | self | cfg.html.erb:5:16:31:12 | enter cfg.html.erb | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:1:1:221:1 | enter cfg.rb | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:32:9:32:9 | 1 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:35:1:37:3 | if ... | -| cfg.rb:42:15:42:24 | self | cfg.rb:42:3:42:24 | [match] when ... | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:43:14:43:14 | 4 | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:42:3:42:24 | [no-match] when ... | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:8:43:8 | 2 | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:11:43:11 | 3 | -| cfg.rb:43:21:43:31 | self | cfg.rb:43:3:43:31 | [match] when ... | -| cfg.rb:44:8:44:18 | self | cfg.rb:43:3:43:31 | [no-match] when ... | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:41:1:45:3 | case ... | -| cfg.rb:48:20:48:29 | self | cfg.rb:48:3:48:29 | [match] when ... | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:8:49:8 | b | -| cfg.rb:49:3:49:37 | [no-match] when ... | cfg.rb:49:16:49:16 | b | -| cfg.rb:49:8:49:8 | b | cfg.rb:48:3:48:29 | [no-match] when ... | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:8:49:8 | b | -| cfg.rb:49:27:49:37 | self | cfg.rb:49:3:49:37 | [match] when ... | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:60:27:60:31 | hello | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:60:37:60:39 | bye | cfg.rb:47:1:50:3 | case ... | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:75:15:75:15 | 0 | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:23:75:23 | x | cfg.rb:60:17:60:40 | ... ? ... : ... | -| cfg.rb:75:35:75:36 | 10 | cfg.rb:75:23:75:23 | x | -| cfg.rb:75:43:75:43 | x | cfg.rb:75:23:75:23 | x | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:90:5:90:5 | [false] ! ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:75:1:75:47 | if ... | -| cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | [true] ! ... | -| cfg.rb:91:3:91:24 | if ... | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:91:17:91:20 | next | cfg.rb:90:1:93:3 | enter { ... } | -| cfg.rb:101:24:101:25 | 42 | cfg.rb:101:1:104:3 | enter parameters | -| cfg.rb:101:28:101:30 | key | cfg.rb:101:1:104:3 | enter parameters | -| cfg.rb:113:1:113:9 | self | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | if ... | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:136:12:136:29 | self | cfg.rb:113:1:113:19 | ... if ... | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:172:21:172:29 | self | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:172:36:172:45 | self | cfg.rb:136:1:136:29 | ... rescue ... | -| cfg.rb:174:1:174:9 | self | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:172:1:172:49 | unless ... | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:7:176:7 | x | -| cfg.rb:176:7:176:7 | x | cfg.rb:174:1:174:23 | ... unless ... | -| cfg.rb:176:17:176:17 | x | cfg.rb:176:7:176:7 | x | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:30:179:30 | i | -| cfg.rb:179:2:179:13 | self | cfg.rb:179:30:179:30 | i | -| cfg.rb:179:30:179:30 | i | cfg.rb:176:1:176:41 | until ... | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:182:7:182:7 | x | -| cfg.rb:182:7:182:7 | x | cfg.rb:179:1:179:36 | ... until ... | -| cfg.rb:183:3:183:3 | x | cfg.rb:182:7:182:7 | x | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:183:3:183:3 | x | -| cfg.rb:184:18:184:21 | redo | cfg.rb:183:3:183:3 | x | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:30:188:30 | i | -| cfg.rb:188:2:188:13 | self | cfg.rb:188:30:188:30 | i | -| cfg.rb:188:30:188:30 | i | cfg.rb:182:1:186:3 | while ... | -| cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:205:1:205:3 | nil | cfg.rb:188:1:188:35 | ... while ... | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:188:1:188:35 | ... while ... | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:5:22:5:24 | 123 | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:14:18:14:20 | 123 | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| constant_compound_assign.rb:19:21:19:23 | 123 | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | -| exit.rb:1:1:6:3 | exit m1 | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:2:3:4:5 | if ... | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:3:5:3:10 | self | exit.rb:1:1:6:3 | enter m1 | -| exit.rb:8:1:13:3 | exit m2 | exit.rb:8:1:13:3 | enter m2 | -| exit.rb:9:3:11:5 | if ... | exit.rb:8:1:13:3 | enter m2 | -| exit.rb:10:5:10:18 | self | exit.rb:8:1:13:3 | enter m2 | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:3:5:3:30 | self | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:9:4:9 | x | ifs.rb:1:1:9:3 | enter m1 | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:20:4:20 | x | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:30:4:38 | [true] ! ... | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:9 | x | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:31:4:38 | [true] ( ... ) | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:31:4:38 | [false] ( ... ) | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:32:4:32 | x | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:9:4:24 | [true] ... and ... | -| ifs.rb:5:5:5:17 | self | ifs.rb:4:9:4:38 | [true] ... and ... | -| ifs.rb:7:5:7:35 | self | ifs.rb:4:9:4:38 | [false] ... and ... | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:12:3:14:5 | if ... | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:13:12:13:12 | 0 | ifs.rb:11:1:16:3 | enter m2 | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:18:1:26:3 | enter m3 | -| ifs.rb:20:5:20:5 | x | ifs.rb:18:1:26:3 | enter m3 | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:20:5:20:5 | x | -| ifs.rb:22:7:22:7 | x | ifs.rb:20:5:20:5 | x | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:28:1:30:3 | enter m4 | -| ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:10:29:23 | [true] ( ... ) | -| ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:10:29:23 | [false] ( ... ) | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:7:33:48 | [false] if ... | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:7:33:48 | [true] if ... | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:13:33:19 | [false] then ... | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:33:13:33:19 | [true] then ... | ifs.rb:33:18:33:19 | b2 | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:32:1:34:3 | enter m5 | -| ifs.rb:33:30:33:36 | [false] then ... | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:30:33:36 | [true] then ... | ifs.rb:33:35:33:36 | b4 | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:38:33:44 | [false] else ... | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:38:33:44 | [true] else ... | ifs.rb:33:43:33:44 | b5 | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:27:33:28 | b3 | -| ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:6:33:49 | [true] ( ... ) | -| ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:6:33:49 | [false] ( ... ) | -| ifs.rb:36:1:38:3 | conditional_method_def | ifs.rb:1:1:58:4 | enter ifs.rb | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:1:1:58:4 | enter ifs.rb | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:41:6:41:10 | [false] ! ... | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:40:1:44:3 | enter constant_condition | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:48:5:48:15 | self | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:49:3:49:6 | else ... | ifs.rb:46:1:52:3 | enter empty_else | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:7:55:14 | [false] ... \|\| ... | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:55:7:55:14 | [true] ... \|\| ... | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:54:1:58:3 | enter disjunct | -| ifs.rb:56:5:56:19 | self | ifs.rb:55:6:55:15 | [true] ( ... ) | -| loops.rb:2:3:5:5 | while ... | loops.rb:2:9:2:9 | x | -| loops.rb:2:9:2:9 | x | loops.rb:1:1:6:3 | enter m1 | -| loops.rb:3:5:3:10 | self | loops.rb:2:9:2:9 | x | -| loops.rb:9:3:20:5 | while ... | loops.rb:9:9:9:9 | x | -| loops.rb:9:9:9:9 | x | loops.rb:8:1:22:3 | enter m2 | -| loops.rb:10:5:10:10 | self | loops.rb:9:9:9:9 | x | -| loops.rb:13:7:13:11 | break | loops.rb:10:5:10:10 | self | -| loops.rb:14:11:14:11 | x | loops.rb:10:5:10:10 | self | -| loops.rb:15:7:15:10 | next | loops.rb:14:11:14:11 | x | -| loops.rb:16:5:17:10 | elsif ... | loops.rb:16:11:16:11 | x | -| loops.rb:16:11:16:11 | x | loops.rb:14:11:14:11 | x | -| loops.rb:17:7:17:10 | redo | loops.rb:16:11:16:11 | x | -| loops.rb:31:3:32:5 | while ... | loops.rb:31:9:31:9 | x | -| loops.rb:31:9:31:9 | x | loops.rb:30:1:33:3 | enter m4 | -| loops.rb:31:15:32:5 | do ... | loops.rb:31:9:31:9 | x | -| raise.rb:7:1:12:3 | exit m1 | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:8:3:10:5 | if ... | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:9:5:9:17 | self | raise.rb:7:1:12:3 | enter m1 | -| raise.rb:14:1:23:3 | exit m2 | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:14:1:23:3 | exit m2 (abnormal) | raise.rb:17:7:17:22 | self | -| raise.rb:16:5:18:7 | if ... | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:17:7:17:22 | self | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:20:5:20:18 | self | raise.rb:17:7:17:22 | self | -| raise.rb:22:3:22:15 | self | raise.rb:14:1:23:3 | enter m2 | -| raise.rb:27:5:29:7 | if ... | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:28:7:28:22 | self | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:33:3:33:15 | self | raise.rb:25:1:34:3 | enter m3 | -| raise.rb:38:5:40:7 | if ... | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:39:7:39:22 | self | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:44:3:44:15 | self | raise.rb:36:1:45:3 | enter m4 | -| raise.rb:49:5:51:7 | if ... | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:50:7:50:22 | self | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:54:3:54:15 | self | raise.rb:47:1:55:3 | enter m5 | -| raise.rb:57:1:66:3 | exit m6 | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:57:1:66:3 | exit m6 (abnormal) | raise.rb:62:22:62:31 | ExceptionB | -| raise.rb:59:5:61:7 | if ... | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:60:7:60:22 | self | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:60:7:60:22 | self | -| raise.rb:62:36:62:36 | e | raise.rb:60:7:60:22 | self | -| raise.rb:65:3:65:15 | self | raise.rb:57:1:66:3 | enter m6 | -| raise.rb:68:1:77:3 | exit m7 | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:71:9:71:9 | x | -| raise.rb:70:5:70:17 | self | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:71:3:72:18 | elsif ... | raise.rb:71:9:71:9 | x | -| raise.rb:71:9:71:9 | x | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:72:13:72:17 | x < 0 | raise.rb:71:9:71:9 | x | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:68:1:77:3 | enter m7 | -| raise.rb:76:3:76:15 | self | raise.rb:71:3:72:18 | elsif ... | -| raise.rb:79:1:92:3 | exit m8 | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:84:11:84:11 | x | -| raise.rb:83:7:83:19 | self | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:84:5:85:20 | elsif ... | raise.rb:84:11:84:11 | x | -| raise.rb:84:11:84:11 | x | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:85:15:85:19 | x < 0 | raise.rb:84:11:84:11 | x | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:79:1:92:3 | enter m8 | -| raise.rb:89:5:89:17 | self | raise.rb:84:5:85:20 | elsif ... | -| raise.rb:94:1:119:3 | exit m9 | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:99:11:99:11 | x | -| raise.rb:97:8:97:8 | x | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:98:7:98:19 | self | raise.rb:97:8:97:8 | x | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:99:11:99:11 | x | -| raise.rb:99:11:99:11 | x | raise.rb:97:8:97:8 | x | -| raise.rb:100:15:100:19 | x < 0 | raise.rb:99:11:99:11 | x | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:97:8:97:8 | x | -| raise.rb:104:5:104:23 | self | raise.rb:99:5:100:20 | elsif ... | -| raise.rb:106:7:108:9 | [ensure: exception] if ... | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:106:7:108:9 | if ... | raise.rb:106:10:106:11 | b1 | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:104:5:104:23 | [ensure: exception] self | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:100:15:100:19 | x < 0 | -| raise.rb:106:10:106:11 | b1 | raise.rb:104:5:104:23 | self | -| raise.rb:107:9:107:26 | [ensure: exception] self | raise.rb:106:10:106:11 | [ensure: exception] b1 | -| raise.rb:107:9:107:26 | [ensure: return] self | raise.rb:106:10:106:11 | [ensure: return] b1 | -| raise.rb:107:9:107:26 | self | raise.rb:106:10:106:11 | b1 | -| raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | raise.rb:107:9:107:26 | self | -| raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | raise.rb:107:9:107:26 | [ensure: exception] self | -| raise.rb:109:5:110:25 | [ensure: exception] ensure ... | raise.rb:106:7:108:9 | [ensure: exception] if ... | -| raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | raise.rb:107:9:107:26 | [ensure: return] self | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:106:7:108:9 | [ensure: return] if ... | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:106:7:108:9 | if ... | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:94:1:119:3 | enter m9 | -| raise.rb:115:3:115:22 | self | raise.rb:109:5:110:25 | ensure ... | -| raise.rb:116:3:118:5 | [ensure: exception] if ... | raise.rb:115:3:115:22 | [ensure: exception] self | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:116:3:118:5 | if ... | raise.rb:115:3:115:22 | self | -| raise.rb:117:5:117:22 | [ensure: exception] self | raise.rb:115:3:115:22 | [ensure: exception] self | -| raise.rb:117:5:117:22 | [ensure: return] self | raise.rb:109:5:110:25 | [ensure: return] ensure ... | -| raise.rb:117:5:117:22 | self | raise.rb:115:3:115:22 | self | -| raise.rb:121:1:126:3 | exit m10 | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:121:14:121:30 | self | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:125:3:125:51 | self | raise.rb:121:1:126:3 | enter m10 | -| raise.rb:128:1:140:3 | exit m11 | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:130:5:132:7 | if ... | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:131:7:131:22 | self | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:133:3:133:19 | rescue ... | raise.rb:131:7:131:22 | self | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:131:7:131:22 | self | -| raise.rb:135:5:135:21 | self | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:137:5:137:17 | [ensure: exception] self | raise.rb:134:10:134:19 | ExceptionB | -| raise.rb:137:5:137:17 | self | raise.rb:128:1:140:3 | enter m11 | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:143:3:145:5 | if ... | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:144:5:144:12 | self | raise.rb:142:1:148:3 | enter m12 | -| raise.rb:155:16:155:50 | exit { ... } | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:155:25:155:32 | self | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:16:155:50 | enter { ... } | -| raise.rb:160:9:162:7 | exit -> { ... } | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:161:7:161:14 | self | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:161:7:161:23 | ... unless ... | raise.rb:160:9:162:7 | enter -> { ... } | -| raise.rb:172:1:182:3 | exit m16 | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:172:1:182:3 | exit m16 (abnormal) | raise.rb:179:10:179:19 | ExceptionA | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:174:14:174:15 | b2 | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:174:14:174:15 | b2 | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:175:14:175:14 | 1 | raise.rb:174:8:174:23 | [true] ... \|\| ... | -| raise.rb:177:14:177:14 | 2 | raise.rb:174:8:174:23 | [false] ... \|\| ... | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:172:1:182:3 | enter m16 | -| raise.rb:180:12:180:12 | 3 | raise.rb:179:10:179:19 | ExceptionA | +| break_ensure.rb:1:1:11:3 | Exceptional Exit | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:1:1:11:3 | Exit | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:1:1:11:3 | Entry | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:8:3:10:5 | After if ... | +| break_ensure.rb:2:9:2:13 | After ... < ... [false] | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:3:8:3:12 | After ... > ... [false] | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:3:8:3:12 | After ... > ... [true] | break_ensure.rb:2:9:2:13 | After ... < ... [true] | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:8:6:8:18 | After call to nil? [false] | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:8:6:8:18 | After call to nil? [true] | break_ensure.rb:7:1:10:5 | ensure ... | +| break_ensure.rb:13:1:25:3 | Exceptional Exit | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:13:1:25:3 | Exit | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:13:1:25:3 | Entry | +| break_ensure.rb:14:9:14:13 | After ... < ... [false] | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | +| break_ensure.rb:15:5:23:7 | After begin ... | break_ensure.rb:20:7:22:9 | After if ... | +| break_ensure.rb:16:10:16:14 | After ... > ... [false] | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:16:10:16:14 | After ... > ... [true] | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:20:10:20:15 | After call to nil? [false] | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:20:10:20:15 | After call to nil? [true] | break_ensure.rb:19:5:22:9 | ensure ... | +| break_ensure.rb:27:1:42:3 | Exceptional Exit | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:27:1:42:3 | Exit | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:28:3:40:5 | After begin ... | break_ensure.rb:33:5:39:7 | After while ... | +| break_ensure.rb:29:8:29:13 | After call to nil? [false] | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:29:8:29:13 | After call to nil? [true] | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:27:1:42:3 | Entry | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:32:3:39:7 | ensure ... | +| break_ensure.rb:33:11:33:15 | After ... < ... [false] | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | +| break_ensure.rb:35:12:35:16 | After ... > ... [false] | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:35:12:35:16 | After ... > ... [true] | break_ensure.rb:33:11:33:15 | After ... < ... [true] | +| break_ensure.rb:44:1:56:3 | Exceptional Exit | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:44:1:56:3 | Exit | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:44:1:56:3 | Entry | +| break_ensure.rb:45:9:45:13 | After ... < ... [false] | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | +| break_ensure.rb:46:5:54:7 | After begin ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | +| break_ensure.rb:47:10:47:14 | After ... > ... [false] | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:47:10:47:14 | After ... > ... [true] | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:50:5:53:9 | ensure ... | +| break_ensure.rb:51:10:51:14 | After ... > ... [true] | break_ensure.rb:50:5:53:9 | ensure ... | +| case.rb:2:3:5:5 | After case ... | case.rb:1:1:6:3 | Entry | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:1:1:6:3 | Entry | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:1:1:6:3 | Entry | +| case.rb:3:18:3:41 | After if ... | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:3:21:3:22 | After call to x2 [false] | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:3:21:3:22 | After call to x2 [true] | case.rb:3:10:3:10 | After 1 [match] | +| case.rb:4:10:4:10 | After 2 [match] | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:4:10:4:10 | After 2 [no-match] | case.rb:3:10:3:10 | After 1 [no-match] | +| case.rb:9:3:17:5 | After case ... | case.rb:8:1:18:3 | Entry | +| case.rb:10:8:10:8 | After 0 [match] | case.rb:8:1:18:3 | Entry | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:8:1:18:3 | Entry | +| case.rb:11:8:11:8 | After 1 [match] | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:10:8:10:8 | After 0 [no-match] | +| case.rb:11:10:11:15 | then ... | case.rb:8:1:18:3 | Entry | +| case.rb:12:8:12:8 | After 2 [match] | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | +| case.rb:14:8:14:8 | After x [match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:14:8:14:8 | After x [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:14:13:14:18 | After ... == ... [false] | case.rb:14:8:14:8 | After x [match] | +| case.rb:14:13:14:18 | After ... == ... [true] | case.rb:14:8:14:8 | After x [match] | +| case.rb:15:5:15:28 | in ... then ... | case.rb:12:8:12:8 | After 2 [no-match] | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:5:15:28 | in ... then ... | +| case.rb:15:8:15:8 | After x [no-match] | case.rb:15:5:15:28 | in ... then ... | +| case.rb:15:17:15:21 | After ... < ... [false] | case.rb:15:8:15:8 | After x [match] | +| case.rb:15:17:15:21 | After ... < ... [true] | case.rb:15:8:15:8 | After x [match] | +| case.rb:16:5:16:10 | else ... | case.rb:15:5:15:28 | in ... then ... | +| case.rb:21:3:23:5 | After case ... | case.rb:20:1:24:3 | Entry | +| case.rb:22:8:22:8 | After 1 [match] | case.rb:20:1:24:3 | Entry | +| case.rb:22:8:22:8 | After 1 [no-match] | case.rb:20:1:24:3 | Entry | +| case.rb:27:3:29:5 | After case ... | case.rb:26:1:30:3 | Entry | +| case.rb:28:7:28:28 | After -> { ... } [match] | case.rb:26:1:30:3 | Entry | +| case.rb:28:7:28:28 | After -> { ... } [no-match] | case.rb:26:1:30:3 | Entry | +| case.rb:33:3:38:5 | After case ... | case.rb:32:1:39:3 | Entry | +| case.rb:34:8:34:9 | After [ ..., * ] [match] | case.rb:32:1:39:3 | Entry | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:32:1:39:3 | Entry | +| case.rb:35:8:35:10 | After [ ..., * ] [match] | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | +| case.rb:36:8:36:12 | After [ ..., * ] [match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | +| case.rb:37:8:37:26 | After [ ..., * ] [match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:37:8:37:26 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | +| case.rb:42:3:44:5 | After case ... | case.rb:41:1:45:3 | Entry | +| case.rb:43:8:43:21 | After [ *,...,* ] [match] | case.rb:41:1:45:3 | Entry | +| case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | case.rb:41:1:45:3 | Entry | +| case.rb:48:3:52:5 | After case ... | case.rb:47:1:53:3 | Entry | +| case.rb:49:8:49:34 | After { ..., ** } [match] | case.rb:47:1:53:3 | Entry | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:47:1:53:3 | Entry | +| case.rb:50:8:50:24 | After { ..., ** } [match] | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:49:8:49:34 | After { ..., ** } [no-match] | +| case.rb:51:8:51:16 | After { ..., ** } [match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:51:8:51:16 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | +| case.rb:56:3:60:5 | After case ... | case.rb:55:1:61:3 | Entry | +| case.rb:57:8:57:8 | After 5 [match] | case.rb:55:1:61:3 | Entry | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:55:1:61:3 | Entry | +| case.rb:58:8:58:10 | After var [match] | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:57:8:57:8 | After 5 [no-match] | +| case.rb:59:8:59:20 | After "unreachable" [match] | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:59:8:59:20 | After "unreachable" [no-match] | case.rb:58:8:58:10 | After var [no-match] | +| case.rb:64:3:66:5 | After case ... | case.rb:63:1:67:3 | Entry | +| case.rb:65:8:65:28 | After ... \| ... [match] | case.rb:63:1:67:3 | Entry | +| case.rb:65:8:65:28 | After ... \| ... [no-match] | case.rb:63:1:67:3 | Entry | +| case.rb:72:3:92:5 | After case ... | case.rb:69:1:93:3 | Entry | +| case.rb:73:8:73:8 | After 5 [match] | case.rb:69:1:93:3 | Entry | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:69:1:93:3 | Entry | +| case.rb:74:8:74:11 | After ^... [match] | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:73:8:73:8 | After 5 [no-match] | +| case.rb:75:8:75:15 | After "string" [match] | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | +| case.rb:76:8:76:18 | After call to [] [match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | +| case.rb:77:8:77:18 | After call to [] [match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | +| case.rb:82:8:82:13 | After ... => ... [match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | +| case.rb:82:15:82:20 | then ... | case.rb:69:1:93:3 | Entry | +| case.rb:83:8:83:26 | After ... \| ... [match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | +| case.rb:84:8:84:17 | After Bar [match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | +| case.rb:86:8:86:11 | After :foo [match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | +| case.rb:90:8:90:13 | After ( ... ) [match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | +| case.rb:91:8:91:25 | After ( ... ) [match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:91:8:91:25 | After ( ... ) [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | +| case.rb:96:3:98:5 | After case ... | case.rb:95:1:99:3 | Entry | +| case.rb:97:8:97:8 | After x [match] | case.rb:95:1:99:3 | Entry | +| case.rb:97:8:97:8 | After x [no-match] | case.rb:95:1:99:3 | Entry | +| case.rb:97:13:97:18 | After ... == ... [false] | case.rb:97:8:97:8 | After x [match] | +| case.rb:97:13:97:18 | After ... == ... [true] | case.rb:97:8:97:8 | After x [match] | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:5:16:31:12 | Entry | +| cfg.html.erb:18:17:18:22 | After call to admin? [false] | cfg.html.erb:5:16:31:12 | Entry | +| cfg.html.erb:18:17:18:22 | After call to admin? [true] | cfg.html.erb:5:16:31:12 | Entry | +| cfg.rb:1:1:221:1 | Exceptional Exit | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:1:1:221:1 | Exit | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:42:8:42:8 | After 1 [match] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:1:1:221:1 | Entry | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:43:8:43:8 | After 2 [match] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:42:8:42:8 | After 1 [no-match] | +| cfg.rb:43:11:43:11 | After 3 [match] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | +| cfg.rb:43:14:43:14 | After 4 [match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:43:14:43:14 | After 4 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:48:8:48:13 | After ... == ... [match] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:41:1:45:3 | After case ... | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:49:8:49:13 | After ... == ... [match] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:48:8:48:13 | After ... == ... [no-match] | +| cfg.rb:49:16:49:20 | After ... > ... [match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:49:16:49:20 | After ... > ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | +| cfg.rb:60:17:60:22 | After ... < ... [false] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:60:17:60:22 | After ... < ... [true] | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:47:1:50:3 | After case ... | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:75:4:75:8 | After ... < ... [true] | cfg.rb:60:17:60:40 | After ... ? ... : ... | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:23:75:28 | After ... > ... [false] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:75:23:75:28 | After ... > ... [true] | cfg.rb:75:4:75:8 | After ... < ... [false] | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:75:1:75:47 | After if ... | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:90:5:90:5 | After defined? ... [false] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:90:5:90:5 | After defined? ... [true] | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:77:1:86:3 | After begin ... | +| cfg.rb:91:6:91:10 | After ... > ... [false] | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:91:6:91:10 | After ... > ... [true] | cfg.rb:90:1:93:3 | Entry | +| cfg.rb:101:16:101:20 | After value [match] | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:101:16:101:20 | After value [no-match] | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:101:28:101:30 | key | cfg.rb:101:1:104:3 | Entry | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:113:14:113:19 | After ... > ... [false] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:113:14:113:19 | After ... > ... [true] | cfg.rb:90:5:90:5 | After if ... | +| cfg.rb:136:1:136:3 | After ... / ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:136:12:136:29 | Before call to puts | cfg.rb:113:1:113:19 | After ... if ... | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:172:8:172:14 | After ... == ... [false] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:172:8:172:14 | After ... == ... [true] | cfg.rb:136:1:136:29 | After ... rescue ... | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:174:18:174:23 | After ... == ... [false] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:174:18:174:23 | After ... == ... [true] | cfg.rb:172:1:172:49 | After unless ... | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:174:1:174:23 | After ... unless ... | +| cfg.rb:176:7:176:12 | After ... > ... [false] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:1:176:41 | [LoopHeader] until ... | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:176:7:176:12 | After ... > ... [true] | +| cfg.rb:179:30:179:36 | After ... == ... [false] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:179:30:179:36 | After ... == ... [true] | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:182:1:186:3 | [LoopHeader] while ... | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:182:7:182:12 | After ... < ... [true] | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:184:6:184:11 | After ... == ... [true] | cfg.rb:182:14:186:3 | do ... | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:182:7:182:12 | After ... < ... [false] | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:188:30:188:35 | After ... != ... [true] | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | +| cfg.rb:205:4:205:5 | After call to == [false] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:205:4:205:5 | After call to == [true] | cfg.rb:188:30:188:35 | After ... != ... [false] | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:188:30:188:35 | After ... != ... [false] | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | Entry | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | +| exit.rb:1:1:6:3 | Exit | exit.rb:1:1:6:3 | Entry | +| exit.rb:2:6:2:10 | After ... > ... [false] | exit.rb:1:1:6:3 | Entry | +| exit.rb:2:6:2:10 | After ... > ... [true] | exit.rb:1:1:6:3 | Entry | +| exit.rb:8:1:13:3 | Exit | exit.rb:8:1:13:3 | Entry | +| exit.rb:9:6:9:10 | After ... > ... [false] | exit.rb:8:1:13:3 | Entry | +| exit.rb:9:6:9:10 | After ... > ... [true] | exit.rb:8:1:13:3 | Entry | +| ifs.rb:2:3:8:5 | After if ... | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:2:6:2:10 | After ... > ... [true] | ifs.rb:1:1:9:3 | Entry | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [false] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:2:6:2:10 | After ... > ... [false] | +| ifs.rb:4:20:4:24 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:9:4:14 | After ... <= ... [true] | +| ifs.rb:4:32:4:37 | After ... == ... [false] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:4:32:4:37 | After ... == ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:12:6:12:6 | After b [false] | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:12:6:12:6 | After b [true] | ifs.rb:11:1:16:3 | Entry | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:19:6:19:10 | After ... < ... [false] | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:18:1:26:3 | Entry | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:21:8:21:13 | After ... > ... [false] | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:21:8:21:13 | After ... > ... [true] | ifs.rb:19:6:19:10 | After ... < ... [true] | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:28:1:30:3 | Entry | +| ifs.rb:29:16:29:17 | After b2 [false] | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:29:16:29:17 | After b2 [true] | ifs.rb:29:11:29:12 | After b1 [true] | +| ifs.rb:29:21:29:22 | After b3 [false] | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:29:21:29:22 | After b3 [true] | ifs.rb:29:11:29:12 | After b1 [false] | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:32:1:34:3 | Entry | +| ifs.rb:33:18:33:19 | After b2 [false] | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:33:18:33:19 | After b2 [true] | ifs.rb:33:10:33:11 | After b1 [true] | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:10:33:11 | After b1 [false] | +| ifs.rb:33:35:33:36 | After b4 [false] | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:35:33:36 | After b4 [true] | ifs.rb:33:27:33:28 | After b3 [true] | +| ifs.rb:33:43:33:44 | After b5 [false] | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:33:43:33:44 | After b5 [true] | ifs.rb:33:27:33:28 | After b3 [false] | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:38:12:38:17 | After ... == ... [false] | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:38:12:38:17 | After ... == ... [true] | ifs.rb:1:1:58:4 | Entry | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:47:6:47:6 | After b [false] | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:47:6:47:6 | After b [true] | ifs.rb:46:1:52:3 | Entry | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:7:55:8 | After b1 [true] | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:54:1:58:3 | Entry | +| ifs.rb:55:13:55:14 | After b2 [false] | ifs.rb:55:7:55:8 | After b1 [false] | +| ifs.rb:55:13:55:14 | After b2 [true] | ifs.rb:55:7:55:8 | After b1 [false] | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:1:1:6:3 | Entry | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:2:9:2:14 | After ... >= ... [true] | loops.rb:2:3:5:5 | [LoopHeader] while ... | +| loops.rb:9:3:20:5 | After while ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:8:1:22:3 | Entry | +| loops.rb:9:9:9:14 | After ... >= ... [false] | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:9:3:20:5 | [LoopHeader] while ... | +| loops.rb:9:15:20:5 | do ... | loops.rb:9:9:9:14 | After ... >= ... [true] | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:9:15:20:5 | do ... | +| loops.rb:12:8:12:14 | After ... > ... [true] | loops.rb:9:15:20:5 | do ... | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:14:11:14:16 | After ... > ... [true] | loops.rb:12:8:12:14 | After ... > ... [false] | +| loops.rb:16:11:16:16 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:16:11:16:16 | After ... > ... [true] | loops.rb:14:11:14:16 | After ... > ... [false] | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:30:1:33:3 | Entry | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| loops.rb:31:9:31:13 | After ... < ... [true] | loops.rb:31:3:32:5 | [LoopHeader] while ... | +| raise.rb:7:1:12:3 | Exit | raise.rb:7:1:12:3 | Entry | +| raise.rb:8:6:8:10 | After ... > ... [false] | raise.rb:7:1:12:3 | Entry | +| raise.rb:8:6:8:10 | After ... > ... [true] | raise.rb:7:1:12:3 | Entry | +| raise.rb:14:1:23:3 | Exit | raise.rb:14:1:23:3 | Entry | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:14:1:23:3 | Entry | +| raise.rb:16:8:16:8 | After b [false] | raise.rb:14:1:23:3 | Entry | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:14:1:23:3 | Entry | +| raise.rb:19:10:19:19 | After ExceptionA [match] | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:19:10:19:19 | After ExceptionA [no-match] | raise.rb:16:8:16:8 | After b [true] | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:25:1:34:3 | Entry | +| raise.rb:27:8:27:8 | After b [false] | raise.rb:25:1:34:3 | Entry | +| raise.rb:27:8:27:8 | After b [true] | raise.rb:25:1:34:3 | Entry | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:36:1:45:3 | Entry | +| raise.rb:38:8:38:8 | After b [false] | raise.rb:36:1:45:3 | Entry | +| raise.rb:38:8:38:8 | After b [true] | raise.rb:36:1:45:3 | Entry | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:47:1:55:3 | Entry | +| raise.rb:49:8:49:8 | After b [false] | raise.rb:47:1:55:3 | Entry | +| raise.rb:49:8:49:8 | After b [true] | raise.rb:47:1:55:3 | Entry | +| raise.rb:57:1:66:3 | Exit | raise.rb:57:1:66:3 | Entry | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:57:1:66:3 | Entry | +| raise.rb:59:8:59:8 | After b [false] | raise.rb:57:1:66:3 | Entry | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:57:1:66:3 | Entry | +| raise.rb:62:10:62:31 | After ..., ... [match] | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:62:10:62:31 | After ..., ... [no-match] | raise.rb:59:8:59:8 | After b [true] | +| raise.rb:68:1:77:3 | Exceptional Exit | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:68:1:77:3 | Exit | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:69:3:76:15 | After ... | raise.rb:75:1:76:15 | ensure ... | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:68:1:77:3 | Entry | +| raise.rb:69:6:69:10 | After ... > ... [true] | raise.rb:68:1:77:3 | Entry | +| raise.rb:71:9:71:13 | After ... < ... [false] | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:71:9:71:13 | After ... < ... [true] | raise.rb:69:6:69:10 | After ... > ... [false] | +| raise.rb:74:3:74:20 | After call to puts | raise.rb:71:9:71:13 | After ... < ... [false] | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | Entry | +| raise.rb:79:1:92:3 | Exceptional Exit | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:79:1:92:3 | Exit | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:81:3:90:5 | After begin ... | raise.rb:88:3:89:17 | ensure ... | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:79:1:92:3 | Entry | +| raise.rb:82:8:82:12 | After ... > ... [true] | raise.rb:79:1:92:3 | Entry | +| raise.rb:84:11:84:15 | After ... < ... [false] | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:84:11:84:15 | After ... < ... [true] | raise.rb:82:8:82:12 | After ... > ... [false] | +| raise.rb:87:5:87:22 | After call to puts | raise.rb:84:11:84:15 | After ... < ... [false] | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:79:1:92:3 | Entry | +| raise.rb:94:1:119:3 | Exceptional Exit | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:94:1:119:3 | Exit | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:94:1:119:3 | Entry | +| raise.rb:95:3:118:5 | After ... | raise.rb:116:6:116:7 | After b2 [false] | +| raise.rb:96:3:112:5 | After begin ... | raise.rb:105:5:111:7 | After begin ... | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:97:8:97:12 | After ... > ... [true] | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:99:11:99:15 | After ... < ... [false] | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:99:11:99:15 | After ... < ... [true] | raise.rb:97:8:97:12 | After ... > ... [false] | +| raise.rb:102:5:102:22 | After call to puts | raise.rb:99:11:99:15 | After ... < ... [false] | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:95:3:95:17 | After call to puts | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:103:3:111:7 | ensure ... | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:110:7:110:25 | After call to puts | +| raise.rb:106:10:106:11 | After b1 [false] | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:106:10:106:11 | After b1 [true] | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:104:5:104:23 | After call to puts | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:109:5:110:25 | ensure ... | +| raise.rb:113:3:113:15 | After call to puts | raise.rb:96:3:112:5 | After begin ... | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Entry | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:116:6:116:7 | After b2 [true] | raise.rb:114:1:118:5 | ensure ... | +| raise.rb:121:1:126:3 | Exit | raise.rb:121:1:126:3 | Entry | +| raise.rb:121:9:121:9 | After p [match] | raise.rb:121:1:126:3 | Entry | +| raise.rb:121:9:121:9 | After p [no-match] | raise.rb:121:1:126:3 | Entry | +| raise.rb:128:1:140:3 | Exceptional Exit | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:128:1:140:3 | Exit | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:136:3:137:17 | ensure ... | +| raise.rb:130:8:130:8 | After b [false] | raise.rb:128:1:140:3 | Entry | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:128:1:140:3 | Entry | +| raise.rb:133:10:133:19 | After ExceptionA [match] | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:130:8:130:8 | After b [true] | +| raise.rb:134:10:134:19 | After ExceptionB [match] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:134:10:134:19 | After ExceptionB [no-match] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:128:1:140:3 | Entry | +| raise.rb:143:6:143:6 | After b [false] | raise.rb:142:1:148:3 | Entry | +| raise.rb:143:6:143:6 | After b [true] | raise.rb:142:1:148:3 | Entry | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:142:1:148:3 | Entry | +| raise.rb:155:16:155:50 | Exit | raise.rb:155:16:155:50 | Entry | +| raise.rb:155:37:155:48 | After call to nil? [false] | raise.rb:155:16:155:50 | Entry | +| raise.rb:155:37:155:48 | After call to nil? [true] | raise.rb:155:16:155:50 | Entry | +| raise.rb:160:9:162:7 | Exit | raise.rb:160:9:162:7 | Entry | +| raise.rb:161:23:161:23 | After x [false] | raise.rb:160:9:162:7 | Entry | +| raise.rb:161:23:161:23 | After x [true] | raise.rb:160:9:162:7 | Entry | +| raise.rb:172:1:182:3 | Exit | raise.rb:172:1:182:3 | Entry | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:172:1:182:3 | Entry | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:172:1:182:3 | Entry | +| raise.rb:174:8:174:9 | After b1 [true] | raise.rb:172:1:182:3 | Entry | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:172:1:182:3 | Entry | +| raise.rb:174:14:174:23 | After ... == ... [false] | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:174:14:174:23 | After ... == ... [true] | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:174:8:174:9 | After b1 [false] | +| raise.rb:179:10:179:19 | After ExceptionA [match] | raise.rb:179:3:180:12 | rescue ... | +| raise.rb:179:10:179:19 | After ExceptionA [no-match] | raise.rb:179:3:180:12 | rescue ... | controls -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:9:5:9:23 | self | true | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:5:5:7 | if ... | true | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:8:3:8 | x | true | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:4:7:4:11 | break | true | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:5:5:7 | if ... | false | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:4:7:4:11 | break | true | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:9:5:9:23 | [ensure: exception] self | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:7:18:9 | if ... | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:10:16:10 | x | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:17:9:17:13 | break | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | if ... | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:10:20:10 | [ensure: exception] y | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | [ensure: break] self | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | [ensure: exception] self | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:21:9:21:20 | self | true | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:21:9:21:20 | self | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:7:18:9 | if ... | false | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:17:9:17:13 | break | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:7:22:9 | if ... | false | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:21:9:21:20 | [ensure: break] self | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:21:9:21:20 | self | false | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:21:9:21:20 | [ensure: break] self | true | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:21:9:21:20 | [ensure: exception] self | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:29:5:31:7 | if ... | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:30:7:30:12 | return | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:5:39:7 | while ... | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | [ensure: return] y | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | y | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:9:37:11 | if ... | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:12:35:12 | [ensure: return] x | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:35:12:35:12 | x | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:36:11:36:15 | [ensure: return] break | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:36:11:36:15 | break | false | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | true | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:12:35:12 | [ensure: exception] x | true | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:36:11:36:15 | [ensure: exception] break | true | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | true | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:12:35:12 | [ensure: return] x | true | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:36:11:36:15 | [ensure: return] break | true | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:9:37:11 | if ... | true | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:12:35:12 | x | true | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:36:11:36:15 | break | true | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | false | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:36:11:36:15 | [ensure: exception] break | true | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | false | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:36:11:36:15 | [ensure: return] break | true | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:9:37:11 | if ... | false | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:36:11:36:15 | break | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:47:7:49:9 | if ... | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:47:10:47:10 | x | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:48:9:48:16 | self | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | if ... | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:52:15:52:16 | 10 | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | true | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:51:7:53:9 | if ... | false | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:52:15:52:16 | 10 | true | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:7:49:9 | if ... | false | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:48:9:48:16 | self | true | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:51:7:53:9 | if ... | false | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:52:15:52:16 | 10 | false | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | false | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | true | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [match] when ... | match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [no-match] when ... | no-match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:18:3:41 | if ... | match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:21:3:22 | self | match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:29:3:37 | self | match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:5:4:24 | [match] when ... | no-match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:5:4:24 | [no-match] when ... | no-match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:10:4:10 | 2 | no-match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:4:17:4:24 | self | no-match | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:18:3:41 | if ... | match | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:21:3:22 | self | match | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:29:3:37 | self | match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:5:4:24 | [match] when ... | no-match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:5:4:24 | [no-match] when ... | no-match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:10:4:10 | 2 | no-match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:17:4:24 | self | no-match | -| case.rb:3:21:3:22 | self | case.rb:3:29:3:37 | self | true | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:17:4:24 | self | match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [match] when ... | match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [no-match] when ... | no-match | -| case.rb:4:10:4:10 | 2 | case.rb:4:17:4:24 | self | match | -| case.rb:8:1:18:3 | enter case_match | case.rb:11:5:11:15 | in ... then ... | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:11:15:11:15 | 3 | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:12:5:13:7 | in ... then ... | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:13:7:13:7 | 4 | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:5:14:25 | in ... then ... | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:13:14:13 | x | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:14:25:14:25 | 6 | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:5:15:28 | in ... then ... | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:17:15:17 | x | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:15:28:15:28 | 7 | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:16:10:16:10 | 8 | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:11:15:11:15 | 3 | match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:13:7:13:7 | 4 | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:13:14:13 | x | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:14:25:14:25 | 6 | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:17:15:17 | x | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:15:28:15:28 | 7 | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:16:10:16:10 | 8 | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:13:7:13:7 | 4 | match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:13:14:13 | x | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:25:14:25 | 6 | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:17:15:17 | x | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:15:28:15:28 | 7 | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:16:10:16:10 | 8 | no-match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:13:14:13 | x | match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:25:14:25 | 6 | match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:5:15:28 | in ... then ... | match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:17:15:17 | x | match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:15:28:15:28 | 7 | match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:16:10:16:10 | 8 | match | -| case.rb:14:13:14:13 | x | case.rb:14:25:14:25 | 6 | true | -| case.rb:14:13:14:13 | x | case.rb:15:5:15:28 | in ... then ... | false | -| case.rb:14:13:14:13 | x | case.rb:15:17:15:17 | x | false | -| case.rb:14:13:14:13 | x | case.rb:15:28:15:28 | 7 | false | -| case.rb:14:13:14:13 | x | case.rb:16:10:16:10 | 8 | false | -| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:17 | x | match | -| case.rb:15:5:15:28 | in ... then ... | case.rb:15:28:15:28 | 7 | match | -| case.rb:15:5:15:28 | in ... then ... | case.rb:16:10:16:10 | 8 | match | -| case.rb:15:17:15:17 | x | case.rb:15:28:15:28 | 7 | false | -| case.rb:15:17:15:17 | x | case.rb:16:10:16:10 | 8 | true | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:21:3:23:5 | case ... | match | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:27:3:29:5 | case ... | match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:1:39:3 | exit case_match_array (abnormal) | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:35:5:35:11 | in ... then ... | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:35:9:35:9 | x | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:36:5:36:13 | in ... then ... | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:36:9:36:9 | x | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:5:37:27 | in ... then ... | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:8:37:26 | [ ..., * ] | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:12:37:12 | a | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:15:37:15 | b | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:19:37:19 | c | no-match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:37:25:37:25 | e | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | false | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | true | -| case.rb:35:5:35:11 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:36:9:36:9 | x | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:12:37:12 | a | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:15:37:15 | b | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:19:37:19 | c | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:37:25:37:25 | e | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | false | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | true | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:12:37:12 | a | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:15:37:15 | b | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:19:37:19 | c | no-match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:25:37:25 | e | no-match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:12:37:12 | a | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:15:37:15 | b | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:19:37:19 | c | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:25:37:25 | e | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | false | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | true | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:15:37:15 | b | false | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:15:37:15 | b | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:15:37:15 | b | true | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:19:37:19 | c | false | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:19:37:19 | c | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:19:37:19 | c | true | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:25:37:25 | e | false | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:25:37:25 | e | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:25:37:25 | e | true | -| case.rb:37:12:37:12 | a | case.rb:37:15:37:15 | b | match | -| case.rb:37:12:37:12 | a | case.rb:37:19:37:19 | c | match | -| case.rb:37:12:37:12 | a | case.rb:37:25:37:25 | e | match | -| case.rb:37:15:37:15 | b | case.rb:37:19:37:19 | c | match | -| case.rb:37:15:37:15 | b | case.rb:37:25:37:25 | e | match | -| case.rb:37:19:37:19 | c | case.rb:37:25:37:25 | e | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | false | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | true | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:16:43:16 | 2 | false | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:16:43:16 | 2 | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:16:43:16 | 2 | true | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:20:43:20 | y | false | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:20:43:20 | y | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:20:43:20 | y | true | -| case.rb:43:10:43:10 | x | case.rb:43:16:43:16 | 2 | match | -| case.rb:43:10:43:10 | x | case.rb:43:20:43:20 | y | match | -| case.rb:43:16:43:16 | 2 | case.rb:43:20:43:20 | y | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:8:49:34 | { ..., ** } | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:20:49:20 | 1 | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:23:49:23 | a | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:29:49:32 | rest | match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | false | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | true | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:23:49:23 | a | false | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:23:49:23 | a | match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:23:49:23 | a | true | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:29:49:32 | rest | false | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:29:49:32 | rest | match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:29:49:32 | rest | true | -| case.rb:49:20:49:20 | 1 | case.rb:49:23:49:23 | a | match | -| case.rb:49:20:49:20 | 1 | case.rb:49:29:49:32 | rest | match | -| case.rb:49:23:49:23 | a | case.rb:49:29:49:32 | rest | match | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:8:50:24 | { ..., ** } | match | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:16:50:16 | 1 | match | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | false | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | match | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | true | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:8:51:16 | { ..., ** } | match | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:58:5:58:10 | in ... then ... | no-match | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:65:12:65:12 | _ | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:74:5:74:11 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:75:5:75:15 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:76:5:76:18 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:13:82:13 | x | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:83:20:83:25 | string | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:14:89:17 | self | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:21:89:24 | true | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:28:89:32 | false | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:13:91:14 | "" | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:13:82:13 | x | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:20:82:20 | 1 | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:13:82:13 | x | match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:20:82:20 | 1 | match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:82:13:82:13 | x | case.rb:82:20:82:20 | 1 | match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:20:83:25 | string | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:83:20:83:25 | string | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:14:89:17 | self | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:21:89:24 | true | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:28:89:32 | false | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:83:20:83:25 | string | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:83:20:83:25 | string | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:14:89:17 | self | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:21:89:24 | true | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:28:89:32 | false | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:83:20:83:25 | string | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:83:20:83:25 | string | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:83:20:83:25 | string | case.rb:91:13:91:14 | "" | no-match | -| case.rb:83:20:83:25 | string | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:83:20:83:25 | string | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:14:89:17 | self | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:21:89:24 | true | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:28:89:32 | false | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:91:13:91:14 | "" | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:21:89:24 | true | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:28:89:32 | false | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:14:89:17 | self | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:14:89:17 | self | case.rb:89:21:89:24 | true | no-match | -| case.rb:89:14:89:17 | self | case.rb:89:28:89:32 | false | no-match | -| case.rb:89:14:89:17 | self | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:14:89:17 | self | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:14:89:17 | self | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:14:89:17 | self | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:14:89:17 | self | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:14:89:17 | self | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:14:89:17 | self | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:14:89:17 | self | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:21:89:24 | true | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:21:89:24 | true | case.rb:89:28:89:32 | false | no-match | -| case.rb:89:21:89:24 | true | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:21:89:24 | true | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:21:89:24 | true | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:21:89:24 | true | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:21:89:24 | true | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:21:89:24 | true | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:21:89:24 | true | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:21:89:24 | true | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:28:89:32 | false | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:28:89:32 | false | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:28:89:32 | false | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:28:89:32 | false | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:28:89:32 | false | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:28:89:32 | false | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:28:89:32 | false | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:28:89:32 | false | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:28:89:32 | false | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:13:91:14 | "" | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:91:13:91:14 | "" | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:91:13:91:14 | "" | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:91:13:91:14 | "" | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:69:1:93:3 | exit case_match_various (abnormal) | no-match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else | match | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | match | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:97:13:97:13 | x | match | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:97:25:97:25 | 6 | match | -| case.rb:97:13:97:13 | x | case.rb:97:25:97:25 | 6 | true | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:19:19:19:32 | self | true | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:21:19:21:32 | self | false | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:32:9:32:9 | 1 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:35:1:37:3 | if ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:41:1:45:3 | case ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:3:42:24 | [match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:3:42:24 | [no-match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:42:15:42:24 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:3:43:31 | [match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:3:43:31 | [no-match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:8:43:8 | 2 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:11:43:11 | 3 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:14:43:14 | 4 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:43:21:43:31 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:44:8:44:18 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:47:1:50:3 | case ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [no-match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:20:48:29 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [no-match] when ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:8:49:8 | b | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:16:49:16 | b | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:27:49:37 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:17:60:40 | ... ? ... : ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:27:60:31 | hello | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:60:37:60:39 | bye | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:1:75:47 | if ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:15:75:15 | 0 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:17:75:43 | elsif ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:23:75:23 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:35:75:36 | 10 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:75:43:75:43 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | [false] ! ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | [true] ! ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | if ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:90:5:90:5 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:113:1:113:9 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:113:1:113:19 | ... if ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:136:1:136:29 | ... rescue ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:136:12:136:29 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:1:172:49 | unless ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:21:172:29 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:172:36:172:45 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:174:1:174:9 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:174:1:174:23 | ... unless ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:1:176:41 | until ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:7:176:7 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:176:17:176:17 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:1:179:36 | ... until ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:2:179:13 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:179:30:179:30 | i | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:182:1:186:3 | while ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:182:7:182:7 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:183:3:183:3 | x | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:184:3:184:25 | if ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:1:188:35 | ... while ... | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:2:188:13 | self | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:188:30:188:30 | i | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:1:205:3 | __synth__0__1 | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:205:4:205:5 | if ... | true | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:35:1:37:3 | if ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:41:1:45:3 | case ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:3:42:24 | [match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:3:42:24 | [no-match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:42:15:42:24 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:3:43:31 | [match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:3:43:31 | [no-match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:8:43:8 | 2 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:11:43:11 | 3 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:14:43:14 | 4 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:43:21:43:31 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:44:8:44:18 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:47:1:50:3 | case ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [no-match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:20:48:29 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [no-match] when ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:8:49:8 | b | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:16:49:16 | b | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:27:49:37 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:17:60:40 | ... ? ... : ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:27:60:31 | hello | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:60:37:60:39 | bye | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:1:75:47 | if ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:15:75:15 | 0 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:17:75:43 | elsif ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:23:75:23 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:35:75:36 | 10 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:75:43:75:43 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | [false] ! ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | [true] ! ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | if ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:90:5:90:5 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:113:1:113:9 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:113:1:113:19 | ... if ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:136:1:136:29 | ... rescue ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:136:12:136:29 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:1:172:49 | unless ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:21:172:29 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:172:36:172:45 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:174:1:174:9 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:174:1:174:23 | ... unless ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:1:176:41 | until ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:7:176:7 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:176:17:176:17 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:1:179:36 | ... until ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:2:179:13 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:179:30:179:30 | i | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:182:1:186:3 | while ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:182:7:182:7 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:183:3:183:3 | x | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:184:3:184:25 | if ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:184:18:184:21 | redo | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:1:188:35 | ... while ... | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:2:188:13 | self | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:188:30:188:30 | i | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:1:205:3 | nil | false | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:205:4:205:5 | if ... | false | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [match] when ... | match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:15:42:24 | self | match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:3:43:31 | [match] when ... | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:8:43:8 | 2 | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:11:43:11 | 3 | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:43:21:43:31 | self | no-match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [match] when ... | match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [no-match] when ... | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:20:48:29 | self | match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [match] when ... | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:8:49:8 | b | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:16:49:16 | b | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:27:49:37 | self | no-match | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:15:42:24 | self | match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:3:43:31 | [match] when ... | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:8:43:8 | 2 | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:11:43:11 | 3 | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:21:43:31 | self | no-match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:21:43:31 | self | match | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:11:43:11 | 3 | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:27:60:31 | hello | true | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:37:60:39 | bye | false | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:20:48:29 | self | match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:3:49:37 | [match] when ... | no-match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:8:49:8 | b | no-match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:16:49:16 | b | no-match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:27:49:37 | self | no-match | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:27:49:37 | self | match | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:16:49:16 | b | no-match | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:15:75:15 | 0 | true | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:17:75:43 | elsif ... | false | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:23:75:23 | x | false | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:35:75:36 | 10 | false | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:43:75:43 | x | false | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | true | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | false | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | x | false | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:35:75:36 | 10 | true | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:43:75:43 | x | false | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:3:91:24 | if ... | false | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:17:91:20 | next | true | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | x | true | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:113:1:113:9 | self | true | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | false | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | no-match | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | true | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:21:172:29 | self | false | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:36:172:45 | self | true | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:1:174:9 | self | false | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:1:176:41 | until ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:17:176:17 | x | false | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:1:179:36 | ... until ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:2:179:13 | self | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:179:30:179:30 | i | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:182:1:186:3 | while ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:182:7:182:7 | x | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:183:3:183:3 | x | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:184:3:184:25 | if ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:1:188:35 | ... while ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:2:188:13 | self | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:188:30:188:30 | i | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:1:205:3 | __synth__0__1 | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:205:4:205:5 | if ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:1:179:36 | ... until ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:2:179:13 | self | false | -| cfg.rb:179:30:179:30 | i | cfg.rb:182:1:186:3 | while ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:182:7:182:7 | x | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:183:3:183:3 | x | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:184:3:184:25 | if ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:1:188:35 | ... while ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:2:188:13 | self | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:188:30:188:30 | i | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:1:205:3 | __synth__0__1 | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:205:4:205:5 | if ... | true | -| cfg.rb:182:7:182:7 | x | cfg.rb:182:1:186:3 | while ... | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:183:3:183:3 | x | true | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:3:184:25 | if ... | true | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:1:188:35 | ... while ... | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:2:188:13 | self | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:188:30:188:30 | i | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:1:205:3 | nil | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:205:4:205:5 | if ... | false | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:3:184:25 | if ... | false | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:1:188:35 | ... while ... | false | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:2:188:13 | self | true | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:1:205:3 | nil | false | -| cfg.rb:188:30:188:30 | i | cfg.rb:205:4:205:5 | if ... | false | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:5:22:5:24 | 123 | false | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | false | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | false | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:2:3:4:5 | if ... | false | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:3:5:3:10 | self | true | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:9:3:11:5 | if ... | false | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:10:5:10:18 | self | true | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:3:5:3:30 | self | true | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:3:7:35 | elsif ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:9 | x | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:24 | [false] ... and ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:24 | [true] ... and ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:38 | [false] ... and ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:38 | [true] ... and ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:20:4:20 | x | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:30:4:38 | [false] ! ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:30:4:38 | [true] ! ... | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:31:4:38 | [false] ( ... ) | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:31:4:38 | [true] ( ... ) | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:32:4:32 | x | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:5:5:5:17 | self | false | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:7:5:7:35 | self | false | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:36:1:38:3 | conditional_method_def | false | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:24 | [true] ... and ... | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:20:4:20 | x | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:30:4:38 | [true] ! ... | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:32:4:32 | x | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:30:4:38 | [true] ! ... | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:31:4:38 | [false] ( ... ) | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:31:4:38 | [true] ( ... ) | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:32:4:32 | x | true | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:7:5:7:35 | self | false | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:24 | [true] ... and ... | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:30:4:38 | [true] ! ... | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:32:4:32 | x | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:9:4:38 | [true] ... and ... | false | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:30:4:38 | [true] ! ... | false | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:5:5:5:17 | self | false | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:9:4:38 | [true] ... and ... | false | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:30:4:38 | [true] ! ... | false | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | false | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | true | -| ifs.rb:4:32:4:32 | x | ifs.rb:5:5:5:17 | self | false | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:12:3:14:5 | if ... | false | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:13:12:13:12 | 0 | true | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:20:5:20:5 | x | true | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:21:5:23:7 | if ... | true | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:22:7:22:7 | x | true | -| ifs.rb:20:5:20:5 | x | ifs.rb:22:7:22:7 | x | true | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:16:29:17 | b2 | true | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:21:29:22 | b3 | false | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | false | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:28:29:35 | b2 \|\| b3 | true | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:10:29:23 | [false] ( ... ) | false | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | false | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:10:29:23 | [true] ( ... ) | true | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:28:29:35 | b2 \|\| b3 | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:13:33:19 | [false] then ... | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:13:33:19 | [true] then ... | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:18:33:19 | b2 | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:21:33:44 | [false] elsif ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:21:33:44 | [true] elsif ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:27:33:28 | b3 | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:30:33:36 | [false] then ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:30:33:36 | [true] then ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:35:33:36 | b4 | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:38:33:44 | [false] else ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:38:33:44 | [true] else ... | false | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:43:33:44 | b5 | false | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | false | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | true | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:6:33:49 | [false] ( ... ) | false | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | false | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:6:33:49 | [true] ( ... ) | true | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | true | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [false] then ... | false | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [true] then ... | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:30:33:36 | [false] then ... | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:30:33:36 | [true] then ... | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:35:33:36 | b4 | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:38:33:44 | [false] else ... | false | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:38:33:44 | [true] else ... | false | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:43:33:44 | b5 | false | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [false] then ... | false | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [true] then ... | true | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [false] else ... | false | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [true] else ... | true | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:3:43:5 | if ... | true | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:6:41:10 | [false] ! ... | true | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:3:43:5 | if ... | false | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:48:5:48:15 | self | true | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:49:3:49:6 | else ... | false | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:6:55:15 | [false] ( ... ) | false | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:7:55:14 | [false] ... \|\| ... | false | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:13:55:14 | b2 | false | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:56:5:56:19 | self | true | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:6:55:15 | [false] ( ... ) | false | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:6:55:15 | [true] ( ... ) | true | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:56:5:56:19 | self | true | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:6:55:15 | [false] ( ... ) | false | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [false] ... \|\| ... | false | -| loops.rb:2:9:2:9 | x | loops.rb:2:3:5:5 | while ... | false | -| loops.rb:2:9:2:9 | x | loops.rb:3:5:3:10 | self | true | -| loops.rb:9:9:9:9 | x | loops.rb:10:5:10:10 | self | true | -| loops.rb:9:9:9:9 | x | loops.rb:13:7:13:11 | break | true | -| loops.rb:9:9:9:9 | x | loops.rb:14:11:14:11 | x | true | -| loops.rb:9:9:9:9 | x | loops.rb:15:7:15:10 | next | true | -| loops.rb:9:9:9:9 | x | loops.rb:16:5:17:10 | elsif ... | true | -| loops.rb:9:9:9:9 | x | loops.rb:16:11:16:11 | x | true | -| loops.rb:9:9:9:9 | x | loops.rb:17:7:17:10 | redo | true | -| loops.rb:10:5:10:10 | self | loops.rb:13:7:13:11 | break | true | -| loops.rb:10:5:10:10 | self | loops.rb:14:11:14:11 | x | false | -| loops.rb:10:5:10:10 | self | loops.rb:15:7:15:10 | next | false | -| loops.rb:10:5:10:10 | self | loops.rb:16:5:17:10 | elsif ... | false | -| loops.rb:10:5:10:10 | self | loops.rb:16:11:16:11 | x | false | -| loops.rb:10:5:10:10 | self | loops.rb:17:7:17:10 | redo | false | -| loops.rb:14:11:14:11 | x | loops.rb:15:7:15:10 | next | true | -| loops.rb:14:11:14:11 | x | loops.rb:16:5:17:10 | elsif ... | false | -| loops.rb:14:11:14:11 | x | loops.rb:16:11:16:11 | x | false | -| loops.rb:14:11:14:11 | x | loops.rb:17:7:17:10 | redo | false | -| loops.rb:16:11:16:11 | x | loops.rb:16:5:17:10 | elsif ... | false | -| loops.rb:16:11:16:11 | x | loops.rb:17:7:17:10 | redo | true | -| loops.rb:31:9:31:9 | x | loops.rb:31:3:32:5 | while ... | false | -| loops.rb:31:9:31:9 | x | loops.rb:31:15:32:5 | do ... | true | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:8:3:10:5 | if ... | false | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:9:5:9:17 | self | true | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:1:23:3 | exit m2 (abnormal) | true | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:16:5:18:7 | if ... | false | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:17:7:17:22 | self | true | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:20:5:20:18 | self | true | -| raise.rb:17:7:17:22 | self | raise.rb:20:5:20:18 | self | match | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:27:5:29:7 | if ... | false | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:28:7:28:22 | self | true | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:38:5:40:7 | if ... | false | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:39:7:39:22 | self | true | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:49:5:51:7 | if ... | false | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:50:7:50:22 | self | true | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:1:66:3 | exit m6 (abnormal) | true | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:59:5:61:7 | if ... | false | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:60:7:60:22 | self | true | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:62:22:62:31 | ExceptionB | true | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:62:36:62:36 | e | true | -| raise.rb:60:7:60:22 | self | raise.rb:57:1:66:3 | exit m6 (abnormal) | no-match | -| raise.rb:60:7:60:22 | self | raise.rb:62:22:62:31 | ExceptionB | no-match | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:1:77:3 | exit m7 (normal) | false | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:70:5:70:17 | self | true | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:71:3:72:18 | elsif ... | false | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:71:9:71:9 | x | false | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:72:13:72:17 | x < 0 | false | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:76:3:76:15 | self | false | -| raise.rb:71:9:71:9 | x | raise.rb:71:3:72:18 | elsif ... | false | -| raise.rb:71:9:71:9 | x | raise.rb:72:13:72:17 | x < 0 | true | -| raise.rb:71:9:71:9 | x | raise.rb:76:3:76:15 | self | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:1:92:3 | exit m8 (normal) | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:83:7:83:19 | self | true | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:84:5:85:20 | elsif ... | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:84:11:84:11 | x | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:85:15:85:19 | x < 0 | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:89:5:89:17 | self | false | -| raise.rb:84:11:84:11 | x | raise.rb:84:5:85:20 | elsif ... | false | -| raise.rb:84:11:84:11 | x | raise.rb:85:15:85:19 | x < 0 | true | -| raise.rb:84:11:84:11 | x | raise.rb:89:5:89:17 | self | false | -| raise.rb:97:8:97:8 | x | raise.rb:94:1:119:3 | exit m9 (normal) | false | -| raise.rb:97:8:97:8 | x | raise.rb:98:7:98:19 | self | true | -| raise.rb:97:8:97:8 | x | raise.rb:99:5:100:20 | elsif ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:99:11:99:11 | x | false | -| raise.rb:97:8:97:8 | x | raise.rb:100:15:100:19 | x < 0 | false | -| raise.rb:97:8:97:8 | x | raise.rb:104:5:104:23 | self | false | -| raise.rb:97:8:97:8 | x | raise.rb:106:7:108:9 | [ensure: return] if ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:106:7:108:9 | if ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:106:10:106:11 | [ensure: return] b1 | false | -| raise.rb:97:8:97:8 | x | raise.rb:106:10:106:11 | b1 | false | -| raise.rb:97:8:97:8 | x | raise.rb:107:9:107:26 | [ensure: return] self | false | -| raise.rb:97:8:97:8 | x | raise.rb:107:9:107:26 | self | false | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | [ensure: return] ensure ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:109:5:110:25 | ensure ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:115:3:115:22 | self | false | -| raise.rb:97:8:97:8 | x | raise.rb:116:3:118:5 | [ensure: return] if ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:97:8:97:8 | x | raise.rb:117:5:117:22 | [ensure: return] self | false | -| raise.rb:97:8:97:8 | x | raise.rb:117:5:117:22 | self | false | -| raise.rb:99:11:99:11 | x | raise.rb:99:5:100:20 | elsif ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:100:15:100:19 | x < 0 | true | -| raise.rb:99:11:99:11 | x | raise.rb:104:5:104:23 | self | false | -| raise.rb:99:11:99:11 | x | raise.rb:106:7:108:9 | [ensure: return] if ... | true | -| raise.rb:99:11:99:11 | x | raise.rb:106:7:108:9 | if ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:106:10:106:11 | [ensure: return] b1 | true | -| raise.rb:99:11:99:11 | x | raise.rb:106:10:106:11 | b1 | false | -| raise.rb:99:11:99:11 | x | raise.rb:107:9:107:26 | [ensure: return] self | true | -| raise.rb:99:11:99:11 | x | raise.rb:107:9:107:26 | self | false | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | true | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | [ensure: return] ensure ... | true | -| raise.rb:99:11:99:11 | x | raise.rb:109:5:110:25 | ensure ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:115:3:115:22 | self | false | -| raise.rb:99:11:99:11 | x | raise.rb:116:3:118:5 | [ensure: return] if ... | true | -| raise.rb:99:11:99:11 | x | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:117:5:117:22 | [ensure: return] self | true | -| raise.rb:99:11:99:11 | x | raise.rb:117:5:117:22 | self | false | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:7:108:9 | [ensure: exception] if ... | false | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:107:9:107:26 | [ensure: exception] self | true | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | true | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:7:108:9 | [ensure: return] if ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:107:9:107:26 | [ensure: return] self | true | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | true | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:109:5:110:25 | [ensure: return] ensure ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:116:3:118:5 | [ensure: return] if ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:117:5:117:22 | [ensure: return] self | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:7:108:9 | if ... | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:107:9:107:26 | self | true | -| raise.rb:106:10:106:11 | b1 | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | true | -| raise.rb:106:10:106:11 | b1 | raise.rb:109:5:110:25 | ensure ... | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:115:3:115:22 | self | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:117:5:117:22 | self | false | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:116:3:118:5 | [ensure: return] if ... | false | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:117:5:117:22 | [ensure: return] self | true | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:116:3:118:5 | [ensure: exception] if ... | false | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:117:5:117:22 | [ensure: exception] self | true | -| raise.rb:115:3:115:22 | self | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:115:3:115:22 | self | raise.rb:117:5:117:22 | self | true | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | false | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | no-match | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | true | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:125:3:125:51 | self | match | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:130:5:132:7 | if ... | false | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:131:7:131:22 | self | true | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:133:3:133:19 | rescue ... | true | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:134:10:134:19 | ExceptionB | true | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:135:5:135:21 | self | true | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:137:5:137:17 | [ensure: exception] self | true | -| raise.rb:131:7:131:22 | self | raise.rb:133:3:133:19 | rescue ... | match | -| raise.rb:131:7:131:22 | self | raise.rb:134:10:134:19 | ExceptionB | no-match | -| raise.rb:131:7:131:22 | self | raise.rb:135:5:135:21 | self | no-match | -| raise.rb:131:7:131:22 | self | raise.rb:137:5:137:17 | [ensure: exception] self | no-match | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:135:5:135:21 | self | match | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:143:3:145:5 | if ... | false | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:144:5:144:12 | self | true | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:32 | self | true | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:48 | ... if ... | false | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:14 | self | false | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:23 | ... unless ... | true | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:8:174:23 | [false] ... \|\| ... | false | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:14:174:15 | b2 | false | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:177:14:177:14 | 2 | false | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:177:14:177:14 | 2 | false | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:175:14:175:14 | 1 | true | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:8:174:23 | [false] ... \|\| ... | false | -| raise.rb:174:14:174:15 | b2 | raise.rb:177:14:177:14 | 2 | false | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:180:12:180:12 | 3 | match | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | false | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | true | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | true | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | true | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [false] | false | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [true] | true | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | false | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:13:1:25:3 | Exceptional Exit | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [false] | false | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:15:5:23:7 | After begin ... | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:19:5:22:9 | ensure ... | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:7:22:9 | After if ... | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | true | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [false] | false | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [true] | true | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | false | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | true | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [false] | false | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [true] | true | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | false | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | true | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | true | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:35:12:35:16 | After ... > ... [true] | true | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [false] | false | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [true] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:44:1:56:3 | Exceptional Exit | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [false] | false | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:46:5:54:7 | After begin ... | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:47:10:47:14 | After ... > ... [false] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:47:10:47:14 | After ... > ... [true] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:50:5:53:9 | ensure ... | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | true | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [false] | false | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [true] | true | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:44:1:56:3 | Exceptional Exit | false | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:46:5:54:7 | After begin ... | false | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | false | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | true | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [match] | match | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [no-match] | no-match | +| case.rb:1:1:6:3 | Entry | case.rb:3:18:3:41 | After if ... | match | +| case.rb:1:1:6:3 | Entry | case.rb:3:21:3:22 | After call to x2 [false] | match | +| case.rb:1:1:6:3 | Entry | case.rb:3:21:3:22 | After call to x2 [true] | match | +| case.rb:1:1:6:3 | Entry | case.rb:4:10:4:10 | After 2 [match] | no-match | +| case.rb:1:1:6:3 | Entry | case.rb:4:10:4:10 | After 2 [no-match] | no-match | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [false] | false | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [true] | true | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [match] | match | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [match] | match | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:11:8:11:8 | After 1 [match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:11:8:11:8 | After 1 [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:12:8:12:8 | After 2 [match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:12:8:12:8 | After 2 [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:14:8:14:8 | After x [match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:14:8:14:8 | After x [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:14:13:14:18 | After ... == ... [false] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:14:13:14:18 | After ... == ... [true] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:15:5:15:28 | in ... then ... | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:15:8:15:8 | After x [match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:15:8:15:8 | After x [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:15:17:15:21 | After ... < ... [false] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:15:17:15:21 | After ... < ... [true] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:16:5:16:10 | else ... | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [match] | match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:12:8:12:8 | After 2 [match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:8:14:8 | After x [match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:8:14:8 | After x [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:5:15:28 | in ... then ... | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:8:15:8 | After x [match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:8:15:8 | After x [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:17:15:21 | After ... < ... [false] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:15:17:15:21 | After ... < ... [true] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:16:5:16:10 | else ... | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [match] | match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:8:14:8 | After x [match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:8:14:8 | After x [no-match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:5:15:28 | in ... then ... | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:8:15:8 | After x [match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:8:15:8 | After x [no-match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:17:15:21 | After ... < ... [false] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:15:17:15:21 | After ... < ... [true] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:16:5:16:10 | else ... | no-match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [match] | match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [no-match] | no-match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:13:14:18 | After ... == ... [false] | match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:13:14:18 | After ... == ... [true] | match | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [false] | false | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [true] | true | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [match] | match | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [no-match] | no-match | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:21 | After ... < ... [false] | match | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:21 | After ... < ... [true] | match | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [false] | false | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [true] | true | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [match] | match | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [no-match] | no-match | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [match] | match | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [no-match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [match] | match | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:35:8:35:10 | After [ ..., * ] [match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:36:8:36:12 | After [ ..., * ] [match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:37:8:37:26 | After [ ..., * ] [match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [match] | match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | no-match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | no-match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | match | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [match] | match | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [match] | match | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [no-match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:50:8:50:24 | After { ..., ** } [match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:50:8:50:24 | After { ..., ** } [no-match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:51:8:51:16 | After { ..., ** } [match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:51:8:51:16 | After { ..., ** } [no-match] | no-match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [match] | match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | no-match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [match] | no-match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | no-match | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [match] | match | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [match] | match | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [no-match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:58:8:58:10 | After var [match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:58:8:58:10 | After var [no-match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:59:8:59:20 | After "unreachable" [match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:59:8:59:20 | After "unreachable" [no-match] | no-match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [match] | match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [no-match] | no-match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:59:8:59:20 | After "unreachable" [match] | no-match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | no-match | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [match] | match | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | no-match | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [match] | match | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [match] | match | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:74:8:74:11 | After ^... [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:74:8:74:11 | After ^... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:75:8:75:15 | After "string" [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:75:8:75:15 | After "string" [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:76:8:76:18 | After call to [] [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:77:8:77:18 | After call to [] [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [match] | match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:75:8:75:15 | After "string" [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:76:8:76:18 | After call to [] [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:77:8:77:18 | After call to [] [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [match] | match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:76:8:76:18 | After call to [] [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:77:8:77:18 | After call to [] [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [match] | match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:77:8:77:18 | After call to [] [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [match] | match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:84:8:84:17 | After Bar [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [match] | match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:86:8:86:11 | After :foo [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [match] | match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | no-match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | match | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [match] | match | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [no-match] | no-match | +| case.rb:95:1:99:3 | Entry | case.rb:97:13:97:18 | After ... == ... [false] | match | +| case.rb:95:1:99:3 | Entry | case.rb:97:13:97:18 | After ... == ... [true] | match | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [false] | false | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [true] | true | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [false] | false | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [true] | true | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [match] | match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [no-match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:3:43:31 | After when ... [match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:8:43:8 | After 2 [match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:8:43:8 | After 2 [no-match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:11:43:11 | After 3 [match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:11:43:11 | After 3 [no-match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:14:43:14 | After 4 [match] | no-match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [match] | match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:3:49:37 | After when ... [match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [match] | match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:11:43:11 | After 3 [match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [match] | match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | no-match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | no-match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | match | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [false] | false | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [true] | true | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [match] | match | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | no-match | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [match] | no-match | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | no-match | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [match] | match | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | no-match | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [false] | false | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [true] | true | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:17:75:43 | After elsif ... | false | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:23:75:28 | After ... > ... [false] | false | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:23:75:28 | After ... > ... [true] | false | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | false | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [true] | true | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [false] | false | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [true] | true | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [false] | false | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [true] | true | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | false | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | true | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [match] | match | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [no-match] | no-match | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [false] | false | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [true] | true | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [false] | false | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [false] | false | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:179:30:179:36 | After ... == ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:7:182:12 | After ... < ... [false] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:7:182:12 | After ... < ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:182:14:186:3 | do ... | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:184:6:184:11 | After ... == ... [false] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:30:188:35 | After ... != ... [false] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:188:30:188:35 | After ... != ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After call to == [false] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After call to == [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:205:4:205:5 | After if ... | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | false | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:7:182:12 | After ... < ... [false] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:7:182:12 | After ... < ... [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:182:14:186:3 | do ... | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:184:6:184:11 | After ... == ... [false] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:30:188:35 | After ... != ... [false] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:188:30:188:35 | After ... != ... [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After call to == [false] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After call to == [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:205:4:205:5 | After if ... | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [false] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [true] | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:14:186:3 | do ... | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [false] | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:30:188:35 | After ... != ... [false] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After call to == [false] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After call to == [true] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:205:4:205:5 | After if ... | false | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [false] | false | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [false] | false | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | true | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After call to == [false] | false | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After call to == [true] | false | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:205:4:205:5 | After if ... | false | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [false] | false | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [true] | true | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | false | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | true | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | false | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | true | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | false | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | true | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [false] | false | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [true] | true | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [false] | false | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [true] | true | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [true] | true | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:3:7:35 | After elsif ... | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:14 | After ... <= ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:14 | After ... <= ... [true] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:24 | After ... and ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:9:4:38 | After ... and ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:20:4:24 | After ... > ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:20:4:24 | After ... > ... [true] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:32:4:37 | After ... == ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:4:32:4:37 | After ... == ... [true] | false | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [false] | false | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [true] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | false | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [true] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [false] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:20:4:24 | After ... > ... [true] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:32:4:37 | After ... == ... [false] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:32:4:37 | After ... == ... [true] | true | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [false] | false | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | true | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:32:4:37 | After ... == ... [false] | true | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | true | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [false] | false | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | true | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [false] | false | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [true] | true | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [false] | false | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [true] | true | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:5:23:7 | After if ... | true | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:8:21:13 | After ... > ... [false] | true | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:21:8:21:13 | After ... > ... [true] | true | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [false] | false | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [true] | true | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [false] | false | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [true] | true | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:16:29:17 | After b2 [false] | true | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:16:29:17 | After b2 [true] | true | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:21:29:22 | After b3 [false] | false | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:21:29:22 | After b3 [true] | false | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [false] | false | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [true] | true | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [false] | false | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [true] | true | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [true] | true | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:18:33:19 | After b2 [false] | true | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:18:33:19 | After b2 [true] | true | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:21:33:44 | After elsif ... [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:21:33:44 | After elsif ... [true] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:27:33:28 | After b3 [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:27:33:28 | After b3 [true] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:35:33:36 | After b4 [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:35:33:36 | After b4 [true] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:43:33:44 | After b5 [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:43:33:44 | After b5 [true] | false | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [false] | false | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [true] | true | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:35:33:36 | After b4 [false] | true | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:35:33:36 | After b4 [true] | true | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:43:33:44 | After b5 [false] | false | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:43:33:44 | After b5 [true] | false | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [false] | false | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [true] | true | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [false] | false | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [true] | true | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [false] | false | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [true] | true | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [false] | false | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [true] | true | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [false] | false | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [true] | true | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:13:55:14 | After b2 [false] | false | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:13:55:14 | After b2 [true] | false | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [false] | false | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [true] | true | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [false] | false | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [true] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [false] | false | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [true] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:15:20:5 | do ... | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:12:8:12:14 | After ... > ... [false] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:12:8:12:14 | After ... > ... [true] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:14:11:14:16 | After ... > ... [false] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:14:11:14:16 | After ... > ... [true] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:16:11:16:16 | After ... > ... [false] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:16:11:16:16 | After ... > ... [true] | true | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [false] | false | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [true] | true | +| loops.rb:9:15:20:5 | do ... | loops.rb:14:11:14:16 | After ... > ... [false] | false | +| loops.rb:9:15:20:5 | do ... | loops.rb:14:11:14:16 | After ... > ... [true] | false | +| loops.rb:9:15:20:5 | do ... | loops.rb:16:11:16:16 | After ... > ... [false] | false | +| loops.rb:9:15:20:5 | do ... | loops.rb:16:11:16:16 | After ... > ... [true] | false | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | false | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [true] | true | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | false | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [true] | false | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | false | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [true] | true | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [false] | false | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [true] | true | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [false] | false | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [true] | true | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [false] | false | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [true] | true | +| raise.rb:14:1:23:3 | Entry | raise.rb:19:10:19:19 | After ExceptionA [match] | true | +| raise.rb:14:1:23:3 | Entry | raise.rb:19:10:19:19 | After ExceptionA [no-match] | true | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [match] | match | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [no-match] | no-match | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [false] | false | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [true] | true | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [false] | false | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [true] | true | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [false] | false | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [true] | true | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [false] | false | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [true] | true | +| raise.rb:57:1:66:3 | Entry | raise.rb:62:10:62:31 | After ..., ... [match] | true | +| raise.rb:57:1:66:3 | Entry | raise.rb:62:10:62:31 | After ..., ... [no-match] | true | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [match] | match | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [no-match] | no-match | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [false] | false | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [true] | true | +| raise.rb:68:1:77:3 | Entry | raise.rb:71:9:71:13 | After ... < ... [false] | false | +| raise.rb:68:1:77:3 | Entry | raise.rb:71:9:71:13 | After ... < ... [true] | false | +| raise.rb:68:1:77:3 | Entry | raise.rb:74:3:74:20 | After call to puts | false | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [false] | false | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [true] | true | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:74:3:74:20 | After call to puts | false | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [false] | false | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [true] | true | +| raise.rb:79:1:92:3 | Entry | raise.rb:84:11:84:15 | After ... < ... [false] | false | +| raise.rb:79:1:92:3 | Entry | raise.rb:84:11:84:15 | After ... < ... [true] | false | +| raise.rb:79:1:92:3 | Entry | raise.rb:87:5:87:22 | After call to puts | false | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [false] | false | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [true] | true | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:87:5:87:22 | After call to puts | false | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [false] | false | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [true] | true | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:99:11:99:15 | After ... < ... [false] | false | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:99:11:99:15 | After ... < ... [true] | false | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:102:5:102:22 | After call to puts | false | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [false] | false | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [true] | true | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:102:5:102:22 | After call to puts | false | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [false] | false | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [true] | true | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | Normal Exit | false | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:95:3:118:5 | After ... | false | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [false] | false | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [true] | true | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [match] | match | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [no-match] | no-match | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [false] | false | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [true] | true | +| raise.rb:128:1:140:3 | Entry | raise.rb:133:10:133:19 | After ExceptionA [match] | true | +| raise.rb:128:1:140:3 | Entry | raise.rb:133:10:133:19 | After ExceptionA [no-match] | true | +| raise.rb:128:1:140:3 | Entry | raise.rb:134:10:134:19 | After ExceptionB [match] | true | +| raise.rb:128:1:140:3 | Entry | raise.rb:134:10:134:19 | After ExceptionB [no-match] | true | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [match] | match | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | no-match | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:134:10:134:19 | After ExceptionB [match] | no-match | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | no-match | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [match] | match | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | no-match | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [false] | false | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [true] | true | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [false] | false | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [true] | true | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [false] | false | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [true] | true | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [false] | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [true] | true | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:14:174:23 | After ... == ... [false] | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:14:174:23 | After ... == ... [true] | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:3:180:12 | rescue ... | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:10:179:19 | After ExceptionA [match] | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:179:10:179:19 | After ExceptionA [no-match] | false | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [false] | false | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [true] | true | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [match] | match | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [no-match] | no-match | successor -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:8:3:10:5 | if ... | false | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:9:5:9:23 | self | true | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:2:3:6:5 | while ... | false | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:8:3:8 | x | true | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:8:6:8:13 | [ensure: exception] self | exception | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:2:3:6:5 | while ... | exception | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:5:5:7 | if ... | false | -| break_ensure.rb:3:8:3:8 | x | break_ensure.rb:4:7:4:11 | break | true | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | false | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:9:5:9:23 | [ensure: exception] self | true | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:14:3:24:5 | while ... | false | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:16:10:16:10 | x | true | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:20:7:22:9 | if ... | false | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:21:9:21:20 | self | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:7:18:9 | if ... | false | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:17:9:17:13 | break | true | -| break_ensure.rb:16:10:16:10 | x | break_ensure.rb:20:10:20:10 | [ensure: exception] y | exception | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | false | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:21:9:21:20 | [ensure: break] self | true | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | false | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:21:9:21:20 | [ensure: exception] self | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:29:5:31:7 | if ... | false | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:30:7:30:12 | return | true | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:33:11:33:11 | [ensure: exception] y | exception | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | false | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:12:35:12 | [ensure: exception] x | true | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | false | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:12:35:12 | [ensure: return] x | true | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:33:5:39:7 | while ... | false | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:12:35:12 | x | true | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | false | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:36:11:36:15 | [ensure: exception] break | true | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | false | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:36:11:36:15 | [ensure: return] break | true | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:9:37:11 | if ... | false | -| break_ensure.rb:35:12:35:12 | x | break_ensure.rb:36:11:36:15 | break | true | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:45:3:55:5 | while ... | false | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:47:10:47:10 | x | true | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:51:7:53:9 | if ... | false | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:52:15:52:16 | 10 | true | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:7:49:9 | if ... | false | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:48:9:48:16 | self | true | -| break_ensure.rb:47:10:47:10 | x | break_ensure.rb:51:10:51:10 | [ensure: exception] x | exception | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | false | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | true | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [match] when ... | match | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:3:5:3:42 | [no-match] when ... | no-match | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:21:3:22 | self | match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:10:4:10 | 2 | no-match | -| case.rb:3:21:3:22 | self | case.rb:3:18:3:41 | if ... | false | -| case.rb:3:21:3:22 | self | case.rb:3:29:3:37 | self | true | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:17:4:24 | self | match | -| case.rb:4:5:4:24 | [no-match] when ... | case.rb:2:3:5:5 | case ... | no-match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [match] when ... | match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [no-match] when ... | no-match | -| case.rb:8:1:18:3 | enter case_match | case.rb:9:3:17:5 | case ... | match | -| case.rb:8:1:18:3 | enter case_match | case.rb:11:5:11:15 | in ... then ... | no-match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:11:15:11:15 | 3 | match | -| case.rb:11:5:11:15 | in ... then ... | case.rb:12:5:13:7 | in ... then ... | no-match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:13:7:13:7 | 4 | match | -| case.rb:12:5:13:7 | in ... then ... | case.rb:14:5:14:25 | in ... then ... | no-match | -| case.rb:14:5:14:25 | in ... then ... | case.rb:14:13:14:13 | x | match | -| case.rb:14:13:14:13 | x | case.rb:14:25:14:25 | 6 | true | -| case.rb:14:13:14:13 | x | case.rb:15:5:15:28 | in ... then ... | false | -| case.rb:15:5:15:28 | in ... then ... | case.rb:15:17:15:17 | x | match | -| case.rb:15:17:15:17 | x | case.rb:15:28:15:28 | 7 | false | -| case.rb:15:17:15:17 | x | case.rb:16:10:16:10 | 8 | true | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | exception | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:21:3:23:5 | case ... | match | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | exception | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:27:3:29:5 | case ... | match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:33:3:38:5 | case ... | match | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:35:5:35:11 | in ... then ... | no-match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | false | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | match | -| case.rb:35:5:35:11 | in ... then ... | case.rb:35:9:35:9 | x | true | -| case.rb:35:5:35:11 | in ... then ... | case.rb:36:5:36:13 | in ... then ... | no-match | -| case.rb:35:9:35:9 | x | case.rb:33:3:38:5 | case ... | match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | false | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | match | -| case.rb:36:5:36:13 | in ... then ... | case.rb:36:9:36:9 | x | true | -| case.rb:36:5:36:13 | in ... then ... | case.rb:37:5:37:27 | in ... then ... | no-match | -| case.rb:36:9:36:9 | x | case.rb:33:3:38:5 | case ... | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:32:1:39:3 | exit case_match_array (abnormal) | exception | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:32:1:39:3 | exit case_match_array (abnormal) | exception | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | false | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | true | -| case.rb:37:12:37:12 | a | case.rb:37:15:37:15 | b | match | -| case.rb:37:15:37:15 | b | case.rb:37:19:37:19 | c | match | -| case.rb:37:19:37:19 | c | case.rb:37:25:37:25 | e | match | -| case.rb:37:25:37:25 | e | case.rb:33:3:38:5 | case ... | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | false | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | match | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:43:10:43:10 | x | true | -| case.rb:43:10:43:10 | x | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:43:10:43:10 | x | case.rb:43:16:43:16 | 2 | match | -| case.rb:43:16:43:16 | 2 | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:43:16:43:16 | 2 | case.rb:43:20:43:20 | y | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:49:8:49:34 | { ..., ** } | match | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | false | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | true | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:20:49:20 | 1 | case.rb:49:23:49:23 | a | match | -| case.rb:49:20:49:20 | 1 | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:23:49:23 | a | case.rb:49:29:49:32 | rest | match | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:8:50:24 | { ..., ** } | match | -| case.rb:50:5:50:25 | in ... then ... | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | false | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | match | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | true | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:50:16:50:16 | 1 | case.rb:48:3:52:5 | case ... | match | -| case.rb:50:16:50:16 | 1 | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:51:5:51:17 | in ... then ... | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | exception | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:8:51:16 | { ..., ** } | match | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | exception | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:48:3:52:5 | case ... | false | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:48:3:52:5 | case ... | match | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:48:3:52:5 | case ... | true | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:56:3:60:5 | case ... | match | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:58:5:58:10 | in ... then ... | no-match | -| case.rb:58:5:58:10 | in ... then ... | case.rb:56:3:60:5 | case ... | match | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:64:3:66:5 | case ... | match | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:65:12:65:12 | _ | no-match | -| case.rb:65:12:65:12 | _ | case.rb:64:3:66:5 | case ... | match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:72:3:92:5 | case ... | match | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:74:5:74:11 | in ... then ... | no-match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:74:5:74:11 | in ... then ... | case.rb:75:5:75:15 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:76:5:76:18 | in ... then ... | no-match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:76:5:76:18 | in ... then ... | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:77:5:77:18 | in ... then ... | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:78:5:78:19 | in ... then ... | case.rb:79:5:79:14 | in ... then ... | no-match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:79:5:79:14 | in ... then ... | case.rb:80:5:80:12 | in ... then ... | no-match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:80:5:80:12 | in ... then ... | case.rb:81:5:81:11 | in ... then ... | no-match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:81:5:81:11 | in ... then ... | case.rb:82:5:82:20 | in ... then ... | no-match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:82:13:82:13 | x | match | -| case.rb:82:5:82:20 | in ... then ... | case.rb:83:5:83:26 | in ... then ... | no-match | -| case.rb:82:13:82:13 | x | case.rb:82:20:82:20 | 1 | match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:5:83:26 | in ... then ... | case.rb:83:12:83:15 | ^... | no-match | -| case.rb:83:12:83:15 | ^... | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:12:83:15 | ^... | case.rb:83:20:83:25 | string | no-match | -| case.rb:83:20:83:25 | string | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:20:83:25 | string | case.rb:84:5:84:17 | in ... then ... | no-match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:84:5:84:17 | in ... then ... | case.rb:85:5:85:23 | in ... then ... | no-match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:85:5:85:23 | in ... then ... | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:86:5:86:11 | in ... then ... | case.rb:87:5:87:17 | in ... then ... | no-match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:87:5:87:17 | in ... then ... | case.rb:88:5:88:15 | in ... then ... | no-match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:88:5:88:15 | in ... then ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:88:14:88:15 | 10 | case.rb:72:3:92:5 | case ... | match | -| case.rb:88:14:88:15 | 10 | case.rb:89:5:89:69 | in ... then ... | no-match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:5:89:69 | in ... then ... | case.rb:89:14:89:17 | self | no-match | -| case.rb:89:14:89:17 | self | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:14:89:17 | self | case.rb:89:21:89:24 | true | no-match | -| case.rb:89:21:89:24 | true | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:21:89:24 | true | case.rb:89:28:89:32 | false | no-match | -| case.rb:89:28:89:32 | false | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:28:89:32 | false | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:90:5:90:13 | in ... then ... | no-match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:90:5:90:13 | in ... then ... | case.rb:91:5:91:25 | in ... then ... | no-match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:5:91:25 | in ... then ... | case.rb:91:13:91:14 | "" | no-match | -| case.rb:91:13:91:14 | "" | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:13:91:14 | "" | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:69:1:93:3 | exit case_match_various (abnormal) | exception | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:72:3:92:5 | case ... | false | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:72:3:92:5 | case ... | true | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:97:13:97:13 | x | match | -| case.rb:97:13:97:13 | x | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | exception | -| case.rb:97:13:97:13 | x | case.rb:97:25:97:25 | 6 | true | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:19:19:19:32 | self | true | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:21:19:21:32 | self | false | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:32:9:32:9 | 1 | true | -| cfg.rb:32:9:32:9 | 1 | cfg.rb:35:1:37:3 | if ... | false | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [match] when ... | match | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:42:3:42:24 | [no-match] when ... | no-match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [match] when ... | match | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [no-match] when ... | no-match | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:15:42:24 | self | match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:8:43:8 | 2 | no-match | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:21:43:31 | self | match | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:11:43:11 | 3 | no-match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:27:60:31 | hello | true | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:60:37:60:39 | bye | false | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:20:48:29 | self | match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:8:49:8 | b | no-match | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:27:49:37 | self | match | -| cfg.rb:49:3:49:37 | [no-match] when ... | cfg.rb:47:1:50:3 | case ... | no-match | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [match] when ... | match | -| cfg.rb:49:8:49:8 | b | cfg.rb:49:16:49:16 | b | no-match | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [match] when ... | match | -| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:15:75:15 | 0 | true | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:75:23:75:23 | x | false | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | true | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:90:5:90:5 | [true] ! ... | false | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:35:75:36 | 10 | true | -| cfg.rb:75:23:75:23 | x | cfg.rb:75:43:75:43 | x | false | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:3:91:24 | if ... | false | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:91:17:91:20 | next | true | -| cfg.rb:90:5:90:5 | [false] ! ... | cfg.rb:90:5:90:5 | if ... | false | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | x | true | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:113:1:113:9 | self | true | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:113:1:113:19 | ... if ... | false | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | false | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | no-match | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:24:101:25 | 42 | true | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:28:101:30 | key | match | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:21:172:29 | self | false | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:172:36:172:45 | self | true | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:1:174:9 | self | false | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:1:174:23 | ... unless ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:1:176:41 | until ... | true | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:17:176:17 | x | false | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:1:179:36 | ... until ... | true | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:2:179:13 | self | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:182:1:186:3 | while ... | false | -| cfg.rb:182:7:182:7 | x | cfg.rb:183:3:183:3 | x | true | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:3:184:25 | if ... | false | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:18:184:21 | redo | true | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:1:188:35 | ... while ... | false | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:2:188:13 | self | true | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | true | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:5:22:5:24 | 123 | false | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | true | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | false | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | true | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | false | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:2:3:4:5 | if ... | false | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:3:5:3:10 | self | true | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:9:3:11:5 | if ... | false | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:10:5:10:18 | self | true | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:3:5:3:30 | self | true | -| ifs.rb:1:1:9:3 | enter m1 | ifs.rb:4:9:4:9 | x | false | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:36:1:38:3 | conditional_method_def | false | -| ifs.rb:1:1:58:4 | enter ifs.rb | ifs.rb:36:1:38:17 | ... unless ... | true | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:9:4:24 | [false] ... and ... | false | -| ifs.rb:4:9:4:9 | x | ifs.rb:4:20:4:20 | x | true | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:38 | [false] ... and ... | false | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:32:4:32 | x | true | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:7:5:7:35 | self | false | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:5:5:5:17 | self | true | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:24 | [false] ... and ... | false | -| ifs.rb:4:20:4:20 | x | ifs.rb:4:9:4:24 | [true] ... and ... | true | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:9:4:38 | [false] ... and ... | false | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:30:4:38 | [true] ! ... | false | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:30:4:38 | [false] ! ... | true | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [false] ( ... ) | false | -| ifs.rb:4:32:4:32 | x | ifs.rb:4:31:4:38 | [true] ( ... ) | true | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:12:3:14:5 | if ... | false | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:13:12:13:12 | 0 | true | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:19:3:24:5 | if ... | false | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:20:5:20:5 | x | true | -| ifs.rb:20:5:20:5 | x | ifs.rb:21:5:23:7 | if ... | false | -| ifs.rb:20:5:20:5 | x | ifs.rb:22:7:22:7 | x | true | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:16:29:17 | b2 | true | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:29:21:29:22 | b3 | false | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | false | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:28:29:35 | b2 \|\| b3 | true | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:10:29:23 | [false] ( ... ) | false | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:10:29:23 | [true] ( ... ) | true | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | false | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | true | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | false | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:18:33:19 | b2 | true | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:33:27:33:28 | b3 | false | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | false | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | true | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:6:33:49 | [false] ( ... ) | false | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:6:33:49 | [true] ( ... ) | true | -| ifs.rb:33:13:33:19 | [false] then ... | ifs.rb:33:7:33:48 | [false] if ... | false | -| ifs.rb:33:13:33:19 | [true] then ... | ifs.rb:33:7:33:48 | [true] if ... | true | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [false] then ... | false | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [true] then ... | true | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:7:33:48 | [false] if ... | false | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:7:33:48 | [true] if ... | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:35:33:36 | b4 | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:43:33:44 | b5 | false | -| ifs.rb:33:30:33:36 | [false] then ... | ifs.rb:33:21:33:44 | [false] elsif ... | false | -| ifs.rb:33:30:33:36 | [true] then ... | ifs.rb:33:21:33:44 | [true] elsif ... | true | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [false] then ... | false | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [true] then ... | true | -| ifs.rb:33:38:33:44 | [false] else ... | ifs.rb:33:21:33:44 | [false] elsif ... | false | -| ifs.rb:33:38:33:44 | [true] else ... | ifs.rb:33:21:33:44 | [true] elsif ... | true | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [false] else ... | false | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [true] else ... | true | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:6:41:10 | [false] ! ... | true | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:3:43:5 | if ... | false | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:48:5:48:15 | self | true | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:49:3:49:6 | else ... | false | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:7:55:14 | [true] ... \|\| ... | true | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:55:13:55:14 | b2 | false | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:3:57:5 | if ... | false | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:56:5:56:19 | self | true | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:6:55:15 | [false] ( ... ) | false | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:6:55:15 | [true] ( ... ) | true | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [false] ... \|\| ... | false | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [true] ... \|\| ... | true | -| loops.rb:2:9:2:9 | x | loops.rb:2:3:5:5 | while ... | false | -| loops.rb:2:9:2:9 | x | loops.rb:3:5:3:10 | self | true | -| loops.rb:9:9:9:9 | x | loops.rb:9:3:20:5 | while ... | false | -| loops.rb:9:9:9:9 | x | loops.rb:10:5:10:10 | self | true | -| loops.rb:10:5:10:10 | self | loops.rb:13:7:13:11 | break | true | -| loops.rb:10:5:10:10 | self | loops.rb:14:11:14:11 | x | false | -| loops.rb:14:11:14:11 | x | loops.rb:15:7:15:10 | next | true | -| loops.rb:14:11:14:11 | x | loops.rb:16:11:16:11 | x | false | -| loops.rb:16:11:16:11 | x | loops.rb:16:5:17:10 | elsif ... | false | -| loops.rb:16:11:16:11 | x | loops.rb:17:7:17:10 | redo | true | -| loops.rb:31:9:31:9 | x | loops.rb:31:3:32:5 | while ... | false | -| loops.rb:31:9:31:9 | x | loops.rb:31:15:32:5 | do ... | true | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:8:3:10:5 | if ... | false | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:9:5:9:17 | self | true | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:16:5:18:7 | if ... | false | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:17:7:17:22 | self | true | -| raise.rb:17:7:17:22 | self | raise.rb:14:1:23:3 | exit m2 (abnormal) | exception | -| raise.rb:17:7:17:22 | self | raise.rb:20:5:20:18 | self | match | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:27:5:29:7 | if ... | false | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:28:7:28:22 | self | true | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:38:5:40:7 | if ... | false | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:39:7:39:22 | self | true | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:49:5:51:7 | if ... | false | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:50:7:50:22 | self | true | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:59:5:61:7 | if ... | false | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:60:7:60:22 | self | true | -| raise.rb:60:7:60:22 | self | raise.rb:62:22:62:31 | ExceptionB | no-match | -| raise.rb:60:7:60:22 | self | raise.rb:62:36:62:36 | e | match | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:57:1:66:3 | exit m6 (abnormal) | exception | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:62:36:62:36 | e | match | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:70:5:70:17 | self | true | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:71:9:71:9 | x | false | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:76:3:76:15 | [ensure: exception] self | exception | -| raise.rb:71:9:71:9 | x | raise.rb:71:3:72:18 | elsif ... | false | -| raise.rb:71:9:71:9 | x | raise.rb:72:13:72:17 | x < 0 | true | -| raise.rb:71:9:71:9 | x | raise.rb:76:3:76:15 | [ensure: exception] self | exception | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:83:7:83:19 | self | true | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:84:11:84:11 | x | false | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:89:5:89:17 | [ensure: exception] self | exception | -| raise.rb:84:11:84:11 | x | raise.rb:84:5:85:20 | elsif ... | false | -| raise.rb:84:11:84:11 | x | raise.rb:85:15:85:19 | x < 0 | true | -| raise.rb:84:11:84:11 | x | raise.rb:89:5:89:17 | [ensure: exception] self | exception | -| raise.rb:97:8:97:8 | x | raise.rb:98:7:98:19 | self | true | -| raise.rb:97:8:97:8 | x | raise.rb:99:11:99:11 | x | false | -| raise.rb:97:8:97:8 | x | raise.rb:104:5:104:23 | [ensure: exception] self | exception | -| raise.rb:99:11:99:11 | x | raise.rb:99:5:100:20 | elsif ... | false | -| raise.rb:99:11:99:11 | x | raise.rb:100:15:100:19 | x < 0 | true | -| raise.rb:99:11:99:11 | x | raise.rb:104:5:104:23 | [ensure: exception] self | exception | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:7:108:9 | [ensure: exception] if ... | false | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:107:9:107:26 | [ensure: exception] self | true | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:7:108:9 | [ensure: return] if ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:107:9:107:26 | [ensure: return] self | true | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:7:108:9 | if ... | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:107:9:107:26 | self | true | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:116:3:118:5 | [ensure: return] if ... | false | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:117:5:117:22 | [ensure: return] self | true | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:116:3:118:5 | [ensure: exception] if ... | false | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:117:5:117:22 | [ensure: exception] self | true | -| raise.rb:115:3:115:22 | self | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:115:3:115:22 | self | raise.rb:117:5:117:22 | self | true | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | false | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | no-match | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:14:121:30 | self | true | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:125:3:125:51 | self | match | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:130:5:132:7 | if ... | false | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:131:7:131:22 | self | true | -| raise.rb:131:7:131:22 | self | raise.rb:133:3:133:19 | rescue ... | match | -| raise.rb:131:7:131:22 | self | raise.rb:134:10:134:19 | ExceptionB | no-match | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:135:5:135:21 | self | match | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:137:5:137:17 | [ensure: exception] self | exception | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:143:3:145:5 | if ... | false | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:144:5:144:12 | self | true | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:32 | self | true | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:25:155:48 | ... if ... | false | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:14 | self | false | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:161:7:161:23 | ... unless ... | true | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:8:174:23 | [true] ... \|\| ... | true | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:174:14:174:15 | b2 | false | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:177:14:177:14 | 2 | false | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:179:10:179:19 | ExceptionA | exception | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:175:14:175:14 | 1 | true | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:179:10:179:19 | ExceptionA | exception | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:8:174:23 | [false] ... \|\| ... | false | -| raise.rb:174:14:174:15 | b2 | raise.rb:174:8:174:23 | [true] ... \|\| ... | true | -| raise.rb:174:14:174:15 | b2 | raise.rb:179:10:179:19 | ExceptionA | exception | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:172:1:182:3 | exit m16 (abnormal) | exception | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:180:12:180:12 | 3 | match | -joinBlockPredecessor -| break_ensure.rb:1:1:11:3 | exit m1 | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | 1 | -| break_ensure.rb:1:1:11:3 | exit m1 | break_ensure.rb:8:3:10:5 | if ... | 0 | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:9:2:9 | x | 0 | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:3:8:3:8 | x | 1 | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:4:7:4:11 | break | 2 | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:1:1:11:3 | enter m1 | 0 | -| break_ensure.rb:2:9:2:9 | x | break_ensure.rb:3:5:5:7 | if ... | 1 | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:8:6:8:13 | [ensure: exception] self | 0 | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:9:5:9:23 | [ensure: exception] self | 1 | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:2:3:6:5 | while ... | 0 | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:9:5:9:23 | self | 1 | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:9:14:9 | x | 0 | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | 1 | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | 2 | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:13:1:25:3 | enter m2 | 0 | -| break_ensure.rb:14:9:14:9 | x | break_ensure.rb:20:7:22:9 | if ... | 1 | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:17:9:17:13 | break | 0 | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:21:9:21:20 | [ensure: break] self | 1 | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:20:10:20:10 | [ensure: exception] y | 0 | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:21:9:21:20 | [ensure: exception] self | 1 | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:16:7:18:9 | if ... | 0 | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:21:9:21:20 | self | 1 | -| break_ensure.rb:27:1:42:3 | exit m3 | break_ensure.rb:27:1:42:3 | exit m3 (normal) | 0 | -| break_ensure.rb:27:1:42:3 | exit m3 | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | 1 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | 1 | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:33:5:39:7 | while ... | 0 | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:33:11:33:11 | [ensure: exception] y | 0 | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:36:11:36:15 | [ensure: exception] break | 1 | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:33:11:33:11 | [ensure: return] y | 0 | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:36:11:36:15 | [ensure: return] break | 1 | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:11:33:11 | y | 0 | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:36:11:36:15 | break | 1 | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:27:1:42:3 | enter m3 | 0 | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | 1 | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:30:7:30:12 | return | 0 | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | 1 | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:29:5:31:7 | if ... | 0 | -| break_ensure.rb:33:11:33:11 | y | break_ensure.rb:35:9:37:11 | if ... | 1 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:9:45:9 | x | 0 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | 1 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:52:15:52:16 | 10 | 2 | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | 3 | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:44:1:56:3 | enter m4 | 0 | -| break_ensure.rb:45:9:45:9 | x | break_ensure.rb:51:7:53:9 | if ... | 1 | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:47:10:47:10 | x | 0 | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:48:9:48:16 | self | 1 | -| case.rb:2:3:5:5 | case ... | case.rb:3:18:3:41 | if ... | 0 | -| case.rb:2:3:5:5 | case ... | case.rb:4:5:4:24 | [no-match] when ... | 1 | -| case.rb:2:3:5:5 | case ... | case.rb:4:17:4:24 | self | 2 | -| case.rb:3:18:3:41 | if ... | case.rb:3:21:3:22 | self | 0 | -| case.rb:3:18:3:41 | if ... | case.rb:3:29:3:37 | self | 1 | -| case.rb:9:3:17:5 | case ... | case.rb:8:1:18:3 | enter case_match | 0 | -| case.rb:9:3:17:5 | case ... | case.rb:11:15:11:15 | 3 | 1 | -| case.rb:9:3:17:5 | case ... | case.rb:13:7:13:7 | 4 | 2 | -| case.rb:9:3:17:5 | case ... | case.rb:14:25:14:25 | 6 | 3 | -| case.rb:9:3:17:5 | case ... | case.rb:15:28:15:28 | 7 | 4 | -| case.rb:9:3:17:5 | case ... | case.rb:16:10:16:10 | 8 | 5 | -| case.rb:20:1:24:3 | exit case_match_no_match | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | 0 | -| case.rb:20:1:24:3 | exit case_match_no_match | case.rb:21:3:23:5 | case ... | 1 | -| case.rb:26:1:30:3 | exit case_match_raise | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | 0 | -| case.rb:26:1:30:3 | exit case_match_raise | case.rb:27:3:29:5 | case ... | 1 | -| case.rb:32:1:39:3 | exit case_match_array | case.rb:32:1:39:3 | exit case_match_array (abnormal) | 0 | -| case.rb:32:1:39:3 | exit case_match_array | case.rb:33:3:38:5 | case ... | 1 | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:37:5:37:27 | in ... then ... | 0 | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:37:8:37:26 | [ ..., * ] | 1 | -| case.rb:33:3:38:5 | case ... | case.rb:32:1:39:3 | enter case_match_array | 0 | -| case.rb:33:3:38:5 | case ... | case.rb:35:9:35:9 | x | 1 | -| case.rb:33:3:38:5 | case ... | case.rb:36:9:36:9 | x | 2 | -| case.rb:33:3:38:5 | case ... | case.rb:37:25:37:25 | e | 3 | -| case.rb:41:1:45:3 | exit case_match_find | case.rb:41:1:45:3 | exit case_match_find (abnormal) | 0 | -| case.rb:41:1:45:3 | exit case_match_find | case.rb:43:20:43:20 | y | 1 | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:41:1:45:3 | enter case_match_find | 0 | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:43:10:43:10 | x | 1 | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:43:16:43:16 | 2 | 2 | -| case.rb:47:1:53:3 | exit case_match_hash | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | 0 | -| case.rb:47:1:53:3 | exit case_match_hash | case.rb:48:3:52:5 | case ... | 1 | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:51:5:51:17 | in ... then ... | 0 | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:51:8:51:16 | { ..., ** } | 1 | -| case.rb:48:3:52:5 | case ... | case.rb:49:29:49:32 | rest | 0 | -| case.rb:48:3:52:5 | case ... | case.rb:50:16:50:16 | 1 | 1 | -| case.rb:48:3:52:5 | case ... | case.rb:51:8:51:16 | { ..., ** } | 2 | -| case.rb:50:5:50:25 | in ... then ... | case.rb:47:1:53:3 | enter case_match_hash | 0 | -| case.rb:50:5:50:25 | in ... then ... | case.rb:49:8:49:34 | { ..., ** } | 1 | -| case.rb:50:5:50:25 | in ... then ... | case.rb:49:20:49:20 | 1 | 2 | -| case.rb:51:5:51:17 | in ... then ... | case.rb:50:5:50:25 | in ... then ... | 0 | -| case.rb:51:5:51:17 | in ... then ... | case.rb:50:8:50:24 | { ..., ** } | 1 | -| case.rb:51:5:51:17 | in ... then ... | case.rb:50:16:50:16 | 1 | 2 | -| case.rb:56:3:60:5 | case ... | case.rb:55:1:61:3 | enter case_match_variable | 0 | -| case.rb:56:3:60:5 | case ... | case.rb:58:5:58:10 | in ... then ... | 1 | -| case.rb:64:3:66:5 | case ... | case.rb:63:1:67:3 | enter case_match_underscore | 0 | -| case.rb:64:3:66:5 | case ... | case.rb:65:12:65:12 | _ | 1 | -| case.rb:69:1:93:3 | exit case_match_various | case.rb:69:1:93:3 | exit case_match_various (abnormal) | 0 | -| case.rb:69:1:93:3 | exit case_match_various | case.rb:72:3:92:5 | case ... | 1 | -| case.rb:72:3:92:5 | case ... | case.rb:69:1:93:3 | enter case_match_various | 0 | -| case.rb:72:3:92:5 | case ... | case.rb:74:5:74:11 | in ... then ... | 1 | -| case.rb:72:3:92:5 | case ... | case.rb:75:5:75:15 | in ... then ... | 2 | -| case.rb:72:3:92:5 | case ... | case.rb:76:5:76:18 | in ... then ... | 3 | -| case.rb:72:3:92:5 | case ... | case.rb:77:5:77:18 | in ... then ... | 4 | -| case.rb:72:3:92:5 | case ... | case.rb:78:5:78:19 | in ... then ... | 5 | -| case.rb:72:3:92:5 | case ... | case.rb:79:5:79:14 | in ... then ... | 6 | -| case.rb:72:3:92:5 | case ... | case.rb:80:5:80:12 | in ... then ... | 7 | -| case.rb:72:3:92:5 | case ... | case.rb:81:5:81:11 | in ... then ... | 8 | -| case.rb:72:3:92:5 | case ... | case.rb:82:20:82:20 | 1 | 9 | -| case.rb:72:3:92:5 | case ... | case.rb:83:5:83:26 | in ... then ... | 10 | -| case.rb:72:3:92:5 | case ... | case.rb:83:12:83:15 | ^... | 11 | -| case.rb:72:3:92:5 | case ... | case.rb:83:20:83:25 | string | 12 | -| case.rb:72:3:92:5 | case ... | case.rb:84:5:84:17 | in ... then ... | 13 | -| case.rb:72:3:92:5 | case ... | case.rb:85:5:85:23 | in ... then ... | 14 | -| case.rb:72:3:92:5 | case ... | case.rb:86:5:86:11 | in ... then ... | 15 | -| case.rb:72:3:92:5 | case ... | case.rb:87:5:87:17 | in ... then ... | 16 | -| case.rb:72:3:92:5 | case ... | case.rb:88:5:88:15 | in ... then ... | 17 | -| case.rb:72:3:92:5 | case ... | case.rb:88:14:88:15 | 10 | 18 | -| case.rb:72:3:92:5 | case ... | case.rb:89:5:89:69 | in ... then ... | 19 | -| case.rb:72:3:92:5 | case ... | case.rb:89:14:89:17 | self | 20 | -| case.rb:72:3:92:5 | case ... | case.rb:89:21:89:24 | true | 21 | -| case.rb:72:3:92:5 | case ... | case.rb:89:28:89:32 | false | 22 | -| case.rb:72:3:92:5 | case ... | case.rb:89:36:89:43 | __LINE__ | 23 | -| case.rb:72:3:92:5 | case ... | case.rb:89:47:89:54 | __FILE__ | 24 | -| case.rb:72:3:92:5 | case ... | case.rb:89:58:89:69 | __ENCODING__ | 25 | -| case.rb:72:3:92:5 | case ... | case.rb:90:5:90:13 | in ... then ... | 26 | -| case.rb:72:3:92:5 | case ... | case.rb:91:5:91:25 | in ... then ... | 27 | -| case.rb:72:3:92:5 | case ... | case.rb:91:13:91:14 | "" | 28 | -| case.rb:72:3:92:5 | case ... | case.rb:91:18:91:19 | [ ..., * ] | 29 | -| case.rb:72:3:92:5 | case ... | case.rb:91:23:91:24 | { ..., ** } | 30 | -| case.rb:95:1:99:3 | exit case_match_guard_no_else | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | 0 | -| case.rb:95:1:99:3 | exit case_match_guard_no_else | case.rb:97:25:97:25 | 6 | 1 | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:19:19:19:32 | self | 0 | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:21:19:21:32 | self | 1 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:42:15:42:24 | self | 0 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:43:21:43:31 | self | 1 | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:44:8:44:18 | self | 2 | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:8:43:8 | 2 | 0 | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:11:43:11 | 3 | 1 | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:14:43:14 | 4 | 2 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:48:20:48:29 | self | 0 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:3:49:37 | [no-match] when ... | 1 | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:27:49:37 | self | 2 | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:8:49:8 | b | 0 | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:16:49:16 | b | 1 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:27:60:31 | hello | 0 | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:37:60:39 | bye | 1 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:15:75:15 | 0 | 0 | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:17:75:43 | elsif ... | 1 | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:35:75:36 | 10 | 0 | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:43:75:43 | x | 1 | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:91:3:91:24 | if ... | 0 | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:91:17:91:20 | next | 1 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | [false] ! ... | 1 | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | x | 0 | -| cfg.rb:101:28:101:30 | key | cfg.rb:101:1:104:3 | enter parameters | 0 | -| cfg.rb:101:28:101:30 | key | cfg.rb:101:24:101:25 | 42 | 1 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:90:5:90:5 | if ... | 0 | -| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:113:1:113:9 | self | 1 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:113:1:113:19 | ... if ... | 0 | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:136:12:136:29 | self | 1 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:21:172:29 | self | 0 | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:36:172:45 | self | 1 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:172:1:172:49 | unless ... | 0 | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:174:1:174:9 | self | 1 | -| cfg.rb:176:7:176:7 | x | cfg.rb:174:1:174:23 | ... unless ... | 0 | -| cfg.rb:176:7:176:7 | x | cfg.rb:176:17:176:17 | x | 1 | -| cfg.rb:179:30:179:30 | i | cfg.rb:176:1:176:41 | until ... | 0 | -| cfg.rb:179:30:179:30 | i | cfg.rb:179:2:179:13 | self | 1 | -| cfg.rb:182:7:182:7 | x | cfg.rb:179:1:179:36 | ... until ... | 0 | -| cfg.rb:182:7:182:7 | x | cfg.rb:184:3:184:25 | if ... | 1 | -| cfg.rb:183:3:183:3 | x | cfg.rb:182:7:182:7 | x | 0 | -| cfg.rb:183:3:183:3 | x | cfg.rb:184:18:184:21 | redo | 1 | -| cfg.rb:188:30:188:30 | i | cfg.rb:182:1:186:3 | while ... | 0 | -| cfg.rb:188:30:188:30 | i | cfg.rb:188:2:188:13 | self | 1 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:1:205:3 | __synth__0__1 | 0 | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:1:205:3 | nil | 0 | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | 0 | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:22:5:24 | 123 | 1 | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | 0 | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:18:14:20 | 123 | 1 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | 0 | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:21:19:23 | 123 | 1 | -| exit.rb:1:1:6:3 | exit m1 | exit.rb:2:3:4:5 | if ... | 0 | -| exit.rb:1:1:6:3 | exit m1 | exit.rb:3:5:3:10 | self | 1 | -| exit.rb:8:1:13:3 | exit m2 | exit.rb:9:3:11:5 | if ... | 0 | -| exit.rb:8:1:13:3 | exit m2 | exit.rb:10:5:10:18 | self | 1 | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:3:5:3:30 | self | 0 | -| ifs.rb:2:3:8:5 | if ... | ifs.rb:4:3:7:35 | elsif ... | 1 | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:5:5:5:17 | self | 0 | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:7:5:7:35 | self | 1 | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:9 | x | 0 | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:20:4:20 | x | 1 | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:9:4:24 | [false] ... and ... | 0 | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:30:4:38 | [false] ! ... | 1 | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:12:3:14:5 | if ... | 0 | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:13:12:13:12 | 0 | 1 | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:18:1:26:3 | enter m3 | 0 | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:21:5:23:7 | if ... | 1 | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:20:5:20:5 | x | 0 | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:22:7:22:7 | x | 1 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:28:29:35 | b2 \|\| b3 | 0 | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | 1 | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:16:29:17 | b2 | 0 | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:21:29:22 | b3 | 1 | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:16:29:17 | b2 | 0 | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:21:29:22 | b3 | 1 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | 0 | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | 1 | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:13:33:19 | [false] then ... | 0 | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:21:33:44 | [false] elsif ... | 1 | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:13:33:19 | [true] then ... | 0 | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:21:33:44 | [true] elsif ... | 1 | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:30:33:36 | [false] then ... | 0 | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:38:33:44 | [false] else ... | 1 | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:30:33:36 | [true] then ... | 0 | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:38:33:44 | [true] else ... | 1 | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:1:1:58:4 | enter ifs.rb | 0 | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:36:1:38:3 | conditional_method_def | 1 | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:48:5:48:15 | self | 0 | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:49:3:49:6 | else ... | 1 | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:6:55:15 | [false] ( ... ) | 0 | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:56:5:56:19 | self | 1 | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:54:1:58:3 | enter disjunct | 0 | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:13:55:14 | b2 | 1 | -| loops.rb:2:9:2:9 | x | loops.rb:1:1:6:3 | enter m1 | 0 | -| loops.rb:2:9:2:9 | x | loops.rb:3:5:3:10 | self | 1 | -| loops.rb:9:3:20:5 | while ... | loops.rb:9:9:9:9 | x | 0 | -| loops.rb:9:3:20:5 | while ... | loops.rb:13:7:13:11 | break | 1 | -| loops.rb:9:9:9:9 | x | loops.rb:8:1:22:3 | enter m2 | 0 | -| loops.rb:9:9:9:9 | x | loops.rb:15:7:15:10 | next | 1 | -| loops.rb:9:9:9:9 | x | loops.rb:16:5:17:10 | elsif ... | 2 | -| loops.rb:10:5:10:10 | self | loops.rb:9:9:9:9 | x | 0 | -| loops.rb:10:5:10:10 | self | loops.rb:17:7:17:10 | redo | 1 | -| loops.rb:31:9:31:9 | x | loops.rb:30:1:33:3 | enter m4 | 0 | -| loops.rb:31:9:31:9 | x | loops.rb:31:15:32:5 | do ... | 1 | -| raise.rb:7:1:12:3 | exit m1 | raise.rb:8:3:10:5 | if ... | 0 | -| raise.rb:7:1:12:3 | exit m1 | raise.rb:9:5:9:17 | self | 1 | -| raise.rb:14:1:23:3 | exit m2 | raise.rb:14:1:23:3 | exit m2 (abnormal) | 0 | -| raise.rb:14:1:23:3 | exit m2 | raise.rb:22:3:22:15 | self | 1 | -| raise.rb:22:3:22:15 | self | raise.rb:16:5:18:7 | if ... | 0 | -| raise.rb:22:3:22:15 | self | raise.rb:20:5:20:18 | self | 1 | -| raise.rb:33:3:33:15 | self | raise.rb:27:5:29:7 | if ... | 0 | -| raise.rb:33:3:33:15 | self | raise.rb:28:7:28:22 | self | 1 | -| raise.rb:44:3:44:15 | self | raise.rb:38:5:40:7 | if ... | 0 | -| raise.rb:44:3:44:15 | self | raise.rb:39:7:39:22 | self | 1 | -| raise.rb:54:3:54:15 | self | raise.rb:49:5:51:7 | if ... | 0 | -| raise.rb:54:3:54:15 | self | raise.rb:50:7:50:22 | self | 1 | -| raise.rb:57:1:66:3 | exit m6 | raise.rb:57:1:66:3 | exit m6 (abnormal) | 0 | -| raise.rb:57:1:66:3 | exit m6 | raise.rb:65:3:65:15 | self | 1 | -| raise.rb:62:36:62:36 | e | raise.rb:60:7:60:22 | self | 0 | -| raise.rb:62:36:62:36 | e | raise.rb:62:22:62:31 | ExceptionB | 1 | -| raise.rb:65:3:65:15 | self | raise.rb:59:5:61:7 | if ... | 0 | -| raise.rb:65:3:65:15 | self | raise.rb:62:36:62:36 | e | 1 | -| raise.rb:68:1:77:3 | exit m7 | raise.rb:68:1:77:3 | exit m7 (normal) | 0 | -| raise.rb:68:1:77:3 | exit m7 | raise.rb:76:3:76:15 | [ensure: exception] self | 1 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:72:13:72:17 | x < 0 | 0 | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:76:3:76:15 | self | 1 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:68:1:77:3 | enter m7 | 0 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:70:5:70:17 | self | 1 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:71:3:72:18 | elsif ... | 2 | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:71:9:71:9 | x | 3 | -| raise.rb:79:1:92:3 | exit m8 | raise.rb:79:1:92:3 | exit m8 (normal) | 0 | -| raise.rb:79:1:92:3 | exit m8 | raise.rb:89:5:89:17 | [ensure: exception] self | 1 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:85:15:85:19 | x < 0 | 0 | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:89:5:89:17 | self | 1 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:79:1:92:3 | enter m8 | 0 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:83:7:83:19 | self | 1 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:84:5:85:20 | elsif ... | 2 | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:84:11:84:11 | x | 3 | -| raise.rb:94:1:119:3 | exit m9 | raise.rb:94:1:119:3 | exit m9 (abnormal) | 1 | -| raise.rb:94:1:119:3 | exit m9 | raise.rb:94:1:119:3 | exit m9 (normal) | 0 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:116:3:118:5 | [ensure: exception] if ... | 0 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:117:5:117:22 | [ensure: exception] self | 2 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:117:5:117:22 | [ensure: return] self | 3 | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:117:5:117:22 | self | 1 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:116:3:118:5 | [ensure: return] if ... | 1 | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:116:3:118:5 | if ... | 0 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:97:8:97:8 | x | 0 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:98:7:98:19 | self | 1 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:99:5:100:20 | elsif ... | 2 | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:99:11:99:11 | x | 3 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:94:1:119:3 | enter m9 | 0 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:100:15:100:19 | x < 0 | 1 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:104:5:104:23 | [ensure: exception] self | 3 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:104:5:104:23 | self | 2 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:106:7:108:9 | [ensure: exception] if ... | 5 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:106:7:108:9 | [ensure: return] if ... | 6 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:106:7:108:9 | if ... | 4 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:107:9:107:26 | [ensure: exception] self | 8 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:107:9:107:26 | [ensure: return] self | 9 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:107:9:107:26 | self | 7 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | 11 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | 13 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | 12 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | 14 | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:109:5:110:25 | ensure ... | 10 | -| raise.rb:121:1:126:3 | exit m10 | raise.rb:121:14:121:30 | self | 0 | -| raise.rb:121:1:126:3 | exit m10 | raise.rb:125:3:125:51 | self | 1 | -| raise.rb:128:1:140:3 | exit m11 | raise.rb:137:5:137:17 | [ensure: exception] self | 1 | -| raise.rb:128:1:140:3 | exit m11 | raise.rb:137:5:137:17 | self | 0 | -| raise.rb:137:5:137:17 | self | raise.rb:130:5:132:7 | if ... | 0 | -| raise.rb:137:5:137:17 | self | raise.rb:133:3:133:19 | rescue ... | 1 | -| raise.rb:137:5:137:17 | self | raise.rb:135:5:135:21 | self | 2 | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:143:3:145:5 | if ... | 0 | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:144:5:144:12 | self | 1 | -| raise.rb:155:16:155:50 | exit { ... } | raise.rb:155:25:155:32 | self | 1 | -| raise.rb:155:16:155:50 | exit { ... } | raise.rb:155:25:155:48 | ... if ... | 0 | -| raise.rb:160:9:162:7 | exit -> { ... } | raise.rb:161:7:161:14 | self | 1 | -| raise.rb:160:9:162:7 | exit -> { ... } | raise.rb:161:7:161:23 | ... unless ... | 0 | -| raise.rb:172:1:182:3 | exit m16 | raise.rb:172:1:182:3 | exit m16 (abnormal) | 1 | -| raise.rb:172:1:182:3 | exit m16 | raise.rb:172:1:182:3 | exit m16 (normal) | 0 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:175:14:175:14 | 1 | 0 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:177:14:177:14 | 2 | 1 | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:180:12:180:12 | 3 | 2 | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:172:1:182:3 | enter m16 | 0 | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:174:14:174:15 | b2 | 1 | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:174:8:174:23 | [false] ... \|\| ... | 0 | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:174:8:174:23 | [true] ... \|\| ... | 1 | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:174:14:174:15 | b2 | 2 | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | false | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | true | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [false] | false | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:3:8:3:12 | After ... > ... [true] | true | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [false] | false | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:6:8:18 | After call to nil? [true] | true | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [false] | false | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | true | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [false] | false | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:16:10:16:14 | After ... > ... [true] | true | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [false] | false | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:10:20:15 | After call to nil? [true] | true | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [false] | false | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:29:8:29:13 | After call to nil? [true] | true | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | false | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | true | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [false] | false | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:35:12:35:16 | After ... > ... [true] | true | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [false] | false | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | true | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [false] | false | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:47:10:47:14 | After ... > ... [true] | true | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | false | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | true | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [match] | match | +| case.rb:1:1:6:3 | Entry | case.rb:3:10:3:10 | After 1 [no-match] | no-match | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [false] | false | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:21:3:22 | After call to x2 [true] | true | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [match] | match | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:4:10:4:10 | After 2 [no-match] | no-match | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [match] | match | +| case.rb:8:1:18:3 | Entry | case.rb:10:8:10:8 | After 0 [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [match] | match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:11:8:11:8 | After 1 [no-match] | no-match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [match] | match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:12:8:12:8 | After 2 [no-match] | no-match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [match] | match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:14:8:14:8 | After x [no-match] | no-match | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [false] | false | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:13:14:18 | After ... == ... [true] | true | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [match] | match | +| case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | After x [no-match] | no-match | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [false] | false | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:17:15:21 | After ... < ... [true] | true | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [match] | match | +| case.rb:20:1:24:3 | Entry | case.rb:22:8:22:8 | After 1 [no-match] | no-match | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [match] | match | +| case.rb:26:1:30:3 | Entry | case.rb:28:7:28:28 | After -> { ... } [no-match] | no-match | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [match] | match | +| case.rb:32:1:39:3 | Entry | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [match] | match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | no-match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [match] | match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | no-match | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [match] | match | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [match] | match | +| case.rb:41:1:45:3 | Entry | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [match] | match | +| case.rb:47:1:53:3 | Entry | case.rb:49:8:49:34 | After { ..., ** } [no-match] | no-match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [match] | match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:50:8:50:24 | After { ..., ** } [no-match] | no-match | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [match] | match | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:51:8:51:16 | After { ..., ** } [no-match] | no-match | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [match] | match | +| case.rb:55:1:61:3 | Entry | case.rb:57:8:57:8 | After 5 [no-match] | no-match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [match] | match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:58:8:58:10 | After var [no-match] | no-match | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [match] | match | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:59:8:59:20 | After "unreachable" [no-match] | no-match | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [match] | match | +| case.rb:63:1:67:3 | Entry | case.rb:65:8:65:28 | After ... \| ... [no-match] | no-match | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [match] | match | +| case.rb:69:1:93:3 | Entry | case.rb:73:8:73:8 | After 5 [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [match] | match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:74:8:74:11 | After ^... [no-match] | no-match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [match] | match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:75:8:75:15 | After "string" [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [match] | match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [match] | match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [match] | match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [match] | match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [match] | match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [match] | match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [match] | match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [match] | match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [match] | match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [match] | match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [match] | match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [match] | match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [match] | match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [match] | match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [match] | match | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [match] | match | +| case.rb:95:1:99:3 | Entry | case.rb:97:8:97:8 | After x [no-match] | no-match | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [false] | false | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:13:97:18 | After ... == ... [true] | true | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [false] | false | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:18:17:18:22 | After call to admin? [true] | true | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [match] | match | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:42:8:42:8 | After 1 [no-match] | no-match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [match] | match | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [match] | match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:43:8:43:8 | After 2 [no-match] | no-match | +| cfg.rb:43:8:43:8 | After 2 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [match] | match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | After 3 [no-match] | no-match | +| cfg.rb:43:11:43:11 | After 3 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [match] | match | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:43:14:43:14 | After 4 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [false] | false | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:60:17:60:22 | After ... < ... [true] | true | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [match] | match | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:49:8:49:13 | After ... == ... [no-match] | no-match | +| cfg.rb:49:8:49:13 | After ... == ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | match | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [match] | match | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | After ... > ... [no-match] | no-match | +| cfg.rb:49:16:49:20 | After ... > ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | match | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [false] | false | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:75:4:75:8 | After ... < ... [true] | true | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [false] | false | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:23:75:28 | After ... > ... [true] | true | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [false] | false | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:90:5:90:5 | After defined? ... [true] | true | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [false] | false | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:91:6:91:10 | After ... > ... [true] | true | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [false] | false | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:113:14:113:19 | After ... > ... [true] | true | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [match] | match | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | After value [no-match] | no-match | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [false] | false | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:172:8:172:14 | After ... == ... [true] | true | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [false] | false | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:18:174:23 | After ... == ... [true] | true | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [false] | false | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | After ... > ... [true] | true | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [false] | false | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | After ... == ... [true] | true | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [false] | false | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | After ... < ... [true] | true | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [false] | false | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [false] | false | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | After ... != ... [true] | true | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [false] | false | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:205:4:205:5 | After call to == [true] | true | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | false | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | true | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | false | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | true | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | false | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | true | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [false] | false | +| exit.rb:1:1:6:3 | Entry | exit.rb:2:6:2:10 | After ... > ... [true] | true | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [false] | false | +| exit.rb:8:1:13:3 | Entry | exit.rb:9:6:9:10 | After ... > ... [true] | true | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [false] | false | +| ifs.rb:1:1:9:3 | Entry | ifs.rb:2:6:2:10 | After ... > ... [true] | true | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [false] | false | +| ifs.rb:1:1:58:4 | Entry | ifs.rb:38:12:38:17 | After ... == ... [true] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [false] | false | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:9:4:14 | After ... <= ... [true] | true | +| ifs.rb:4:9:4:14 | After ... <= ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | false | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [false] | false | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | After ... > ... [true] | true | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | false | +| ifs.rb:4:20:4:24 | After ... > ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | false | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [false] | false | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:32:4:37 | After ... == ... [true] | true | +| ifs.rb:4:32:4:37 | After ... == ... [true] | ifs.rb:4:9:4:38 | After ... and ... [false] | false | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [false] | false | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:12:6:12:6 | After b [true] | true | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [false] | false | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:19:6:19:10 | After ... < ... [true] | true | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [false] | false | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:21:8:21:13 | After ... > ... [true] | true | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [false] | false | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:29:11:29:12 | After b1 [true] | true | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [false] | false | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | After b3 [true] | true | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [false] | false | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | After b2 [true] | true | +| ifs.rb:29:16:29:17 | After b2 [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | false | +| ifs.rb:29:16:29:17 | After b2 [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | true | +| ifs.rb:29:21:29:22 | After b3 [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | false | +| ifs.rb:29:21:29:22 | After b3 [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | true | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [false] | false | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:33:10:33:11 | After b1 [true] | true | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [false] | false | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:27:33:28 | After b3 [true] | true | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [false] | false | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:18:33:19 | After b2 [true] | true | +| ifs.rb:33:18:33:19 | After b2 [false] | ifs.rb:33:7:33:48 | After if ... [false] | false | +| ifs.rb:33:18:33:19 | After b2 [true] | ifs.rb:33:7:33:48 | After if ... [true] | true | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:7:33:48 | After if ... [false] | false | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:7:33:48 | After if ... [true] | true | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [false] | false | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:43:33:44 | After b5 [true] | true | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [false] | false | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:35:33:36 | After b4 [true] | true | +| ifs.rb:33:35:33:36 | After b4 [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | false | +| ifs.rb:33:35:33:36 | After b4 [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | true | +| ifs.rb:33:43:33:44 | After b5 [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | false | +| ifs.rb:33:43:33:44 | After b5 [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | true | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [false] | false | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:47:6:47:6 | After b [true] | true | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [false] | false | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:55:7:55:8 | After b1 [true] | true | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [false] | false | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | After b2 [true] | true | +| ifs.rb:55:7:55:8 | After b1 [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | true | +| ifs.rb:55:13:55:14 | After b2 [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | true | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [false] | false | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | After ... >= ... [true] | true | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [false] | false | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | After ... >= ... [true] | true | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [false] | false | +| loops.rb:9:15:20:5 | do ... | loops.rb:12:8:12:14 | After ... > ... [true] | true | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [false] | false | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:11:14:16 | After ... > ... [true] | true | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [false] | false | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:11:16:16 | After ... > ... [true] | true | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [false] | false | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | After ... < ... [true] | true | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [false] | false | +| raise.rb:7:1:12:3 | Entry | raise.rb:8:6:8:10 | After ... > ... [true] | true | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [false] | false | +| raise.rb:14:1:23:3 | Entry | raise.rb:16:8:16:8 | After b [true] | true | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [match] | match | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:19:10:19:19 | After ExceptionA [no-match] | no-match | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [false] | false | +| raise.rb:25:1:34:3 | Entry | raise.rb:27:8:27:8 | After b [true] | true | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [false] | false | +| raise.rb:36:1:45:3 | Entry | raise.rb:38:8:38:8 | After b [true] | true | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [false] | false | +| raise.rb:47:1:55:3 | Entry | raise.rb:49:8:49:8 | After b [true] | true | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [false] | false | +| raise.rb:57:1:66:3 | Entry | raise.rb:59:8:59:8 | After b [true] | true | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [match] | match | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:62:10:62:31 | After ..., ... [no-match] | no-match | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [false] | false | +| raise.rb:68:1:77:3 | Entry | raise.rb:69:6:69:10 | After ... > ... [true] | true | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [false] | false | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:9:71:13 | After ... < ... [true] | true | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [false] | false | +| raise.rb:79:1:92:3 | Entry | raise.rb:82:8:82:12 | After ... > ... [true] | true | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [false] | false | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:11:84:15 | After ... < ... [true] | true | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [false] | false | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:97:8:97:12 | After ... > ... [true] | true | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [false] | false | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:11:99:15 | After ... < ... [true] | true | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [false] | false | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:106:10:106:11 | After b1 [true] | true | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [false] | false | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:116:6:116:7 | After b2 [true] | true | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [match] | match | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | After p [no-match] | no-match | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [false] | false | +| raise.rb:128:1:140:3 | Entry | raise.rb:130:8:130:8 | After b [true] | true | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [match] | match | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:133:10:133:19 | After ExceptionA [no-match] | no-match | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [match] | match | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:134:10:134:19 | After ExceptionB [no-match] | no-match | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [false] | false | +| raise.rb:142:1:148:3 | Entry | raise.rb:143:6:143:6 | After b [true] | true | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [false] | false | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:37:155:48 | After call to nil? [true] | true | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [false] | false | +| raise.rb:160:9:162:7 | Entry | raise.rb:161:23:161:23 | After x [true] | true | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [false] | false | +| raise.rb:172:1:182:3 | Entry | raise.rb:174:8:174:9 | After b1 [true] | true | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [false] | false | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | After ... == ... [true] | true | +| raise.rb:174:8:174:9 | After b1 [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | true | +| raise.rb:174:14:174:23 | After ... == ... [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | true | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [match] | match | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | After ExceptionA [no-match] | no-match | diff --git a/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql b/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql index c99de9bc0a86..de648d227e72 100644 --- a/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql +++ b/ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql @@ -1,5 +1,4 @@ import codeql.ruby.controlflow.ControlFlowGraph -import codeql.ruby.controlflow.BasicBlocks query predicate dominates(BasicBlock bb1, BasicBlock bb2) { bb1.dominates(bb2) } @@ -9,14 +8,10 @@ query predicate immediateDominator(BasicBlock bb1, BasicBlock bb2) { bb1.getImmediateDominator() = bb2 } -query predicate controls(ConditionBlock bb1, BasicBlock bb2, ConditionalSuccessor t) { +query predicate controls(BasicBlock bb1, BasicBlock bb2, ConditionalSuccessor t) { bb1.edgeDominates(bb2, t) } -query predicate successor(ConditionBlock bb1, BasicBlock bb2, SuccessorType t) { +query predicate successor(BasicBlock bb1, BasicBlock bb2, ConditionalSuccessor t) { bb1.getASuccessor(t) = bb2 } - -query predicate joinBlockPredecessor(JoinBlock bb1, BasicBlock bb2, int i) { - bb1.getJoinBlockPredecessor(i) = bb2 -} diff --git a/ruby/ql/test/library-tests/controlflow/graph/Cfg.expected b/ruby/ql/test/library-tests/controlflow/graph/Cfg.expected index e7ce708b63bf..91e16cd6494b 100644 --- a/ruby/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/ruby/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -1,2392 +1,4018 @@ -| break_ensure.rb:1:1:11:3 | enter m1 | break_ensure.rb:1:8:1:8 | x | | -| break_ensure.rb:1:1:11:3 | exit m1 (abnormal) | break_ensure.rb:1:1:11:3 | exit m1 | | -| break_ensure.rb:1:1:11:3 | exit m1 (normal) | break_ensure.rb:1:1:11:3 | exit m1 | | +| break_ensure.rb:1:1:11:3 | Entry | break_ensure.rb:1:8:1:8 | x | | +| break_ensure.rb:1:1:11:3 | Exceptional Exit | break_ensure.rb:1:1:11:3 | Exit | | +| break_ensure.rb:1:1:11:3 | Normal Exit | break_ensure.rb:1:1:11:3 | Exit | | | break_ensure.rb:1:1:11:3 | m1 | break_ensure.rb:13:1:25:3 | m2 | | -| break_ensure.rb:1:1:56:4 | enter break_ensure.rb | break_ensure.rb:1:1:11:3 | m1 | | -| break_ensure.rb:1:1:56:4 | exit break_ensure.rb (normal) | break_ensure.rb:1:1:56:4 | exit break_ensure.rb | | -| break_ensure.rb:1:8:1:8 | x | break_ensure.rb:2:9:2:9 | x | | -| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:8:6:8:13 | self | | +| break_ensure.rb:1:1:56:4 | Entry | break_ensure.rb:1:1:11:3 | m1 | | +| break_ensure.rb:1:1:56:4 | Normal Exit | break_ensure.rb:1:1:56:4 | Exit | | +| break_ensure.rb:1:8:1:8 | x | break_ensure.rb:2:3:10:5 | ... | | +| break_ensure.rb:2:3:6:5 | After while ... | break_ensure.rb:7:1:10:5 | ensure ... | | +| break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | break_ensure.rb:2:9:2:13 | Before ... < ... | | +| break_ensure.rb:2:3:6:5 | while ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | | +| break_ensure.rb:2:3:10:5 | ... | break_ensure.rb:2:3:6:5 | while ... | | +| break_ensure.rb:2:3:10:5 | After ... | break_ensure.rb:1:1:11:3 | Normal Exit | | | break_ensure.rb:2:9:2:9 | x | break_ensure.rb:2:13:2:13 | 0 | | -| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:2:3:6:5 | while ... | false | -| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:3:8:3:8 | x | true | -| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:8:6:8:13 | [ensure: exception] self | exception | +| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:2:9:2:13 | After ... < ... [false] | false | +| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:2:9:2:13 | After ... < ... [true] | true | +| break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:7:1:10:5 | ensure ... | exception | +| break_ensure.rb:2:9:2:13 | After ... < ... [false] | break_ensure.rb:2:3:6:5 | After while ... | | +| break_ensure.rb:2:9:2:13 | After ... < ... [true] | break_ensure.rb:2:14:6:5 | do ... | | +| break_ensure.rb:2:9:2:13 | Before ... < ... | break_ensure.rb:2:9:2:9 | x | | | break_ensure.rb:2:13:2:13 | 0 | break_ensure.rb:2:9:2:13 | ... < ... | | -| break_ensure.rb:2:14:6:5 | do ... | break_ensure.rb:2:9:2:9 | x | | -| break_ensure.rb:3:5:5:7 | if ... | break_ensure.rb:2:14:6:5 | do ... | | +| break_ensure.rb:2:14:6:5 | After do ... | break_ensure.rb:2:3:6:5 | [LoopHeader] while ... | | +| break_ensure.rb:2:14:6:5 | do ... | break_ensure.rb:3:5:5:7 | if ... | | +| break_ensure.rb:3:5:5:7 | After if ... | break_ensure.rb:2:14:6:5 | After do ... | | +| break_ensure.rb:3:5:5:7 | if ... | break_ensure.rb:3:8:3:12 | Before ... > ... | | | break_ensure.rb:3:8:3:8 | x | break_ensure.rb:3:12:3:12 | 0 | | -| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:2:3:6:5 | while ... | exception | -| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:3:5:5:7 | if ... | false | -| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:4:7:4:11 | break | true | +| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:3:8:3:12 | After ... > ... [false] | false | +| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:3:8:3:12 | After ... > ... [true] | true | +| break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:7:1:10:5 | ensure ... | exception | +| break_ensure.rb:3:8:3:12 | After ... > ... [false] | break_ensure.rb:3:5:5:7 | After if ... | | +| break_ensure.rb:3:8:3:12 | After ... > ... [true] | break_ensure.rb:3:14:4:11 | then ... | | +| break_ensure.rb:3:8:3:12 | Before ... > ... | break_ensure.rb:3:8:3:8 | x | | | break_ensure.rb:3:12:3:12 | 0 | break_ensure.rb:3:8:3:12 | ... > ... | | -| break_ensure.rb:4:7:4:11 | break | break_ensure.rb:2:3:6:5 | while ... | break | -| break_ensure.rb:7:1:10:5 | [ensure: exception] ensure ... | break_ensure.rb:1:1:11:3 | exit m1 (abnormal) | exception | -| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:1:1:11:3 | exit m1 (normal) | | -| break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | break_ensure.rb:7:1:10:5 | [ensure: exception] ensure ... | | -| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:7:1:10:5 | ensure ... | | -| break_ensure.rb:8:6:8:13 | [ensure: exception] call to elements | break_ensure.rb:8:6:8:18 | [ensure: exception] call to nil? | | -| break_ensure.rb:8:6:8:13 | [ensure: exception] self | break_ensure.rb:8:6:8:13 | [ensure: exception] call to elements | | -| break_ensure.rb:8:6:8:13 | call to elements | break_ensure.rb:8:6:8:18 | call to nil? | | +| break_ensure.rb:3:14:4:11 | then ... | break_ensure.rb:4:7:4:11 | Before break | | +| break_ensure.rb:4:7:4:11 | Before break | break_ensure.rb:4:7:4:11 | break | | +| break_ensure.rb:4:7:4:11 | break | break_ensure.rb:2:3:6:5 | After while ... | break | +| break_ensure.rb:7:1:10:5 | After ensure ... | break_ensure.rb:1:1:11:3 | Exceptional Exit | exception | +| break_ensure.rb:7:1:10:5 | After ensure ... | break_ensure.rb:2:3:10:5 | After ... | | +| break_ensure.rb:7:1:10:5 | ensure ... | break_ensure.rb:8:3:10:5 | if ... | | +| break_ensure.rb:8:3:10:5 | After if ... | break_ensure.rb:7:1:10:5 | After ensure ... | | +| break_ensure.rb:8:3:10:5 | if ... | break_ensure.rb:8:6:8:18 | Before call to nil? | | +| break_ensure.rb:8:6:8:13 | After call to elements | break_ensure.rb:8:6:8:18 | call to nil? | | +| break_ensure.rb:8:6:8:13 | Before call to elements | break_ensure.rb:8:6:8:13 | self | | +| break_ensure.rb:8:6:8:13 | call to elements | break_ensure.rb:8:6:8:13 | After call to elements | | | break_ensure.rb:8:6:8:13 | self | break_ensure.rb:8:6:8:13 | call to elements | | -| break_ensure.rb:8:6:8:18 | [ensure: exception] call to nil? | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | false | -| break_ensure.rb:8:6:8:18 | [ensure: exception] call to nil? | break_ensure.rb:9:5:9:23 | [ensure: exception] self | true | -| break_ensure.rb:8:6:8:18 | call to nil? | break_ensure.rb:8:3:10:5 | if ... | false | -| break_ensure.rb:8:6:8:18 | call to nil? | break_ensure.rb:9:5:9:23 | self | true | -| break_ensure.rb:8:20:9:23 | [ensure: exception] then ... | break_ensure.rb:8:3:10:5 | [ensure: exception] if ... | | -| break_ensure.rb:8:20:9:23 | then ... | break_ensure.rb:8:3:10:5 | if ... | | -| break_ensure.rb:9:5:9:23 | [ensure: exception] call to puts | break_ensure.rb:8:20:9:23 | [ensure: exception] then ... | | -| break_ensure.rb:9:5:9:23 | [ensure: exception] self | break_ensure.rb:9:11:9:22 | [ensure: exception] elements nil | | -| break_ensure.rb:9:5:9:23 | call to puts | break_ensure.rb:8:20:9:23 | then ... | | -| break_ensure.rb:9:5:9:23 | self | break_ensure.rb:9:11:9:22 | elements nil | | -| break_ensure.rb:9:10:9:23 | "elements nil" | break_ensure.rb:9:5:9:23 | call to puts | | -| break_ensure.rb:9:10:9:23 | [ensure: exception] "elements nil" | break_ensure.rb:9:5:9:23 | [ensure: exception] call to puts | | -| break_ensure.rb:9:11:9:22 | [ensure: exception] elements nil | break_ensure.rb:9:10:9:23 | [ensure: exception] "elements nil" | | +| break_ensure.rb:8:6:8:18 | After call to nil? [false] | break_ensure.rb:8:3:10:5 | After if ... | | +| break_ensure.rb:8:6:8:18 | After call to nil? [true] | break_ensure.rb:8:20:9:23 | then ... | | +| break_ensure.rb:8:6:8:18 | Before call to nil? | break_ensure.rb:8:6:8:13 | Before call to elements | | +| break_ensure.rb:8:6:8:18 | call to nil? | break_ensure.rb:8:6:8:18 | After call to nil? [false] | false | +| break_ensure.rb:8:6:8:18 | call to nil? | break_ensure.rb:8:6:8:18 | After call to nil? [true] | true | +| break_ensure.rb:8:20:9:23 | After then ... | break_ensure.rb:8:3:10:5 | After if ... | | +| break_ensure.rb:8:20:9:23 | then ... | break_ensure.rb:9:5:9:23 | Before call to puts | | +| break_ensure.rb:9:5:9:23 | After call to puts | break_ensure.rb:8:20:9:23 | After then ... | | +| break_ensure.rb:9:5:9:23 | Before call to puts | break_ensure.rb:9:5:9:23 | self | | +| break_ensure.rb:9:5:9:23 | call to puts | break_ensure.rb:9:5:9:23 | After call to puts | | +| break_ensure.rb:9:5:9:23 | self | break_ensure.rb:9:10:9:23 | Before "elements nil" | | +| break_ensure.rb:9:10:9:23 | "elements nil" | break_ensure.rb:9:10:9:23 | After "elements nil" | | +| break_ensure.rb:9:10:9:23 | After "elements nil" | break_ensure.rb:9:5:9:23 | call to puts | | +| break_ensure.rb:9:10:9:23 | Before "elements nil" | break_ensure.rb:9:11:9:22 | elements nil | | | break_ensure.rb:9:11:9:22 | elements nil | break_ensure.rb:9:10:9:23 | "elements nil" | | -| break_ensure.rb:13:1:25:3 | enter m2 | break_ensure.rb:13:8:13:8 | x | | -| break_ensure.rb:13:1:25:3 | exit m2 (normal) | break_ensure.rb:13:1:25:3 | exit m2 | | +| break_ensure.rb:13:1:25:3 | Entry | break_ensure.rb:13:8:13:8 | x | | +| break_ensure.rb:13:1:25:3 | Exceptional Exit | break_ensure.rb:13:1:25:3 | Exit | | +| break_ensure.rb:13:1:25:3 | Normal Exit | break_ensure.rb:13:1:25:3 | Exit | | | break_ensure.rb:13:1:25:3 | m2 | break_ensure.rb:27:1:42:3 | m3 | | | break_ensure.rb:13:8:13:8 | x | break_ensure.rb:13:11:13:11 | y | | -| break_ensure.rb:13:11:13:11 | y | break_ensure.rb:14:9:14:9 | x | | -| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:13:1:25:3 | exit m2 (normal) | | +| break_ensure.rb:13:11:13:11 | y | break_ensure.rb:14:3:24:5 | ... | | +| break_ensure.rb:14:3:24:5 | ... | break_ensure.rb:14:3:24:5 | while ... | | +| break_ensure.rb:14:3:24:5 | After ... | break_ensure.rb:13:1:25:3 | Normal Exit | | +| break_ensure.rb:14:3:24:5 | After while ... | break_ensure.rb:14:3:24:5 | After ... | | +| break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | break_ensure.rb:14:9:14:13 | Before ... < ... | | +| break_ensure.rb:14:3:24:5 | while ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | | | break_ensure.rb:14:9:14:9 | x | break_ensure.rb:14:13:14:13 | 0 | | -| break_ensure.rb:14:9:14:13 | ... < ... | break_ensure.rb:14:3:24:5 | while ... | false | -| break_ensure.rb:14:9:14:13 | ... < ... | break_ensure.rb:16:10:16:10 | x | true | +| break_ensure.rb:14:9:14:13 | ... < ... | break_ensure.rb:14:9:14:13 | After ... < ... [false] | false | +| break_ensure.rb:14:9:14:13 | ... < ... | break_ensure.rb:14:9:14:13 | After ... < ... [true] | true | +| break_ensure.rb:14:9:14:13 | After ... < ... [false] | break_ensure.rb:14:3:24:5 | After while ... | | +| break_ensure.rb:14:9:14:13 | After ... < ... [true] | break_ensure.rb:14:14:24:5 | do ... | | +| break_ensure.rb:14:9:14:13 | Before ... < ... | break_ensure.rb:14:9:14:9 | x | | | break_ensure.rb:14:13:14:13 | 0 | break_ensure.rb:14:9:14:13 | ... < ... | | -| break_ensure.rb:14:14:24:5 | do ... | break_ensure.rb:14:9:14:9 | x | | -| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:20:10:20:10 | y | | +| break_ensure.rb:14:14:24:5 | After do ... | break_ensure.rb:14:3:24:5 | [LoopHeader] while ... | | +| break_ensure.rb:14:14:24:5 | do ... | break_ensure.rb:15:5:23:7 | begin ... | | +| break_ensure.rb:15:5:23:7 | After begin ... | break_ensure.rb:14:14:24:5 | After do ... | | +| break_ensure.rb:15:5:23:7 | begin ... | break_ensure.rb:16:7:18:9 | if ... | | +| break_ensure.rb:16:7:18:9 | After if ... | break_ensure.rb:19:5:22:9 | ensure ... | | +| break_ensure.rb:16:7:18:9 | if ... | break_ensure.rb:16:10:16:14 | Before ... > ... | | | break_ensure.rb:16:10:16:10 | x | break_ensure.rb:16:14:16:14 | 0 | | -| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:16:7:18:9 | if ... | false | -| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:17:9:17:13 | break | true | -| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:20:10:20:10 | [ensure: exception] y | exception | +| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:16:10:16:14 | After ... > ... [false] | false | +| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:16:10:16:14 | After ... > ... [true] | true | +| break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:19:5:22:9 | ensure ... | exception | +| break_ensure.rb:16:10:16:14 | After ... > ... [false] | break_ensure.rb:16:7:18:9 | After if ... | | +| break_ensure.rb:16:10:16:14 | After ... > ... [true] | break_ensure.rb:16:16:17:13 | then ... | | +| break_ensure.rb:16:10:16:14 | Before ... > ... | break_ensure.rb:16:10:16:10 | x | | | break_ensure.rb:16:14:16:14 | 0 | break_ensure.rb:16:10:16:14 | ... > ... | | -| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:20:10:20:10 | [ensure: break] y | break | -| break_ensure.rb:19:5:22:9 | [ensure: break] ensure ... | break_ensure.rb:14:3:24:5 | while ... | break | -| break_ensure.rb:19:5:22:9 | [ensure: exception] ensure ... | break_ensure.rb:14:3:24:5 | while ... | exception | -| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:14:14:24:5 | do ... | | -| break_ensure.rb:20:7:22:9 | [ensure: break] if ... | break_ensure.rb:19:5:22:9 | [ensure: break] ensure ... | | -| break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | break_ensure.rb:19:5:22:9 | [ensure: exception] ensure ... | | -| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:19:5:22:9 | ensure ... | | -| break_ensure.rb:20:10:20:10 | [ensure: break] y | break_ensure.rb:20:10:20:15 | [ensure: break] call to nil? | | -| break_ensure.rb:20:10:20:10 | [ensure: exception] y | break_ensure.rb:20:10:20:15 | [ensure: exception] call to nil? | | +| break_ensure.rb:16:16:17:13 | then ... | break_ensure.rb:17:9:17:13 | Before break | | +| break_ensure.rb:17:9:17:13 | Before break | break_ensure.rb:17:9:17:13 | break | | +| break_ensure.rb:17:9:17:13 | break | break_ensure.rb:19:5:22:9 | ensure ... | break | +| break_ensure.rb:19:5:22:9 | After ensure ... | break_ensure.rb:13:1:25:3 | Exceptional Exit | exception | +| break_ensure.rb:19:5:22:9 | After ensure ... | break_ensure.rb:14:3:24:5 | After while ... | break | +| break_ensure.rb:19:5:22:9 | After ensure ... | break_ensure.rb:15:5:23:7 | After begin ... | | +| break_ensure.rb:19:5:22:9 | ensure ... | break_ensure.rb:20:7:22:9 | if ... | | +| break_ensure.rb:20:7:22:9 | After if ... | break_ensure.rb:19:5:22:9 | After ensure ... | | +| break_ensure.rb:20:7:22:9 | if ... | break_ensure.rb:20:10:20:15 | Before call to nil? | | | break_ensure.rb:20:10:20:10 | y | break_ensure.rb:20:10:20:15 | call to nil? | | -| break_ensure.rb:20:10:20:15 | [ensure: break] call to nil? | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | false | -| break_ensure.rb:20:10:20:15 | [ensure: break] call to nil? | break_ensure.rb:21:9:21:20 | [ensure: break] self | true | -| break_ensure.rb:20:10:20:15 | [ensure: exception] call to nil? | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | false | -| break_ensure.rb:20:10:20:15 | [ensure: exception] call to nil? | break_ensure.rb:21:9:21:20 | [ensure: exception] self | true | -| break_ensure.rb:20:10:20:15 | call to nil? | break_ensure.rb:20:7:22:9 | if ... | false | -| break_ensure.rb:20:10:20:15 | call to nil? | break_ensure.rb:21:9:21:20 | self | true | -| break_ensure.rb:20:17:21:20 | [ensure: break] then ... | break_ensure.rb:20:7:22:9 | [ensure: break] if ... | | -| break_ensure.rb:20:17:21:20 | [ensure: exception] then ... | break_ensure.rb:20:7:22:9 | [ensure: exception] if ... | | -| break_ensure.rb:20:17:21:20 | then ... | break_ensure.rb:20:7:22:9 | if ... | | -| break_ensure.rb:21:9:21:20 | [ensure: break] call to puts | break_ensure.rb:20:17:21:20 | [ensure: break] then ... | | -| break_ensure.rb:21:9:21:20 | [ensure: break] self | break_ensure.rb:21:15:21:19 | [ensure: break] y nil | | -| break_ensure.rb:21:9:21:20 | [ensure: exception] call to puts | break_ensure.rb:20:17:21:20 | [ensure: exception] then ... | | -| break_ensure.rb:21:9:21:20 | [ensure: exception] self | break_ensure.rb:21:15:21:19 | [ensure: exception] y nil | | -| break_ensure.rb:21:9:21:20 | call to puts | break_ensure.rb:20:17:21:20 | then ... | | -| break_ensure.rb:21:9:21:20 | self | break_ensure.rb:21:15:21:19 | y nil | | -| break_ensure.rb:21:14:21:20 | "y nil" | break_ensure.rb:21:9:21:20 | call to puts | | -| break_ensure.rb:21:14:21:20 | [ensure: break] "y nil" | break_ensure.rb:21:9:21:20 | [ensure: break] call to puts | | -| break_ensure.rb:21:14:21:20 | [ensure: exception] "y nil" | break_ensure.rb:21:9:21:20 | [ensure: exception] call to puts | | -| break_ensure.rb:21:15:21:19 | [ensure: break] y nil | break_ensure.rb:21:14:21:20 | [ensure: break] "y nil" | | -| break_ensure.rb:21:15:21:19 | [ensure: exception] y nil | break_ensure.rb:21:14:21:20 | [ensure: exception] "y nil" | | +| break_ensure.rb:20:10:20:15 | After call to nil? [false] | break_ensure.rb:20:7:22:9 | After if ... | | +| break_ensure.rb:20:10:20:15 | After call to nil? [true] | break_ensure.rb:20:17:21:20 | then ... | | +| break_ensure.rb:20:10:20:15 | Before call to nil? | break_ensure.rb:20:10:20:10 | y | | +| break_ensure.rb:20:10:20:15 | call to nil? | break_ensure.rb:20:10:20:15 | After call to nil? [false] | false | +| break_ensure.rb:20:10:20:15 | call to nil? | break_ensure.rb:20:10:20:15 | After call to nil? [true] | true | +| break_ensure.rb:20:17:21:20 | After then ... | break_ensure.rb:20:7:22:9 | After if ... | | +| break_ensure.rb:20:17:21:20 | then ... | break_ensure.rb:21:9:21:20 | Before call to puts | | +| break_ensure.rb:21:9:21:20 | After call to puts | break_ensure.rb:20:17:21:20 | After then ... | | +| break_ensure.rb:21:9:21:20 | Before call to puts | break_ensure.rb:21:9:21:20 | self | | +| break_ensure.rb:21:9:21:20 | call to puts | break_ensure.rb:21:9:21:20 | After call to puts | | +| break_ensure.rb:21:9:21:20 | self | break_ensure.rb:21:14:21:20 | Before "y nil" | | +| break_ensure.rb:21:14:21:20 | "y nil" | break_ensure.rb:21:14:21:20 | After "y nil" | | +| break_ensure.rb:21:14:21:20 | After "y nil" | break_ensure.rb:21:9:21:20 | call to puts | | +| break_ensure.rb:21:14:21:20 | Before "y nil" | break_ensure.rb:21:15:21:19 | y nil | | | break_ensure.rb:21:15:21:19 | y nil | break_ensure.rb:21:14:21:20 | "y nil" | | -| break_ensure.rb:27:1:42:3 | enter m3 | break_ensure.rb:27:8:27:8 | x | | -| break_ensure.rb:27:1:42:3 | exit m3 (abnormal) | break_ensure.rb:27:1:42:3 | exit m3 | | -| break_ensure.rb:27:1:42:3 | exit m3 (normal) | break_ensure.rb:27:1:42:3 | exit m3 | | +| break_ensure.rb:27:1:42:3 | Entry | break_ensure.rb:27:8:27:8 | x | | +| break_ensure.rb:27:1:42:3 | Exceptional Exit | break_ensure.rb:27:1:42:3 | Exit | | +| break_ensure.rb:27:1:42:3 | Normal Exit | break_ensure.rb:27:1:42:3 | Exit | | | break_ensure.rb:27:1:42:3 | m3 | break_ensure.rb:44:1:56:3 | m4 | | | break_ensure.rb:27:8:27:8 | x | break_ensure.rb:27:10:27:10 | y | | -| break_ensure.rb:27:10:27:10 | y | break_ensure.rb:29:8:29:8 | x | | -| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:33:11:33:11 | y | | +| break_ensure.rb:27:10:27:10 | y | break_ensure.rb:28:3:41:13 | ... | | +| break_ensure.rb:28:3:40:5 | After begin ... | break_ensure.rb:41:3:41:13 | Before call to puts | | +| break_ensure.rb:28:3:40:5 | begin ... | break_ensure.rb:29:5:31:7 | if ... | | +| break_ensure.rb:28:3:41:13 | ... | break_ensure.rb:28:3:40:5 | begin ... | | +| break_ensure.rb:28:3:41:13 | After ... | break_ensure.rb:27:1:42:3 | Normal Exit | | +| break_ensure.rb:29:5:31:7 | After if ... | break_ensure.rb:32:3:39:7 | ensure ... | | +| break_ensure.rb:29:5:31:7 | if ... | break_ensure.rb:29:8:29:13 | Before call to nil? | | | break_ensure.rb:29:8:29:8 | x | break_ensure.rb:29:8:29:13 | call to nil? | | -| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:29:5:31:7 | if ... | false | -| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:30:7:30:12 | return | true | -| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:33:11:33:11 | [ensure: exception] y | exception | -| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:33:11:33:11 | [ensure: return] y | return | -| break_ensure.rb:32:3:39:7 | [ensure: exception] ensure ... | break_ensure.rb:27:1:42:3 | exit m3 (abnormal) | exception | -| break_ensure.rb:32:3:39:7 | [ensure: return] ensure ... | break_ensure.rb:27:1:42:3 | exit m3 (normal) | return | -| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:41:3:41:13 | self | | -| break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break_ensure.rb:32:3:39:7 | [ensure: exception] ensure ... | | -| break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break_ensure.rb:32:3:39:7 | [ensure: return] ensure ... | | -| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:32:3:39:7 | ensure ... | | -| break_ensure.rb:33:11:33:11 | [ensure: exception] y | break_ensure.rb:33:15:33:15 | [ensure: exception] 0 | | -| break_ensure.rb:33:11:33:11 | [ensure: return] y | break_ensure.rb:33:15:33:15 | [ensure: return] 0 | | +| break_ensure.rb:29:8:29:13 | After call to nil? [false] | break_ensure.rb:29:5:31:7 | After if ... | | +| break_ensure.rb:29:8:29:13 | After call to nil? [true] | break_ensure.rb:29:15:30:12 | then ... | | +| break_ensure.rb:29:8:29:13 | Before call to nil? | break_ensure.rb:29:8:29:8 | x | | +| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:29:8:29:13 | After call to nil? [false] | false | +| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:29:8:29:13 | After call to nil? [true] | true | +| break_ensure.rb:29:8:29:13 | call to nil? | break_ensure.rb:32:3:39:7 | ensure ... | exception | +| break_ensure.rb:29:15:30:12 | then ... | break_ensure.rb:30:7:30:12 | Before return | | +| break_ensure.rb:30:7:30:12 | Before return | break_ensure.rb:30:7:30:12 | return | | +| break_ensure.rb:30:7:30:12 | return | break_ensure.rb:32:3:39:7 | ensure ... | return | +| break_ensure.rb:32:3:39:7 | After ensure ... | break_ensure.rb:27:1:42:3 | Exceptional Exit | exception | +| break_ensure.rb:32:3:39:7 | After ensure ... | break_ensure.rb:27:1:42:3 | Normal Exit | return | +| break_ensure.rb:32:3:39:7 | After ensure ... | break_ensure.rb:28:3:40:5 | After begin ... | | +| break_ensure.rb:32:3:39:7 | ensure ... | break_ensure.rb:33:5:39:7 | while ... | | +| break_ensure.rb:33:5:39:7 | After while ... | break_ensure.rb:32:3:39:7 | After ensure ... | | +| break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | break_ensure.rb:33:11:33:15 | Before ... < ... | | +| break_ensure.rb:33:5:39:7 | while ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | | | break_ensure.rb:33:11:33:11 | y | break_ensure.rb:33:15:33:15 | 0 | | -| break_ensure.rb:33:11:33:15 | ... < ... | break_ensure.rb:33:5:39:7 | while ... | false | -| break_ensure.rb:33:11:33:15 | ... < ... | break_ensure.rb:35:12:35:12 | x | true | -| break_ensure.rb:33:11:33:15 | [ensure: exception] ... < ... | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | false | -| break_ensure.rb:33:11:33:15 | [ensure: exception] ... < ... | break_ensure.rb:35:12:35:12 | [ensure: exception] x | true | -| break_ensure.rb:33:11:33:15 | [ensure: return] ... < ... | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | false | -| break_ensure.rb:33:11:33:15 | [ensure: return] ... < ... | break_ensure.rb:35:12:35:12 | [ensure: return] x | true | +| break_ensure.rb:33:11:33:15 | ... < ... | break_ensure.rb:33:11:33:15 | After ... < ... [false] | false | +| break_ensure.rb:33:11:33:15 | ... < ... | break_ensure.rb:33:11:33:15 | After ... < ... [true] | true | +| break_ensure.rb:33:11:33:15 | After ... < ... [false] | break_ensure.rb:33:5:39:7 | After while ... | | +| break_ensure.rb:33:11:33:15 | After ... < ... [true] | break_ensure.rb:33:16:39:7 | do ... | | +| break_ensure.rb:33:11:33:15 | Before ... < ... | break_ensure.rb:33:11:33:11 | y | | | break_ensure.rb:33:15:33:15 | 0 | break_ensure.rb:33:11:33:15 | ... < ... | | -| break_ensure.rb:33:15:33:15 | [ensure: exception] 0 | break_ensure.rb:33:11:33:15 | [ensure: exception] ... < ... | | -| break_ensure.rb:33:15:33:15 | [ensure: return] 0 | break_ensure.rb:33:11:33:15 | [ensure: return] ... < ... | | -| break_ensure.rb:33:16:39:7 | [ensure: exception] do ... | break_ensure.rb:33:11:33:11 | [ensure: exception] y | | -| break_ensure.rb:33:16:39:7 | [ensure: return] do ... | break_ensure.rb:33:11:33:11 | [ensure: return] y | | -| break_ensure.rb:33:16:39:7 | do ... | break_ensure.rb:33:11:33:11 | y | | -| break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | break_ensure.rb:33:16:39:7 | [ensure: exception] do ... | | -| break_ensure.rb:35:9:37:11 | [ensure: return] if ... | break_ensure.rb:33:16:39:7 | [ensure: return] do ... | | -| break_ensure.rb:35:9:37:11 | if ... | break_ensure.rb:33:16:39:7 | do ... | | -| break_ensure.rb:35:12:35:12 | [ensure: exception] x | break_ensure.rb:35:16:35:16 | [ensure: exception] 0 | | -| break_ensure.rb:35:12:35:12 | [ensure: return] x | break_ensure.rb:35:16:35:16 | [ensure: return] 0 | | +| break_ensure.rb:33:16:39:7 | After do ... | break_ensure.rb:33:5:39:7 | [LoopHeader] while ... | | +| break_ensure.rb:33:16:39:7 | do ... | break_ensure.rb:34:7:38:9 | begin ... | | +| break_ensure.rb:34:7:38:9 | After begin ... | break_ensure.rb:33:16:39:7 | After do ... | | +| break_ensure.rb:34:7:38:9 | begin ... | break_ensure.rb:35:9:37:11 | if ... | | +| break_ensure.rb:35:9:37:11 | After if ... | break_ensure.rb:34:7:38:9 | After begin ... | | +| break_ensure.rb:35:9:37:11 | if ... | break_ensure.rb:35:12:35:16 | Before ... > ... | | | break_ensure.rb:35:12:35:12 | x | break_ensure.rb:35:16:35:16 | 0 | | -| break_ensure.rb:35:12:35:16 | ... > ... | break_ensure.rb:35:9:37:11 | if ... | false | -| break_ensure.rb:35:12:35:16 | ... > ... | break_ensure.rb:36:11:36:15 | break | true | -| break_ensure.rb:35:12:35:16 | [ensure: exception] ... > ... | break_ensure.rb:35:9:37:11 | [ensure: exception] if ... | false | -| break_ensure.rb:35:12:35:16 | [ensure: exception] ... > ... | break_ensure.rb:36:11:36:15 | [ensure: exception] break | true | -| break_ensure.rb:35:12:35:16 | [ensure: return] ... > ... | break_ensure.rb:35:9:37:11 | [ensure: return] if ... | false | -| break_ensure.rb:35:12:35:16 | [ensure: return] ... > ... | break_ensure.rb:36:11:36:15 | [ensure: return] break | true | +| break_ensure.rb:35:12:35:16 | ... > ... | break_ensure.rb:35:12:35:16 | After ... > ... [false] | false | +| break_ensure.rb:35:12:35:16 | ... > ... | break_ensure.rb:35:12:35:16 | After ... > ... [true] | true | +| break_ensure.rb:35:12:35:16 | After ... > ... [false] | break_ensure.rb:35:9:37:11 | After if ... | | +| break_ensure.rb:35:12:35:16 | After ... > ... [true] | break_ensure.rb:35:18:36:15 | then ... | | +| break_ensure.rb:35:12:35:16 | Before ... > ... | break_ensure.rb:35:12:35:12 | x | | | break_ensure.rb:35:16:35:16 | 0 | break_ensure.rb:35:12:35:16 | ... > ... | | -| break_ensure.rb:35:16:35:16 | [ensure: exception] 0 | break_ensure.rb:35:12:35:16 | [ensure: exception] ... > ... | | -| break_ensure.rb:35:16:35:16 | [ensure: return] 0 | break_ensure.rb:35:12:35:16 | [ensure: return] ... > ... | | -| break_ensure.rb:36:11:36:15 | [ensure: exception] break | break_ensure.rb:33:5:39:7 | [ensure: exception] while ... | break | -| break_ensure.rb:36:11:36:15 | [ensure: return] break | break_ensure.rb:33:5:39:7 | [ensure: return] while ... | break | -| break_ensure.rb:36:11:36:15 | break | break_ensure.rb:33:5:39:7 | while ... | break | -| break_ensure.rb:41:3:41:13 | call to puts | break_ensure.rb:27:1:42:3 | exit m3 (normal) | | -| break_ensure.rb:41:3:41:13 | self | break_ensure.rb:41:9:41:12 | Done | | -| break_ensure.rb:41:8:41:13 | "Done" | break_ensure.rb:41:3:41:13 | call to puts | | +| break_ensure.rb:35:18:36:15 | then ... | break_ensure.rb:36:11:36:15 | Before break | | +| break_ensure.rb:36:11:36:15 | Before break | break_ensure.rb:36:11:36:15 | break | | +| break_ensure.rb:36:11:36:15 | break | break_ensure.rb:33:5:39:7 | After while ... | break | +| break_ensure.rb:41:3:41:13 | After call to puts | break_ensure.rb:28:3:41:13 | After ... | | +| break_ensure.rb:41:3:41:13 | Before call to puts | break_ensure.rb:41:3:41:13 | self | | +| break_ensure.rb:41:3:41:13 | call to puts | break_ensure.rb:41:3:41:13 | After call to puts | | +| break_ensure.rb:41:3:41:13 | self | break_ensure.rb:41:8:41:13 | Before "Done" | | +| break_ensure.rb:41:8:41:13 | "Done" | break_ensure.rb:41:8:41:13 | After "Done" | | +| break_ensure.rb:41:8:41:13 | After "Done" | break_ensure.rb:41:3:41:13 | call to puts | | +| break_ensure.rb:41:8:41:13 | Before "Done" | break_ensure.rb:41:9:41:12 | Done | | | break_ensure.rb:41:9:41:12 | Done | break_ensure.rb:41:8:41:13 | "Done" | | -| break_ensure.rb:44:1:56:3 | enter m4 | break_ensure.rb:44:8:44:8 | x | | -| break_ensure.rb:44:1:56:3 | exit m4 (normal) | break_ensure.rb:44:1:56:3 | exit m4 | | -| break_ensure.rb:44:1:56:3 | m4 | break_ensure.rb:1:1:56:4 | exit break_ensure.rb (normal) | | -| break_ensure.rb:44:8:44:8 | x | break_ensure.rb:45:9:45:9 | x | | -| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:44:1:56:3 | exit m4 (normal) | | +| break_ensure.rb:44:1:56:3 | Entry | break_ensure.rb:44:8:44:8 | x | | +| break_ensure.rb:44:1:56:3 | Exceptional Exit | break_ensure.rb:44:1:56:3 | Exit | | +| break_ensure.rb:44:1:56:3 | Normal Exit | break_ensure.rb:44:1:56:3 | Exit | | +| break_ensure.rb:44:1:56:3 | m4 | break_ensure.rb:1:1:56:4 | Normal Exit | | +| break_ensure.rb:44:8:44:8 | x | break_ensure.rb:45:3:55:5 | ... | | +| break_ensure.rb:45:3:55:5 | ... | break_ensure.rb:45:3:55:5 | while ... | | +| break_ensure.rb:45:3:55:5 | After ... | break_ensure.rb:44:1:56:3 | Normal Exit | | +| break_ensure.rb:45:3:55:5 | After while ... | break_ensure.rb:45:3:55:5 | After ... | | +| break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | break_ensure.rb:45:9:45:13 | Before ... < ... | | +| break_ensure.rb:45:3:55:5 | while ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | | | break_ensure.rb:45:9:45:9 | x | break_ensure.rb:45:13:45:13 | 0 | | -| break_ensure.rb:45:9:45:13 | ... < ... | break_ensure.rb:45:3:55:5 | while ... | false | -| break_ensure.rb:45:9:45:13 | ... < ... | break_ensure.rb:47:10:47:10 | x | true | +| break_ensure.rb:45:9:45:13 | ... < ... | break_ensure.rb:45:9:45:13 | After ... < ... [false] | false | +| break_ensure.rb:45:9:45:13 | ... < ... | break_ensure.rb:45:9:45:13 | After ... < ... [true] | true | +| break_ensure.rb:45:9:45:13 | After ... < ... [false] | break_ensure.rb:45:3:55:5 | After while ... | | +| break_ensure.rb:45:9:45:13 | After ... < ... [true] | break_ensure.rb:45:14:55:5 | do ... | | +| break_ensure.rb:45:9:45:13 | Before ... < ... | break_ensure.rb:45:9:45:9 | x | | | break_ensure.rb:45:13:45:13 | 0 | break_ensure.rb:45:9:45:13 | ... < ... | | -| break_ensure.rb:45:14:55:5 | do ... | break_ensure.rb:45:9:45:9 | x | | -| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:51:10:51:10 | x | | +| break_ensure.rb:45:14:55:5 | After do ... | break_ensure.rb:45:3:55:5 | [LoopHeader] while ... | | +| break_ensure.rb:45:14:55:5 | do ... | break_ensure.rb:46:5:54:7 | begin ... | | +| break_ensure.rb:46:5:54:7 | After begin ... | break_ensure.rb:45:14:55:5 | After do ... | | +| break_ensure.rb:46:5:54:7 | begin ... | break_ensure.rb:47:7:49:9 | if ... | | +| break_ensure.rb:47:7:49:9 | After if ... | break_ensure.rb:50:5:53:9 | ensure ... | | +| break_ensure.rb:47:7:49:9 | if ... | break_ensure.rb:47:10:47:14 | Before ... > ... | | | break_ensure.rb:47:10:47:10 | x | break_ensure.rb:47:14:47:14 | 1 | | -| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:47:7:49:9 | if ... | false | -| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:48:9:48:16 | self | true | -| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:51:10:51:10 | [ensure: exception] x | exception | +| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:47:10:47:14 | After ... > ... [false] | false | +| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:47:10:47:14 | After ... > ... [true] | true | +| break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:50:5:53:9 | ensure ... | exception | +| break_ensure.rb:47:10:47:14 | After ... > ... [false] | break_ensure.rb:47:7:49:9 | After if ... | | +| break_ensure.rb:47:10:47:14 | After ... > ... [true] | break_ensure.rb:47:16:48:16 | then ... | | +| break_ensure.rb:47:10:47:14 | Before ... > ... | break_ensure.rb:47:10:47:10 | x | | | break_ensure.rb:47:14:47:14 | 1 | break_ensure.rb:47:10:47:14 | ... > ... | | -| break_ensure.rb:48:9:48:16 | call to raise | break_ensure.rb:51:10:51:10 | [ensure: exception] x | exception | +| break_ensure.rb:47:16:48:16 | then ... | break_ensure.rb:48:9:48:16 | Before call to raise | | +| break_ensure.rb:48:9:48:16 | Before call to raise | break_ensure.rb:48:9:48:16 | self | | +| break_ensure.rb:48:9:48:16 | call to raise | break_ensure.rb:50:5:53:9 | ensure ... | exception | | break_ensure.rb:48:9:48:16 | self | break_ensure.rb:48:15:48:16 | "" | | | break_ensure.rb:48:15:48:16 | "" | break_ensure.rb:48:9:48:16 | call to raise | | -| break_ensure.rb:50:5:53:9 | [ensure: exception] ensure ... | break_ensure.rb:45:3:55:5 | while ... | exception | -| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:45:14:55:5 | do ... | | -| break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | break_ensure.rb:50:5:53:9 | [ensure: exception] ensure ... | | -| break_ensure.rb:51:7:53:9 | if ... | break_ensure.rb:50:5:53:9 | ensure ... | | -| break_ensure.rb:51:10:51:10 | [ensure: exception] x | break_ensure.rb:51:14:51:14 | [ensure: exception] 0 | | +| break_ensure.rb:50:5:53:9 | After ensure ... | break_ensure.rb:44:1:56:3 | Exceptional Exit | exception | +| break_ensure.rb:50:5:53:9 | After ensure ... | break_ensure.rb:46:5:54:7 | After begin ... | | +| break_ensure.rb:50:5:53:9 | ensure ... | break_ensure.rb:51:7:53:9 | if ... | | +| break_ensure.rb:51:7:53:9 | After if ... | break_ensure.rb:50:5:53:9 | After ensure ... | | +| break_ensure.rb:51:7:53:9 | if ... | break_ensure.rb:51:10:51:14 | Before ... > ... | | | break_ensure.rb:51:10:51:10 | x | break_ensure.rb:51:14:51:14 | 0 | | -| break_ensure.rb:51:10:51:14 | ... > ... | break_ensure.rb:51:7:53:9 | if ... | false | -| break_ensure.rb:51:10:51:14 | ... > ... | break_ensure.rb:52:15:52:16 | 10 | true | -| break_ensure.rb:51:10:51:14 | [ensure: exception] ... > ... | break_ensure.rb:51:7:53:9 | [ensure: exception] if ... | false | -| break_ensure.rb:51:10:51:14 | [ensure: exception] ... > ... | break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | true | +| break_ensure.rb:51:10:51:14 | ... > ... | break_ensure.rb:51:10:51:14 | After ... > ... [false] | false | +| break_ensure.rb:51:10:51:14 | ... > ... | break_ensure.rb:51:10:51:14 | After ... > ... [true] | true | +| break_ensure.rb:51:10:51:14 | After ... > ... [false] | break_ensure.rb:51:7:53:9 | After if ... | | +| break_ensure.rb:51:10:51:14 | After ... > ... [true] | break_ensure.rb:51:16:52:17 | then ... | | +| break_ensure.rb:51:10:51:14 | Before ... > ... | break_ensure.rb:51:10:51:10 | x | | | break_ensure.rb:51:14:51:14 | 0 | break_ensure.rb:51:10:51:14 | ... > ... | | -| break_ensure.rb:51:14:51:14 | [ensure: exception] 0 | break_ensure.rb:51:10:51:14 | [ensure: exception] ... > ... | | -| break_ensure.rb:52:9:52:16 | [ensure: exception] break | break_ensure.rb:45:3:55:5 | while ... | break | -| break_ensure.rb:52:9:52:16 | break | break_ensure.rb:45:3:55:5 | while ... | break | +| break_ensure.rb:51:16:52:17 | then ... | break_ensure.rb:52:9:52:16 | Before break | | +| break_ensure.rb:52:9:52:16 | Before break | break_ensure.rb:52:15:52:16 | 10 | | +| break_ensure.rb:52:9:52:16 | break | break_ensure.rb:45:3:55:5 | After while ... | break | | break_ensure.rb:52:15:52:16 | 10 | break_ensure.rb:52:9:52:16 | break | | -| break_ensure.rb:52:15:52:16 | [ensure: exception] 10 | break_ensure.rb:52:9:52:16 | [ensure: exception] break | | -| case.rb:1:1:6:3 | enter if_in_case | case.rb:2:8:2:9 | self | | -| case.rb:1:1:6:3 | exit if_in_case (normal) | case.rb:1:1:6:3 | exit if_in_case | | +| case.rb:1:1:6:3 | Entry | case.rb:2:3:5:5 | ... | | +| case.rb:1:1:6:3 | Normal Exit | case.rb:1:1:6:3 | Exit | | | case.rb:1:1:6:3 | if_in_case | case.rb:8:1:18:3 | case_match | | -| case.rb:1:1:99:4 | enter case.rb | case.rb:1:1:6:3 | if_in_case | | -| case.rb:1:1:99:4 | exit case.rb (normal) | case.rb:1:1:99:4 | exit case.rb | | -| case.rb:2:3:5:5 | case ... | case.rb:1:1:6:3 | exit if_in_case (normal) | | -| case.rb:2:8:2:9 | call to x1 | case.rb:3:10:3:10 | 1 | | +| case.rb:1:1:99:4 | Entry | case.rb:1:1:6:3 | if_in_case | | +| case.rb:1:1:99:4 | Normal Exit | case.rb:1:1:99:4 | Exit | | +| case.rb:2:3:5:5 | ... | case.rb:2:3:5:5 | case ... | | +| case.rb:2:3:5:5 | After ... | case.rb:1:1:6:3 | Normal Exit | | +| case.rb:2:3:5:5 | After case ... | case.rb:2:3:5:5 | After ... | | +| case.rb:2:3:5:5 | case ... | case.rb:2:8:2:9 | Before call to x1 | | +| case.rb:2:8:2:9 | After call to x1 | case.rb:3:5:3:42 | when ... | | +| case.rb:2:8:2:9 | Before call to x1 | case.rb:2:8:2:9 | self | | +| case.rb:2:8:2:9 | call to x1 | case.rb:2:8:2:9 | After call to x1 | | | case.rb:2:8:2:9 | self | case.rb:2:8:2:9 | call to x1 | | -| case.rb:3:5:3:42 | [match] when ... | case.rb:3:21:3:22 | self | match | -| case.rb:3:5:3:42 | [no-match] when ... | case.rb:4:10:4:10 | 2 | no-match | -| case.rb:3:10:3:10 | 1 | case.rb:3:5:3:42 | [match] when ... | match | -| case.rb:3:10:3:10 | 1 | case.rb:3:5:3:42 | [no-match] when ... | no-match | -| case.rb:3:12:3:42 | then ... | case.rb:2:3:5:5 | case ... | | -| case.rb:3:17:3:42 | ( ... ) | case.rb:3:12:3:42 | then ... | | -| case.rb:3:18:3:41 | if ... | case.rb:3:17:3:42 | ( ... ) | | -| case.rb:3:21:3:22 | call to x2 | case.rb:3:18:3:41 | if ... | false | -| case.rb:3:21:3:22 | call to x2 | case.rb:3:29:3:37 | self | true | +| case.rb:3:5:3:42 | After when ... [match] | case.rb:3:12:3:42 | then ... | | +| case.rb:3:5:3:42 | After when ... [no-match] | case.rb:4:5:4:24 | when ... | | +| case.rb:3:5:3:42 | when ... | case.rb:3:10:3:10 | 1 | | +| case.rb:3:10:3:10 | 1 | case.rb:3:10:3:10 | After 1 [match] | match | +| case.rb:3:10:3:10 | 1 | case.rb:3:10:3:10 | After 1 [no-match] | no-match | +| case.rb:3:10:3:10 | After 1 [match] | case.rb:3:5:3:42 | After when ... [match] | match | +| case.rb:3:10:3:10 | After 1 [no-match] | case.rb:3:5:3:42 | After when ... [no-match] | no-match | +| case.rb:3:12:3:42 | After then ... | case.rb:2:3:5:5 | After case ... | | +| case.rb:3:12:3:42 | then ... | case.rb:3:17:3:42 | ( ... ) | | +| case.rb:3:17:3:42 | ( ... ) | case.rb:3:18:3:41 | if ... | | +| case.rb:3:17:3:42 | After ( ... ) | case.rb:3:12:3:42 | After then ... | | +| case.rb:3:18:3:41 | After if ... | case.rb:3:17:3:42 | After ( ... ) | | +| case.rb:3:18:3:41 | if ... | case.rb:3:21:3:22 | Before call to x2 | | +| case.rb:3:21:3:22 | After call to x2 [false] | case.rb:3:18:3:41 | After if ... | | +| case.rb:3:21:3:22 | After call to x2 [true] | case.rb:3:24:3:37 | then ... | | +| case.rb:3:21:3:22 | Before call to x2 | case.rb:3:21:3:22 | self | | +| case.rb:3:21:3:22 | call to x2 | case.rb:3:21:3:22 | After call to x2 [false] | false | +| case.rb:3:21:3:22 | call to x2 | case.rb:3:21:3:22 | After call to x2 [true] | true | | case.rb:3:21:3:22 | self | case.rb:3:21:3:22 | call to x2 | | -| case.rb:3:24:3:37 | then ... | case.rb:3:18:3:41 | if ... | | -| case.rb:3:29:3:37 | call to puts | case.rb:3:24:3:37 | then ... | | -| case.rb:3:29:3:37 | self | case.rb:3:35:3:36 | x2 | | -| case.rb:3:34:3:37 | "x2" | case.rb:3:29:3:37 | call to puts | | +| case.rb:3:24:3:37 | After then ... | case.rb:3:18:3:41 | After if ... | | +| case.rb:3:24:3:37 | then ... | case.rb:3:29:3:37 | Before call to puts | | +| case.rb:3:29:3:37 | After call to puts | case.rb:3:24:3:37 | After then ... | | +| case.rb:3:29:3:37 | Before call to puts | case.rb:3:29:3:37 | self | | +| case.rb:3:29:3:37 | call to puts | case.rb:3:29:3:37 | After call to puts | | +| case.rb:3:29:3:37 | self | case.rb:3:34:3:37 | Before "x2" | | +| case.rb:3:34:3:37 | "x2" | case.rb:3:34:3:37 | After "x2" | | +| case.rb:3:34:3:37 | After "x2" | case.rb:3:29:3:37 | call to puts | | +| case.rb:3:34:3:37 | Before "x2" | case.rb:3:35:3:36 | x2 | | | case.rb:3:35:3:36 | x2 | case.rb:3:34:3:37 | "x2" | | -| case.rb:4:5:4:24 | [match] when ... | case.rb:4:17:4:24 | self | match | -| case.rb:4:5:4:24 | [no-match] when ... | case.rb:2:3:5:5 | case ... | no-match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [match] when ... | match | -| case.rb:4:10:4:10 | 2 | case.rb:4:5:4:24 | [no-match] when ... | no-match | -| case.rb:4:12:4:24 | then ... | case.rb:2:3:5:5 | case ... | | -| case.rb:4:17:4:24 | call to puts | case.rb:4:12:4:24 | then ... | | -| case.rb:4:17:4:24 | self | case.rb:4:23:4:23 | 2 | | -| case.rb:4:22:4:24 | "2" | case.rb:4:17:4:24 | call to puts | | +| case.rb:4:5:4:24 | After when ... [match] | case.rb:4:12:4:24 | then ... | | +| case.rb:4:5:4:24 | After when ... [no-match] | case.rb:2:3:5:5 | After case ... | | +| case.rb:4:5:4:24 | when ... | case.rb:4:10:4:10 | 2 | | +| case.rb:4:10:4:10 | 2 | case.rb:4:10:4:10 | After 2 [match] | match | +| case.rb:4:10:4:10 | 2 | case.rb:4:10:4:10 | After 2 [no-match] | no-match | +| case.rb:4:10:4:10 | After 2 [match] | case.rb:4:5:4:24 | After when ... [match] | match | +| case.rb:4:10:4:10 | After 2 [no-match] | case.rb:4:5:4:24 | After when ... [no-match] | no-match | +| case.rb:4:12:4:24 | After then ... | case.rb:2:3:5:5 | After case ... | | +| case.rb:4:12:4:24 | then ... | case.rb:4:17:4:24 | Before call to puts | | +| case.rb:4:17:4:24 | After call to puts | case.rb:4:12:4:24 | After then ... | | +| case.rb:4:17:4:24 | Before call to puts | case.rb:4:17:4:24 | self | | +| case.rb:4:17:4:24 | call to puts | case.rb:4:17:4:24 | After call to puts | | +| case.rb:4:17:4:24 | self | case.rb:4:22:4:24 | Before "2" | | +| case.rb:4:22:4:24 | "2" | case.rb:4:22:4:24 | After "2" | | +| case.rb:4:22:4:24 | After "2" | case.rb:4:17:4:24 | call to puts | | +| case.rb:4:22:4:24 | Before "2" | case.rb:4:23:4:23 | 2 | | | case.rb:4:23:4:23 | 2 | case.rb:4:22:4:24 | "2" | | +| case.rb:8:1:18:3 | Entry | case.rb:8:16:8:20 | value | | +| case.rb:8:1:18:3 | Normal Exit | case.rb:8:1:18:3 | Exit | | | case.rb:8:1:18:3 | case_match | case.rb:20:1:24:3 | case_match_no_match | | -| case.rb:8:1:18:3 | enter case_match | case.rb:8:16:8:20 | value | | -| case.rb:8:1:18:3 | exit case_match (normal) | case.rb:8:1:18:3 | exit case_match | | -| case.rb:8:16:8:20 | value | case.rb:9:8:9:12 | value | | -| case.rb:9:3:17:5 | case ... | case.rb:8:1:18:3 | exit case_match (normal) | | +| case.rb:8:16:8:20 | value | case.rb:9:3:17:5 | ... | | +| case.rb:9:3:17:5 | ... | case.rb:9:3:17:5 | case ... | | +| case.rb:9:3:17:5 | After ... | case.rb:8:1:18:3 | Normal Exit | | +| case.rb:9:3:17:5 | After case ... | case.rb:9:3:17:5 | After ... | | +| case.rb:9:3:17:5 | case ... | case.rb:9:8:9:12 | value | | | case.rb:9:8:9:12 | value | case.rb:10:5:10:9 | in ... then ... | | +| case.rb:10:5:10:9 | After in ... then ... [match] | case.rb:11:10:11:15 | then ... | | +| case.rb:10:5:10:9 | After in ... then ... [no-match] | case.rb:11:5:11:15 | in ... then ... | | | case.rb:10:5:10:9 | in ... then ... | case.rb:10:8:10:8 | 0 | | -| case.rb:10:8:10:8 | 0 | case.rb:9:3:17:5 | case ... | match | -| case.rb:10:8:10:8 | 0 | case.rb:11:5:11:15 | in ... then ... | no-match | +| case.rb:10:8:10:8 | 0 | case.rb:10:8:10:8 | After 0 [match] | match | +| case.rb:10:8:10:8 | 0 | case.rb:10:8:10:8 | After 0 [no-match] | no-match | +| case.rb:10:8:10:8 | After 0 [match] | case.rb:10:5:10:9 | After in ... then ... [match] | match | +| case.rb:10:8:10:8 | After 0 [no-match] | case.rb:10:5:10:9 | After in ... then ... [no-match] | no-match | +| case.rb:11:5:11:15 | After in ... then ... [match] | case.rb:11:10:11:15 | then ... | | +| case.rb:11:5:11:15 | After in ... then ... [no-match] | case.rb:12:5:13:7 | in ... then ... | | | case.rb:11:5:11:15 | in ... then ... | case.rb:11:8:11:8 | 1 | | -| case.rb:11:8:11:8 | 1 | case.rb:11:15:11:15 | 3 | match | -| case.rb:11:8:11:8 | 1 | case.rb:12:5:13:7 | in ... then ... | no-match | -| case.rb:11:10:11:15 | then ... | case.rb:9:3:17:5 | case ... | | -| case.rb:11:15:11:15 | 3 | case.rb:11:10:11:15 | then ... | | +| case.rb:11:8:11:8 | 1 | case.rb:11:8:11:8 | After 1 [match] | match | +| case.rb:11:8:11:8 | 1 | case.rb:11:8:11:8 | After 1 [no-match] | no-match | +| case.rb:11:8:11:8 | After 1 [match] | case.rb:11:5:11:15 | After in ... then ... [match] | match | +| case.rb:11:8:11:8 | After 1 [no-match] | case.rb:11:5:11:15 | After in ... then ... [no-match] | no-match | +| case.rb:11:10:11:15 | After then ... | case.rb:9:3:17:5 | After case ... | | +| case.rb:11:10:11:15 | then ... | case.rb:11:15:11:15 | 3 | | +| case.rb:11:15:11:15 | 3 | case.rb:11:10:11:15 | After then ... | | +| case.rb:12:5:13:7 | After in ... then ... [match] | case.rb:12:9:13:7 | then ... | | +| case.rb:12:5:13:7 | After in ... then ... [no-match] | case.rb:14:5:14:25 | in ... then ... | | | case.rb:12:5:13:7 | in ... then ... | case.rb:12:8:12:8 | 2 | | -| case.rb:12:8:12:8 | 2 | case.rb:13:7:13:7 | 4 | match | -| case.rb:12:8:12:8 | 2 | case.rb:14:5:14:25 | in ... then ... | no-match | -| case.rb:12:9:13:7 | then ... | case.rb:9:3:17:5 | case ... | | -| case.rb:13:7:13:7 | 4 | case.rb:12:9:13:7 | then ... | | +| case.rb:12:8:12:8 | 2 | case.rb:12:8:12:8 | After 2 [match] | match | +| case.rb:12:8:12:8 | 2 | case.rb:12:8:12:8 | After 2 [no-match] | no-match | +| case.rb:12:8:12:8 | After 2 [match] | case.rb:12:5:13:7 | After in ... then ... [match] | match | +| case.rb:12:8:12:8 | After 2 [no-match] | case.rb:12:5:13:7 | After in ... then ... [no-match] | no-match | +| case.rb:12:9:13:7 | After then ... | case.rb:9:3:17:5 | After case ... | | +| case.rb:12:9:13:7 | then ... | case.rb:13:7:13:7 | 4 | | +| case.rb:13:7:13:7 | 4 | case.rb:12:9:13:7 | After then ... | | +| case.rb:14:5:14:25 | After in ... then ... [match] | case.rb:14:13:14:18 | Before ... == ... | | +| case.rb:14:5:14:25 | After in ... then ... [no-match] | case.rb:15:5:15:28 | in ... then ... | | | case.rb:14:5:14:25 | in ... then ... | case.rb:14:8:14:8 | x | | -| case.rb:14:8:14:8 | x | case.rb:14:13:14:13 | x | match | +| case.rb:14:8:14:8 | After x [match] | case.rb:14:5:14:25 | After in ... then ... [match] | match | +| case.rb:14:8:14:8 | After x [no-match] | case.rb:14:5:14:25 | After in ... then ... [no-match] | no-match | +| case.rb:14:8:14:8 | x | case.rb:14:8:14:8 | After x [match] | match | +| case.rb:14:8:14:8 | x | case.rb:14:8:14:8 | After x [no-match] | no-match | | case.rb:14:13:14:13 | x | case.rb:14:18:14:18 | 5 | | -| case.rb:14:13:14:18 | ... == ... | case.rb:14:25:14:25 | 6 | true | -| case.rb:14:13:14:18 | ... == ... | case.rb:15:5:15:28 | in ... then ... | false | +| case.rb:14:13:14:18 | ... == ... | case.rb:14:13:14:18 | After ... == ... [false] | false | +| case.rb:14:13:14:18 | ... == ... | case.rb:14:13:14:18 | After ... == ... [true] | true | +| case.rb:14:13:14:18 | After ... == ... [false] | case.rb:15:5:15:28 | in ... then ... | | +| case.rb:14:13:14:18 | After ... == ... [true] | case.rb:14:20:14:25 | then ... | | +| case.rb:14:13:14:18 | Before ... == ... | case.rb:14:13:14:13 | x | | | case.rb:14:18:14:18 | 5 | case.rb:14:13:14:18 | ... == ... | | -| case.rb:14:20:14:25 | then ... | case.rb:9:3:17:5 | case ... | | -| case.rb:14:25:14:25 | 6 | case.rb:14:20:14:25 | then ... | | +| case.rb:14:20:14:25 | After then ... | case.rb:9:3:17:5 | After case ... | | +| case.rb:14:20:14:25 | then ... | case.rb:14:25:14:25 | 6 | | +| case.rb:14:25:14:25 | 6 | case.rb:14:20:14:25 | After then ... | | +| case.rb:15:5:15:28 | After in ... then ... [match] | case.rb:15:17:15:21 | Before ... < ... | | +| case.rb:15:5:15:28 | After in ... then ... [no-match] | case.rb:16:5:16:10 | else ... | | | case.rb:15:5:15:28 | in ... then ... | case.rb:15:8:15:8 | x | | -| case.rb:15:8:15:8 | x | case.rb:15:17:15:17 | x | match | +| case.rb:15:8:15:8 | After x [match] | case.rb:15:5:15:28 | After in ... then ... [match] | match | +| case.rb:15:8:15:8 | After x [no-match] | case.rb:15:5:15:28 | After in ... then ... [no-match] | no-match | +| case.rb:15:8:15:8 | x | case.rb:15:8:15:8 | After x [match] | match | +| case.rb:15:8:15:8 | x | case.rb:15:8:15:8 | After x [no-match] | no-match | | case.rb:15:17:15:17 | x | case.rb:15:21:15:21 | 0 | | -| case.rb:15:17:15:21 | ... < ... | case.rb:15:28:15:28 | 7 | false | -| case.rb:15:17:15:21 | ... < ... | case.rb:16:10:16:10 | 8 | true | +| case.rb:15:17:15:21 | ... < ... | case.rb:15:17:15:21 | After ... < ... [false] | false | +| case.rb:15:17:15:21 | ... < ... | case.rb:15:17:15:21 | After ... < ... [true] | true | +| case.rb:15:17:15:21 | After ... < ... [false] | case.rb:16:5:16:10 | else ... | | +| case.rb:15:17:15:21 | After ... < ... [true] | case.rb:15:23:15:28 | then ... | | +| case.rb:15:17:15:21 | Before ... < ... | case.rb:15:17:15:17 | x | | | case.rb:15:21:15:21 | 0 | case.rb:15:17:15:21 | ... < ... | | -| case.rb:15:23:15:28 | then ... | case.rb:9:3:17:5 | case ... | | -| case.rb:15:28:15:28 | 7 | case.rb:15:23:15:28 | then ... | | -| case.rb:16:5:16:10 | else ... | case.rb:9:3:17:5 | case ... | | -| case.rb:16:10:16:10 | 8 | case.rb:16:5:16:10 | else ... | | +| case.rb:15:23:15:28 | After then ... | case.rb:9:3:17:5 | After case ... | | +| case.rb:15:23:15:28 | then ... | case.rb:15:28:15:28 | 7 | | +| case.rb:15:28:15:28 | 7 | case.rb:15:23:15:28 | After then ... | | +| case.rb:16:5:16:10 | After else ... | case.rb:9:3:17:5 | After case ... | | +| case.rb:16:5:16:10 | After else ... [match] | case.rb:16:5:16:10 | else ... | | +| case.rb:16:5:16:10 | else ... | case.rb:16:5:16:10 | After else ... [match] | match | +| case.rb:16:5:16:10 | else ... | case.rb:16:10:16:10 | 8 | | +| case.rb:16:10:16:10 | 8 | case.rb:16:5:16:10 | After else ... | | +| case.rb:20:1:24:3 | Entry | case.rb:20:25:20:29 | value | | +| case.rb:20:1:24:3 | Normal Exit | case.rb:20:1:24:3 | Exit | | | case.rb:20:1:24:3 | case_match_no_match | case.rb:26:1:30:3 | case_match_raise | | -| case.rb:20:1:24:3 | enter case_match_no_match | case.rb:20:25:20:29 | value | | -| case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | case.rb:20:1:24:3 | exit case_match_no_match | | -| case.rb:20:1:24:3 | exit case_match_no_match (normal) | case.rb:20:1:24:3 | exit case_match_no_match | | -| case.rb:20:25:20:29 | value | case.rb:21:8:21:12 | value | | -| case.rb:21:3:23:5 | case ... | case.rb:20:1:24:3 | exit case_match_no_match (normal) | | +| case.rb:20:25:20:29 | value | case.rb:21:3:23:5 | ... | | +| case.rb:21:3:23:5 | ... | case.rb:21:3:23:5 | case ... | | +| case.rb:21:3:23:5 | After ... | case.rb:20:1:24:3 | Normal Exit | | +| case.rb:21:3:23:5 | After case ... | case.rb:21:3:23:5 | After ... | | +| case.rb:21:3:23:5 | case ... | case.rb:21:8:21:12 | value | | | case.rb:21:8:21:12 | value | case.rb:22:5:22:8 | in ... then ... | | +| case.rb:22:5:22:8 | After in ... then ... [match] | case.rb:21:3:23:5 | After case ... | | +| case.rb:22:5:22:8 | After in ... then ... [no-match] | case.rb:21:3:23:5 | After case ... | | | case.rb:22:5:22:8 | in ... then ... | case.rb:22:8:22:8 | 1 | | -| case.rb:22:8:22:8 | 1 | case.rb:20:1:24:3 | exit case_match_no_match (abnormal) | exception | -| case.rb:22:8:22:8 | 1 | case.rb:21:3:23:5 | case ... | match | +| case.rb:22:8:22:8 | 1 | case.rb:22:8:22:8 | After 1 [match] | match | +| case.rb:22:8:22:8 | 1 | case.rb:22:8:22:8 | After 1 [no-match] | no-match | +| case.rb:22:8:22:8 | After 1 [match] | case.rb:22:5:22:8 | After in ... then ... [match] | match | +| case.rb:22:8:22:8 | After 1 [no-match] | case.rb:22:5:22:8 | After in ... then ... [no-match] | no-match | +| case.rb:26:1:30:3 | Entry | case.rb:26:22:26:26 | value | | +| case.rb:26:1:30:3 | Normal Exit | case.rb:26:1:30:3 | Exit | | | case.rb:26:1:30:3 | case_match_raise | case.rb:32:1:39:3 | case_match_array | | -| case.rb:26:1:30:3 | enter case_match_raise | case.rb:26:22:26:26 | value | | -| case.rb:26:1:30:3 | exit case_match_raise (abnormal) | case.rb:26:1:30:3 | exit case_match_raise | | -| case.rb:26:1:30:3 | exit case_match_raise (normal) | case.rb:26:1:30:3 | exit case_match_raise | | -| case.rb:26:22:26:26 | value | case.rb:27:8:27:12 | value | | -| case.rb:27:3:29:5 | case ... | case.rb:26:1:30:3 | exit case_match_raise (normal) | | +| case.rb:26:22:26:26 | value | case.rb:27:3:29:5 | ... | | +| case.rb:27:3:29:5 | ... | case.rb:27:3:29:5 | case ... | | +| case.rb:27:3:29:5 | After ... | case.rb:26:1:30:3 | Normal Exit | | +| case.rb:27:3:29:5 | After case ... | case.rb:27:3:29:5 | After ... | | +| case.rb:27:3:29:5 | case ... | case.rb:27:8:27:12 | value | | | case.rb:27:8:27:12 | value | case.rb:28:4:28:28 | in ... then ... | | +| case.rb:28:4:28:28 | After in ... then ... [match] | case.rb:27:3:29:5 | After case ... | | +| case.rb:28:4:28:28 | After in ... then ... [no-match] | case.rb:27:3:29:5 | After case ... | | | case.rb:28:4:28:28 | in ... then ... | case.rb:28:7:28:28 | -> { ... } | | -| case.rb:28:7:28:28 | -> { ... } | case.rb:26:1:30:3 | exit case_match_raise (abnormal) | exception | -| case.rb:28:7:28:28 | -> { ... } | case.rb:27:3:29:5 | case ... | match | -| case.rb:28:7:28:28 | enter -> { ... } | case.rb:28:10:28:10 | x | | -| case.rb:28:7:28:28 | exit -> { ... } (abnormal) | case.rb:28:7:28:28 | exit -> { ... } | | -| case.rb:28:10:28:10 | x | case.rb:28:14:28:25 | self | | -| case.rb:28:14:28:25 | call to raise | case.rb:28:7:28:28 | exit -> { ... } (abnormal) | exception | -| case.rb:28:14:28:25 | self | case.rb:28:21:28:24 | oops | | -| case.rb:28:20:28:25 | "oops" | case.rb:28:14:28:25 | call to raise | | +| case.rb:28:7:28:28 | -> { ... } | case.rb:28:7:28:28 | After -> { ... } [match] | match | +| case.rb:28:7:28:28 | -> { ... } | case.rb:28:7:28:28 | After -> { ... } [no-match] | no-match | +| case.rb:28:7:28:28 | After -> { ... } [match] | case.rb:28:4:28:28 | After in ... then ... [match] | match | +| case.rb:28:7:28:28 | After -> { ... } [no-match] | case.rb:28:4:28:28 | After in ... then ... [no-match] | no-match | +| case.rb:28:7:28:28 | Entry | case.rb:28:10:28:10 | x | | +| case.rb:28:7:28:28 | Exceptional Exit | case.rb:28:7:28:28 | Exit | | +| case.rb:28:10:28:10 | x | case.rb:28:14:28:25 | ... | | +| case.rb:28:14:28:25 | ... | case.rb:28:14:28:25 | Before call to raise | | +| case.rb:28:14:28:25 | Before call to raise | case.rb:28:14:28:25 | self | | +| case.rb:28:14:28:25 | call to raise | case.rb:28:7:28:28 | Exceptional Exit | exception | +| case.rb:28:14:28:25 | self | case.rb:28:20:28:25 | Before "oops" | | +| case.rb:28:20:28:25 | "oops" | case.rb:28:20:28:25 | After "oops" | | +| case.rb:28:20:28:25 | After "oops" | case.rb:28:14:28:25 | call to raise | | +| case.rb:28:20:28:25 | Before "oops" | case.rb:28:21:28:24 | oops | | | case.rb:28:21:28:24 | oops | case.rb:28:20:28:25 | "oops" | | +| case.rb:32:1:39:3 | Entry | case.rb:32:22:32:26 | value | | +| case.rb:32:1:39:3 | Normal Exit | case.rb:32:1:39:3 | Exit | | | case.rb:32:1:39:3 | case_match_array | case.rb:41:1:45:3 | case_match_find | | -| case.rb:32:1:39:3 | enter case_match_array | case.rb:32:22:32:26 | value | | -| case.rb:32:1:39:3 | exit case_match_array (abnormal) | case.rb:32:1:39:3 | exit case_match_array | | -| case.rb:32:1:39:3 | exit case_match_array (normal) | case.rb:32:1:39:3 | exit case_match_array | | -| case.rb:32:22:32:26 | value | case.rb:33:8:33:12 | value | | -| case.rb:33:3:38:5 | case ... | case.rb:32:1:39:3 | exit case_match_array (normal) | | +| case.rb:32:22:32:26 | value | case.rb:33:3:38:5 | ... | | +| case.rb:33:3:38:5 | ... | case.rb:33:3:38:5 | case ... | | +| case.rb:33:3:38:5 | After ... | case.rb:32:1:39:3 | Normal Exit | | +| case.rb:33:3:38:5 | After case ... | case.rb:33:3:38:5 | After ... | | +| case.rb:33:3:38:5 | case ... | case.rb:33:8:33:12 | value | | | case.rb:33:8:33:12 | value | case.rb:34:5:34:10 | in ... then ... | | +| case.rb:34:5:34:10 | After in ... then ... [match] | case.rb:33:3:38:5 | After case ... | | +| case.rb:34:5:34:10 | After in ... then ... [no-match] | case.rb:35:5:35:11 | in ... then ... | | | case.rb:34:5:34:10 | in ... then ... | case.rb:34:8:34:9 | [ ..., * ] | | -| case.rb:34:8:34:9 | [ ..., * ] | case.rb:33:3:38:5 | case ... | match | -| case.rb:34:8:34:9 | [ ..., * ] | case.rb:35:5:35:11 | in ... then ... | no-match | +| case.rb:34:8:34:9 | After [ ..., * ] [match] | case.rb:34:5:34:10 | After in ... then ... [match] | match | +| case.rb:34:8:34:9 | After [ ..., * ] [no-match] | case.rb:34:5:34:10 | After in ... then ... [no-match] | no-match | +| case.rb:34:8:34:9 | [ ..., * ] | case.rb:34:8:34:9 | After [ ..., * ] [match] | match | +| case.rb:34:8:34:9 | [ ..., * ] | case.rb:34:8:34:9 | After [ ..., * ] [no-match] | no-match | +| case.rb:35:5:35:11 | After in ... then ... [match] | case.rb:33:3:38:5 | After case ... | | +| case.rb:35:5:35:11 | After in ... then ... [no-match] | case.rb:36:5:36:13 | in ... then ... | | | case.rb:35:5:35:11 | in ... then ... | case.rb:35:8:35:10 | [ ..., * ] | | -| case.rb:35:8:35:10 | [ ..., * ] | case.rb:35:9:35:9 | x | false, match, true | -| case.rb:35:8:35:10 | [ ..., * ] | case.rb:36:5:36:13 | in ... then ... | no-match | -| case.rb:35:9:35:9 | x | case.rb:33:3:38:5 | case ... | match | +| case.rb:35:8:35:10 | After [ ..., * ] [match] | case.rb:35:5:35:11 | After in ... then ... [match] | match | +| case.rb:35:8:35:10 | After [ ..., * ] [no-match] | case.rb:35:5:35:11 | After in ... then ... [no-match] | no-match | +| case.rb:35:8:35:10 | [ ..., * ] | case.rb:35:9:35:9 | x | | +| case.rb:35:9:35:9 | x | case.rb:35:8:35:10 | After [ ..., * ] [match] | match | +| case.rb:35:9:35:9 | x | case.rb:35:8:35:10 | After [ ..., * ] [no-match] | no-match | +| case.rb:36:5:36:13 | After in ... then ... [match] | case.rb:33:3:38:5 | After case ... | | +| case.rb:36:5:36:13 | After in ... then ... [no-match] | case.rb:37:5:37:27 | in ... then ... | | | case.rb:36:5:36:13 | in ... then ... | case.rb:36:8:36:12 | [ ..., * ] | | -| case.rb:36:8:36:12 | [ ..., * ] | case.rb:36:9:36:9 | x | false, match, true | -| case.rb:36:8:36:12 | [ ..., * ] | case.rb:37:5:37:27 | in ... then ... | no-match | -| case.rb:36:9:36:9 | x | case.rb:33:3:38:5 | case ... | match | -| case.rb:37:5:37:27 | in ... then ... | case.rb:37:8:37:10 | Bar | | -| case.rb:37:8:37:10 | Bar | case.rb:32:1:39:3 | exit case_match_array (abnormal) | exception | -| case.rb:37:8:37:10 | Bar | case.rb:37:8:37:26 | [ ..., * ] | match | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:32:1:39:3 | exit case_match_array (abnormal) | exception | -| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:12:37:12 | a | false, match, true | -| case.rb:37:12:37:12 | a | case.rb:37:15:37:15 | b | match | -| case.rb:37:15:37:15 | b | case.rb:37:19:37:19 | c | match | +| case.rb:36:8:36:12 | After [ ..., * ] [match] | case.rb:36:5:36:13 | After in ... then ... [match] | match | +| case.rb:36:8:36:12 | After [ ..., * ] [no-match] | case.rb:36:5:36:13 | After in ... then ... [no-match] | no-match | +| case.rb:36:8:36:12 | [ ..., * ] | case.rb:36:9:36:9 | x | | +| case.rb:36:9:36:9 | x | case.rb:36:8:36:12 | After [ ..., * ] [match] | match | +| case.rb:36:9:36:9 | x | case.rb:36:8:36:12 | After [ ..., * ] [no-match] | no-match | +| case.rb:37:5:37:27 | After in ... then ... [match] | case.rb:33:3:38:5 | After case ... | | +| case.rb:37:5:37:27 | After in ... then ... [no-match] | case.rb:33:3:38:5 | After case ... | | +| case.rb:37:5:37:27 | in ... then ... | case.rb:37:8:37:26 | [ ..., * ] | | +| case.rb:37:8:37:10 | Bar | case.rb:37:12:37:12 | a | | +| case.rb:37:8:37:26 | After [ ..., * ] [match] | case.rb:37:5:37:27 | After in ... then ... [match] | match | +| case.rb:37:8:37:26 | After [ ..., * ] [no-match] | case.rb:37:5:37:27 | After in ... then ... [no-match] | no-match | +| case.rb:37:8:37:26 | [ ..., * ] | case.rb:37:8:37:10 | Bar | | +| case.rb:37:12:37:12 | a | case.rb:37:15:37:15 | b | | +| case.rb:37:15:37:15 | b | case.rb:37:19:37:19 | c | | | case.rb:37:19:37:19 | c | case.rb:37:22:37:22 | d | | -| case.rb:37:22:37:22 | d | case.rb:37:25:37:25 | e | match | -| case.rb:37:25:37:25 | e | case.rb:33:3:38:5 | case ... | match | +| case.rb:37:22:37:22 | d | case.rb:37:25:37:25 | e | | +| case.rb:37:25:37:25 | e | case.rb:37:8:37:26 | After [ ..., * ] [match] | match | +| case.rb:37:25:37:25 | e | case.rb:37:8:37:26 | After [ ..., * ] [no-match] | no-match | +| case.rb:41:1:45:3 | Entry | case.rb:41:21:41:25 | value | | +| case.rb:41:1:45:3 | Normal Exit | case.rb:41:1:45:3 | Exit | | | case.rb:41:1:45:3 | case_match_find | case.rb:47:1:53:3 | case_match_hash | | -| case.rb:41:1:45:3 | enter case_match_find | case.rb:41:21:41:25 | value | | -| case.rb:41:1:45:3 | exit case_match_find (abnormal) | case.rb:41:1:45:3 | exit case_match_find | | -| case.rb:41:1:45:3 | exit case_match_find (normal) | case.rb:41:1:45:3 | exit case_match_find | | -| case.rb:41:21:41:25 | value | case.rb:42:8:42:12 | value | | -| case.rb:42:3:44:5 | case ... | case.rb:41:1:45:3 | exit case_match_find (normal) | | +| case.rb:41:21:41:25 | value | case.rb:42:3:44:5 | ... | | +| case.rb:42:3:44:5 | ... | case.rb:42:3:44:5 | case ... | | +| case.rb:42:3:44:5 | After ... | case.rb:41:1:45:3 | Normal Exit | | +| case.rb:42:3:44:5 | After case ... | case.rb:42:3:44:5 | After ... | | +| case.rb:42:3:44:5 | case ... | case.rb:42:8:42:12 | value | | | case.rb:42:8:42:12 | value | case.rb:43:5:43:22 | in ... then ... | | +| case.rb:43:5:43:22 | After in ... then ... [match] | case.rb:42:3:44:5 | After case ... | | +| case.rb:43:5:43:22 | After in ... then ... [no-match] | case.rb:42:3:44:5 | After case ... | | | case.rb:43:5:43:22 | in ... then ... | case.rb:43:8:43:21 | [ *,...,* ] | | -| case.rb:43:8:43:21 | [ *,...,* ] | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:43:8:43:21 | [ *,...,* ] | case.rb:43:10:43:10 | x | false, match, true | +| case.rb:43:8:43:21 | After [ *,...,* ] [match] | case.rb:43:5:43:22 | After in ... then ... [match] | match | +| case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | case.rb:43:5:43:22 | After in ... then ... [no-match] | no-match | +| case.rb:43:8:43:21 | [ *,...,* ] | case.rb:43:10:43:10 | x | | | case.rb:43:10:43:10 | x | case.rb:43:13:43:13 | 1 | | -| case.rb:43:13:43:13 | 1 | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:43:13:43:13 | 1 | case.rb:43:16:43:16 | 2 | match | -| case.rb:43:16:43:16 | 2 | case.rb:41:1:45:3 | exit case_match_find (abnormal) | exception | -| case.rb:43:16:43:16 | 2 | case.rb:43:20:43:20 | y | match | -| case.rb:43:20:43:20 | y | case.rb:42:3:44:5 | case ... | | +| case.rb:43:13:43:13 | 1 | case.rb:43:16:43:16 | 2 | | +| case.rb:43:16:43:16 | 2 | case.rb:43:20:43:20 | y | | +| case.rb:43:20:43:20 | y | case.rb:43:8:43:21 | After [ *,...,* ] [match] | match | +| case.rb:43:20:43:20 | y | case.rb:43:8:43:21 | After [ *,...,* ] [no-match] | no-match | +| case.rb:47:1:53:3 | Entry | case.rb:47:21:47:25 | value | | +| case.rb:47:1:53:3 | Normal Exit | case.rb:47:1:53:3 | Exit | | | case.rb:47:1:53:3 | case_match_hash | case.rb:55:1:61:3 | case_match_variable | | -| case.rb:47:1:53:3 | enter case_match_hash | case.rb:47:21:47:25 | value | | -| case.rb:47:1:53:3 | exit case_match_hash (abnormal) | case.rb:47:1:53:3 | exit case_match_hash | | -| case.rb:47:1:53:3 | exit case_match_hash (normal) | case.rb:47:1:53:3 | exit case_match_hash | | -| case.rb:47:21:47:25 | value | case.rb:48:8:48:12 | value | | -| case.rb:48:3:52:5 | case ... | case.rb:47:1:53:3 | exit case_match_hash (normal) | | +| case.rb:47:21:47:25 | value | case.rb:48:3:52:5 | ... | | +| case.rb:48:3:52:5 | ... | case.rb:48:3:52:5 | case ... | | +| case.rb:48:3:52:5 | After ... | case.rb:47:1:53:3 | Normal Exit | | +| case.rb:48:3:52:5 | After case ... | case.rb:48:3:52:5 | After ... | | +| case.rb:48:3:52:5 | case ... | case.rb:48:8:48:12 | value | | | case.rb:48:8:48:12 | value | case.rb:49:5:49:35 | in ... then ... | | -| case.rb:49:5:49:35 | in ... then ... | case.rb:49:8:49:10 | Foo | | +| case.rb:49:5:49:35 | After in ... then ... [match] | case.rb:48:3:52:5 | After case ... | | +| case.rb:49:5:49:35 | After in ... then ... [no-match] | case.rb:50:5:50:25 | in ... then ... | | +| case.rb:49:5:49:35 | in ... then ... | case.rb:49:8:49:34 | { ..., ** } | | | case.rb:49:8:49:10 | Foo | case.rb:49:8:49:15 | Bar | | -| case.rb:49:8:49:15 | Bar | case.rb:49:8:49:34 | { ..., ** } | match | -| case.rb:49:8:49:15 | Bar | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:20:49:20 | 1 | false, match, true | -| case.rb:49:8:49:34 | { ..., ** } | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:20:49:20 | 1 | case.rb:49:23:49:23 | a | match | -| case.rb:49:20:49:20 | 1 | case.rb:50:5:50:25 | in ... then ... | no-match | -| case.rb:49:23:49:23 | a | case.rb:49:29:49:32 | rest | match | -| case.rb:49:29:49:32 | rest | case.rb:48:3:52:5 | case ... | | -| case.rb:50:5:50:25 | in ... then ... | case.rb:50:8:50:10 | Bar | | -| case.rb:50:8:50:10 | Bar | case.rb:50:8:50:24 | { ..., ** } | match | -| case.rb:50:8:50:10 | Bar | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:16:50:16 | 1 | false, match, true | -| case.rb:50:8:50:24 | { ..., ** } | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:50:16:50:16 | 1 | case.rb:48:3:52:5 | case ... | match | -| case.rb:50:16:50:16 | 1 | case.rb:51:5:51:17 | in ... then ... | no-match | -| case.rb:51:5:51:17 | in ... then ... | case.rb:51:8:51:10 | Bar | | -| case.rb:51:8:51:10 | Bar | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | exception | -| case.rb:51:8:51:10 | Bar | case.rb:51:8:51:16 | { ..., ** } | match | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:47:1:53:3 | exit case_match_hash (abnormal) | exception | -| case.rb:51:8:51:16 | { ..., ** } | case.rb:48:3:52:5 | case ... | false, match, true | +| case.rb:49:8:49:15 | After Bar | case.rb:49:18:49:18 | Before :x | | +| case.rb:49:8:49:15 | Bar | case.rb:49:8:49:15 | After Bar | | +| case.rb:49:8:49:15 | Before Bar | case.rb:49:8:49:10 | Foo | | +| case.rb:49:8:49:34 | After { ..., ** } [match] | case.rb:49:5:49:35 | After in ... then ... [match] | match | +| case.rb:49:8:49:34 | After { ..., ** } [no-match] | case.rb:49:5:49:35 | After in ... then ... [no-match] | no-match | +| case.rb:49:8:49:34 | { ..., ** } | case.rb:49:8:49:15 | Before Bar | | +| case.rb:49:18:49:18 | :x | case.rb:49:18:49:18 | After :x | | +| case.rb:49:18:49:18 | After :x | case.rb:49:20:49:20 | 1 | | +| case.rb:49:18:49:18 | Before :x | case.rb:49:18:49:18 | x | | +| case.rb:49:18:49:18 | x | case.rb:49:18:49:18 | :x | | +| case.rb:49:20:49:20 | 1 | case.rb:49:23:49:23 | Before :a | | +| case.rb:49:23:49:23 | :a | case.rb:49:23:49:23 | After :a | | +| case.rb:49:23:49:23 | After :a | case.rb:49:23:49:23 | a | | +| case.rb:49:23:49:23 | Before :a | case.rb:49:23:49:23 | a | | +| case.rb:49:23:49:23 | a | case.rb:49:23:49:23 | :a | | +| case.rb:49:23:49:23 | a | case.rb:49:29:49:32 | rest | | +| case.rb:49:29:49:32 | rest | case.rb:49:8:49:34 | After { ..., ** } [match] | match | +| case.rb:49:29:49:32 | rest | case.rb:49:8:49:34 | After { ..., ** } [no-match] | no-match | +| case.rb:50:5:50:25 | After in ... then ... [match] | case.rb:48:3:52:5 | After case ... | | +| case.rb:50:5:50:25 | After in ... then ... [no-match] | case.rb:51:5:51:17 | in ... then ... | | +| case.rb:50:5:50:25 | in ... then ... | case.rb:50:8:50:24 | { ..., ** } | | +| case.rb:50:8:50:10 | Bar | case.rb:50:13:50:13 | Before :a | | +| case.rb:50:8:50:24 | After { ..., ** } [match] | case.rb:50:5:50:25 | After in ... then ... [match] | match | +| case.rb:50:8:50:24 | After { ..., ** } [no-match] | case.rb:50:5:50:25 | After in ... then ... [no-match] | no-match | +| case.rb:50:8:50:24 | { ..., ** } | case.rb:50:8:50:10 | Bar | | +| case.rb:50:13:50:13 | :a | case.rb:50:13:50:13 | After :a | | +| case.rb:50:13:50:13 | After :a | case.rb:50:16:50:16 | 1 | | +| case.rb:50:13:50:13 | Before :a | case.rb:50:13:50:13 | a | | +| case.rb:50:13:50:13 | a | case.rb:50:13:50:13 | :a | | +| case.rb:50:16:50:16 | 1 | case.rb:50:8:50:24 | After { ..., ** } [match] | match | +| case.rb:50:16:50:16 | 1 | case.rb:50:8:50:24 | After { ..., ** } [no-match] | no-match | +| case.rb:51:5:51:17 | After in ... then ... [match] | case.rb:48:3:52:5 | After case ... | | +| case.rb:51:5:51:17 | After in ... then ... [no-match] | case.rb:48:3:52:5 | After case ... | | +| case.rb:51:5:51:17 | in ... then ... | case.rb:51:8:51:16 | { ..., ** } | | +| case.rb:51:8:51:10 | Bar | case.rb:51:8:51:16 | After { ..., ** } [match] | match | +| case.rb:51:8:51:10 | Bar | case.rb:51:8:51:16 | After { ..., ** } [no-match] | no-match | +| case.rb:51:8:51:16 | After { ..., ** } [match] | case.rb:51:5:51:17 | After in ... then ... [match] | match | +| case.rb:51:8:51:16 | After { ..., ** } [no-match] | case.rb:51:5:51:17 | After in ... then ... [no-match] | no-match | +| case.rb:51:8:51:16 | { ..., ** } | case.rb:51:8:51:10 | Bar | | +| case.rb:55:1:61:3 | Entry | case.rb:55:25:55:29 | value | | +| case.rb:55:1:61:3 | Normal Exit | case.rb:55:1:61:3 | Exit | | | case.rb:55:1:61:3 | case_match_variable | case.rb:63:1:67:3 | case_match_underscore | | -| case.rb:55:1:61:3 | enter case_match_variable | case.rb:55:25:55:29 | value | | -| case.rb:55:1:61:3 | exit case_match_variable (normal) | case.rb:55:1:61:3 | exit case_match_variable | | -| case.rb:55:25:55:29 | value | case.rb:56:8:56:12 | value | | -| case.rb:56:3:60:5 | case ... | case.rb:55:1:61:3 | exit case_match_variable (normal) | | +| case.rb:55:25:55:29 | value | case.rb:56:3:60:5 | ... | | +| case.rb:56:3:60:5 | ... | case.rb:56:3:60:5 | case ... | | +| case.rb:56:3:60:5 | After ... | case.rb:55:1:61:3 | Normal Exit | | +| case.rb:56:3:60:5 | After case ... | case.rb:56:3:60:5 | After ... | | +| case.rb:56:3:60:5 | case ... | case.rb:56:8:56:12 | value | | | case.rb:56:8:56:12 | value | case.rb:57:5:57:8 | in ... then ... | | +| case.rb:57:5:57:8 | After in ... then ... [match] | case.rb:56:3:60:5 | After case ... | | +| case.rb:57:5:57:8 | After in ... then ... [no-match] | case.rb:58:5:58:10 | in ... then ... | | | case.rb:57:5:57:8 | in ... then ... | case.rb:57:8:57:8 | 5 | | -| case.rb:57:8:57:8 | 5 | case.rb:56:3:60:5 | case ... | match | -| case.rb:57:8:57:8 | 5 | case.rb:58:5:58:10 | in ... then ... | no-match | +| case.rb:57:8:57:8 | 5 | case.rb:57:8:57:8 | After 5 [match] | match | +| case.rb:57:8:57:8 | 5 | case.rb:57:8:57:8 | After 5 [no-match] | no-match | +| case.rb:57:8:57:8 | After 5 [match] | case.rb:57:5:57:8 | After in ... then ... [match] | match | +| case.rb:57:8:57:8 | After 5 [no-match] | case.rb:57:5:57:8 | After in ... then ... [no-match] | no-match | +| case.rb:58:5:58:10 | After in ... then ... [match] | case.rb:56:3:60:5 | After case ... | | +| case.rb:58:5:58:10 | After in ... then ... [no-match] | case.rb:59:5:59:20 | in ... then ... | | | case.rb:58:5:58:10 | in ... then ... | case.rb:58:8:58:10 | var | | -| case.rb:58:8:58:10 | var | case.rb:56:3:60:5 | case ... | match | +| case.rb:58:8:58:10 | After var [match] | case.rb:58:5:58:10 | After in ... then ... [match] | match | +| case.rb:58:8:58:10 | After var [no-match] | case.rb:58:5:58:10 | After in ... then ... [no-match] | no-match | +| case.rb:58:8:58:10 | var | case.rb:58:8:58:10 | After var [match] | match | +| case.rb:58:8:58:10 | var | case.rb:58:8:58:10 | After var [no-match] | no-match | +| case.rb:59:5:59:20 | After in ... then ... [match] | case.rb:56:3:60:5 | After case ... | | +| case.rb:59:5:59:20 | After in ... then ... [no-match] | case.rb:56:3:60:5 | After case ... | | +| case.rb:59:5:59:20 | in ... then ... | case.rb:59:8:59:20 | Before "unreachable" | | +| case.rb:59:8:59:20 | "unreachable" | case.rb:59:8:59:20 | After "unreachable" [match] | match | +| case.rb:59:8:59:20 | "unreachable" | case.rb:59:8:59:20 | After "unreachable" [no-match] | no-match | +| case.rb:59:8:59:20 | After "unreachable" [match] | case.rb:59:5:59:20 | After in ... then ... [match] | match | +| case.rb:59:8:59:20 | After "unreachable" [no-match] | case.rb:59:5:59:20 | After in ... then ... [no-match] | no-match | +| case.rb:59:8:59:20 | Before "unreachable" | case.rb:59:9:59:19 | unreachable | | +| case.rb:59:9:59:19 | unreachable | case.rb:59:8:59:20 | "unreachable" | | +| case.rb:63:1:67:3 | Entry | case.rb:63:27:63:31 | value | | +| case.rb:63:1:67:3 | Normal Exit | case.rb:63:1:67:3 | Exit | | | case.rb:63:1:67:3 | case_match_underscore | case.rb:69:1:93:3 | case_match_various | | -| case.rb:63:1:67:3 | enter case_match_underscore | case.rb:63:27:63:31 | value | | -| case.rb:63:1:67:3 | exit case_match_underscore (normal) | case.rb:63:1:67:3 | exit case_match_underscore | | -| case.rb:63:27:63:31 | value | case.rb:64:8:64:12 | value | | -| case.rb:64:3:66:5 | case ... | case.rb:63:1:67:3 | exit case_match_underscore (normal) | | +| case.rb:63:27:63:31 | value | case.rb:64:3:66:5 | ... | | +| case.rb:64:3:66:5 | ... | case.rb:64:3:66:5 | case ... | | +| case.rb:64:3:66:5 | After ... | case.rb:63:1:67:3 | Normal Exit | | +| case.rb:64:3:66:5 | After case ... | case.rb:64:3:66:5 | After ... | | +| case.rb:64:3:66:5 | case ... | case.rb:64:8:64:12 | value | | | case.rb:64:8:64:12 | value | case.rb:65:5:65:28 | in ... then ... | | +| case.rb:65:5:65:28 | After in ... then ... [match] | case.rb:64:3:66:5 | After case ... | | +| case.rb:65:5:65:28 | After in ... then ... [no-match] | case.rb:64:3:66:5 | After case ... | | | case.rb:65:5:65:28 | in ... then ... | case.rb:65:8:65:28 | ... \| ... | | -| case.rb:65:8:65:8 | 5 | case.rb:64:3:66:5 | case ... | match | -| case.rb:65:8:65:8 | 5 | case.rb:65:12:65:12 | _ | no-match | +| case.rb:65:8:65:8 | 5 | case.rb:65:12:65:12 | _ | | | case.rb:65:8:65:28 | ... \| ... | case.rb:65:8:65:8 | 5 | | -| case.rb:65:12:65:12 | _ | case.rb:64:3:66:5 | case ... | match | +| case.rb:65:8:65:28 | After ... \| ... [match] | case.rb:65:5:65:28 | After in ... then ... [match] | match | +| case.rb:65:8:65:28 | After ... \| ... [no-match] | case.rb:65:5:65:28 | After in ... then ... [no-match] | no-match | +| case.rb:65:12:65:12 | _ | case.rb:65:16:65:28 | Before "unreachable" | | +| case.rb:65:16:65:28 | "unreachable" | case.rb:65:16:65:28 | After "unreachable" | | +| case.rb:65:16:65:28 | After "unreachable" | case.rb:65:8:65:28 | After ... \| ... [match] | match | +| case.rb:65:16:65:28 | After "unreachable" | case.rb:65:8:65:28 | After ... \| ... [no-match] | no-match | +| case.rb:65:16:65:28 | Before "unreachable" | case.rb:65:17:65:27 | unreachable | | +| case.rb:65:17:65:27 | unreachable | case.rb:65:16:65:28 | "unreachable" | | +| case.rb:69:1:93:3 | Entry | case.rb:69:24:69:28 | value | | +| case.rb:69:1:93:3 | Normal Exit | case.rb:69:1:93:3 | Exit | | | case.rb:69:1:93:3 | case_match_various | case.rb:95:1:99:3 | case_match_guard_no_else | | -| case.rb:69:1:93:3 | enter case_match_various | case.rb:69:24:69:28 | value | | -| case.rb:69:1:93:3 | exit case_match_various (abnormal) | case.rb:69:1:93:3 | exit case_match_various | | -| case.rb:69:1:93:3 | exit case_match_various (normal) | case.rb:69:1:93:3 | exit case_match_various | | -| case.rb:69:24:69:28 | value | case.rb:70:3:70:5 | foo | | +| case.rb:69:24:69:28 | value | case.rb:70:3:92:5 | ... | | | case.rb:70:3:70:5 | foo | case.rb:70:9:70:10 | 42 | | -| case.rb:70:3:70:10 | ... = ... | case.rb:72:8:72:12 | value | | +| case.rb:70:3:70:10 | ... = ... | case.rb:70:3:70:10 | After ... = ... | | +| case.rb:70:3:70:10 | After ... = ... | case.rb:72:3:92:5 | case ... | | +| case.rb:70:3:70:10 | Before ... = ... | case.rb:70:3:70:5 | foo | | +| case.rb:70:3:92:5 | ... | case.rb:70:3:70:10 | Before ... = ... | | +| case.rb:70:3:92:5 | After ... | case.rb:69:1:93:3 | Normal Exit | | | case.rb:70:9:70:10 | 42 | case.rb:70:3:70:10 | ... = ... | | -| case.rb:72:3:92:5 | case ... | case.rb:69:1:93:3 | exit case_match_various (normal) | | +| case.rb:72:3:92:5 | After case ... | case.rb:70:3:92:5 | After ... | | +| case.rb:72:3:92:5 | case ... | case.rb:72:8:72:12 | value | | | case.rb:72:8:72:12 | value | case.rb:73:5:73:8 | in ... then ... | | +| case.rb:73:5:73:8 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:73:5:73:8 | After in ... then ... [no-match] | case.rb:74:5:74:11 | in ... then ... | | | case.rb:73:5:73:8 | in ... then ... | case.rb:73:8:73:8 | 5 | | -| case.rb:73:8:73:8 | 5 | case.rb:72:3:92:5 | case ... | match | -| case.rb:73:8:73:8 | 5 | case.rb:74:5:74:11 | in ... then ... | no-match | +| case.rb:73:8:73:8 | 5 | case.rb:73:8:73:8 | After 5 [match] | match | +| case.rb:73:8:73:8 | 5 | case.rb:73:8:73:8 | After 5 [no-match] | no-match | +| case.rb:73:8:73:8 | After 5 [match] | case.rb:73:5:73:8 | After in ... then ... [match] | match | +| case.rb:73:8:73:8 | After 5 [no-match] | case.rb:73:5:73:8 | After in ... then ... [no-match] | no-match | +| case.rb:74:5:74:11 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:74:5:74:11 | After in ... then ... [no-match] | case.rb:75:5:75:15 | in ... then ... | | | case.rb:74:5:74:11 | in ... then ... | case.rb:74:8:74:11 | ^... | | +| case.rb:74:8:74:11 | After ^... [match] | case.rb:74:5:74:11 | After in ... then ... [match] | match | +| case.rb:74:8:74:11 | After ^... [no-match] | case.rb:74:5:74:11 | After in ... then ... [no-match] | no-match | | case.rb:74:8:74:11 | ^... | case.rb:74:9:74:11 | foo | | -| case.rb:74:9:74:11 | foo | case.rb:72:3:92:5 | case ... | match | -| case.rb:74:9:74:11 | foo | case.rb:75:5:75:15 | in ... then ... | no-match | -| case.rb:75:5:75:15 | in ... then ... | case.rb:75:9:75:14 | string | | -| case.rb:75:8:75:15 | "string" | case.rb:72:3:92:5 | case ... | match | -| case.rb:75:8:75:15 | "string" | case.rb:76:5:76:18 | in ... then ... | no-match | +| case.rb:74:9:74:11 | foo | case.rb:74:8:74:11 | After ^... [match] | match | +| case.rb:74:9:74:11 | foo | case.rb:74:8:74:11 | After ^... [no-match] | no-match | +| case.rb:75:5:75:15 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:75:5:75:15 | After in ... then ... [no-match] | case.rb:76:5:76:18 | in ... then ... | | +| case.rb:75:5:75:15 | in ... then ... | case.rb:75:8:75:15 | Before "string" | | +| case.rb:75:8:75:15 | "string" | case.rb:75:8:75:15 | After "string" [match] | match | +| case.rb:75:8:75:15 | "string" | case.rb:75:8:75:15 | After "string" [no-match] | no-match | +| case.rb:75:8:75:15 | After "string" [match] | case.rb:75:5:75:15 | After in ... then ... [match] | match | +| case.rb:75:8:75:15 | After "string" [no-match] | case.rb:75:5:75:15 | After in ... then ... [no-match] | no-match | +| case.rb:75:8:75:15 | Before "string" | case.rb:75:9:75:14 | string | | | case.rb:75:9:75:14 | string | case.rb:75:8:75:15 | "string" | | -| case.rb:76:5:76:18 | in ... then ... | case.rb:76:8:76:18 | Array | | -| case.rb:76:8:76:18 | Array | case.rb:76:11:76:13 | foo | | -| case.rb:76:8:76:18 | call to [] | case.rb:72:3:92:5 | case ... | match | -| case.rb:76:8:76:18 | call to [] | case.rb:77:5:77:18 | in ... then ... | no-match | -| case.rb:76:11:76:13 | "foo" | case.rb:76:15:76:17 | bar | | +| case.rb:76:5:76:18 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:76:5:76:18 | After in ... then ... [no-match] | case.rb:77:5:77:18 | in ... then ... | | +| case.rb:76:5:76:18 | in ... then ... | case.rb:76:8:76:18 | Before call to [] | | +| case.rb:76:8:76:18 | After call to [] [match] | case.rb:76:5:76:18 | After in ... then ... [match] | match | +| case.rb:76:8:76:18 | After call to [] [no-match] | case.rb:76:5:76:18 | After in ... then ... [no-match] | no-match | +| case.rb:76:8:76:18 | Array | case.rb:76:11:76:13 | Before "foo" | | +| case.rb:76:8:76:18 | Before call to [] | case.rb:76:8:76:18 | Array | | +| case.rb:76:8:76:18 | call to [] | case.rb:76:8:76:18 | After call to [] [match] | match | +| case.rb:76:8:76:18 | call to [] | case.rb:76:8:76:18 | After call to [] [no-match] | no-match | +| case.rb:76:11:76:13 | "foo" | case.rb:76:11:76:13 | After "foo" | | +| case.rb:76:11:76:13 | After "foo" | case.rb:76:15:76:17 | Before "bar" | | +| case.rb:76:11:76:13 | Before "foo" | case.rb:76:11:76:13 | foo | | | case.rb:76:11:76:13 | foo | case.rb:76:11:76:13 | "foo" | | -| case.rb:76:15:76:17 | "bar" | case.rb:76:8:76:18 | call to [] | | +| case.rb:76:15:76:17 | "bar" | case.rb:76:15:76:17 | After "bar" | | +| case.rb:76:15:76:17 | After "bar" | case.rb:76:8:76:18 | call to [] | | +| case.rb:76:15:76:17 | Before "bar" | case.rb:76:15:76:17 | bar | | | case.rb:76:15:76:17 | bar | case.rb:76:15:76:17 | "bar" | | -| case.rb:77:5:77:18 | in ... then ... | case.rb:77:8:77:18 | Array | | -| case.rb:77:8:77:18 | Array | case.rb:77:11:77:13 | foo | | -| case.rb:77:8:77:18 | call to [] | case.rb:72:3:92:5 | case ... | match | -| case.rb:77:8:77:18 | call to [] | case.rb:78:5:78:19 | in ... then ... | no-match | -| case.rb:77:11:77:13 | :"foo" | case.rb:77:15:77:17 | bar | | +| case.rb:77:5:77:18 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:77:5:77:18 | After in ... then ... [no-match] | case.rb:78:5:78:19 | in ... then ... | | +| case.rb:77:5:77:18 | in ... then ... | case.rb:77:8:77:18 | Before call to [] | | +| case.rb:77:8:77:18 | After call to [] [match] | case.rb:77:5:77:18 | After in ... then ... [match] | match | +| case.rb:77:8:77:18 | After call to [] [no-match] | case.rb:77:5:77:18 | After in ... then ... [no-match] | no-match | +| case.rb:77:8:77:18 | Array | case.rb:77:11:77:13 | Before :"foo" | | +| case.rb:77:8:77:18 | Before call to [] | case.rb:77:8:77:18 | Array | | +| case.rb:77:8:77:18 | call to [] | case.rb:77:8:77:18 | After call to [] [match] | match | +| case.rb:77:8:77:18 | call to [] | case.rb:77:8:77:18 | After call to [] [no-match] | no-match | +| case.rb:77:11:77:13 | :"foo" | case.rb:77:11:77:13 | After :"foo" | | +| case.rb:77:11:77:13 | After :"foo" | case.rb:77:15:77:17 | Before :"bar" | | +| case.rb:77:11:77:13 | Before :"foo" | case.rb:77:11:77:13 | foo | | | case.rb:77:11:77:13 | foo | case.rb:77:11:77:13 | :"foo" | | -| case.rb:77:15:77:17 | :"bar" | case.rb:77:8:77:18 | call to [] | | +| case.rb:77:15:77:17 | :"bar" | case.rb:77:15:77:17 | After :"bar" | | +| case.rb:77:15:77:17 | After :"bar" | case.rb:77:8:77:18 | call to [] | | +| case.rb:77:15:77:17 | Before :"bar" | case.rb:77:15:77:17 | bar | | | case.rb:77:15:77:17 | bar | case.rb:77:15:77:17 | :"bar" | | -| case.rb:78:5:78:19 | in ... then ... | case.rb:78:9:78:18 | .*abc[0-9] | | -| case.rb:78:8:78:19 | /.*abc[0-9]/ | case.rb:72:3:92:5 | case ... | match | -| case.rb:78:8:78:19 | /.*abc[0-9]/ | case.rb:79:5:79:14 | in ... then ... | no-match | +| case.rb:78:5:78:19 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:78:5:78:19 | After in ... then ... [no-match] | case.rb:79:5:79:14 | in ... then ... | | +| case.rb:78:5:78:19 | in ... then ... | case.rb:78:8:78:19 | Before /.*abc[0-9]/ | | +| case.rb:78:8:78:19 | /.*abc[0-9]/ | case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | match | +| case.rb:78:8:78:19 | /.*abc[0-9]/ | case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | no-match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [match] | case.rb:78:5:78:19 | After in ... then ... [match] | match | +| case.rb:78:8:78:19 | After /.*abc[0-9]/ [no-match] | case.rb:78:5:78:19 | After in ... then ... [no-match] | no-match | +| case.rb:78:8:78:19 | Before /.*abc[0-9]/ | case.rb:78:9:78:18 | .*abc[0-9] | | | case.rb:78:9:78:18 | .*abc[0-9] | case.rb:78:8:78:19 | /.*abc[0-9]/ | | -| case.rb:79:5:79:14 | in ... then ... | case.rb:79:8:79:8 | 5 | | +| case.rb:79:5:79:14 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:79:5:79:14 | After in ... then ... [no-match] | case.rb:80:5:80:12 | in ... then ... | | +| case.rb:79:5:79:14 | in ... then ... | case.rb:79:8:79:14 | Before _ .. _ | | | case.rb:79:8:79:8 | 5 | case.rb:79:13:79:14 | 10 | | -| case.rb:79:8:79:14 | _ .. _ | case.rb:72:3:92:5 | case ... | match | -| case.rb:79:8:79:14 | _ .. _ | case.rb:80:5:80:12 | in ... then ... | no-match | +| case.rb:79:8:79:14 | After _ .. _ [match] | case.rb:79:5:79:14 | After in ... then ... [match] | match | +| case.rb:79:8:79:14 | After _ .. _ [no-match] | case.rb:79:5:79:14 | After in ... then ... [no-match] | no-match | +| case.rb:79:8:79:14 | Before _ .. _ | case.rb:79:8:79:8 | 5 | | +| case.rb:79:8:79:14 | _ .. _ | case.rb:79:8:79:14 | After _ .. _ [match] | match | +| case.rb:79:8:79:14 | _ .. _ | case.rb:79:8:79:14 | After _ .. _ [no-match] | no-match | | case.rb:79:13:79:14 | 10 | case.rb:79:8:79:14 | _ .. _ | | -| case.rb:80:5:80:12 | in ... then ... | case.rb:80:11:80:12 | 10 | | -| case.rb:80:8:80:12 | _ .. _ | case.rb:72:3:92:5 | case ... | match | -| case.rb:80:8:80:12 | _ .. _ | case.rb:81:5:81:11 | in ... then ... | no-match | +| case.rb:80:5:80:12 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:80:5:80:12 | After in ... then ... [no-match] | case.rb:81:5:81:11 | in ... then ... | | +| case.rb:80:5:80:12 | in ... then ... | case.rb:80:8:80:12 | Before _ .. _ | | +| case.rb:80:8:80:12 | After _ .. _ [match] | case.rb:80:5:80:12 | After in ... then ... [match] | match | +| case.rb:80:8:80:12 | After _ .. _ [no-match] | case.rb:80:5:80:12 | After in ... then ... [no-match] | no-match | +| case.rb:80:8:80:12 | Before _ .. _ | case.rb:80:11:80:12 | 10 | | +| case.rb:80:8:80:12 | _ .. _ | case.rb:80:8:80:12 | After _ .. _ [match] | match | +| case.rb:80:8:80:12 | _ .. _ | case.rb:80:8:80:12 | After _ .. _ [no-match] | no-match | | case.rb:80:11:80:12 | 10 | case.rb:80:8:80:12 | _ .. _ | | -| case.rb:81:5:81:11 | in ... then ... | case.rb:81:8:81:8 | 5 | | +| case.rb:81:5:81:11 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:81:5:81:11 | After in ... then ... [no-match] | case.rb:82:5:82:20 | in ... then ... | | +| case.rb:81:5:81:11 | in ... then ... | case.rb:81:8:81:11 | Before _ .. _ | | | case.rb:81:8:81:8 | 5 | case.rb:81:8:81:11 | _ .. _ | | -| case.rb:81:8:81:11 | _ .. _ | case.rb:72:3:92:5 | case ... | match | -| case.rb:81:8:81:11 | _ .. _ | case.rb:82:5:82:20 | in ... then ... | no-match | +| case.rb:81:8:81:11 | After _ .. _ [match] | case.rb:81:5:81:11 | After in ... then ... [match] | match | +| case.rb:81:8:81:11 | After _ .. _ [no-match] | case.rb:81:5:81:11 | After in ... then ... [no-match] | no-match | +| case.rb:81:8:81:11 | Before _ .. _ | case.rb:81:8:81:8 | 5 | | +| case.rb:81:8:81:11 | _ .. _ | case.rb:81:8:81:11 | After _ .. _ [match] | match | +| case.rb:81:8:81:11 | _ .. _ | case.rb:81:8:81:11 | After _ .. _ [no-match] | no-match | +| case.rb:82:5:82:20 | After in ... then ... [match] | case.rb:82:15:82:20 | then ... | | +| case.rb:82:5:82:20 | After in ... then ... [no-match] | case.rb:83:5:83:26 | in ... then ... | | | case.rb:82:5:82:20 | in ... then ... | case.rb:82:8:82:13 | ... => ... | | -| case.rb:82:8:82:8 | 5 | case.rb:82:13:82:13 | x | match | -| case.rb:82:8:82:8 | 5 | case.rb:83:5:83:26 | in ... then ... | no-match | +| case.rb:82:8:82:8 | 5 | case.rb:82:13:82:13 | x | | | case.rb:82:8:82:13 | ... => ... | case.rb:82:8:82:8 | 5 | | -| case.rb:82:13:82:13 | x | case.rb:82:20:82:20 | 1 | match | -| case.rb:82:15:82:20 | then ... | case.rb:72:3:92:5 | case ... | | -| case.rb:82:20:82:20 | 1 | case.rb:82:15:82:20 | then ... | | +| case.rb:82:8:82:13 | After ... => ... [match] | case.rb:82:5:82:20 | After in ... then ... [match] | match | +| case.rb:82:8:82:13 | After ... => ... [no-match] | case.rb:82:5:82:20 | After in ... then ... [no-match] | no-match | +| case.rb:82:13:82:13 | x | case.rb:82:8:82:13 | After ... => ... [match] | match | +| case.rb:82:13:82:13 | x | case.rb:82:8:82:13 | After ... => ... [no-match] | no-match | +| case.rb:82:15:82:20 | After then ... | case.rb:72:3:92:5 | After case ... | | +| case.rb:82:15:82:20 | then ... | case.rb:82:20:82:20 | 1 | | +| case.rb:82:20:82:20 | 1 | case.rb:82:15:82:20 | After then ... | | +| case.rb:83:5:83:26 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:83:5:83:26 | After in ... then ... [no-match] | case.rb:84:5:84:17 | in ... then ... | | | case.rb:83:5:83:26 | in ... then ... | case.rb:83:8:83:26 | ... \| ... | | -| case.rb:83:8:83:8 | 5 | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:8:83:8 | 5 | case.rb:83:12:83:15 | ^... | no-match | +| case.rb:83:8:83:8 | 5 | case.rb:83:12:83:15 | ^... | | | case.rb:83:8:83:26 | ... \| ... | case.rb:83:8:83:8 | 5 | | +| case.rb:83:8:83:26 | After ... \| ... [match] | case.rb:83:5:83:26 | After in ... then ... [match] | match | +| case.rb:83:8:83:26 | After ... \| ... [no-match] | case.rb:83:5:83:26 | After in ... then ... [no-match] | no-match | +| case.rb:83:12:83:15 | After ^... | case.rb:83:19:83:26 | Before "string" | | | case.rb:83:12:83:15 | ^... | case.rb:83:13:83:15 | foo | | -| case.rb:83:13:83:15 | foo | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:13:83:15 | foo | case.rb:83:20:83:25 | string | no-match | -| case.rb:83:19:83:26 | "string" | case.rb:72:3:92:5 | case ... | match | -| case.rb:83:19:83:26 | "string" | case.rb:84:5:84:17 | in ... then ... | no-match | +| case.rb:83:13:83:15 | foo | case.rb:83:12:83:15 | After ^... | | +| case.rb:83:19:83:26 | "string" | case.rb:83:19:83:26 | After "string" | | +| case.rb:83:19:83:26 | After "string" | case.rb:83:8:83:26 | After ... \| ... [match] | match | +| case.rb:83:19:83:26 | After "string" | case.rb:83:8:83:26 | After ... \| ... [no-match] | no-match | +| case.rb:83:19:83:26 | Before "string" | case.rb:83:20:83:25 | string | | | case.rb:83:20:83:25 | string | case.rb:83:19:83:26 | "string" | | -| case.rb:84:5:84:17 | in ... then ... | case.rb:84:8:84:12 | Foo | | +| case.rb:84:5:84:17 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:84:5:84:17 | After in ... then ... [no-match] | case.rb:85:5:85:23 | in ... then ... | | +| case.rb:84:5:84:17 | in ... then ... | case.rb:84:8:84:17 | Before Bar | | | case.rb:84:8:84:12 | Foo | case.rb:84:8:84:17 | Bar | | -| case.rb:84:8:84:17 | Bar | case.rb:72:3:92:5 | case ... | match | -| case.rb:84:8:84:17 | Bar | case.rb:85:5:85:23 | in ... then ... | no-match | +| case.rb:84:8:84:17 | After Bar [match] | case.rb:84:5:84:17 | After in ... then ... [match] | match | +| case.rb:84:8:84:17 | After Bar [no-match] | case.rb:84:5:84:17 | After in ... then ... [no-match] | no-match | +| case.rb:84:8:84:17 | Bar | case.rb:84:8:84:17 | After Bar [match] | match | +| case.rb:84:8:84:17 | Bar | case.rb:84:8:84:17 | After Bar [no-match] | no-match | +| case.rb:84:8:84:17 | Before Bar | case.rb:84:8:84:12 | Foo | | +| case.rb:85:5:85:23 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:85:5:85:23 | After in ... then ... [no-match] | case.rb:86:5:86:11 | in ... then ... | | | case.rb:85:5:85:23 | in ... then ... | case.rb:85:8:85:23 | -> { ... } | | -| case.rb:85:8:85:23 | -> { ... } | case.rb:72:3:92:5 | case ... | match | -| case.rb:85:8:85:23 | -> { ... } | case.rb:86:5:86:11 | in ... then ... | no-match | -| case.rb:85:8:85:23 | enter -> { ... } | case.rb:85:11:85:11 | x | | -| case.rb:85:8:85:23 | exit -> { ... } (normal) | case.rb:85:8:85:23 | exit -> { ... } | | -| case.rb:85:11:85:11 | x | case.rb:85:15:85:15 | x | | +| case.rb:85:8:85:23 | -> { ... } | case.rb:85:8:85:23 | After -> { ... } [match] | match | +| case.rb:85:8:85:23 | -> { ... } | case.rb:85:8:85:23 | After -> { ... } [no-match] | no-match | +| case.rb:85:8:85:23 | After -> { ... } [match] | case.rb:85:5:85:23 | After in ... then ... [match] | match | +| case.rb:85:8:85:23 | After -> { ... } [no-match] | case.rb:85:5:85:23 | After in ... then ... [no-match] | no-match | +| case.rb:85:8:85:23 | Entry | case.rb:85:11:85:11 | x | | +| case.rb:85:8:85:23 | Normal Exit | case.rb:85:8:85:23 | Exit | | +| case.rb:85:11:85:11 | x | case.rb:85:15:85:21 | ... | | | case.rb:85:15:85:15 | x | case.rb:85:20:85:21 | 10 | | -| case.rb:85:15:85:21 | ... == ... | case.rb:85:8:85:23 | exit -> { ... } (normal) | | +| case.rb:85:15:85:21 | ... | case.rb:85:15:85:21 | Before ... == ... | | +| case.rb:85:15:85:21 | ... == ... | case.rb:85:15:85:21 | After ... == ... | | +| case.rb:85:15:85:21 | After ... | case.rb:85:8:85:23 | Normal Exit | | +| case.rb:85:15:85:21 | After ... == ... | case.rb:85:15:85:21 | After ... | | +| case.rb:85:15:85:21 | Before ... == ... | case.rb:85:15:85:15 | x | | | case.rb:85:20:85:21 | 10 | case.rb:85:15:85:21 | ... == ... | | -| case.rb:86:5:86:11 | in ... then ... | case.rb:86:8:86:11 | foo | | -| case.rb:86:8:86:11 | :foo | case.rb:72:3:92:5 | case ... | match | -| case.rb:86:8:86:11 | :foo | case.rb:87:5:87:17 | in ... then ... | no-match | +| case.rb:86:5:86:11 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:86:5:86:11 | After in ... then ... [no-match] | case.rb:87:5:87:17 | in ... then ... | | +| case.rb:86:5:86:11 | in ... then ... | case.rb:86:8:86:11 | Before :foo | | +| case.rb:86:8:86:11 | :foo | case.rb:86:8:86:11 | After :foo [match] | match | +| case.rb:86:8:86:11 | :foo | case.rb:86:8:86:11 | After :foo [no-match] | no-match | +| case.rb:86:8:86:11 | After :foo [match] | case.rb:86:5:86:11 | After in ... then ... [match] | match | +| case.rb:86:8:86:11 | After :foo [no-match] | case.rb:86:5:86:11 | After in ... then ... [no-match] | no-match | +| case.rb:86:8:86:11 | Before :foo | case.rb:86:8:86:11 | foo | | | case.rb:86:8:86:11 | foo | case.rb:86:8:86:11 | :foo | | -| case.rb:87:5:87:17 | in ... then ... | case.rb:87:10:87:16 | foo bar | | -| case.rb:87:8:87:17 | :"foo bar" | case.rb:72:3:92:5 | case ... | match | -| case.rb:87:8:87:17 | :"foo bar" | case.rb:88:5:88:15 | in ... then ... | no-match | +| case.rb:87:5:87:17 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:87:5:87:17 | After in ... then ... [no-match] | case.rb:88:5:88:15 | in ... then ... | | +| case.rb:87:5:87:17 | in ... then ... | case.rb:87:8:87:17 | Before :"foo bar" | | +| case.rb:87:8:87:17 | :"foo bar" | case.rb:87:8:87:17 | After :"foo bar" [match] | match | +| case.rb:87:8:87:17 | :"foo bar" | case.rb:87:8:87:17 | After :"foo bar" [no-match] | no-match | +| case.rb:87:8:87:17 | After :"foo bar" [match] | case.rb:87:5:87:17 | After in ... then ... [match] | match | +| case.rb:87:8:87:17 | After :"foo bar" [no-match] | case.rb:87:5:87:17 | After in ... then ... [no-match] | no-match | +| case.rb:87:8:87:17 | Before :"foo bar" | case.rb:87:10:87:16 | foo bar | | | case.rb:87:10:87:16 | foo bar | case.rb:87:8:87:17 | :"foo bar" | | +| case.rb:88:5:88:15 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:88:5:88:15 | After in ... then ... [no-match] | case.rb:89:5:89:69 | in ... then ... | | | case.rb:88:5:88:15 | in ... then ... | case.rb:88:8:88:15 | ... \| ... | | -| case.rb:88:8:88:9 | - ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:88:8:88:9 | - ... | case.rb:88:14:88:15 | 10 | no-match | -| case.rb:88:8:88:15 | ... \| ... | case.rb:88:9:88:9 | 5 | | +| case.rb:88:8:88:9 | - ... | case.rb:88:8:88:9 | After - ... | | +| case.rb:88:8:88:9 | After - ... | case.rb:88:13:88:15 | Before + ... | | +| case.rb:88:8:88:9 | Before - ... | case.rb:88:9:88:9 | 5 | | +| case.rb:88:8:88:15 | ... \| ... | case.rb:88:8:88:9 | Before - ... | | +| case.rb:88:8:88:15 | After ... \| ... [match] | case.rb:88:5:88:15 | After in ... then ... [match] | match | +| case.rb:88:8:88:15 | After ... \| ... [no-match] | case.rb:88:5:88:15 | After in ... then ... [no-match] | no-match | | case.rb:88:9:88:9 | 5 | case.rb:88:8:88:9 | - ... | | -| case.rb:88:13:88:15 | + ... | case.rb:72:3:92:5 | case ... | match | -| case.rb:88:13:88:15 | + ... | case.rb:89:5:89:69 | in ... then ... | no-match | +| case.rb:88:13:88:15 | + ... | case.rb:88:13:88:15 | After + ... | | +| case.rb:88:13:88:15 | After + ... | case.rb:88:8:88:15 | After ... \| ... [match] | match | +| case.rb:88:13:88:15 | After + ... | case.rb:88:8:88:15 | After ... \| ... [no-match] | no-match | +| case.rb:88:13:88:15 | Before + ... | case.rb:88:14:88:15 | 10 | | | case.rb:88:14:88:15 | 10 | case.rb:88:13:88:15 | + ... | | +| case.rb:89:5:89:69 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:89:5:89:69 | After in ... then ... [no-match] | case.rb:90:5:90:13 | in ... then ... | | | case.rb:89:5:89:69 | in ... then ... | case.rb:89:8:89:69 | ... \| ... | | -| case.rb:89:8:89:10 | nil | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:8:89:10 | nil | case.rb:89:14:89:17 | self | no-match | +| case.rb:89:8:89:10 | nil | case.rb:89:14:89:17 | self | | | case.rb:89:8:89:69 | ... \| ... | case.rb:89:8:89:10 | nil | | -| case.rb:89:14:89:17 | self | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:14:89:17 | self | case.rb:89:21:89:24 | true | no-match | -| case.rb:89:21:89:24 | true | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:21:89:24 | true | case.rb:89:28:89:32 | false | no-match | -| case.rb:89:28:89:32 | false | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:28:89:32 | false | case.rb:89:36:89:43 | __LINE__ | no-match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:36:89:43 | __LINE__ | case.rb:89:47:89:54 | __FILE__ | no-match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:47:89:54 | __FILE__ | case.rb:89:58:89:69 | __ENCODING__ | no-match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:72:3:92:5 | case ... | match | -| case.rb:89:58:89:69 | __ENCODING__ | case.rb:90:5:90:13 | in ... then ... | no-match | +| case.rb:89:8:89:69 | After ... \| ... [match] | case.rb:89:5:89:69 | After in ... then ... [match] | match | +| case.rb:89:8:89:69 | After ... \| ... [no-match] | case.rb:89:5:89:69 | After in ... then ... [no-match] | no-match | +| case.rb:89:14:89:17 | self | case.rb:89:21:89:24 | true | | +| case.rb:89:21:89:24 | true | case.rb:89:28:89:32 | false | | +| case.rb:89:28:89:32 | false | case.rb:89:36:89:43 | __LINE__ | | +| case.rb:89:36:89:43 | __LINE__ | case.rb:89:47:89:54 | __FILE__ | | +| case.rb:89:47:89:54 | __FILE__ | case.rb:89:58:89:69 | __ENCODING__ | | +| case.rb:89:58:89:69 | __ENCODING__ | case.rb:89:8:89:69 | After ... \| ... [match] | match | +| case.rb:89:58:89:69 | __ENCODING__ | case.rb:89:8:89:69 | After ... \| ... [no-match] | no-match | +| case.rb:90:5:90:13 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:90:5:90:13 | After in ... then ... [no-match] | case.rb:91:5:91:25 | in ... then ... | | | case.rb:90:5:90:13 | in ... then ... | case.rb:90:8:90:13 | ( ... ) | | -| case.rb:90:8:90:13 | ( ... ) | case.rb:90:9:90:9 | 1 | | +| case.rb:90:8:90:13 | ( ... ) | case.rb:90:9:90:12 | Before _ .. _ | | +| case.rb:90:8:90:13 | After ( ... ) [match] | case.rb:90:5:90:13 | After in ... then ... [match] | match | +| case.rb:90:8:90:13 | After ( ... ) [no-match] | case.rb:90:5:90:13 | After in ... then ... [no-match] | no-match | | case.rb:90:9:90:9 | 1 | case.rb:90:9:90:12 | _ .. _ | | -| case.rb:90:9:90:12 | _ .. _ | case.rb:72:3:92:5 | case ... | match | -| case.rb:90:9:90:12 | _ .. _ | case.rb:91:5:91:25 | in ... then ... | no-match | +| case.rb:90:9:90:12 | After _ .. _ | case.rb:90:8:90:13 | After ( ... ) [match] | match | +| case.rb:90:9:90:12 | After _ .. _ | case.rb:90:8:90:13 | After ( ... ) [no-match] | no-match | +| case.rb:90:9:90:12 | Before _ .. _ | case.rb:90:9:90:9 | 1 | | +| case.rb:90:9:90:12 | _ .. _ | case.rb:90:9:90:12 | After _ .. _ | | +| case.rb:91:5:91:25 | After in ... then ... [match] | case.rb:72:3:92:5 | After case ... | | +| case.rb:91:5:91:25 | After in ... then ... [no-match] | case.rb:72:3:92:5 | After case ... | | | case.rb:91:5:91:25 | in ... then ... | case.rb:91:8:91:25 | ( ... ) | | | case.rb:91:8:91:25 | ( ... ) | case.rb:91:9:91:24 | ... \| ... | | -| case.rb:91:9:91:9 | 0 | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:9:91:9 | 0 | case.rb:91:13:91:14 | "" | no-match | +| case.rb:91:8:91:25 | After ( ... ) [match] | case.rb:91:5:91:25 | After in ... then ... [match] | match | +| case.rb:91:8:91:25 | After ( ... ) [no-match] | case.rb:91:5:91:25 | After in ... then ... [no-match] | no-match | +| case.rb:91:9:91:9 | 0 | case.rb:91:13:91:14 | "" | | | case.rb:91:9:91:24 | ... \| ... | case.rb:91:9:91:9 | 0 | | -| case.rb:91:13:91:14 | "" | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:13:91:14 | "" | case.rb:91:18:91:19 | [ ..., * ] | no-match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:72:3:92:5 | case ... | match | -| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:23:91:24 | { ..., ** } | no-match | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:69:1:93:3 | exit case_match_various (abnormal) | exception | -| case.rb:91:23:91:24 | { ..., ** } | case.rb:72:3:92:5 | case ... | false, match, true | -| case.rb:95:1:99:3 | case_match_guard_no_else | case.rb:1:1:99:4 | exit case.rb (normal) | | -| case.rb:95:1:99:3 | enter case_match_guard_no_else | case.rb:95:30:95:34 | value | | -| case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | case.rb:95:1:99:3 | exit case_match_guard_no_else | | -| case.rb:95:1:99:3 | exit case_match_guard_no_else (normal) | case.rb:95:1:99:3 | exit case_match_guard_no_else | | -| case.rb:95:30:95:34 | value | case.rb:96:8:96:12 | value | | -| case.rb:96:3:98:5 | case ... | case.rb:95:1:99:3 | exit case_match_guard_no_else (normal) | | +| case.rb:91:9:91:24 | After ... \| ... | case.rb:91:8:91:25 | After ( ... ) [match] | match | +| case.rb:91:9:91:24 | After ... \| ... | case.rb:91:8:91:25 | After ( ... ) [no-match] | no-match | +| case.rb:91:13:91:14 | "" | case.rb:91:18:91:19 | [ ..., * ] | | +| case.rb:91:18:91:19 | [ ..., * ] | case.rb:91:23:91:24 | { ..., ** } | | +| case.rb:91:23:91:24 | { ..., ** } | case.rb:91:9:91:24 | After ... \| ... | | +| case.rb:95:1:99:3 | Entry | case.rb:95:30:95:34 | value | | +| case.rb:95:1:99:3 | Normal Exit | case.rb:95:1:99:3 | Exit | | +| case.rb:95:1:99:3 | case_match_guard_no_else | case.rb:1:1:99:4 | Normal Exit | | +| case.rb:95:30:95:34 | value | case.rb:96:3:98:5 | ... | | +| case.rb:96:3:98:5 | ... | case.rb:96:3:98:5 | case ... | | +| case.rb:96:3:98:5 | After ... | case.rb:95:1:99:3 | Normal Exit | | +| case.rb:96:3:98:5 | After case ... | case.rb:96:3:98:5 | After ... | | +| case.rb:96:3:98:5 | case ... | case.rb:96:8:96:12 | value | | | case.rb:96:8:96:12 | value | case.rb:97:5:97:25 | in ... then ... | | +| case.rb:97:5:97:25 | After in ... then ... [match] | case.rb:97:13:97:18 | Before ... == ... | | +| case.rb:97:5:97:25 | After in ... then ... [no-match] | case.rb:96:3:98:5 | After case ... | | | case.rb:97:5:97:25 | in ... then ... | case.rb:97:8:97:8 | x | | -| case.rb:97:8:97:8 | x | case.rb:97:13:97:13 | x | match | +| case.rb:97:8:97:8 | After x [match] | case.rb:97:5:97:25 | After in ... then ... [match] | match | +| case.rb:97:8:97:8 | After x [no-match] | case.rb:97:5:97:25 | After in ... then ... [no-match] | no-match | +| case.rb:97:8:97:8 | x | case.rb:97:8:97:8 | After x [match] | match | +| case.rb:97:8:97:8 | x | case.rb:97:8:97:8 | After x [no-match] | no-match | | case.rb:97:13:97:13 | x | case.rb:97:18:97:18 | 5 | | -| case.rb:97:13:97:18 | ... == ... | case.rb:95:1:99:3 | exit case_match_guard_no_else (abnormal) | exception | -| case.rb:97:13:97:18 | ... == ... | case.rb:97:25:97:25 | 6 | true | +| case.rb:97:13:97:18 | ... == ... | case.rb:97:13:97:18 | After ... == ... [false] | false | +| case.rb:97:13:97:18 | ... == ... | case.rb:97:13:97:18 | After ... == ... [true] | true | +| case.rb:97:13:97:18 | After ... == ... [false] | case.rb:96:3:98:5 | After case ... | | +| case.rb:97:13:97:18 | After ... == ... [true] | case.rb:97:20:97:25 | then ... | | +| case.rb:97:13:97:18 | Before ... == ... | case.rb:97:13:97:13 | x | | | case.rb:97:18:97:18 | 5 | case.rb:97:13:97:18 | ... == ... | | -| case.rb:97:20:97:25 | then ... | case.rb:96:3:98:5 | case ... | | -| case.rb:97:25:97:25 | 6 | case.rb:97:20:97:25 | then ... | | -| cfg.html.erb:5:16:5:21 | @title | cfg.html.erb:6:9:6:58 | self | | +| case.rb:97:20:97:25 | After then ... | case.rb:96:3:98:5 | After case ... | | +| case.rb:97:20:97:25 | then ... | case.rb:97:25:97:25 | 6 | | +| case.rb:97:25:97:25 | 6 | case.rb:97:20:97:25 | After then ... | | +| cfg.html.erb:5:16:5:21 | @title | cfg.html.erb:5:16:5:21 | After @title | | +| cfg.html.erb:5:16:5:21 | After @title | cfg.html.erb:6:9:6:58 | Before call to stylesheet_link_tag | | +| cfg.html.erb:5:16:5:21 | Before @title | cfg.html.erb:5:16:5:21 | self | | | cfg.html.erb:5:16:5:21 | self | cfg.html.erb:5:16:5:21 | @title | | -| cfg.html.erb:5:16:31:12 | enter cfg.html.erb | cfg.html.erb:5:16:5:21 | self | | -| cfg.html.erb:5:16:31:12 | exit cfg.html.erb (normal) | cfg.html.erb:5:16:31:12 | exit cfg.html.erb | | -| cfg.html.erb:6:9:6:58 | call to stylesheet_link_tag | cfg.html.erb:12:11:12:33 | self | | -| cfg.html.erb:6:9:6:58 | self | cfg.html.erb:6:30:6:40 | application | | -| cfg.html.erb:6:29:6:41 | "application" | cfg.html.erb:6:44:6:49 | media | | +| cfg.html.erb:5:16:31:12 | Entry | cfg.html.erb:5:16:5:21 | Before @title | | +| cfg.html.erb:5:16:31:12 | Normal Exit | cfg.html.erb:5:16:31:12 | Exit | | +| cfg.html.erb:6:9:6:58 | After call to stylesheet_link_tag | cfg.html.erb:12:11:12:33 | Before call to link_to | | +| cfg.html.erb:6:9:6:58 | Before call to stylesheet_link_tag | cfg.html.erb:6:9:6:58 | self | | +| cfg.html.erb:6:9:6:58 | call to stylesheet_link_tag | cfg.html.erb:6:9:6:58 | After call to stylesheet_link_tag | | +| cfg.html.erb:6:9:6:58 | self | cfg.html.erb:6:29:6:41 | Before "application" | | +| cfg.html.erb:6:29:6:41 | "application" | cfg.html.erb:6:29:6:41 | After "application" | | +| cfg.html.erb:6:29:6:41 | After "application" | cfg.html.erb:6:44:6:58 | Before Pair | | +| cfg.html.erb:6:29:6:41 | Before "application" | cfg.html.erb:6:30:6:40 | application | | | cfg.html.erb:6:30:6:40 | application | cfg.html.erb:6:29:6:41 | "application" | | -| cfg.html.erb:6:44:6:49 | :media | cfg.html.erb:6:55:6:57 | all | | +| cfg.html.erb:6:44:6:49 | :media | cfg.html.erb:6:44:6:49 | After :media | | +| cfg.html.erb:6:44:6:49 | After :media | cfg.html.erb:6:54:6:58 | Before "all" | | +| cfg.html.erb:6:44:6:49 | Before :media | cfg.html.erb:6:44:6:49 | media | | | cfg.html.erb:6:44:6:49 | media | cfg.html.erb:6:44:6:49 | :media | | -| cfg.html.erb:6:44:6:58 | Pair | cfg.html.erb:6:9:6:58 | call to stylesheet_link_tag | | -| cfg.html.erb:6:54:6:58 | "all" | cfg.html.erb:6:44:6:58 | Pair | | +| cfg.html.erb:6:44:6:58 | After Pair | cfg.html.erb:6:9:6:58 | call to stylesheet_link_tag | | +| cfg.html.erb:6:44:6:58 | Before Pair | cfg.html.erb:6:44:6:49 | Before :media | | +| cfg.html.erb:6:44:6:58 | Pair | cfg.html.erb:6:44:6:58 | After Pair | | +| cfg.html.erb:6:54:6:58 | "all" | cfg.html.erb:6:54:6:58 | After "all" | | +| cfg.html.erb:6:54:6:58 | After "all" | cfg.html.erb:6:44:6:58 | Pair | | +| cfg.html.erb:6:54:6:58 | Before "all" | cfg.html.erb:6:55:6:57 | all | | | cfg.html.erb:6:55:6:57 | all | cfg.html.erb:6:54:6:58 | "all" | | -| cfg.html.erb:12:11:12:33 | call to link_to | cfg.html.erb:15:19:15:32 | self | | -| cfg.html.erb:12:11:12:33 | self | cfg.html.erb:12:20:12:20 | A | | -| cfg.html.erb:12:19:12:21 | "A" | cfg.html.erb:12:24:12:24 | self | | +| cfg.html.erb:12:11:12:33 | After call to link_to | cfg.html.erb:15:19:15:32 | Before call to link_to | | +| cfg.html.erb:12:11:12:33 | Before call to link_to | cfg.html.erb:12:11:12:33 | self | | +| cfg.html.erb:12:11:12:33 | call to link_to | cfg.html.erb:12:11:12:33 | After call to link_to | | +| cfg.html.erb:12:11:12:33 | self | cfg.html.erb:12:19:12:21 | Before "A" | | +| cfg.html.erb:12:19:12:21 | "A" | cfg.html.erb:12:19:12:21 | After "A" | | +| cfg.html.erb:12:19:12:21 | After "A" | cfg.html.erb:12:24:12:24 | Before call to a | | +| cfg.html.erb:12:19:12:21 | Before "A" | cfg.html.erb:12:20:12:20 | A | | | cfg.html.erb:12:20:12:20 | A | cfg.html.erb:12:19:12:21 | "A" | | -| cfg.html.erb:12:24:12:24 | call to a | cfg.html.erb:12:27:12:28 | id | | +| cfg.html.erb:12:24:12:24 | After call to a | cfg.html.erb:12:27:12:33 | Before Pair | | +| cfg.html.erb:12:24:12:24 | Before call to a | cfg.html.erb:12:24:12:24 | self | | +| cfg.html.erb:12:24:12:24 | call to a | cfg.html.erb:12:24:12:24 | After call to a | | | cfg.html.erb:12:24:12:24 | self | cfg.html.erb:12:24:12:24 | call to a | | -| cfg.html.erb:12:27:12:28 | :id | cfg.html.erb:12:32:12:32 | a | | +| cfg.html.erb:12:27:12:28 | :id | cfg.html.erb:12:27:12:28 | After :id | | +| cfg.html.erb:12:27:12:28 | After :id | cfg.html.erb:12:31:12:33 | Before "a" | | +| cfg.html.erb:12:27:12:28 | Before :id | cfg.html.erb:12:27:12:28 | id | | | cfg.html.erb:12:27:12:28 | id | cfg.html.erb:12:27:12:28 | :id | | -| cfg.html.erb:12:27:12:33 | Pair | cfg.html.erb:12:11:12:33 | call to link_to | | -| cfg.html.erb:12:31:12:33 | "a" | cfg.html.erb:12:27:12:33 | Pair | | +| cfg.html.erb:12:27:12:33 | After Pair | cfg.html.erb:12:11:12:33 | call to link_to | | +| cfg.html.erb:12:27:12:33 | Before Pair | cfg.html.erb:12:27:12:28 | Before :id | | +| cfg.html.erb:12:27:12:33 | Pair | cfg.html.erb:12:27:12:33 | After Pair | | +| cfg.html.erb:12:31:12:33 | "a" | cfg.html.erb:12:31:12:33 | After "a" | | +| cfg.html.erb:12:31:12:33 | After "a" | cfg.html.erb:12:27:12:33 | Pair | | +| cfg.html.erb:12:31:12:33 | Before "a" | cfg.html.erb:12:32:12:32 | a | | | cfg.html.erb:12:32:12:32 | a | cfg.html.erb:12:31:12:33 | "a" | | -| cfg.html.erb:15:19:15:32 | call to link_to | cfg.html.erb:16:19:16:32 | self | | -| cfg.html.erb:15:19:15:32 | self | cfg.html.erb:15:28:15:28 | B | | -| cfg.html.erb:15:27:15:29 | "B" | cfg.html.erb:15:32:15:32 | self | | +| cfg.html.erb:15:19:15:32 | After call to link_to | cfg.html.erb:16:19:16:32 | Before call to link_to | | +| cfg.html.erb:15:19:15:32 | Before call to link_to | cfg.html.erb:15:19:15:32 | self | | +| cfg.html.erb:15:19:15:32 | call to link_to | cfg.html.erb:15:19:15:32 | After call to link_to | | +| cfg.html.erb:15:19:15:32 | self | cfg.html.erb:15:27:15:29 | Before "B" | | +| cfg.html.erb:15:27:15:29 | "B" | cfg.html.erb:15:27:15:29 | After "B" | | +| cfg.html.erb:15:27:15:29 | After "B" | cfg.html.erb:15:32:15:32 | Before call to a | | +| cfg.html.erb:15:27:15:29 | Before "B" | cfg.html.erb:15:28:15:28 | B | | | cfg.html.erb:15:28:15:28 | B | cfg.html.erb:15:27:15:29 | "B" | | -| cfg.html.erb:15:32:15:32 | call to a | cfg.html.erb:15:19:15:32 | call to link_to | | +| cfg.html.erb:15:32:15:32 | After call to a | cfg.html.erb:15:19:15:32 | call to link_to | | +| cfg.html.erb:15:32:15:32 | Before call to a | cfg.html.erb:15:32:15:32 | self | | +| cfg.html.erb:15:32:15:32 | call to a | cfg.html.erb:15:32:15:32 | After call to a | | | cfg.html.erb:15:32:15:32 | self | cfg.html.erb:15:32:15:32 | call to a | | -| cfg.html.erb:16:19:16:32 | call to link_to | cfg.html.erb:18:17:18:22 | self | | -| cfg.html.erb:16:19:16:32 | self | cfg.html.erb:16:28:16:28 | C | | -| cfg.html.erb:16:27:16:29 | "C" | cfg.html.erb:16:32:16:32 | self | | +| cfg.html.erb:16:19:16:32 | After call to link_to | cfg.html.erb:18:14:22:16 | if ... | | +| cfg.html.erb:16:19:16:32 | Before call to link_to | cfg.html.erb:16:19:16:32 | self | | +| cfg.html.erb:16:19:16:32 | call to link_to | cfg.html.erb:16:19:16:32 | After call to link_to | | +| cfg.html.erb:16:19:16:32 | self | cfg.html.erb:16:27:16:29 | Before "C" | | +| cfg.html.erb:16:27:16:29 | "C" | cfg.html.erb:16:27:16:29 | After "C" | | +| cfg.html.erb:16:27:16:29 | After "C" | cfg.html.erb:16:32:16:32 | Before call to b | | +| cfg.html.erb:16:27:16:29 | Before "C" | cfg.html.erb:16:28:16:28 | C | | | cfg.html.erb:16:28:16:28 | C | cfg.html.erb:16:27:16:29 | "C" | | -| cfg.html.erb:16:32:16:32 | call to b | cfg.html.erb:16:19:16:32 | call to link_to | | +| cfg.html.erb:16:32:16:32 | After call to b | cfg.html.erb:16:19:16:32 | call to link_to | | +| cfg.html.erb:16:32:16:32 | Before call to b | cfg.html.erb:16:32:16:32 | self | | +| cfg.html.erb:16:32:16:32 | call to b | cfg.html.erb:16:32:16:32 | After call to b | | | cfg.html.erb:16:32:16:32 | self | cfg.html.erb:16:32:16:32 | call to b | | -| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:29:8:29:17 | self | | -| cfg.html.erb:18:17:18:22 | call to admin? | cfg.html.erb:19:19:19:32 | self | true | -| cfg.html.erb:18:17:18:22 | call to admin? | cfg.html.erb:21:19:21:32 | self | false | +| cfg.html.erb:18:14:22:16 | After if ... | cfg.html.erb:29:8:31:10 | Before call to each | | +| cfg.html.erb:18:14:22:16 | if ... | cfg.html.erb:18:17:18:22 | Before call to admin? | | +| cfg.html.erb:18:17:18:22 | After call to admin? [false] | cfg.html.erb:20:14:21:34 | else ... | | +| cfg.html.erb:18:17:18:22 | After call to admin? [true] | cfg.html.erb:18:24:19:34 | then ... | | +| cfg.html.erb:18:17:18:22 | Before call to admin? | cfg.html.erb:18:17:18:22 | self | | +| cfg.html.erb:18:17:18:22 | call to admin? | cfg.html.erb:18:17:18:22 | After call to admin? [false] | false | +| cfg.html.erb:18:17:18:22 | call to admin? | cfg.html.erb:18:17:18:22 | After call to admin? [true] | true | | cfg.html.erb:18:17:18:22 | self | cfg.html.erb:18:17:18:22 | call to admin? | | -| cfg.html.erb:18:24:19:34 | then ... | cfg.html.erb:18:14:22:16 | if ... | | -| cfg.html.erb:19:19:19:32 | call to link_to | cfg.html.erb:18:24:19:34 | then ... | | -| cfg.html.erb:19:19:19:32 | self | cfg.html.erb:19:28:19:28 | D | | -| cfg.html.erb:19:27:19:29 | "D" | cfg.html.erb:19:32:19:32 | self | | +| cfg.html.erb:18:24:19:34 | After then ... | cfg.html.erb:18:14:22:16 | After if ... | | +| cfg.html.erb:18:24:19:34 | then ... | cfg.html.erb:19:19:19:32 | Before call to link_to | | +| cfg.html.erb:19:19:19:32 | After call to link_to | cfg.html.erb:18:24:19:34 | After then ... | | +| cfg.html.erb:19:19:19:32 | Before call to link_to | cfg.html.erb:19:19:19:32 | self | | +| cfg.html.erb:19:19:19:32 | call to link_to | cfg.html.erb:19:19:19:32 | After call to link_to | | +| cfg.html.erb:19:19:19:32 | self | cfg.html.erb:19:27:19:29 | Before "D" | | +| cfg.html.erb:19:27:19:29 | "D" | cfg.html.erb:19:27:19:29 | After "D" | | +| cfg.html.erb:19:27:19:29 | After "D" | cfg.html.erb:19:32:19:32 | Before call to d | | +| cfg.html.erb:19:27:19:29 | Before "D" | cfg.html.erb:19:28:19:28 | D | | | cfg.html.erb:19:28:19:28 | D | cfg.html.erb:19:27:19:29 | "D" | | -| cfg.html.erb:19:32:19:32 | call to d | cfg.html.erb:19:19:19:32 | call to link_to | | +| cfg.html.erb:19:32:19:32 | After call to d | cfg.html.erb:19:19:19:32 | call to link_to | | +| cfg.html.erb:19:32:19:32 | Before call to d | cfg.html.erb:19:32:19:32 | self | | +| cfg.html.erb:19:32:19:32 | call to d | cfg.html.erb:19:32:19:32 | After call to d | | | cfg.html.erb:19:32:19:32 | self | cfg.html.erb:19:32:19:32 | call to d | | -| cfg.html.erb:20:14:21:34 | else ... | cfg.html.erb:18:14:22:16 | if ... | | -| cfg.html.erb:21:19:21:32 | call to link_to | cfg.html.erb:20:14:21:34 | else ... | | -| cfg.html.erb:21:19:21:32 | self | cfg.html.erb:21:28:21:28 | E | | -| cfg.html.erb:21:27:21:29 | "E" | cfg.html.erb:21:32:21:32 | self | | +| cfg.html.erb:20:14:21:34 | After else ... | cfg.html.erb:18:14:22:16 | After if ... | | +| cfg.html.erb:20:14:21:34 | else ... | cfg.html.erb:21:19:21:32 | Before call to link_to | | +| cfg.html.erb:21:19:21:32 | After call to link_to | cfg.html.erb:20:14:21:34 | After else ... | | +| cfg.html.erb:21:19:21:32 | Before call to link_to | cfg.html.erb:21:19:21:32 | self | | +| cfg.html.erb:21:19:21:32 | call to link_to | cfg.html.erb:21:19:21:32 | After call to link_to | | +| cfg.html.erb:21:19:21:32 | self | cfg.html.erb:21:27:21:29 | Before "E" | | +| cfg.html.erb:21:27:21:29 | "E" | cfg.html.erb:21:27:21:29 | After "E" | | +| cfg.html.erb:21:27:21:29 | After "E" | cfg.html.erb:21:32:21:32 | Before call to e | | +| cfg.html.erb:21:27:21:29 | Before "E" | cfg.html.erb:21:28:21:28 | E | | | cfg.html.erb:21:28:21:28 | E | cfg.html.erb:21:27:21:29 | "E" | | -| cfg.html.erb:21:32:21:32 | call to e | cfg.html.erb:21:19:21:32 | call to link_to | | +| cfg.html.erb:21:32:21:32 | After call to e | cfg.html.erb:21:19:21:32 | call to link_to | | +| cfg.html.erb:21:32:21:32 | Before call to e | cfg.html.erb:21:32:21:32 | self | | +| cfg.html.erb:21:32:21:32 | call to e | cfg.html.erb:21:32:21:32 | After call to e | | | cfg.html.erb:21:32:21:32 | self | cfg.html.erb:21:32:21:32 | call to e | | -| cfg.html.erb:29:8:29:17 | call to collection | cfg.html.erb:29:24:31:10 | do ... end | | +| cfg.html.erb:29:8:29:17 | After call to collection | cfg.html.erb:29:24:31:10 | do ... end | | +| cfg.html.erb:29:8:29:17 | Before call to collection | cfg.html.erb:29:8:29:17 | self | | +| cfg.html.erb:29:8:29:17 | call to collection | cfg.html.erb:29:8:29:17 | After call to collection | | | cfg.html.erb:29:8:29:17 | self | cfg.html.erb:29:8:29:17 | call to collection | | -| cfg.html.erb:29:8:31:10 | call to each | cfg.html.erb:5:16:31:12 | exit cfg.html.erb (normal) | | +| cfg.html.erb:29:8:31:10 | After call to each | cfg.html.erb:5:16:31:12 | Normal Exit | | +| cfg.html.erb:29:8:31:10 | Before call to each | cfg.html.erb:29:8:29:17 | Before call to collection | | +| cfg.html.erb:29:8:31:10 | call to each | cfg.html.erb:29:8:31:10 | After call to each | | +| cfg.html.erb:29:24:31:10 | Entry | cfg.html.erb:29:28:29:30 | key | | +| cfg.html.erb:29:24:31:10 | Normal Exit | cfg.html.erb:29:24:31:10 | Exit | | | cfg.html.erb:29:24:31:10 | do ... end | cfg.html.erb:29:8:31:10 | call to each | | -| cfg.html.erb:29:24:31:10 | enter do ... end | cfg.html.erb:29:28:29:30 | key | | -| cfg.html.erb:29:24:31:10 | exit do ... end (normal) | cfg.html.erb:29:24:31:10 | exit do ... end | | | cfg.html.erb:29:28:29:30 | key | cfg.html.erb:29:33:29:37 | value | | -| cfg.html.erb:29:33:29:37 | value | cfg.html.erb:30:23:30:25 | key | | +| cfg.html.erb:29:33:29:37 | value | cfg.html.erb:30:23:30:41 | ... | | | cfg.html.erb:30:23:30:25 | key | cfg.html.erb:30:35:30:39 | value | | -| cfg.html.erb:30:35:30:39 | value | cfg.html.erb:29:24:31:10 | exit do ... end (normal) | | -| cfg.rb:1:1:1:12 | bar | cfg.rb:3:1:3:13 | alias ... | | -| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:16:3:16:14 | self | | -| cfg.rb:1:1:221:1 | exit cfg.rb (normal) | cfg.rb:1:1:221:1 | exit cfg.rb | | -| cfg.rb:3:1:3:13 | alias ... | cfg.rb:3:7:3:9 | foo | | +| cfg.html.erb:30:23:30:41 | ... | cfg.html.erb:30:23:30:25 | key | | +| cfg.html.erb:30:23:30:41 | After ... | cfg.html.erb:29:24:31:10 | Normal Exit | | +| cfg.html.erb:30:35:30:39 | value | cfg.html.erb:30:23:30:41 | After ... | | +| cfg.rb:1:1:1:12 | bar | cfg.rb:3:1:3:13 | Before alias ... | | +| cfg.rb:1:1:221:1 | Entry | cfg.rb:15:1:17:1 | BEGIN { ... } | | +| cfg.rb:1:1:221:1 | Exceptional Exit | cfg.rb:1:1:221:1 | Exit | | +| cfg.rb:1:1:221:1 | Normal Exit | cfg.rb:1:1:221:1 | Exit | | +| cfg.rb:3:1:3:13 | After alias ... | cfg.rb:5:1:5:6 | Before ... = ... | | +| cfg.rb:3:1:3:13 | Before alias ... | cfg.rb:3:7:3:9 | foo | | +| cfg.rb:3:1:3:13 | alias ... | cfg.rb:3:1:3:13 | After alias ... | | | cfg.rb:3:7:3:9 | foo | cfg.rb:3:11:3:13 | bar | | -| cfg.rb:3:11:3:13 | bar | cfg.rb:5:1:5:1 | b | | +| cfg.rb:3:11:3:13 | bar | cfg.rb:3:1:3:13 | alias ... | | | cfg.rb:5:1:5:1 | b | cfg.rb:5:5:5:6 | 42 | | -| cfg.rb:5:1:5:6 | ... = ... | cfg.rb:7:1:7:21 | Array | | +| cfg.rb:5:1:5:6 | ... = ... | cfg.rb:5:1:5:6 | After ... = ... | | +| cfg.rb:5:1:5:6 | After ... = ... | cfg.rb:7:1:7:21 | Before call to [] | | +| cfg.rb:5:1:5:6 | Before ... = ... | cfg.rb:5:1:5:1 | b | | | cfg.rb:5:5:5:6 | 42 | cfg.rb:5:1:5:6 | ... = ... | | -| cfg.rb:7:1:7:21 | Array | cfg.rb:7:4:7:6 | one | | -| cfg.rb:7:1:7:21 | call to [] | cfg.rb:9:1:9:21 | Array | | -| cfg.rb:7:4:7:6 | one | cfg.rb:7:10:7:10 | b | | -| cfg.rb:7:4:7:12 | :"one#{...}" | cfg.rb:7:14:7:20 | another | | -| cfg.rb:7:7:7:12 | #{...} | cfg.rb:7:4:7:12 | :"one#{...}" | | -| cfg.rb:7:10:7:10 | b | cfg.rb:7:7:7:12 | #{...} | | -| cfg.rb:7:14:7:20 | :"another" | cfg.rb:7:1:7:21 | call to [] | | +| cfg.rb:7:1:7:21 | After call to [] | cfg.rb:9:1:9:21 | Before call to [] | | +| cfg.rb:7:1:7:21 | Array | cfg.rb:7:4:7:12 | Before :"one#{...}" | | +| cfg.rb:7:1:7:21 | Before call to [] | cfg.rb:7:1:7:21 | Array | | +| cfg.rb:7:1:7:21 | call to [] | cfg.rb:7:1:7:21 | After call to [] | | +| cfg.rb:7:4:7:6 | one | cfg.rb:7:7:7:12 | #{...} | | +| cfg.rb:7:4:7:12 | :"one#{...}" | cfg.rb:7:4:7:12 | After :"one#{...}" | | +| cfg.rb:7:4:7:12 | After :"one#{...}" | cfg.rb:7:14:7:20 | Before :"another" | | +| cfg.rb:7:4:7:12 | Before :"one#{...}" | cfg.rb:7:4:7:6 | one | | +| cfg.rb:7:7:7:12 | #{...} | cfg.rb:7:10:7:10 | b | | +| cfg.rb:7:7:7:12 | After #{...} | cfg.rb:7:4:7:12 | :"one#{...}" | | +| cfg.rb:7:10:7:10 | b | cfg.rb:7:7:7:12 | After #{...} | | +| cfg.rb:7:14:7:20 | :"another" | cfg.rb:7:14:7:20 | After :"another" | | +| cfg.rb:7:14:7:20 | After :"another" | cfg.rb:7:1:7:21 | call to [] | | +| cfg.rb:7:14:7:20 | Before :"another" | cfg.rb:7:14:7:20 | another | | | cfg.rb:7:14:7:20 | another | cfg.rb:7:14:7:20 | :"another" | | -| cfg.rb:9:1:9:21 | Array | cfg.rb:9:4:9:6 | one | | -| cfg.rb:9:1:9:21 | call to [] | cfg.rb:12:3:12:8 | self | | -| cfg.rb:9:4:9:6 | one | cfg.rb:9:10:9:10 | b | | -| cfg.rb:9:4:9:12 | "one#{...}" | cfg.rb:9:14:9:20 | another | | -| cfg.rb:9:7:9:12 | #{...} | cfg.rb:9:4:9:12 | "one#{...}" | | -| cfg.rb:9:10:9:10 | b | cfg.rb:9:7:9:12 | #{...} | | -| cfg.rb:9:14:9:20 | "another" | cfg.rb:9:1:9:21 | call to [] | | +| cfg.rb:9:1:9:21 | After call to [] | cfg.rb:11:1:13:3 | begin ... | | +| cfg.rb:9:1:9:21 | Array | cfg.rb:9:4:9:12 | Before "one#{...}" | | +| cfg.rb:9:1:9:21 | Before call to [] | cfg.rb:9:1:9:21 | Array | | +| cfg.rb:9:1:9:21 | call to [] | cfg.rb:9:1:9:21 | After call to [] | | +| cfg.rb:9:4:9:6 | one | cfg.rb:9:7:9:12 | #{...} | | +| cfg.rb:9:4:9:12 | "one#{...}" | cfg.rb:9:4:9:12 | After "one#{...}" | | +| cfg.rb:9:4:9:12 | After "one#{...}" | cfg.rb:9:14:9:20 | Before "another" | | +| cfg.rb:9:4:9:12 | Before "one#{...}" | cfg.rb:9:4:9:6 | one | | +| cfg.rb:9:7:9:12 | #{...} | cfg.rb:9:10:9:10 | b | | +| cfg.rb:9:7:9:12 | After #{...} | cfg.rb:9:4:9:12 | "one#{...}" | | +| cfg.rb:9:10:9:10 | b | cfg.rb:9:7:9:12 | After #{...} | | +| cfg.rb:9:14:9:20 | "another" | cfg.rb:9:14:9:20 | After "another" | | +| cfg.rb:9:14:9:20 | After "another" | cfg.rb:9:1:9:21 | call to [] | | +| cfg.rb:9:14:9:20 | Before "another" | cfg.rb:9:14:9:20 | another | | | cfg.rb:9:14:9:20 | another | cfg.rb:9:14:9:20 | "another" | | -| cfg.rb:12:3:12:8 | call to puts | cfg.rb:19:1:21:1 | END { ... } | | +| cfg.rb:11:1:13:3 | After begin ... | cfg.rb:19:1:21:1 | END { ... } | | +| cfg.rb:11:1:13:3 | begin ... | cfg.rb:12:3:12:8 | Before call to puts | | +| cfg.rb:12:3:12:8 | After call to puts | cfg.rb:11:1:13:3 | After begin ... | | +| cfg.rb:12:3:12:8 | Before call to puts | cfg.rb:12:3:12:8 | self | | +| cfg.rb:12:3:12:8 | call to puts | cfg.rb:12:3:12:8 | After call to puts | | | cfg.rb:12:3:12:8 | self | cfg.rb:12:8:12:8 | 4 | | | cfg.rb:12:8:12:8 | 4 | cfg.rb:12:3:12:8 | call to puts | | -| cfg.rb:15:1:17:1 | BEGIN { ... } | cfg.rb:1:1:1:12 | bar | | -| cfg.rb:16:3:16:14 | call to puts | cfg.rb:15:1:17:1 | BEGIN { ... } | | -| cfg.rb:16:3:16:14 | self | cfg.rb:16:9:16:13 | hello | | -| cfg.rb:16:8:16:14 | "hello" | cfg.rb:16:3:16:14 | call to puts | | +| cfg.rb:15:1:17:1 | After BEGIN { ... } | cfg.rb:1:1:1:12 | bar | | +| cfg.rb:15:1:17:1 | BEGIN { ... } | cfg.rb:16:3:16:14 | Before call to puts | | +| cfg.rb:16:3:16:14 | After call to puts | cfg.rb:15:1:17:1 | After BEGIN { ... } | | +| cfg.rb:16:3:16:14 | Before call to puts | cfg.rb:16:3:16:14 | self | | +| cfg.rb:16:3:16:14 | call to puts | cfg.rb:16:3:16:14 | After call to puts | | +| cfg.rb:16:3:16:14 | self | cfg.rb:16:8:16:14 | Before "hello" | | +| cfg.rb:16:8:16:14 | "hello" | cfg.rb:16:8:16:14 | After "hello" | | +| cfg.rb:16:8:16:14 | After "hello" | cfg.rb:16:3:16:14 | call to puts | | +| cfg.rb:16:8:16:14 | Before "hello" | cfg.rb:16:9:16:13 | hello | | | cfg.rb:16:9:16:13 | hello | cfg.rb:16:8:16:14 | "hello" | | -| cfg.rb:19:1:21:1 | END { ... } | cfg.rb:23:1:23:2 | 41 | | +| cfg.rb:19:1:21:1 | After END { ... } | cfg.rb:23:1:23:6 | Before ... + ... | | +| cfg.rb:19:1:21:1 | END { ... } | cfg.rb:20:3:20:14 | Before call to puts | | +| cfg.rb:20:3:20:14 | After call to puts | cfg.rb:19:1:21:1 | After END { ... } | | +| cfg.rb:20:3:20:14 | Before call to puts | cfg.rb:20:3:20:14 | self | | +| cfg.rb:20:3:20:14 | call to puts | cfg.rb:20:3:20:14 | After call to puts | | +| cfg.rb:20:3:20:14 | self | cfg.rb:20:8:20:14 | Before "world" | | +| cfg.rb:20:8:20:14 | "world" | cfg.rb:20:8:20:14 | After "world" | | +| cfg.rb:20:8:20:14 | After "world" | cfg.rb:20:3:20:14 | call to puts | | +| cfg.rb:20:8:20:14 | Before "world" | cfg.rb:20:9:20:13 | world | | +| cfg.rb:20:9:20:13 | world | cfg.rb:20:8:20:14 | "world" | | | cfg.rb:23:1:23:2 | 41 | cfg.rb:23:6:23:6 | 1 | | -| cfg.rb:23:1:23:6 | ... + ... | cfg.rb:25:1:25:1 | 2 | | +| cfg.rb:23:1:23:6 | ... + ... | cfg.rb:23:1:23:6 | After ... + ... | | +| cfg.rb:23:1:23:6 | After ... + ... | cfg.rb:25:1:25:22 | Before call to times | | +| cfg.rb:23:1:23:6 | Before ... + ... | cfg.rb:23:1:23:2 | 41 | | | cfg.rb:23:6:23:6 | 1 | cfg.rb:23:1:23:6 | ... + ... | | | cfg.rb:25:1:25:1 | 2 | cfg.rb:25:9:25:22 | { ... } | | -| cfg.rb:25:1:25:22 | call to times | cfg.rb:27:1:27:11 | self | | -| cfg.rb:25:9:25:22 | enter { ... } | cfg.rb:25:12:25:12 | x | | -| cfg.rb:25:9:25:22 | exit { ... } (normal) | cfg.rb:25:9:25:22 | exit { ... } | | +| cfg.rb:25:1:25:22 | After call to times | cfg.rb:27:1:27:11 | Before call to puts | | +| cfg.rb:25:1:25:22 | Before call to times | cfg.rb:25:1:25:1 | 2 | | +| cfg.rb:25:1:25:22 | call to times | cfg.rb:25:1:25:22 | After call to times | | +| cfg.rb:25:9:25:22 | Entry | cfg.rb:25:12:25:12 | x | | +| cfg.rb:25:9:25:22 | Normal Exit | cfg.rb:25:9:25:22 | Exit | | | cfg.rb:25:9:25:22 | { ... } | cfg.rb:25:1:25:22 | call to times | | -| cfg.rb:25:12:25:12 | x | cfg.rb:25:15:25:20 | self | | -| cfg.rb:25:15:25:20 | call to puts | cfg.rb:25:9:25:22 | exit { ... } (normal) | | +| cfg.rb:25:12:25:12 | x | cfg.rb:25:15:25:20 | ... | | +| cfg.rb:25:15:25:20 | ... | cfg.rb:25:15:25:20 | Before call to puts | | +| cfg.rb:25:15:25:20 | After ... | cfg.rb:25:9:25:22 | Normal Exit | | +| cfg.rb:25:15:25:20 | After call to puts | cfg.rb:25:15:25:20 | After ... | | +| cfg.rb:25:15:25:20 | Before call to puts | cfg.rb:25:15:25:20 | self | | +| cfg.rb:25:15:25:20 | call to puts | cfg.rb:25:15:25:20 | After call to puts | | | cfg.rb:25:15:25:20 | self | cfg.rb:25:20:25:20 | x | | | cfg.rb:25:20:25:20 | x | cfg.rb:25:15:25:20 | call to puts | | -| cfg.rb:27:1:27:11 | call to puts | cfg.rb:29:1:29:4 | Proc | | -| cfg.rb:27:1:27:11 | self | cfg.rb:27:7:27:11 | puts | | -| cfg.rb:27:6:27:11 | &... | cfg.rb:27:1:27:11 | call to puts | | -| cfg.rb:27:7:27:11 | :puts | cfg.rb:27:6:27:11 | &... | | +| cfg.rb:27:1:27:11 | After call to puts | cfg.rb:29:1:29:24 | Before call to new | | +| cfg.rb:27:1:27:11 | Before call to puts | cfg.rb:27:1:27:11 | self | | +| cfg.rb:27:1:27:11 | call to puts | cfg.rb:27:1:27:11 | After call to puts | | +| cfg.rb:27:1:27:11 | self | cfg.rb:27:6:27:11 | Before &... | | +| cfg.rb:27:6:27:11 | &... | cfg.rb:27:6:27:11 | After &... | | +| cfg.rb:27:6:27:11 | After &... | cfg.rb:27:1:27:11 | call to puts | | +| cfg.rb:27:6:27:11 | Before &... | cfg.rb:27:7:27:11 | Before :puts | | +| cfg.rb:27:7:27:11 | :puts | cfg.rb:27:7:27:11 | After :puts | | +| cfg.rb:27:7:27:11 | After :puts | cfg.rb:27:6:27:11 | &... | | +| cfg.rb:27:7:27:11 | Before :puts | cfg.rb:27:7:27:11 | puts | | | cfg.rb:27:7:27:11 | puts | cfg.rb:27:7:27:11 | :puts | | | cfg.rb:29:1:29:4 | Proc | cfg.rb:29:10:29:24 | { ... } | | -| cfg.rb:29:1:29:24 | call to new | cfg.rb:31:7:31:10 | true | | -| cfg.rb:29:10:29:24 | enter { ... } | cfg.rb:29:14:29:14 | x | | -| cfg.rb:29:10:29:24 | exit { ... } (normal) | cfg.rb:29:10:29:24 | exit { ... } | | +| cfg.rb:29:1:29:24 | After call to new | cfg.rb:31:1:33:3 | while ... | | +| cfg.rb:29:1:29:24 | Before call to new | cfg.rb:29:1:29:4 | Proc | | +| cfg.rb:29:1:29:24 | call to new | cfg.rb:29:1:29:24 | After call to new | | +| cfg.rb:29:10:29:24 | Entry | cfg.rb:29:14:29:14 | x | | +| cfg.rb:29:10:29:24 | Normal Exit | cfg.rb:29:10:29:24 | Exit | | | cfg.rb:29:10:29:24 | { ... } | cfg.rb:29:1:29:24 | call to new | | -| cfg.rb:29:14:29:14 | x | cfg.rb:29:17:29:17 | x | | +| cfg.rb:29:14:29:14 | x | cfg.rb:29:17:29:22 | ... | | | cfg.rb:29:17:29:17 | x | cfg.rb:29:17:29:22 | call to call | | -| cfg.rb:29:17:29:22 | call to call | cfg.rb:29:10:29:24 | exit { ... } (normal) | | -| cfg.rb:31:1:33:3 | while ... | cfg.rb:35:4:35:8 | false | | -| cfg.rb:31:7:31:10 | true | cfg.rb:32:9:32:9 | 1 | true | -| cfg.rb:32:3:32:9 | break | cfg.rb:31:1:33:3 | while ... | break | +| cfg.rb:29:17:29:22 | ... | cfg.rb:29:17:29:22 | Before call to call | | +| cfg.rb:29:17:29:22 | After ... | cfg.rb:29:10:29:24 | Normal Exit | | +| cfg.rb:29:17:29:22 | After call to call | cfg.rb:29:17:29:22 | After ... | | +| cfg.rb:29:17:29:22 | Before call to call | cfg.rb:29:17:29:17 | x | | +| cfg.rb:29:17:29:22 | call to call | cfg.rb:29:17:29:22 | After call to call | | +| cfg.rb:31:1:33:3 | After while ... | cfg.rb:35:1:37:3 | if ... | | +| cfg.rb:31:1:33:3 | [LoopHeader] while ... | cfg.rb:31:7:31:10 | true | | +| cfg.rb:31:1:33:3 | while ... | cfg.rb:31:1:33:3 | [LoopHeader] while ... | | +| cfg.rb:31:7:31:10 | After true [true] | cfg.rb:31:11:33:3 | do ... | | +| cfg.rb:31:7:31:10 | true | cfg.rb:31:7:31:10 | After true [true] | true | +| cfg.rb:31:11:33:3 | do ... | cfg.rb:32:3:32:9 | Before break | | +| cfg.rb:32:3:32:9 | Before break | cfg.rb:32:9:32:9 | 1 | | +| cfg.rb:32:3:32:9 | break | cfg.rb:31:1:33:3 | After while ... | break | | cfg.rb:32:9:32:9 | 1 | cfg.rb:32:3:32:9 | break | | -| cfg.rb:35:1:37:3 | if ... | cfg.rb:39:1:39:4 | self | | -| cfg.rb:35:4:35:8 | false | cfg.rb:35:1:37:3 | if ... | false | +| cfg.rb:35:1:37:3 | After if ... | cfg.rb:39:1:39:12 | Before call to puts | | +| cfg.rb:35:1:37:3 | if ... | cfg.rb:35:4:35:8 | false | | +| cfg.rb:35:4:35:8 | After false [false] | cfg.rb:35:1:37:3 | After if ... | | +| cfg.rb:35:4:35:8 | false | cfg.rb:35:4:35:8 | After false [false] | false | | cfg.rb:39:1:39:4 | self | cfg.rb:39:11:39:12 | 42 | | -| cfg.rb:39:1:39:12 | call to puts | cfg.rb:41:6:41:7 | 10 | | +| cfg.rb:39:1:39:12 | After call to puts | cfg.rb:41:1:45:3 | case ... | | +| cfg.rb:39:1:39:12 | Before call to puts | cfg.rb:39:1:39:4 | self | | +| cfg.rb:39:1:39:12 | call to puts | cfg.rb:39:1:39:12 | After call to puts | | | cfg.rb:39:11:39:12 | 42 | cfg.rb:39:1:39:12 | call to puts | | -| cfg.rb:41:1:45:3 | case ... | cfg.rb:47:1:50:3 | true | | -| cfg.rb:41:6:41:7 | 10 | cfg.rb:42:8:42:8 | 1 | | -| cfg.rb:42:3:42:24 | [match] when ... | cfg.rb:42:15:42:24 | self | match | -| cfg.rb:42:3:42:24 | [no-match] when ... | cfg.rb:43:8:43:8 | 2 | no-match | -| cfg.rb:42:8:42:8 | 1 | cfg.rb:42:3:42:24 | [match] when ... | match | -| cfg.rb:42:8:42:8 | 1 | cfg.rb:42:3:42:24 | [no-match] when ... | no-match | -| cfg.rb:42:10:42:24 | then ... | cfg.rb:41:1:45:3 | case ... | | -| cfg.rb:42:15:42:24 | call to puts | cfg.rb:42:10:42:24 | then ... | | -| cfg.rb:42:15:42:24 | self | cfg.rb:42:21:42:23 | one | | -| cfg.rb:42:20:42:24 | "one" | cfg.rb:42:15:42:24 | call to puts | | +| cfg.rb:41:1:45:3 | After case ... | cfg.rb:47:1:50:3 | case ... | | +| cfg.rb:41:1:45:3 | case ... | cfg.rb:41:6:41:7 | 10 | | +| cfg.rb:41:6:41:7 | 10 | cfg.rb:42:3:42:24 | when ... | | +| cfg.rb:42:3:42:24 | After when ... [match] | cfg.rb:42:10:42:24 | then ... | | +| cfg.rb:42:3:42:24 | After when ... [no-match] | cfg.rb:43:3:43:31 | when ... | | +| cfg.rb:42:3:42:24 | when ... | cfg.rb:42:8:42:8 | 1 | | +| cfg.rb:42:8:42:8 | 1 | cfg.rb:42:8:42:8 | After 1 [match] | match | +| cfg.rb:42:8:42:8 | 1 | cfg.rb:42:8:42:8 | After 1 [no-match] | no-match | +| cfg.rb:42:8:42:8 | After 1 [match] | cfg.rb:42:3:42:24 | After when ... [match] | match | +| cfg.rb:42:8:42:8 | After 1 [no-match] | cfg.rb:42:3:42:24 | After when ... [no-match] | no-match | +| cfg.rb:42:10:42:24 | After then ... | cfg.rb:41:1:45:3 | After case ... | | +| cfg.rb:42:10:42:24 | then ... | cfg.rb:42:15:42:24 | Before call to puts | | +| cfg.rb:42:15:42:24 | After call to puts | cfg.rb:42:10:42:24 | After then ... | | +| cfg.rb:42:15:42:24 | Before call to puts | cfg.rb:42:15:42:24 | self | | +| cfg.rb:42:15:42:24 | call to puts | cfg.rb:42:15:42:24 | After call to puts | | +| cfg.rb:42:15:42:24 | self | cfg.rb:42:20:42:24 | Before "one" | | +| cfg.rb:42:20:42:24 | "one" | cfg.rb:42:20:42:24 | After "one" | | +| cfg.rb:42:20:42:24 | After "one" | cfg.rb:42:15:42:24 | call to puts | | +| cfg.rb:42:20:42:24 | Before "one" | cfg.rb:42:21:42:23 | one | | | cfg.rb:42:21:42:23 | one | cfg.rb:42:20:42:24 | "one" | | -| cfg.rb:43:3:43:31 | [match] when ... | cfg.rb:43:21:43:31 | self | match | -| cfg.rb:43:3:43:31 | [no-match] when ... | cfg.rb:44:8:44:18 | self | no-match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:11:43:11 | 3 | no-match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:14:43:14 | 4 | no-match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [match] when ... | match | -| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:3:43:31 | [no-match] when ... | no-match | -| cfg.rb:43:16:43:31 | then ... | cfg.rb:41:1:45:3 | case ... | | -| cfg.rb:43:21:43:31 | call to puts | cfg.rb:43:16:43:31 | then ... | | -| cfg.rb:43:21:43:31 | self | cfg.rb:43:27:43:30 | some | | -| cfg.rb:43:26:43:31 | "some" | cfg.rb:43:21:43:31 | call to puts | | +| cfg.rb:43:3:43:31 | After when ... [match] | cfg.rb:43:16:43:31 | then ... | | +| cfg.rb:43:3:43:31 | After when ... [no-match] | cfg.rb:44:3:44:18 | else ... | | +| cfg.rb:43:3:43:31 | when ... | cfg.rb:43:8:43:8 | 2 | | +| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:8:43:8 | After 2 [match] | match | +| cfg.rb:43:8:43:8 | 2 | cfg.rb:43:8:43:8 | After 2 [no-match] | no-match | +| cfg.rb:43:8:43:8 | After 2 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:43:8:43:8 | After 2 [no-match] | cfg.rb:43:11:43:11 | 3 | | +| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:11:43:11 | After 3 [match] | match | +| cfg.rb:43:11:43:11 | 3 | cfg.rb:43:11:43:11 | After 3 [no-match] | no-match | +| cfg.rb:43:11:43:11 | After 3 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:43:11:43:11 | After 3 [no-match] | cfg.rb:43:14:43:14 | 4 | | +| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:14:43:14 | After 4 [match] | match | +| cfg.rb:43:14:43:14 | 4 | cfg.rb:43:14:43:14 | After 4 [no-match] | no-match | +| cfg.rb:43:14:43:14 | After 4 [match] | cfg.rb:43:3:43:31 | After when ... [match] | match | +| cfg.rb:43:14:43:14 | After 4 [no-match] | cfg.rb:43:3:43:31 | After when ... [no-match] | no-match | +| cfg.rb:43:16:43:31 | After then ... | cfg.rb:41:1:45:3 | After case ... | | +| cfg.rb:43:16:43:31 | then ... | cfg.rb:43:21:43:31 | Before call to puts | | +| cfg.rb:43:21:43:31 | After call to puts | cfg.rb:43:16:43:31 | After then ... | | +| cfg.rb:43:21:43:31 | Before call to puts | cfg.rb:43:21:43:31 | self | | +| cfg.rb:43:21:43:31 | call to puts | cfg.rb:43:21:43:31 | After call to puts | | +| cfg.rb:43:21:43:31 | self | cfg.rb:43:26:43:31 | Before "some" | | +| cfg.rb:43:26:43:31 | "some" | cfg.rb:43:26:43:31 | After "some" | | +| cfg.rb:43:26:43:31 | After "some" | cfg.rb:43:21:43:31 | call to puts | | +| cfg.rb:43:26:43:31 | Before "some" | cfg.rb:43:27:43:30 | some | | | cfg.rb:43:27:43:30 | some | cfg.rb:43:26:43:31 | "some" | | -| cfg.rb:44:3:44:18 | else ... | cfg.rb:41:1:45:3 | case ... | | -| cfg.rb:44:8:44:18 | call to puts | cfg.rb:44:3:44:18 | else ... | | -| cfg.rb:44:8:44:18 | self | cfg.rb:44:14:44:17 | many | | -| cfg.rb:44:13:44:18 | "many" | cfg.rb:44:8:44:18 | call to puts | | +| cfg.rb:44:3:44:18 | After else ... | cfg.rb:41:1:45:3 | After case ... | | +| cfg.rb:44:3:44:18 | After else ... [match] | cfg.rb:44:3:44:18 | else ... | | +| cfg.rb:44:3:44:18 | else ... | cfg.rb:44:3:44:18 | After else ... [match] | match | +| cfg.rb:44:3:44:18 | else ... | cfg.rb:44:8:44:18 | Before call to puts | | +| cfg.rb:44:8:44:18 | After call to puts | cfg.rb:44:3:44:18 | After else ... | | +| cfg.rb:44:8:44:18 | Before call to puts | cfg.rb:44:8:44:18 | self | | +| cfg.rb:44:8:44:18 | call to puts | cfg.rb:44:8:44:18 | After call to puts | | +| cfg.rb:44:8:44:18 | self | cfg.rb:44:13:44:18 | Before "many" | | +| cfg.rb:44:13:44:18 | "many" | cfg.rb:44:13:44:18 | After "many" | | +| cfg.rb:44:13:44:18 | After "many" | cfg.rb:44:8:44:18 | call to puts | | +| cfg.rb:44:13:44:18 | Before "many" | cfg.rb:44:14:44:17 | many | | | cfg.rb:44:14:44:17 | many | cfg.rb:44:13:44:18 | "many" | | -| cfg.rb:47:1:50:3 | case ... | cfg.rb:52:1:52:7 | chained | | -| cfg.rb:47:1:50:3 | true | cfg.rb:48:8:48:8 | b | | -| cfg.rb:48:3:48:29 | [match] when ... | cfg.rb:48:20:48:29 | self | match | -| cfg.rb:48:3:48:29 | [no-match] when ... | cfg.rb:49:8:49:8 | b | no-match | +| cfg.rb:47:1:50:3 | After case ... | cfg.rb:52:1:52:35 | Before ... = ... | | +| cfg.rb:47:1:50:3 | case ... | cfg.rb:47:1:50:3 | true | | +| cfg.rb:47:1:50:3 | true | cfg.rb:48:3:48:29 | when ... | | +| cfg.rb:48:3:48:29 | After when ... [match] | cfg.rb:48:15:48:29 | then ... | | +| cfg.rb:48:3:48:29 | After when ... [no-match] | cfg.rb:49:3:49:37 | when ... | | +| cfg.rb:48:3:48:29 | when ... | cfg.rb:48:8:48:13 | Before ... == ... | | | cfg.rb:48:8:48:8 | b | cfg.rb:48:13:48:13 | 1 | | -| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:3:48:29 | [match] when ... | match | -| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:3:48:29 | [no-match] when ... | no-match | +| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:8:48:13 | After ... == ... [match] | match | +| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:8:48:13 | After ... == ... [no-match] | no-match | +| cfg.rb:48:8:48:13 | After ... == ... [match] | cfg.rb:48:3:48:29 | After when ... [match] | match | +| cfg.rb:48:8:48:13 | After ... == ... [no-match] | cfg.rb:48:3:48:29 | After when ... [no-match] | no-match | +| cfg.rb:48:8:48:13 | Before ... == ... | cfg.rb:48:8:48:8 | b | | | cfg.rb:48:13:48:13 | 1 | cfg.rb:48:8:48:13 | ... == ... | | -| cfg.rb:48:15:48:29 | then ... | cfg.rb:47:1:50:3 | case ... | | -| cfg.rb:48:20:48:29 | call to puts | cfg.rb:48:15:48:29 | then ... | | -| cfg.rb:48:20:48:29 | self | cfg.rb:48:26:48:28 | one | | -| cfg.rb:48:25:48:29 | "one" | cfg.rb:48:20:48:29 | call to puts | | +| cfg.rb:48:15:48:29 | After then ... | cfg.rb:47:1:50:3 | After case ... | | +| cfg.rb:48:15:48:29 | then ... | cfg.rb:48:20:48:29 | Before call to puts | | +| cfg.rb:48:20:48:29 | After call to puts | cfg.rb:48:15:48:29 | After then ... | | +| cfg.rb:48:20:48:29 | Before call to puts | cfg.rb:48:20:48:29 | self | | +| cfg.rb:48:20:48:29 | call to puts | cfg.rb:48:20:48:29 | After call to puts | | +| cfg.rb:48:20:48:29 | self | cfg.rb:48:25:48:29 | Before "one" | | +| cfg.rb:48:25:48:29 | "one" | cfg.rb:48:25:48:29 | After "one" | | +| cfg.rb:48:25:48:29 | After "one" | cfg.rb:48:20:48:29 | call to puts | | +| cfg.rb:48:25:48:29 | Before "one" | cfg.rb:48:26:48:28 | one | | | cfg.rb:48:26:48:28 | one | cfg.rb:48:25:48:29 | "one" | | -| cfg.rb:49:3:49:37 | [match] when ... | cfg.rb:49:27:49:37 | self | match | -| cfg.rb:49:3:49:37 | [no-match] when ... | cfg.rb:47:1:50:3 | case ... | no-match | +| cfg.rb:49:3:49:37 | After when ... [match] | cfg.rb:49:22:49:37 | then ... | | +| cfg.rb:49:3:49:37 | After when ... [no-match] | cfg.rb:47:1:50:3 | After case ... | | +| cfg.rb:49:3:49:37 | when ... | cfg.rb:49:8:49:13 | Before ... == ... | | | cfg.rb:49:8:49:8 | b | cfg.rb:49:13:49:13 | 0 | | -| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:3:49:37 | [match] when ... | match | -| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:16:49:16 | b | no-match | +| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:8:49:13 | After ... == ... [match] | match | +| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:8:49:13 | After ... == ... [no-match] | no-match | +| cfg.rb:49:8:49:13 | After ... == ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | match | +| cfg.rb:49:8:49:13 | After ... == ... [no-match] | cfg.rb:49:16:49:20 | Before ... > ... | | +| cfg.rb:49:8:49:13 | Before ... == ... | cfg.rb:49:8:49:8 | b | | | cfg.rb:49:13:49:13 | 0 | cfg.rb:49:8:49:13 | ... == ... | | | cfg.rb:49:16:49:16 | b | cfg.rb:49:20:49:20 | 1 | | -| cfg.rb:49:16:49:20 | ... > ... | cfg.rb:49:3:49:37 | [match] when ... | match | -| cfg.rb:49:16:49:20 | ... > ... | cfg.rb:49:3:49:37 | [no-match] when ... | no-match | +| cfg.rb:49:16:49:20 | ... > ... | cfg.rb:49:16:49:20 | After ... > ... [match] | match | +| cfg.rb:49:16:49:20 | ... > ... | cfg.rb:49:16:49:20 | After ... > ... [no-match] | no-match | +| cfg.rb:49:16:49:20 | After ... > ... [match] | cfg.rb:49:3:49:37 | After when ... [match] | match | +| cfg.rb:49:16:49:20 | After ... > ... [no-match] | cfg.rb:49:3:49:37 | After when ... [no-match] | no-match | +| cfg.rb:49:16:49:20 | Before ... > ... | cfg.rb:49:16:49:16 | b | | | cfg.rb:49:20:49:20 | 1 | cfg.rb:49:16:49:20 | ... > ... | | -| cfg.rb:49:22:49:37 | then ... | cfg.rb:47:1:50:3 | case ... | | -| cfg.rb:49:27:49:37 | call to puts | cfg.rb:49:22:49:37 | then ... | | -| cfg.rb:49:27:49:37 | self | cfg.rb:49:33:49:36 | some | | -| cfg.rb:49:32:49:37 | "some" | cfg.rb:49:27:49:37 | call to puts | | +| cfg.rb:49:22:49:37 | After then ... | cfg.rb:47:1:50:3 | After case ... | | +| cfg.rb:49:22:49:37 | then ... | cfg.rb:49:27:49:37 | Before call to puts | | +| cfg.rb:49:27:49:37 | After call to puts | cfg.rb:49:22:49:37 | After then ... | | +| cfg.rb:49:27:49:37 | Before call to puts | cfg.rb:49:27:49:37 | self | | +| cfg.rb:49:27:49:37 | call to puts | cfg.rb:49:27:49:37 | After call to puts | | +| cfg.rb:49:27:49:37 | self | cfg.rb:49:32:49:37 | Before "some" | | +| cfg.rb:49:32:49:37 | "some" | cfg.rb:49:32:49:37 | After "some" | | +| cfg.rb:49:32:49:37 | After "some" | cfg.rb:49:27:49:37 | call to puts | | +| cfg.rb:49:32:49:37 | Before "some" | cfg.rb:49:33:49:36 | some | | | cfg.rb:49:33:49:36 | some | cfg.rb:49:32:49:37 | "some" | | -| cfg.rb:52:1:52:7 | chained | cfg.rb:52:12:52:12 | a | | -| cfg.rb:52:1:52:35 | ... = ... | cfg.rb:54:1:54:9 | character | | -| cfg.rb:52:11:52:13 | "a" | cfg.rb:52:18:52:24 | chained | | -| cfg.rb:52:11:52:35 | "..." "..." | cfg.rb:52:1:52:35 | ... = ... | | +| cfg.rb:52:1:52:7 | chained | cfg.rb:52:11:52:35 | Before "..." "..." | | +| cfg.rb:52:1:52:35 | ... = ... | cfg.rb:52:1:52:35 | After ... = ... | | +| cfg.rb:52:1:52:35 | After ... = ... | cfg.rb:54:1:54:17 | Before ... = ... | | +| cfg.rb:52:1:52:35 | Before ... = ... | cfg.rb:52:1:52:7 | chained | | +| cfg.rb:52:11:52:13 | "a" | cfg.rb:52:11:52:13 | After "a" | | +| cfg.rb:52:11:52:13 | After "a" | cfg.rb:52:15:52:26 | Before "#{...}" | | +| cfg.rb:52:11:52:13 | Before "a" | cfg.rb:52:12:52:12 | a | | +| cfg.rb:52:11:52:35 | "..." "..." | cfg.rb:52:11:52:35 | After "..." "..." | | +| cfg.rb:52:11:52:35 | After "..." "..." | cfg.rb:52:1:52:35 | ... = ... | | +| cfg.rb:52:11:52:35 | Before "..." "..." | cfg.rb:52:11:52:13 | Before "a" | | | cfg.rb:52:12:52:12 | a | cfg.rb:52:11:52:13 | "a" | | -| cfg.rb:52:15:52:26 | "#{...}" | cfg.rb:52:29:52:34 | string | | -| cfg.rb:52:16:52:25 | #{...} | cfg.rb:52:15:52:26 | "#{...}" | | -| cfg.rb:52:18:52:24 | chained | cfg.rb:52:16:52:25 | #{...} | | -| cfg.rb:52:28:52:35 | "string" | cfg.rb:52:11:52:35 | "..." "..." | | +| cfg.rb:52:15:52:26 | "#{...}" | cfg.rb:52:15:52:26 | After "#{...}" | | +| cfg.rb:52:15:52:26 | After "#{...}" | cfg.rb:52:28:52:35 | Before "string" | | +| cfg.rb:52:15:52:26 | Before "#{...}" | cfg.rb:52:16:52:25 | #{...} | | +| cfg.rb:52:16:52:25 | #{...} | cfg.rb:52:18:52:24 | chained | | +| cfg.rb:52:16:52:25 | After #{...} | cfg.rb:52:15:52:26 | "#{...}" | | +| cfg.rb:52:18:52:24 | chained | cfg.rb:52:16:52:25 | After #{...} | | +| cfg.rb:52:28:52:35 | "string" | cfg.rb:52:28:52:35 | After "string" | | +| cfg.rb:52:28:52:35 | After "string" | cfg.rb:52:11:52:35 | "..." "..." | | +| cfg.rb:52:28:52:35 | Before "string" | cfg.rb:52:29:52:34 | string | | | cfg.rb:52:29:52:34 | string | cfg.rb:52:28:52:35 | "string" | | | cfg.rb:54:1:54:9 | character | cfg.rb:54:13:54:17 | ?\\x40 | | -| cfg.rb:54:1:54:17 | ... = ... | cfg.rb:58:1:72:3 | Silly | | +| cfg.rb:54:1:54:17 | ... = ... | cfg.rb:54:1:54:17 | After ... = ... | | +| cfg.rb:54:1:54:17 | After ... = ... | cfg.rb:58:1:72:3 | Silly | | +| cfg.rb:54:1:54:17 | Before ... = ... | cfg.rb:54:1:54:9 | character | | | cfg.rb:54:13:54:17 | ?\\x40 | cfg.rb:54:1:54:17 | ... = ... | | +| cfg.rb:58:1:72:3 | After Silly | cfg.rb:74:1:74:6 | Before ... = ... | | | cfg.rb:58:1:72:3 | Silly | cfg.rb:58:15:58:20 | Object | | -| cfg.rb:58:15:58:20 | Object | cfg.rb:59:3:59:9 | complex | | -| cfg.rb:59:3:59:9 | complex | cfg.rb:59:13:59:14 | 10 | | -| cfg.rb:59:3:59:17 | ... = ... | cfg.rb:60:3:60:13 | conditional | | +| cfg.rb:58:15:58:20 | Object | cfg.rb:59:3:59:17 | Before ... = ... | | +| cfg.rb:59:3:59:9 | complex | cfg.rb:59:13:59:17 | Before ... - ... | | +| cfg.rb:59:3:59:17 | ... = ... | cfg.rb:59:3:59:17 | After ... = ... | | +| cfg.rb:59:3:59:17 | After ... = ... | cfg.rb:60:3:60:40 | Before ... = ... | | +| cfg.rb:59:3:59:17 | Before ... = ... | cfg.rb:59:3:59:9 | complex | | | cfg.rb:59:13:59:14 | 10 | cfg.rb:59:16:59:17 | 2i | | -| cfg.rb:59:13:59:17 | ... - ... | cfg.rb:59:3:59:17 | ... = ... | | +| cfg.rb:59:13:59:17 | ... - ... | cfg.rb:59:13:59:17 | After ... - ... | | +| cfg.rb:59:13:59:17 | After ... - ... | cfg.rb:59:3:59:17 | ... = ... | | +| cfg.rb:59:13:59:17 | Before ... - ... | cfg.rb:59:13:59:14 | 10 | | | cfg.rb:59:16:59:17 | 2i | cfg.rb:59:13:59:17 | ... - ... | | -| cfg.rb:60:3:60:13 | conditional | cfg.rb:60:17:60:17 | self | | -| cfg.rb:60:3:60:40 | ... = ... | cfg.rb:61:3:61:3 | C | | -| cfg.rb:60:17:60:17 | call to b | cfg.rb:60:21:60:22 | 10 | | +| cfg.rb:60:3:60:13 | conditional | cfg.rb:60:17:60:40 | ... ? ... : ... | | +| cfg.rb:60:3:60:40 | ... = ... | cfg.rb:60:3:60:40 | After ... = ... | | +| cfg.rb:60:3:60:40 | After ... = ... | cfg.rb:61:3:61:16 | Before ... = ... | | +| cfg.rb:60:3:60:40 | Before ... = ... | cfg.rb:60:3:60:13 | conditional | | +| cfg.rb:60:17:60:17 | After call to b | cfg.rb:60:21:60:22 | 10 | | +| cfg.rb:60:17:60:17 | Before call to b | cfg.rb:60:17:60:17 | self | | +| cfg.rb:60:17:60:17 | call to b | cfg.rb:60:17:60:17 | After call to b | | | cfg.rb:60:17:60:17 | self | cfg.rb:60:17:60:17 | call to b | | -| cfg.rb:60:17:60:22 | ... < ... | cfg.rb:60:27:60:31 | hello | true | -| cfg.rb:60:17:60:22 | ... < ... | cfg.rb:60:37:60:39 | bye | false | -| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:3:60:40 | ... = ... | | +| cfg.rb:60:17:60:22 | ... < ... | cfg.rb:60:17:60:22 | After ... < ... [false] | false | +| cfg.rb:60:17:60:22 | ... < ... | cfg.rb:60:17:60:22 | After ... < ... [true] | true | +| cfg.rb:60:17:60:22 | After ... < ... [false] | cfg.rb:60:36:60:40 | Before "bye" | | +| cfg.rb:60:17:60:22 | After ... < ... [true] | cfg.rb:60:26:60:32 | Before "hello" | | +| cfg.rb:60:17:60:22 | Before ... < ... | cfg.rb:60:17:60:17 | Before call to b | | +| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:60:17:60:22 | Before ... < ... | | +| cfg.rb:60:17:60:40 | After ... ? ... : ... | cfg.rb:60:3:60:40 | ... = ... | | | cfg.rb:60:21:60:22 | 10 | cfg.rb:60:17:60:22 | ... < ... | | -| cfg.rb:60:26:60:32 | "hello" | cfg.rb:60:17:60:40 | ... ? ... : ... | | +| cfg.rb:60:26:60:32 | "hello" | cfg.rb:60:26:60:32 | After "hello" | | +| cfg.rb:60:26:60:32 | After "hello" | cfg.rb:60:17:60:40 | After ... ? ... : ... | | +| cfg.rb:60:26:60:32 | Before "hello" | cfg.rb:60:27:60:31 | hello | | | cfg.rb:60:27:60:31 | hello | cfg.rb:60:26:60:32 | "hello" | | -| cfg.rb:60:36:60:40 | "bye" | cfg.rb:60:17:60:40 | ... ? ... : ... | | +| cfg.rb:60:36:60:40 | "bye" | cfg.rb:60:36:60:40 | After "bye" | | +| cfg.rb:60:36:60:40 | After "bye" | cfg.rb:60:17:60:40 | After ... ? ... : ... | | +| cfg.rb:60:36:60:40 | Before "bye" | cfg.rb:60:37:60:39 | bye | | | cfg.rb:60:37:60:39 | bye | cfg.rb:60:36:60:40 | "bye" | | -| cfg.rb:61:3:61:3 | C | cfg.rb:61:8:61:15 | constant | | -| cfg.rb:61:3:61:16 | ... = ... | cfg.rb:62:17:62:27 | __synth__2 | | -| cfg.rb:61:7:61:16 | "constant" | cfg.rb:61:3:61:16 | ... = ... | | +| cfg.rb:61:3:61:3 | C | cfg.rb:61:7:61:16 | Before "constant" | | +| cfg.rb:61:3:61:16 | ... = ... | cfg.rb:61:3:61:16 | After ... = ... | | +| cfg.rb:61:3:61:16 | After ... = ... | cfg.rb:62:3:62:27 | ... | | +| cfg.rb:61:3:61:16 | Before ... = ... | cfg.rb:61:3:61:3 | C | | +| cfg.rb:61:7:61:16 | "constant" | cfg.rb:61:7:61:16 | After "constant" | | +| cfg.rb:61:7:61:16 | After "constant" | cfg.rb:61:3:61:16 | ... = ... | | +| cfg.rb:61:7:61:16 | Before "constant" | cfg.rb:61:8:61:15 | constant | | | cfg.rb:61:8:61:15 | constant | cfg.rb:61:7:61:16 | "constant" | | -| cfg.rb:62:3:62:27 | ... | cfg.rb:63:3:66:5 | pattern | | +| cfg.rb:62:3:62:27 | ... | cfg.rb:62:17:62:27 | Before ... = ... | | +| cfg.rb:62:3:62:27 | After ... | cfg.rb:63:3:66:5 | pattern | | | cfg.rb:62:4:62:4 | 0 | cfg.rb:62:4:62:4 | call to [] | | -| cfg.rb:62:4:62:4 | ... = ... | cfg.rb:62:7:62:12 | __synth__2__1 | | +| cfg.rb:62:4:62:4 | ... = ... | cfg.rb:62:4:62:4 | After ... = ... | | +| cfg.rb:62:4:62:4 | After ... = ... | cfg.rb:62:7:62:12 | ... | | +| cfg.rb:62:4:62:4 | After call to [] | cfg.rb:62:4:62:4 | ... = ... | | +| cfg.rb:62:4:62:4 | Before ... = ... | cfg.rb:62:4:62:4 | x | | +| cfg.rb:62:4:62:4 | Before call to [] | cfg.rb:62:4:62:4 | __synth__2 | | | cfg.rb:62:4:62:4 | __synth__2 | cfg.rb:62:4:62:4 | 0 | | -| cfg.rb:62:4:62:4 | call to [] | cfg.rb:62:4:62:4 | ... = ... | | -| cfg.rb:62:4:62:4 | x | cfg.rb:62:4:62:4 | __synth__2 | | +| cfg.rb:62:4:62:4 | call to [] | cfg.rb:62:4:62:4 | After call to [] | | +| cfg.rb:62:4:62:4 | x | cfg.rb:62:4:62:4 | Before call to [] | | | cfg.rb:62:7:62:12 | 1 | cfg.rb:62:7:62:12 | call to [] | | -| cfg.rb:62:7:62:12 | * ... | cfg.rb:62:7:62:12 | ... = ... | | -| cfg.rb:62:7:62:12 | ... | cfg.rb:62:3:62:27 | ... | | -| cfg.rb:62:7:62:12 | ... = ... | cfg.rb:62:8:62:8 | y | | +| cfg.rb:62:7:62:12 | * ... | cfg.rb:62:7:62:12 | After * ... | | +| cfg.rb:62:7:62:12 | ... | cfg.rb:62:7:62:12 | Before ... = ... | | +| cfg.rb:62:7:62:12 | ... = ... | cfg.rb:62:7:62:12 | After ... = ... | | +| cfg.rb:62:7:62:12 | After * ... | cfg.rb:62:7:62:12 | ... = ... | | +| cfg.rb:62:7:62:12 | After ... | cfg.rb:62:3:62:27 | After ... | | +| cfg.rb:62:7:62:12 | After ... = ... | cfg.rb:62:8:62:8 | Before ... = ... | | +| cfg.rb:62:7:62:12 | After call to [] | cfg.rb:62:7:62:12 | * ... | | +| cfg.rb:62:7:62:12 | Before * ... | cfg.rb:62:7:62:12 | Before call to [] | | +| cfg.rb:62:7:62:12 | Before ... = ... | cfg.rb:62:7:62:12 | __synth__2__1 | | +| cfg.rb:62:7:62:12 | Before call to [] | cfg.rb:62:7:62:12 | __synth__2 | | | cfg.rb:62:7:62:12 | __synth__2 | cfg.rb:62:7:62:12 | 1 | | -| cfg.rb:62:7:62:12 | __synth__2__1 | cfg.rb:62:7:62:12 | __synth__2 | | -| cfg.rb:62:7:62:12 | call to [] | cfg.rb:62:7:62:12 | * ... | | +| cfg.rb:62:7:62:12 | __synth__2__1 | cfg.rb:62:7:62:12 | Before * ... | | +| cfg.rb:62:7:62:12 | call to [] | cfg.rb:62:7:62:12 | After call to [] | | | cfg.rb:62:8:62:8 | 0 | cfg.rb:62:8:62:8 | call to [] | | -| cfg.rb:62:8:62:8 | ... = ... | cfg.rb:62:11:62:11 | z | | +| cfg.rb:62:8:62:8 | ... = ... | cfg.rb:62:8:62:8 | After ... = ... | | +| cfg.rb:62:8:62:8 | After ... = ... | cfg.rb:62:11:62:11 | Before ... = ... | | +| cfg.rb:62:8:62:8 | After call to [] | cfg.rb:62:8:62:8 | ... = ... | | +| cfg.rb:62:8:62:8 | Before ... = ... | cfg.rb:62:8:62:8 | y | | +| cfg.rb:62:8:62:8 | Before call to [] | cfg.rb:62:8:62:8 | __synth__2__1 | | | cfg.rb:62:8:62:8 | __synth__2__1 | cfg.rb:62:8:62:8 | 0 | | -| cfg.rb:62:8:62:8 | call to [] | cfg.rb:62:8:62:8 | ... = ... | | -| cfg.rb:62:8:62:8 | y | cfg.rb:62:8:62:8 | __synth__2__1 | | +| cfg.rb:62:8:62:8 | call to [] | cfg.rb:62:8:62:8 | After call to [] | | +| cfg.rb:62:8:62:8 | y | cfg.rb:62:8:62:8 | Before call to [] | | | cfg.rb:62:11:62:11 | 1 | cfg.rb:62:11:62:11 | call to [] | | -| cfg.rb:62:11:62:11 | ... = ... | cfg.rb:62:7:62:12 | ... | | +| cfg.rb:62:11:62:11 | ... = ... | cfg.rb:62:11:62:11 | After ... = ... | | +| cfg.rb:62:11:62:11 | After ... = ... | cfg.rb:62:7:62:12 | After ... | | +| cfg.rb:62:11:62:11 | After call to [] | cfg.rb:62:11:62:11 | ... = ... | | +| cfg.rb:62:11:62:11 | Before ... = ... | cfg.rb:62:11:62:11 | z | | +| cfg.rb:62:11:62:11 | Before call to [] | cfg.rb:62:11:62:11 | __synth__2__1 | | | cfg.rb:62:11:62:11 | __synth__2__1 | cfg.rb:62:11:62:11 | 1 | | -| cfg.rb:62:11:62:11 | call to [] | cfg.rb:62:11:62:11 | ... = ... | | -| cfg.rb:62:11:62:11 | z | cfg.rb:62:11:62:11 | __synth__2__1 | | -| cfg.rb:62:17:62:27 | * ... | cfg.rb:62:17:62:27 | ... = ... | | -| cfg.rb:62:17:62:27 | ... = ... | cfg.rb:62:4:62:4 | x | | +| cfg.rb:62:11:62:11 | call to [] | cfg.rb:62:11:62:11 | After call to [] | | +| cfg.rb:62:11:62:11 | z | cfg.rb:62:11:62:11 | Before call to [] | | +| cfg.rb:62:17:62:27 | * ... | cfg.rb:62:17:62:27 | After * ... | | +| cfg.rb:62:17:62:27 | ... = ... | cfg.rb:62:17:62:27 | After ... = ... | | +| cfg.rb:62:17:62:27 | After * ... | cfg.rb:62:17:62:27 | ... = ... | | +| cfg.rb:62:17:62:27 | After ... = ... | cfg.rb:62:4:62:4 | Before ... = ... | | +| cfg.rb:62:17:62:27 | After call to [] | cfg.rb:62:17:62:27 | * ... | | | cfg.rb:62:17:62:27 | Array | cfg.rb:62:18:62:18 | 1 | | -| cfg.rb:62:17:62:27 | __synth__2 | cfg.rb:62:17:62:27 | Array | | -| cfg.rb:62:17:62:27 | call to [] | cfg.rb:62:17:62:27 | * ... | | -| cfg.rb:62:18:62:18 | 1 | cfg.rb:62:21:62:26 | Array | | +| cfg.rb:62:17:62:27 | Before * ... | cfg.rb:62:17:62:27 | Before call to [] | | +| cfg.rb:62:17:62:27 | Before ... = ... | cfg.rb:62:17:62:27 | __synth__2 | | +| cfg.rb:62:17:62:27 | Before call to [] | cfg.rb:62:17:62:27 | Array | | +| cfg.rb:62:17:62:27 | __synth__2 | cfg.rb:62:17:62:27 | Before * ... | | +| cfg.rb:62:17:62:27 | call to [] | cfg.rb:62:17:62:27 | After call to [] | | +| cfg.rb:62:18:62:18 | 1 | cfg.rb:62:21:62:26 | Before call to [] | | +| cfg.rb:62:21:62:26 | After call to [] | cfg.rb:62:17:62:27 | call to [] | | | cfg.rb:62:21:62:26 | Array | cfg.rb:62:22:62:22 | 2 | | -| cfg.rb:62:21:62:26 | call to [] | cfg.rb:62:17:62:27 | call to [] | | +| cfg.rb:62:21:62:26 | Before call to [] | cfg.rb:62:21:62:26 | Array | | +| cfg.rb:62:21:62:26 | call to [] | cfg.rb:62:21:62:26 | After call to [] | | | cfg.rb:62:22:62:22 | 2 | cfg.rb:62:25:62:25 | 3 | | | cfg.rb:62:25:62:25 | 3 | cfg.rb:62:21:62:26 | call to [] | | -| cfg.rb:63:3:66:5 | enter pattern | cfg.rb:63:17:63:17 | a | | -| cfg.rb:63:3:66:5 | exit pattern (normal) | cfg.rb:63:3:66:5 | exit pattern | | -| cfg.rb:63:3:66:5 | pattern | cfg.rb:67:3:67:7 | items | | -| cfg.rb:63:16:63:20 | (..., ...) | cfg.rb:64:5:64:10 | self | | +| cfg.rb:63:3:66:5 | Entry | cfg.rb:63:16:63:20 | (..., ...) | | +| cfg.rb:63:3:66:5 | Normal Exit | cfg.rb:63:3:66:5 | Exit | | +| cfg.rb:63:3:66:5 | pattern | cfg.rb:67:3:67:19 | Before ... = ... | | +| cfg.rb:63:16:63:20 | (..., ...) | cfg.rb:63:17:63:17 | a | | +| cfg.rb:63:16:63:20 | After (..., ...) | cfg.rb:64:5:65:10 | ... | | | cfg.rb:63:17:63:17 | a | cfg.rb:63:19:63:19 | b | | -| cfg.rb:63:19:63:19 | b | cfg.rb:63:16:63:20 | (..., ...) | | -| cfg.rb:64:5:64:10 | call to puts | cfg.rb:65:5:65:10 | self | | +| cfg.rb:63:19:63:19 | b | cfg.rb:63:16:63:20 | After (..., ...) | | +| cfg.rb:64:5:64:10 | After call to puts | cfg.rb:65:5:65:10 | Before call to puts | | +| cfg.rb:64:5:64:10 | Before call to puts | cfg.rb:64:5:64:10 | self | | +| cfg.rb:64:5:64:10 | call to puts | cfg.rb:64:5:64:10 | After call to puts | | | cfg.rb:64:5:64:10 | self | cfg.rb:64:10:64:10 | a | | +| cfg.rb:64:5:65:10 | ... | cfg.rb:64:5:64:10 | Before call to puts | | +| cfg.rb:64:5:65:10 | After ... | cfg.rb:63:3:66:5 | Normal Exit | | | cfg.rb:64:10:64:10 | a | cfg.rb:64:5:64:10 | call to puts | | -| cfg.rb:65:5:65:10 | call to puts | cfg.rb:63:3:66:5 | exit pattern (normal) | | +| cfg.rb:65:5:65:10 | After call to puts | cfg.rb:64:5:65:10 | After ... | | +| cfg.rb:65:5:65:10 | Before call to puts | cfg.rb:65:5:65:10 | self | | +| cfg.rb:65:5:65:10 | call to puts | cfg.rb:65:5:65:10 | After call to puts | | | cfg.rb:65:5:65:10 | self | cfg.rb:65:10:65:10 | b | | | cfg.rb:65:10:65:10 | b | cfg.rb:65:5:65:10 | call to puts | | -| cfg.rb:67:3:67:7 | items | cfg.rb:67:11:67:19 | Array | | -| cfg.rb:67:3:67:19 | ... = ... | cfg.rb:68:3:68:15 | self | | +| cfg.rb:67:3:67:7 | items | cfg.rb:67:11:67:19 | Before call to [] | | +| cfg.rb:67:3:67:19 | ... = ... | cfg.rb:67:3:67:19 | After ... = ... | | +| cfg.rb:67:3:67:19 | After ... = ... | cfg.rb:68:3:68:15 | Before call to puts | | +| cfg.rb:67:3:67:19 | Before ... = ... | cfg.rb:67:3:67:7 | items | | +| cfg.rb:67:11:67:19 | After call to [] | cfg.rb:67:3:67:19 | ... = ... | | | cfg.rb:67:11:67:19 | Array | cfg.rb:67:12:67:12 | 1 | | -| cfg.rb:67:11:67:19 | call to [] | cfg.rb:67:3:67:19 | ... = ... | | +| cfg.rb:67:11:67:19 | Before call to [] | cfg.rb:67:11:67:19 | Array | | +| cfg.rb:67:11:67:19 | call to [] | cfg.rb:67:11:67:19 | After call to [] | | | cfg.rb:67:12:67:12 | 1 | cfg.rb:67:15:67:15 | 2 | | | cfg.rb:67:15:67:15 | 2 | cfg.rb:67:18:67:18 | 3 | | | cfg.rb:67:18:67:18 | 3 | cfg.rb:67:11:67:19 | call to [] | | -| cfg.rb:68:3:68:15 | call to puts | cfg.rb:69:3:71:5 | print | | -| cfg.rb:68:3:68:15 | self | cfg.rb:68:8:68:12 | items | | +| cfg.rb:68:3:68:15 | After call to puts | cfg.rb:69:3:71:5 | print | | +| cfg.rb:68:3:68:15 | Before call to puts | cfg.rb:68:3:68:15 | self | | +| cfg.rb:68:3:68:15 | call to puts | cfg.rb:68:3:68:15 | After call to puts | | +| cfg.rb:68:3:68:15 | self | cfg.rb:68:8:68:15 | Before ...[...] | | | cfg.rb:68:8:68:12 | items | cfg.rb:68:14:68:14 | 2 | | -| cfg.rb:68:8:68:15 | ...[...] | cfg.rb:68:3:68:15 | call to puts | | +| cfg.rb:68:8:68:15 | ...[...] | cfg.rb:68:8:68:15 | After ...[...] | | +| cfg.rb:68:8:68:15 | After ...[...] | cfg.rb:68:3:68:15 | call to puts | | +| cfg.rb:68:8:68:15 | Before ...[...] | cfg.rb:68:8:68:12 | items | | | cfg.rb:68:14:68:14 | 2 | cfg.rb:68:8:68:15 | ...[...] | | -| cfg.rb:69:3:71:5 | enter print | cfg.rb:70:5:70:16 | self | | -| cfg.rb:69:3:71:5 | exit print (normal) | cfg.rb:69:3:71:5 | exit print | | -| cfg.rb:69:3:71:5 | print | cfg.rb:74:1:74:1 | x | | -| cfg.rb:70:5:70:16 | call to puts | cfg.rb:69:3:71:5 | exit print (normal) | | -| cfg.rb:70:5:70:16 | self | cfg.rb:70:11:70:15 | silly | | -| cfg.rb:70:10:70:16 | "silly" | cfg.rb:70:5:70:16 | call to puts | | +| cfg.rb:69:3:71:5 | Entry | cfg.rb:70:5:70:16 | ... | | +| cfg.rb:69:3:71:5 | Normal Exit | cfg.rb:69:3:71:5 | Exit | | +| cfg.rb:69:3:71:5 | print | cfg.rb:58:1:72:3 | After Silly | | +| cfg.rb:70:5:70:16 | ... | cfg.rb:70:5:70:16 | Before call to puts | | +| cfg.rb:70:5:70:16 | After ... | cfg.rb:69:3:71:5 | Normal Exit | | +| cfg.rb:70:5:70:16 | After call to puts | cfg.rb:70:5:70:16 | After ... | | +| cfg.rb:70:5:70:16 | Before call to puts | cfg.rb:70:5:70:16 | self | | +| cfg.rb:70:5:70:16 | call to puts | cfg.rb:70:5:70:16 | After call to puts | | +| cfg.rb:70:5:70:16 | self | cfg.rb:70:10:70:16 | Before "silly" | | +| cfg.rb:70:10:70:16 | "silly" | cfg.rb:70:10:70:16 | After "silly" | | +| cfg.rb:70:10:70:16 | After "silly" | cfg.rb:70:5:70:16 | call to puts | | +| cfg.rb:70:10:70:16 | Before "silly" | cfg.rb:70:11:70:15 | silly | | | cfg.rb:70:11:70:15 | silly | cfg.rb:70:10:70:16 | "silly" | | | cfg.rb:74:1:74:1 | x | cfg.rb:74:5:74:6 | 42 | | -| cfg.rb:74:1:74:6 | ... = ... | cfg.rb:75:4:75:4 | x | | +| cfg.rb:74:1:74:6 | ... = ... | cfg.rb:74:1:74:6 | After ... = ... | | +| cfg.rb:74:1:74:6 | After ... = ... | cfg.rb:75:1:75:47 | if ... | | +| cfg.rb:74:1:74:6 | Before ... = ... | cfg.rb:74:1:74:1 | x | | | cfg.rb:74:5:74:6 | 42 | cfg.rb:74:1:74:6 | ... = ... | | -| cfg.rb:75:1:75:47 | if ... | cfg.rb:78:3:78:3 | ; | | +| cfg.rb:75:1:75:47 | After if ... | cfg.rb:77:1:86:3 | begin ... | | +| cfg.rb:75:1:75:47 | if ... | cfg.rb:75:4:75:8 | Before ... < ... | | | cfg.rb:75:4:75:4 | x | cfg.rb:75:8:75:8 | 0 | | -| cfg.rb:75:4:75:8 | ... < ... | cfg.rb:75:15:75:15 | 0 | true | -| cfg.rb:75:4:75:8 | ... < ... | cfg.rb:75:23:75:23 | x | false | +| cfg.rb:75:4:75:8 | ... < ... | cfg.rb:75:4:75:8 | After ... < ... [false] | false | +| cfg.rb:75:4:75:8 | ... < ... | cfg.rb:75:4:75:8 | After ... < ... [true] | true | +| cfg.rb:75:4:75:8 | After ... < ... [false] | cfg.rb:75:17:75:43 | elsif ... | | +| cfg.rb:75:4:75:8 | After ... < ... [true] | cfg.rb:75:10:75:15 | then ... | | +| cfg.rb:75:4:75:8 | Before ... < ... | cfg.rb:75:4:75:4 | x | | | cfg.rb:75:8:75:8 | 0 | cfg.rb:75:4:75:8 | ... < ... | | -| cfg.rb:75:10:75:15 | then ... | cfg.rb:75:1:75:47 | if ... | | -| cfg.rb:75:15:75:15 | 0 | cfg.rb:75:10:75:15 | then ... | | -| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:1:75:47 | if ... | | +| cfg.rb:75:10:75:15 | After then ... | cfg.rb:75:1:75:47 | After if ... | | +| cfg.rb:75:10:75:15 | then ... | cfg.rb:75:15:75:15 | 0 | | +| cfg.rb:75:15:75:15 | 0 | cfg.rb:75:10:75:15 | After then ... | | +| cfg.rb:75:17:75:43 | After elsif ... | cfg.rb:75:1:75:47 | After if ... | | +| cfg.rb:75:17:75:43 | elsif ... | cfg.rb:75:23:75:28 | Before ... > ... | | | cfg.rb:75:23:75:23 | x | cfg.rb:75:27:75:28 | 10 | | -| cfg.rb:75:23:75:28 | ... > ... | cfg.rb:75:35:75:36 | 10 | true | -| cfg.rb:75:23:75:28 | ... > ... | cfg.rb:75:43:75:43 | x | false | +| cfg.rb:75:23:75:28 | ... > ... | cfg.rb:75:23:75:28 | After ... > ... [false] | false | +| cfg.rb:75:23:75:28 | ... > ... | cfg.rb:75:23:75:28 | After ... > ... [true] | true | +| cfg.rb:75:23:75:28 | After ... > ... [false] | cfg.rb:75:38:75:43 | else ... | | +| cfg.rb:75:23:75:28 | After ... > ... [true] | cfg.rb:75:30:75:36 | then ... | | +| cfg.rb:75:23:75:28 | Before ... > ... | cfg.rb:75:23:75:23 | x | | | cfg.rb:75:27:75:28 | 10 | cfg.rb:75:23:75:28 | ... > ... | | -| cfg.rb:75:30:75:36 | then ... | cfg.rb:75:17:75:43 | elsif ... | | -| cfg.rb:75:35:75:36 | 10 | cfg.rb:75:30:75:36 | then ... | | -| cfg.rb:75:38:75:43 | else ... | cfg.rb:75:17:75:43 | elsif ... | | -| cfg.rb:75:43:75:43 | x | cfg.rb:75:38:75:43 | else ... | | -| cfg.rb:78:3:78:3 | ; | cfg.rb:83:3:83:11 | self | | -| cfg.rb:82:1:83:11 | else ... | cfg.rb:85:3:85:12 | self | | -| cfg.rb:83:3:83:11 | call to puts | cfg.rb:82:1:83:11 | else ... | | -| cfg.rb:83:3:83:11 | self | cfg.rb:83:9:83:10 | ok | | -| cfg.rb:83:8:83:11 | "ok" | cfg.rb:83:3:83:11 | call to puts | | +| cfg.rb:75:30:75:36 | After then ... | cfg.rb:75:17:75:43 | After elsif ... | | +| cfg.rb:75:30:75:36 | then ... | cfg.rb:75:35:75:36 | 10 | | +| cfg.rb:75:35:75:36 | 10 | cfg.rb:75:30:75:36 | After then ... | | +| cfg.rb:75:38:75:43 | After else ... | cfg.rb:75:17:75:43 | After elsif ... | | +| cfg.rb:75:38:75:43 | else ... | cfg.rb:75:43:75:43 | x | | +| cfg.rb:75:43:75:43 | x | cfg.rb:75:38:75:43 | After else ... | | +| cfg.rb:77:1:86:3 | After begin ... | cfg.rb:88:1:88:23 | Before ... = ... | | +| cfg.rb:77:1:86:3 | begin ... | cfg.rb:78:3:78:3 | ; | | +| cfg.rb:78:3:78:3 | ; | cfg.rb:82:1:83:11 | else ... | | +| cfg.rb:82:1:83:11 | After else ... | cfg.rb:84:1:85:12 | ensure ... | | +| cfg.rb:82:1:83:11 | else ... | cfg.rb:83:3:83:11 | Before call to puts | | +| cfg.rb:83:3:83:11 | After call to puts | cfg.rb:82:1:83:11 | After else ... | | +| cfg.rb:83:3:83:11 | Before call to puts | cfg.rb:83:3:83:11 | self | | +| cfg.rb:83:3:83:11 | call to puts | cfg.rb:83:3:83:11 | After call to puts | | +| cfg.rb:83:3:83:11 | self | cfg.rb:83:8:83:11 | Before "ok" | | +| cfg.rb:83:8:83:11 | "ok" | cfg.rb:83:8:83:11 | After "ok" | | +| cfg.rb:83:8:83:11 | After "ok" | cfg.rb:83:3:83:11 | call to puts | | +| cfg.rb:83:8:83:11 | Before "ok" | cfg.rb:83:9:83:10 | ok | | | cfg.rb:83:9:83:10 | ok | cfg.rb:83:8:83:11 | "ok" | | -| cfg.rb:84:1:85:12 | ensure ... | cfg.rb:88:1:88:6 | escape | | -| cfg.rb:85:3:85:12 | call to puts | cfg.rb:84:1:85:12 | ensure ... | | -| cfg.rb:85:3:85:12 | self | cfg.rb:85:9:85:11 | end | | -| cfg.rb:85:8:85:12 | "end" | cfg.rb:85:3:85:12 | call to puts | | +| cfg.rb:84:1:85:12 | After ensure ... | cfg.rb:1:1:221:1 | Exceptional Exit | exception | +| cfg.rb:84:1:85:12 | After ensure ... | cfg.rb:77:1:86:3 | After begin ... | | +| cfg.rb:84:1:85:12 | ensure ... | cfg.rb:85:3:85:12 | Before call to puts | | +| cfg.rb:85:3:85:12 | After call to puts | cfg.rb:84:1:85:12 | After ensure ... | | +| cfg.rb:85:3:85:12 | Before call to puts | cfg.rb:85:3:85:12 | self | | +| cfg.rb:85:3:85:12 | call to puts | cfg.rb:85:3:85:12 | After call to puts | | +| cfg.rb:85:3:85:12 | self | cfg.rb:85:8:85:12 | Before "end" | | +| cfg.rb:85:8:85:12 | "end" | cfg.rb:85:8:85:12 | After "end" | | +| cfg.rb:85:8:85:12 | After "end" | cfg.rb:85:3:85:12 | call to puts | | +| cfg.rb:85:8:85:12 | Before "end" | cfg.rb:85:9:85:11 | end | | | cfg.rb:85:9:85:11 | end | cfg.rb:85:8:85:12 | "end" | | -| cfg.rb:88:1:88:6 | escape | cfg.rb:88:11:88:16 | \\u1234 | | -| cfg.rb:88:1:88:23 | ... = ... | cfg.rb:90:5:90:5 | x | | -| cfg.rb:88:10:88:23 | "\\u1234#{...}\\n" | cfg.rb:88:1:88:23 | ... = ... | | -| cfg.rb:88:11:88:16 | \\u1234 | cfg.rb:88:19:88:19 | x | | -| cfg.rb:88:17:88:20 | #{...} | cfg.rb:88:21:88:22 | \\n | | -| cfg.rb:88:19:88:19 | x | cfg.rb:88:17:88:20 | #{...} | | +| cfg.rb:88:1:88:6 | escape | cfg.rb:88:10:88:23 | Before "\\u1234#{...}\\n" | | +| cfg.rb:88:1:88:23 | ... = ... | cfg.rb:88:1:88:23 | After ... = ... | | +| cfg.rb:88:1:88:23 | After ... = ... | cfg.rb:90:1:93:3 | ... | | +| cfg.rb:88:1:88:23 | Before ... = ... | cfg.rb:88:1:88:6 | escape | | +| cfg.rb:88:10:88:23 | "\\u1234#{...}\\n" | cfg.rb:88:10:88:23 | After "\\u1234#{...}\\n" | | +| cfg.rb:88:10:88:23 | After "\\u1234#{...}\\n" | cfg.rb:88:1:88:23 | ... = ... | | +| cfg.rb:88:10:88:23 | Before "\\u1234#{...}\\n" | cfg.rb:88:11:88:16 | \\u1234 | | +| cfg.rb:88:11:88:16 | \\u1234 | cfg.rb:88:17:88:20 | #{...} | | +| cfg.rb:88:17:88:20 | #{...} | cfg.rb:88:19:88:19 | x | | +| cfg.rb:88:17:88:20 | After #{...} | cfg.rb:88:21:88:22 | \\n | | +| cfg.rb:88:19:88:19 | x | cfg.rb:88:17:88:20 | After #{...} | | | cfg.rb:88:21:88:22 | \\n | cfg.rb:88:10:88:23 | "\\u1234#{...}\\n" | | -| cfg.rb:90:1:93:3 | ... | cfg.rb:95:1:95:7 | $global | | -| cfg.rb:90:1:93:3 | ... = ... | cfg.rb:91:6:91:6 | x | | +| cfg.rb:90:1:93:3 | ... | cfg.rb:90:1:93:3 | Before ... = ... | | +| cfg.rb:90:1:93:3 | ... | cfg.rb:90:5:90:5 | if ... | | +| cfg.rb:90:1:93:3 | ... = ... | cfg.rb:90:1:93:3 | After ... = ... | | +| cfg.rb:90:1:93:3 | After ... | cfg.rb:90:1:93:3 | Normal Exit | | +| cfg.rb:90:1:93:3 | After ... | cfg.rb:95:1:95:12 | Before ... = ... | | +| cfg.rb:90:1:93:3 | After ... = ... | cfg.rb:91:3:91:24 | if ... | | +| cfg.rb:90:1:93:3 | After call to each | cfg.rb:90:1:93:3 | After ... | | +| cfg.rb:90:1:93:3 | Before ... = ... | cfg.rb:90:5:90:5 | x | | +| cfg.rb:90:1:93:3 | Before call to each | cfg.rb:90:10:90:26 | Before call to [] | | +| cfg.rb:90:1:93:3 | Entry | cfg.rb:90:1:93:3 | __synth__0__1 | | +| cfg.rb:90:1:93:3 | Normal Exit | cfg.rb:90:1:93:3 | Exit | | +| cfg.rb:90:1:93:3 | __synth__0__1 | cfg.rb:90:1:93:3 | ... | | | cfg.rb:90:1:93:3 | __synth__0__1 | cfg.rb:90:1:93:3 | ... = ... | | -| cfg.rb:90:1:93:3 | __synth__0__1 | cfg.rb:90:5:90:5 | x | | -| cfg.rb:90:1:93:3 | call to each | cfg.rb:90:1:93:3 | ... | | -| cfg.rb:90:1:93:3 | enter { ... } | cfg.rb:90:1:93:3 | __synth__0__1 | | -| cfg.rb:90:1:93:3 | exit { ... } (normal) | cfg.rb:90:1:93:3 | exit { ... } | | +| cfg.rb:90:1:93:3 | call to each | cfg.rb:90:1:93:3 | After call to each | | | cfg.rb:90:1:93:3 | { ... } | cfg.rb:90:1:93:3 | call to each | | -| cfg.rb:90:5:90:5 | ... = ... | cfg.rb:90:5:90:5 | if ... | | -| cfg.rb:90:5:90:5 | [false] ! ... | cfg.rb:90:5:90:5 | if ... | false | -| cfg.rb:90:5:90:5 | [true] ! ... | cfg.rb:90:5:90:5 | x | true | -| cfg.rb:90:5:90:5 | defined? ... | cfg.rb:90:5:90:5 | [false] ! ... | true | -| cfg.rb:90:5:90:5 | defined? ... | cfg.rb:90:5:90:5 | [true] ! ... | false | -| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:10:90:26 | Array | | +| cfg.rb:90:5:90:5 | ! ... | cfg.rb:90:5:90:5 | Before defined? ... | | +| cfg.rb:90:5:90:5 | ... = ... | cfg.rb:90:5:90:5 | After ... = ... | | +| cfg.rb:90:5:90:5 | After ! ... [false] | cfg.rb:90:5:90:5 | After if ... | | +| cfg.rb:90:5:90:5 | After ! ... [true] | cfg.rb:90:5:90:5 | Before ... = ... | | +| cfg.rb:90:5:90:5 | After ... = ... | cfg.rb:90:5:90:5 | After if ... | | +| cfg.rb:90:5:90:5 | After defined? ... [false] | cfg.rb:90:5:90:5 | After ! ... [true] | true | +| cfg.rb:90:5:90:5 | After defined? ... [true] | cfg.rb:90:5:90:5 | After ! ... [false] | false | +| cfg.rb:90:5:90:5 | After if ... | cfg.rb:90:1:93:3 | Before call to each | | +| cfg.rb:90:5:90:5 | Before ... = ... | cfg.rb:90:5:90:5 | x | | +| cfg.rb:90:5:90:5 | Before defined? ... | cfg.rb:90:5:90:5 | x | | +| cfg.rb:90:5:90:5 | defined? ... | cfg.rb:90:5:90:5 | After defined? ... [false] | false | +| cfg.rb:90:5:90:5 | defined? ... | cfg.rb:90:5:90:5 | After defined? ... [true] | true | +| cfg.rb:90:5:90:5 | if ... | cfg.rb:90:5:90:5 | ! ... | | | cfg.rb:90:5:90:5 | nil | cfg.rb:90:5:90:5 | ... = ... | | | cfg.rb:90:5:90:5 | x | cfg.rb:90:1:93:3 | __synth__0__1 | | | cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | defined? ... | | | cfg.rb:90:5:90:5 | x | cfg.rb:90:5:90:5 | nil | | +| cfg.rb:90:10:90:26 | After call to [] | cfg.rb:90:1:93:3 | { ... } | | | cfg.rb:90:10:90:26 | Array | cfg.rb:90:11:90:13 | 1.4 | | -| cfg.rb:90:10:90:26 | call to [] | cfg.rb:90:1:93:3 | { ... } | | +| cfg.rb:90:10:90:26 | Before call to [] | cfg.rb:90:10:90:26 | Array | | +| cfg.rb:90:10:90:26 | call to [] | cfg.rb:90:10:90:26 | After call to [] | | | cfg.rb:90:11:90:13 | 1.4 | cfg.rb:90:16:90:18 | 2.5 | | | cfg.rb:90:16:90:18 | 2.5 | cfg.rb:90:21:90:25 | 3.4e5 | | | cfg.rb:90:21:90:25 | 3.4e5 | cfg.rb:90:10:90:26 | call to [] | | -| cfg.rb:91:3:91:24 | if ... | cfg.rb:92:3:92:8 | self | | +| cfg.rb:91:3:91:24 | After if ... | cfg.rb:92:3:92:8 | Before call to puts | | +| cfg.rb:91:3:91:24 | if ... | cfg.rb:91:6:91:10 | Before ... > ... | | | cfg.rb:91:6:91:6 | x | cfg.rb:91:10:91:10 | 3 | | -| cfg.rb:91:6:91:10 | ... > ... | cfg.rb:91:3:91:24 | if ... | false | -| cfg.rb:91:6:91:10 | ... > ... | cfg.rb:91:17:91:20 | next | true | +| cfg.rb:91:6:91:10 | ... > ... | cfg.rb:91:6:91:10 | After ... > ... [false] | false | +| cfg.rb:91:6:91:10 | ... > ... | cfg.rb:91:6:91:10 | After ... > ... [true] | true | +| cfg.rb:91:6:91:10 | After ... > ... [false] | cfg.rb:91:3:91:24 | After if ... | | +| cfg.rb:91:6:91:10 | After ... > ... [true] | cfg.rb:91:12:91:20 | then ... | | +| cfg.rb:91:6:91:10 | Before ... > ... | cfg.rb:91:6:91:6 | x | | | cfg.rb:91:10:91:10 | 3 | cfg.rb:91:6:91:10 | ... > ... | | -| cfg.rb:91:17:91:20 | next | cfg.rb:90:1:93:3 | exit { ... } (normal) | continue | -| cfg.rb:92:3:92:8 | call to puts | cfg.rb:90:1:93:3 | exit { ... } (normal) | | +| cfg.rb:91:12:91:20 | then ... | cfg.rb:91:17:91:20 | Before next | | +| cfg.rb:91:17:91:20 | Before next | cfg.rb:91:17:91:20 | next | | +| cfg.rb:91:17:91:20 | next | cfg.rb:90:1:93:3 | Normal Exit | continue | +| cfg.rb:92:3:92:8 | After call to puts | cfg.rb:90:1:93:3 | After ... | | +| cfg.rb:92:3:92:8 | Before call to puts | cfg.rb:92:3:92:8 | self | | +| cfg.rb:92:3:92:8 | call to puts | cfg.rb:92:3:92:8 | After call to puts | | | cfg.rb:92:3:92:8 | self | cfg.rb:92:8:92:8 | x | | | cfg.rb:92:8:92:8 | x | cfg.rb:92:3:92:8 | call to puts | | | cfg.rb:95:1:95:7 | $global | cfg.rb:95:11:95:12 | 42 | | -| cfg.rb:95:1:95:12 | ... = ... | cfg.rb:97:1:97:4 | map1 | | +| cfg.rb:95:1:95:12 | ... = ... | cfg.rb:95:1:95:12 | After ... = ... | | +| cfg.rb:95:1:95:12 | After ... = ... | cfg.rb:97:1:97:39 | Before ... = ... | | +| cfg.rb:95:1:95:12 | Before ... = ... | cfg.rb:95:1:95:7 | $global | | | cfg.rb:95:11:95:12 | 42 | cfg.rb:95:1:95:12 | ... = ... | | -| cfg.rb:97:1:97:4 | map1 | cfg.rb:97:8:97:39 | Hash | | -| cfg.rb:97:1:97:39 | ... = ... | cfg.rb:98:1:98:4 | map2 | | -| cfg.rb:97:8:97:39 | Hash | cfg.rb:97:11:97:11 | a | | -| cfg.rb:97:8:97:39 | call to [] | cfg.rb:97:1:97:39 | ... = ... | | -| cfg.rb:97:10:97:12 | "a" | cfg.rb:97:18:97:18 | b | | -| cfg.rb:97:10:97:19 | Pair | cfg.rb:97:23:97:23 | c | | +| cfg.rb:97:1:97:4 | map1 | cfg.rb:97:8:97:39 | Before call to [] | | +| cfg.rb:97:1:97:39 | ... = ... | cfg.rb:97:1:97:39 | After ... = ... | | +| cfg.rb:97:1:97:39 | After ... = ... | cfg.rb:98:1:98:36 | Before ... = ... | | +| cfg.rb:97:1:97:39 | Before ... = ... | cfg.rb:97:1:97:4 | map1 | | +| cfg.rb:97:8:97:39 | After call to [] | cfg.rb:97:1:97:39 | ... = ... | | +| cfg.rb:97:8:97:39 | Before call to [] | cfg.rb:97:8:97:39 | Hash | | +| cfg.rb:97:8:97:39 | Hash | cfg.rb:97:10:97:19 | Before Pair | | +| cfg.rb:97:8:97:39 | call to [] | cfg.rb:97:8:97:39 | After call to [] | | +| cfg.rb:97:10:97:12 | "a" | cfg.rb:97:10:97:12 | After "a" | | +| cfg.rb:97:10:97:12 | After "a" | cfg.rb:97:17:97:19 | Before "b" | | +| cfg.rb:97:10:97:12 | Before "a" | cfg.rb:97:11:97:11 | a | | +| cfg.rb:97:10:97:19 | After Pair | cfg.rb:97:22:97:29 | Before Pair | | +| cfg.rb:97:10:97:19 | Before Pair | cfg.rb:97:10:97:12 | Before "a" | | +| cfg.rb:97:10:97:19 | Pair | cfg.rb:97:10:97:19 | After Pair | | | cfg.rb:97:11:97:11 | a | cfg.rb:97:10:97:12 | "a" | | -| cfg.rb:97:17:97:19 | "b" | cfg.rb:97:10:97:19 | Pair | | +| cfg.rb:97:17:97:19 | "b" | cfg.rb:97:17:97:19 | After "b" | | +| cfg.rb:97:17:97:19 | After "b" | cfg.rb:97:10:97:19 | Pair | | +| cfg.rb:97:17:97:19 | Before "b" | cfg.rb:97:18:97:18 | b | | | cfg.rb:97:18:97:18 | b | cfg.rb:97:17:97:19 | "b" | | -| cfg.rb:97:22:97:24 | "c" | cfg.rb:97:28:97:28 | d | | -| cfg.rb:97:22:97:29 | Pair | cfg.rb:97:32:97:32 | e | | +| cfg.rb:97:22:97:24 | "c" | cfg.rb:97:22:97:24 | After "c" | | +| cfg.rb:97:22:97:24 | After "c" | cfg.rb:97:27:97:29 | Before "d" | | +| cfg.rb:97:22:97:24 | Before "c" | cfg.rb:97:23:97:23 | c | | +| cfg.rb:97:22:97:29 | After Pair | cfg.rb:97:32:97:37 | Before Pair | | +| cfg.rb:97:22:97:29 | Before Pair | cfg.rb:97:22:97:24 | Before "c" | | +| cfg.rb:97:22:97:29 | Pair | cfg.rb:97:22:97:29 | After Pair | | | cfg.rb:97:23:97:23 | c | cfg.rb:97:22:97:24 | "c" | | -| cfg.rb:97:27:97:29 | "d" | cfg.rb:97:22:97:29 | Pair | | +| cfg.rb:97:27:97:29 | "d" | cfg.rb:97:27:97:29 | After "d" | | +| cfg.rb:97:27:97:29 | After "d" | cfg.rb:97:22:97:29 | Pair | | +| cfg.rb:97:27:97:29 | Before "d" | cfg.rb:97:28:97:28 | d | | | cfg.rb:97:28:97:28 | d | cfg.rb:97:27:97:29 | "d" | | -| cfg.rb:97:32:97:32 | :e | cfg.rb:97:36:97:36 | f | | +| cfg.rb:97:32:97:32 | :e | cfg.rb:97:32:97:32 | After :e | | +| cfg.rb:97:32:97:32 | After :e | cfg.rb:97:35:97:37 | Before "f" | | +| cfg.rb:97:32:97:32 | Before :e | cfg.rb:97:32:97:32 | e | | | cfg.rb:97:32:97:32 | e | cfg.rb:97:32:97:32 | :e | | -| cfg.rb:97:32:97:37 | Pair | cfg.rb:97:8:97:39 | call to [] | | -| cfg.rb:97:35:97:37 | "f" | cfg.rb:97:32:97:37 | Pair | | +| cfg.rb:97:32:97:37 | After Pair | cfg.rb:97:8:97:39 | call to [] | | +| cfg.rb:97:32:97:37 | Before Pair | cfg.rb:97:32:97:32 | Before :e | | +| cfg.rb:97:32:97:37 | Pair | cfg.rb:97:32:97:37 | After Pair | | +| cfg.rb:97:35:97:37 | "f" | cfg.rb:97:35:97:37 | After "f" | | +| cfg.rb:97:35:97:37 | After "f" | cfg.rb:97:32:97:37 | Pair | | +| cfg.rb:97:35:97:37 | Before "f" | cfg.rb:97:36:97:36 | f | | | cfg.rb:97:36:97:36 | f | cfg.rb:97:35:97:37 | "f" | | -| cfg.rb:98:1:98:4 | map2 | cfg.rb:98:8:98:36 | Hash | | -| cfg.rb:98:1:98:36 | ... = ... | cfg.rb:101:1:104:3 | parameters | | -| cfg.rb:98:8:98:36 | Hash | cfg.rb:98:12:98:15 | map1 | | -| cfg.rb:98:8:98:36 | call to [] | cfg.rb:98:1:98:36 | ... = ... | | -| cfg.rb:98:10:98:15 | ** ... | cfg.rb:98:19:98:19 | x | | +| cfg.rb:98:1:98:4 | map2 | cfg.rb:98:8:98:36 | Before call to [] | | +| cfg.rb:98:1:98:36 | ... = ... | cfg.rb:98:1:98:36 | After ... = ... | | +| cfg.rb:98:1:98:36 | After ... = ... | cfg.rb:101:1:104:3 | parameters | | +| cfg.rb:98:1:98:36 | Before ... = ... | cfg.rb:98:1:98:4 | map2 | | +| cfg.rb:98:8:98:36 | After call to [] | cfg.rb:98:1:98:36 | ... = ... | | +| cfg.rb:98:8:98:36 | Before call to [] | cfg.rb:98:8:98:36 | Hash | | +| cfg.rb:98:8:98:36 | Hash | cfg.rb:98:10:98:15 | Before ** ... | | +| cfg.rb:98:8:98:36 | call to [] | cfg.rb:98:8:98:36 | After call to [] | | +| cfg.rb:98:10:98:15 | ** ... | cfg.rb:98:10:98:15 | After ** ... | | +| cfg.rb:98:10:98:15 | After ** ... | cfg.rb:98:18:98:27 | Before Pair | | +| cfg.rb:98:10:98:15 | Before ** ... | cfg.rb:98:12:98:15 | map1 | | | cfg.rb:98:12:98:15 | map1 | cfg.rb:98:10:98:15 | ** ... | | -| cfg.rb:98:18:98:20 | "x" | cfg.rb:98:26:98:26 | y | | -| cfg.rb:98:18:98:27 | Pair | cfg.rb:98:32:98:35 | map1 | | +| cfg.rb:98:18:98:20 | "x" | cfg.rb:98:18:98:20 | After "x" | | +| cfg.rb:98:18:98:20 | After "x" | cfg.rb:98:25:98:27 | Before "y" | | +| cfg.rb:98:18:98:20 | Before "x" | cfg.rb:98:19:98:19 | x | | +| cfg.rb:98:18:98:27 | After Pair | cfg.rb:98:30:98:35 | Before ** ... | | +| cfg.rb:98:18:98:27 | Before Pair | cfg.rb:98:18:98:20 | Before "x" | | +| cfg.rb:98:18:98:27 | Pair | cfg.rb:98:18:98:27 | After Pair | | | cfg.rb:98:19:98:19 | x | cfg.rb:98:18:98:20 | "x" | | -| cfg.rb:98:25:98:27 | "y" | cfg.rb:98:18:98:27 | Pair | | +| cfg.rb:98:25:98:27 | "y" | cfg.rb:98:25:98:27 | After "y" | | +| cfg.rb:98:25:98:27 | After "y" | cfg.rb:98:18:98:27 | Pair | | +| cfg.rb:98:25:98:27 | Before "y" | cfg.rb:98:26:98:26 | y | | | cfg.rb:98:26:98:26 | y | cfg.rb:98:25:98:27 | "y" | | -| cfg.rb:98:30:98:35 | ** ... | cfg.rb:98:8:98:36 | call to [] | | +| cfg.rb:98:30:98:35 | ** ... | cfg.rb:98:30:98:35 | After ** ... | | +| cfg.rb:98:30:98:35 | After ** ... | cfg.rb:98:8:98:36 | call to [] | | +| cfg.rb:98:30:98:35 | Before ** ... | cfg.rb:98:32:98:35 | map1 | | | cfg.rb:98:32:98:35 | map1 | cfg.rb:98:30:98:35 | ** ... | | -| cfg.rb:101:1:104:3 | enter parameters | cfg.rb:101:16:101:20 | value | | -| cfg.rb:101:1:104:3 | exit parameters (normal) | cfg.rb:101:1:104:3 | exit parameters | | -| cfg.rb:101:1:104:3 | parameters | cfg.rb:106:1:106:4 | type | | -| cfg.rb:101:16:101:20 | value | cfg.rb:101:24:101:25 | 42 | false, no-match, true | -| cfg.rb:101:16:101:20 | value | cfg.rb:101:28:101:30 | key | match | +| cfg.rb:101:1:104:3 | Entry | cfg.rb:101:16:101:20 | value | | +| cfg.rb:101:1:104:3 | Normal Exit | cfg.rb:101:1:104:3 | Exit | | +| cfg.rb:101:1:104:3 | parameters | cfg.rb:106:1:106:17 | Before ... = ... | | +| cfg.rb:101:16:101:20 | After value [match] | cfg.rb:101:28:101:30 | key | | +| cfg.rb:101:16:101:20 | After value [no-match] | cfg.rb:101:24:101:25 | 42 | | +| cfg.rb:101:16:101:20 | value | cfg.rb:101:16:101:20 | After value [match] | match | +| cfg.rb:101:16:101:20 | value | cfg.rb:101:16:101:20 | After value [no-match] | no-match | | cfg.rb:101:24:101:25 | 42 | cfg.rb:101:28:101:30 | key | | | cfg.rb:101:28:101:30 | key | cfg.rb:101:36:101:41 | kwargs | | -| cfg.rb:101:36:101:41 | kwargs | cfg.rb:102:3:102:12 | self | | -| cfg.rb:102:3:102:12 | call to puts | cfg.rb:103:10:103:15 | kwargs | | +| cfg.rb:101:36:101:41 | kwargs | cfg.rb:102:3:103:20 | ... | | +| cfg.rb:102:3:102:12 | After call to puts | cfg.rb:103:3:103:20 | Before return | | +| cfg.rb:102:3:102:12 | Before call to puts | cfg.rb:102:3:102:12 | self | | +| cfg.rb:102:3:102:12 | call to puts | cfg.rb:102:3:102:12 | After call to puts | | | cfg.rb:102:3:102:12 | self | cfg.rb:102:8:102:12 | value | | +| cfg.rb:102:3:103:20 | ... | cfg.rb:102:3:102:12 | Before call to puts | | | cfg.rb:102:8:102:12 | value | cfg.rb:102:3:102:12 | call to puts | | -| cfg.rb:103:3:103:20 | return | cfg.rb:101:1:104:3 | exit parameters (normal) | return | +| cfg.rb:103:3:103:20 | Before return | cfg.rb:103:10:103:20 | Before ...[...] | | +| cfg.rb:103:3:103:20 | return | cfg.rb:101:1:104:3 | Normal Exit | return | | cfg.rb:103:10:103:15 | kwargs | cfg.rb:103:17:103:19 | key | | -| cfg.rb:103:10:103:20 | ...[...] | cfg.rb:103:3:103:20 | return | | +| cfg.rb:103:10:103:20 | ...[...] | cfg.rb:103:10:103:20 | After ...[...] | | +| cfg.rb:103:10:103:20 | After ...[...] | cfg.rb:103:3:103:20 | return | | +| cfg.rb:103:10:103:20 | Before ...[...] | cfg.rb:103:10:103:15 | kwargs | | | cfg.rb:103:17:103:19 | key | cfg.rb:103:10:103:20 | ...[...] | | -| cfg.rb:106:1:106:4 | type | cfg.rb:106:10:106:16 | healthy | | -| cfg.rb:106:1:106:17 | ... = ... | cfg.rb:107:1:107:5 | table | | -| cfg.rb:106:9:106:17 | "healthy" | cfg.rb:106:1:106:17 | ... = ... | | +| cfg.rb:106:1:106:4 | type | cfg.rb:106:9:106:17 | Before "healthy" | | +| cfg.rb:106:1:106:17 | ... = ... | cfg.rb:106:1:106:17 | After ... = ... | | +| cfg.rb:106:1:106:17 | After ... = ... | cfg.rb:107:1:107:14 | Before ... = ... | | +| cfg.rb:106:1:106:17 | Before ... = ... | cfg.rb:106:1:106:4 | type | | +| cfg.rb:106:9:106:17 | "healthy" | cfg.rb:106:9:106:17 | After "healthy" | | +| cfg.rb:106:9:106:17 | After "healthy" | cfg.rb:106:1:106:17 | ... = ... | | +| cfg.rb:106:9:106:17 | Before "healthy" | cfg.rb:106:10:106:16 | healthy | | | cfg.rb:106:10:106:16 | healthy | cfg.rb:106:9:106:17 | "healthy" | | -| cfg.rb:107:1:107:5 | table | cfg.rb:107:10:107:13 | food | | -| cfg.rb:107:1:107:14 | ... = ... | cfg.rb:108:1:108:12 | self | | -| cfg.rb:107:9:107:14 | "food" | cfg.rb:107:1:107:14 | ... = ... | | +| cfg.rb:107:1:107:5 | table | cfg.rb:107:9:107:14 | Before "food" | | +| cfg.rb:107:1:107:14 | ... = ... | cfg.rb:107:1:107:14 | After ... = ... | | +| cfg.rb:107:1:107:14 | After ... = ... | cfg.rb:108:1:108:12 | Before call to puts | | +| cfg.rb:107:1:107:14 | Before ... = ... | cfg.rb:107:1:107:5 | table | | +| cfg.rb:107:9:107:14 | "food" | cfg.rb:107:9:107:14 | After "food" | | +| cfg.rb:107:9:107:14 | After "food" | cfg.rb:107:1:107:14 | ... = ... | | +| cfg.rb:107:9:107:14 | Before "food" | cfg.rb:107:10:107:13 | food | | | cfg.rb:107:10:107:13 | food | cfg.rb:107:9:107:14 | "food" | | -| cfg.rb:108:1:108:12 | call to puts | cfg.rb:113:14:113:14 | b | | -| cfg.rb:108:1:108:12 | self | cfg.rb:108:13:109:14 | \nSELECT * FROM | | -| cfg.rb:108:6:108:12 | ( ... ) | cfg.rb:108:1:108:12 | call to puts | | -| cfg.rb:108:7:108:11 | < ... | | +| cfg.rb:113:1:113:19 | After ... if ... | cfg.rb:115:1:118:3 | C | | +| cfg.rb:113:6:113:9 | "hi" | cfg.rb:113:6:113:9 | After "hi" | | +| cfg.rb:113:6:113:9 | After "hi" | cfg.rb:113:1:113:9 | call to puts | | +| cfg.rb:113:6:113:9 | Before "hi" | cfg.rb:113:7:113:8 | hi | | | cfg.rb:113:7:113:8 | hi | cfg.rb:113:6:113:9 | "hi" | | | cfg.rb:113:14:113:14 | b | cfg.rb:113:18:113:19 | 10 | | -| cfg.rb:113:14:113:19 | ... > ... | cfg.rb:113:1:113:9 | self | true | -| cfg.rb:113:14:113:19 | ... > ... | cfg.rb:113:1:113:19 | ... if ... | false | +| cfg.rb:113:14:113:19 | ... > ... | cfg.rb:113:14:113:19 | After ... > ... [false] | false | +| cfg.rb:113:14:113:19 | ... > ... | cfg.rb:113:14:113:19 | After ... > ... [true] | true | +| cfg.rb:113:14:113:19 | After ... > ... [false] | cfg.rb:113:1:113:19 | After ... if ... | | +| cfg.rb:113:14:113:19 | After ... > ... [true] | cfg.rb:113:1:113:9 | Before call to puts | | +| cfg.rb:113:14:113:19 | Before ... > ... | cfg.rb:113:14:113:14 | b | | | cfg.rb:113:18:113:19 | 10 | cfg.rb:113:14:113:19 | ... > ... | | -| cfg.rb:115:1:118:3 | C | cfg.rb:116:3:116:8 | self | | -| cfg.rb:116:3:116:8 | @field | cfg.rb:116:12:116:13 | 42 | | +| cfg.rb:115:1:118:3 | After C | cfg.rb:120:1:120:28 | Before ... = ... | | +| cfg.rb:115:1:118:3 | C | cfg.rb:116:3:116:13 | Before ... = ... | | +| cfg.rb:116:3:116:8 | @field | cfg.rb:116:3:116:8 | After @field | | +| cfg.rb:116:3:116:8 | After @field | cfg.rb:116:12:116:13 | 42 | | +| cfg.rb:116:3:116:8 | Before @field | cfg.rb:116:3:116:8 | self | | | cfg.rb:116:3:116:8 | self | cfg.rb:116:3:116:8 | @field | | -| cfg.rb:116:3:116:13 | ... = ... | cfg.rb:117:3:117:16 | @@static_field | | +| cfg.rb:116:3:116:13 | ... = ... | cfg.rb:116:3:116:13 | After ... = ... | | +| cfg.rb:116:3:116:13 | After ... = ... | cfg.rb:117:3:117:21 | Before ... = ... | | +| cfg.rb:116:3:116:13 | Before ... = ... | cfg.rb:116:3:116:8 | Before @field | | | cfg.rb:116:12:116:13 | 42 | cfg.rb:116:3:116:13 | ... = ... | | | cfg.rb:117:3:117:16 | @@static_field | cfg.rb:117:20:117:21 | 10 | | -| cfg.rb:117:3:117:21 | ... = ... | cfg.rb:120:1:120:4 | swap | | +| cfg.rb:117:3:117:21 | ... = ... | cfg.rb:117:3:117:21 | After ... = ... | | +| cfg.rb:117:3:117:21 | After ... = ... | cfg.rb:115:1:118:3 | After C | | +| cfg.rb:117:3:117:21 | Before ... = ... | cfg.rb:117:3:117:16 | @@static_field | | | cfg.rb:117:20:117:21 | 10 | cfg.rb:117:3:117:21 | ... = ... | | | cfg.rb:120:1:120:4 | swap | cfg.rb:120:8:120:28 | -> { ... } | | -| cfg.rb:120:1:120:28 | ... = ... | cfg.rb:122:1:131:3 | M | | +| cfg.rb:120:1:120:28 | ... = ... | cfg.rb:120:1:120:28 | After ... = ... | | +| cfg.rb:120:1:120:28 | After ... = ... | cfg.rb:122:1:131:3 | M | | +| cfg.rb:120:1:120:28 | Before ... = ... | cfg.rb:120:1:120:4 | swap | | | cfg.rb:120:8:120:28 | -> { ... } | cfg.rb:120:1:120:28 | ... = ... | | -| cfg.rb:120:8:120:28 | enter -> { ... } | cfg.rb:120:12:120:12 | x | | -| cfg.rb:120:8:120:28 | exit -> { ... } (normal) | cfg.rb:120:8:120:28 | exit -> { ... } | | -| cfg.rb:120:11:120:16 | (..., ...) | cfg.rb:120:21:120:26 | Array | | +| cfg.rb:120:8:120:28 | Entry | cfg.rb:120:11:120:16 | (..., ...) | | +| cfg.rb:120:8:120:28 | Normal Exit | cfg.rb:120:8:120:28 | Exit | | +| cfg.rb:120:11:120:16 | (..., ...) | cfg.rb:120:12:120:12 | x | | +| cfg.rb:120:11:120:16 | After (..., ...) | cfg.rb:120:21:120:26 | ... | | | cfg.rb:120:12:120:12 | x | cfg.rb:120:15:120:15 | y | | -| cfg.rb:120:15:120:15 | y | cfg.rb:120:11:120:16 | (..., ...) | | +| cfg.rb:120:15:120:15 | y | cfg.rb:120:11:120:16 | After (..., ...) | | +| cfg.rb:120:21:120:26 | ... | cfg.rb:120:21:120:26 | Before call to [] | | +| cfg.rb:120:21:120:26 | After ... | cfg.rb:120:8:120:28 | Normal Exit | | +| cfg.rb:120:21:120:26 | After call to [] | cfg.rb:120:21:120:26 | After ... | | | cfg.rb:120:21:120:26 | Array | cfg.rb:120:22:120:22 | y | | -| cfg.rb:120:21:120:26 | call to [] | cfg.rb:120:8:120:28 | exit -> { ... } (normal) | | +| cfg.rb:120:21:120:26 | Before call to [] | cfg.rb:120:21:120:26 | Array | | +| cfg.rb:120:21:120:26 | call to [] | cfg.rb:120:21:120:26 | After call to [] | | | cfg.rb:120:22:120:22 | y | cfg.rb:120:25:120:25 | x | | | cfg.rb:120:25:120:25 | x | cfg.rb:120:21:120:26 | call to [] | | -| cfg.rb:122:1:131:3 | M | cfg.rb:123:2:123:8 | nothing | | +| cfg.rb:122:1:131:3 | After M | cfg.rb:133:1:133:21 | EmptyClass | | +| cfg.rb:122:1:131:3 | M | cfg.rb:123:2:123:14 | Before ... = ... | | | cfg.rb:123:2:123:8 | nothing | cfg.rb:123:12:123:14 | nil | | -| cfg.rb:123:2:123:14 | ... = ... | cfg.rb:124:2:124:5 | some | | +| cfg.rb:123:2:123:14 | ... = ... | cfg.rb:123:2:123:14 | After ... = ... | | +| cfg.rb:123:2:123:14 | After ... = ... | cfg.rb:124:2:124:9 | Before ... = ... | | +| cfg.rb:123:2:123:14 | Before ... = ... | cfg.rb:123:2:123:8 | nothing | | | cfg.rb:123:12:123:14 | nil | cfg.rb:123:2:123:14 | ... = ... | | | cfg.rb:124:2:124:5 | some | cfg.rb:124:9:124:9 | 2 | | -| cfg.rb:124:2:124:9 | ... = ... | cfg.rb:125:2:125:5 | some | | +| cfg.rb:124:2:124:9 | ... = ... | cfg.rb:124:2:124:9 | After ... = ... | | +| cfg.rb:124:2:124:9 | After ... = ... | cfg.rb:125:2:125:11 | Before ... = ... | | +| cfg.rb:124:2:124:9 | Before ... = ... | cfg.rb:124:2:124:5 | some | | | cfg.rb:124:9:124:9 | 2 | cfg.rb:124:2:124:9 | ... = ... | | -| cfg.rb:125:2:125:5 | some | cfg.rb:125:2:125:5 | some | | +| cfg.rb:125:2:125:5 | some | cfg.rb:125:7:125:8 | Before ... + ... | | | cfg.rb:125:2:125:5 | some | cfg.rb:125:10:125:11 | 10 | | -| cfg.rb:125:2:125:11 | ... = ... | cfg.rb:126:2:126:5 | last | | -| cfg.rb:125:7:125:8 | ... + ... | cfg.rb:125:2:125:11 | ... = ... | | +| cfg.rb:125:2:125:11 | ... = ... | cfg.rb:125:2:125:11 | After ... = ... | | +| cfg.rb:125:2:125:11 | After ... = ... | cfg.rb:126:2:126:17 | Before ... = ... | | +| cfg.rb:125:2:125:11 | Before ... = ... | cfg.rb:125:2:125:5 | some | | +| cfg.rb:125:7:125:8 | ... + ... | cfg.rb:125:7:125:8 | After ... + ... | | +| cfg.rb:125:7:125:8 | After ... + ... | cfg.rb:125:2:125:11 | ... = ... | | +| cfg.rb:125:7:125:8 | Before ... + ... | cfg.rb:125:2:125:5 | some | | | cfg.rb:125:10:125:11 | 10 | cfg.rb:125:7:125:8 | ... + ... | | -| cfg.rb:126:2:126:5 | last | cfg.rb:126:10:126:10 | 2 | | -| cfg.rb:126:2:126:17 | ... = ... | cfg.rb:127:2:127:6 | range | | -| cfg.rb:126:9:126:17 | ( ... ) | cfg.rb:126:2:126:17 | ... = ... | | +| cfg.rb:126:2:126:5 | last | cfg.rb:126:9:126:17 | ( ... ) | | +| cfg.rb:126:2:126:17 | ... = ... | cfg.rb:126:2:126:17 | After ... = ... | | +| cfg.rb:126:2:126:17 | After ... = ... | cfg.rb:127:2:127:13 | Before ... = ... | | +| cfg.rb:126:2:126:17 | Before ... = ... | cfg.rb:126:2:126:5 | last | | +| cfg.rb:126:9:126:17 | ( ... ) | cfg.rb:126:10:126:10 | 2 | | +| cfg.rb:126:9:126:17 | After ( ... ) | cfg.rb:126:2:126:17 | ... = ... | | | cfg.rb:126:10:126:10 | 2 | cfg.rb:126:13:126:13 | 4 | | | cfg.rb:126:13:126:13 | 4 | cfg.rb:126:16:126:16 | 7 | | -| cfg.rb:126:16:126:16 | 7 | cfg.rb:126:9:126:17 | ( ... ) | | -| cfg.rb:127:2:127:6 | range | cfg.rb:127:10:127:10 | 0 | | -| cfg.rb:127:2:127:13 | ... = ... | cfg.rb:128:2:128:5 | half | | +| cfg.rb:126:16:126:16 | 7 | cfg.rb:126:9:126:17 | After ( ... ) | | +| cfg.rb:127:2:127:6 | range | cfg.rb:127:10:127:13 | Before _ .. _ | | +| cfg.rb:127:2:127:13 | ... = ... | cfg.rb:127:2:127:13 | After ... = ... | | +| cfg.rb:127:2:127:13 | After ... = ... | cfg.rb:128:2:128:19 | Before ... = ... | | +| cfg.rb:127:2:127:13 | Before ... = ... | cfg.rb:127:2:127:6 | range | | | cfg.rb:127:10:127:10 | 0 | cfg.rb:127:13:127:13 | 9 | | -| cfg.rb:127:10:127:13 | _ .. _ | cfg.rb:127:2:127:13 | ... = ... | | +| cfg.rb:127:10:127:13 | After _ .. _ | cfg.rb:127:2:127:13 | ... = ... | | +| cfg.rb:127:10:127:13 | Before _ .. _ | cfg.rb:127:10:127:10 | 0 | | +| cfg.rb:127:10:127:13 | _ .. _ | cfg.rb:127:10:127:13 | After _ .. _ | | | cfg.rb:127:13:127:13 | 9 | cfg.rb:127:10:127:13 | _ .. _ | | -| cfg.rb:128:2:128:5 | half | cfg.rb:128:9:128:9 | 1 | | -| cfg.rb:128:2:128:19 | ... = ... | cfg.rb:129:2:129:6 | regex | | +| cfg.rb:128:2:128:5 | half | cfg.rb:128:9:128:19 | Before ... + ... | | +| cfg.rb:128:2:128:19 | ... = ... | cfg.rb:128:2:128:19 | After ... = ... | | +| cfg.rb:128:2:128:19 | After ... = ... | cfg.rb:129:2:129:29 | Before ... = ... | | +| cfg.rb:128:2:128:19 | Before ... = ... | cfg.rb:128:2:128:5 | half | | | cfg.rb:128:9:128:9 | 1 | cfg.rb:128:11:128:12 | 3r | | -| cfg.rb:128:9:128:12 | ... / ... | cfg.rb:128:16:128:16 | 1 | | -| cfg.rb:128:9:128:19 | ... + ... | cfg.rb:128:2:128:19 | ... = ... | | +| cfg.rb:128:9:128:12 | ... / ... | cfg.rb:128:9:128:12 | After ... / ... | | +| cfg.rb:128:9:128:12 | After ... / ... | cfg.rb:128:16:128:19 | Before ... / ... | | +| cfg.rb:128:9:128:12 | Before ... / ... | cfg.rb:128:9:128:9 | 1 | | +| cfg.rb:128:9:128:19 | ... + ... | cfg.rb:128:9:128:19 | After ... + ... | | +| cfg.rb:128:9:128:19 | After ... + ... | cfg.rb:128:2:128:19 | ... = ... | | +| cfg.rb:128:9:128:19 | Before ... + ... | cfg.rb:128:9:128:12 | Before ... / ... | | | cfg.rb:128:11:128:12 | 3r | cfg.rb:128:9:128:12 | ... / ... | | | cfg.rb:128:16:128:16 | 1 | cfg.rb:128:18:128:19 | 6r | | -| cfg.rb:128:16:128:19 | ... / ... | cfg.rb:128:9:128:19 | ... + ... | | +| cfg.rb:128:16:128:19 | ... / ... | cfg.rb:128:16:128:19 | After ... / ... | | +| cfg.rb:128:16:128:19 | After ... / ... | cfg.rb:128:9:128:19 | ... + ... | | +| cfg.rb:128:16:128:19 | Before ... / ... | cfg.rb:128:16:128:16 | 1 | | | cfg.rb:128:18:128:19 | 6r | cfg.rb:128:16:128:19 | ... / ... | | -| cfg.rb:129:2:129:6 | regex | cfg.rb:129:11:129:15 | hello | | -| cfg.rb:129:2:129:29 | ... = ... | cfg.rb:130:2:130:9 | Constant | | -| cfg.rb:129:10:129:29 | /hello\\s+[#{...}]/ | cfg.rb:129:2:129:29 | ... = ... | | +| cfg.rb:129:2:129:6 | regex | cfg.rb:129:10:129:29 | Before /hello\\s+[#{...}]/ | | +| cfg.rb:129:2:129:29 | ... = ... | cfg.rb:129:2:129:29 | After ... = ... | | +| cfg.rb:129:2:129:29 | After ... = ... | cfg.rb:130:2:130:13 | Before ... = ... | | +| cfg.rb:129:2:129:29 | Before ... = ... | cfg.rb:129:2:129:6 | regex | | +| cfg.rb:129:10:129:29 | /hello\\s+[#{...}]/ | cfg.rb:129:10:129:29 | After /hello\\s+[#{...}]/ | | +| cfg.rb:129:10:129:29 | After /hello\\s+[#{...}]/ | cfg.rb:129:2:129:29 | ... = ... | | +| cfg.rb:129:10:129:29 | Before /hello\\s+[#{...}]/ | cfg.rb:129:11:129:15 | hello | | | cfg.rb:129:11:129:15 | hello | cfg.rb:129:16:129:17 | \\s | | | cfg.rb:129:16:129:17 | \\s | cfg.rb:129:18:129:19 | +[ | | -| cfg.rb:129:18:129:19 | +[ | cfg.rb:129:22:129:26 | range | | -| cfg.rb:129:20:129:27 | #{...} | cfg.rb:129:28:129:28 | ] | | -| cfg.rb:129:22:129:26 | range | cfg.rb:129:20:129:27 | #{...} | | +| cfg.rb:129:18:129:19 | +[ | cfg.rb:129:20:129:27 | #{...} | | +| cfg.rb:129:20:129:27 | #{...} | cfg.rb:129:22:129:26 | range | | +| cfg.rb:129:20:129:27 | After #{...} | cfg.rb:129:28:129:28 | ] | | +| cfg.rb:129:22:129:26 | range | cfg.rb:129:20:129:27 | After #{...} | | | cfg.rb:129:28:129:28 | ] | cfg.rb:129:10:129:29 | /hello\\s+[#{...}]/ | | | cfg.rb:130:2:130:9 | Constant | cfg.rb:130:13:130:13 | 5 | | -| cfg.rb:130:2:130:13 | ... = ... | cfg.rb:133:1:133:21 | EmptyClass | | +| cfg.rb:130:2:130:13 | ... = ... | cfg.rb:130:2:130:13 | After ... = ... | | +| cfg.rb:130:2:130:13 | After ... = ... | cfg.rb:122:1:131:3 | After M | | +| cfg.rb:130:2:130:13 | Before ... = ... | cfg.rb:130:2:130:9 | Constant | | | cfg.rb:130:13:130:13 | 5 | cfg.rb:130:2:130:13 | ... = ... | | | cfg.rb:133:1:133:21 | EmptyClass | cfg.rb:134:1:134:23 | EmptyModule | | -| cfg.rb:134:1:134:23 | EmptyModule | cfg.rb:136:1:136:1 | 1 | | +| cfg.rb:134:1:134:23 | EmptyModule | cfg.rb:136:1:136:29 | ... rescue ... | | | cfg.rb:136:1:136:1 | 1 | cfg.rb:136:3:136:3 | 0 | | -| cfg.rb:136:1:136:3 | ... / ... | cfg.rb:136:1:136:29 | ... rescue ... | | -| cfg.rb:136:1:136:3 | ... / ... | cfg.rb:136:12:136:29 | self | exception | -| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:138:17:138:23 | __synth__2 | | +| cfg.rb:136:1:136:3 | ... / ... | cfg.rb:136:1:136:3 | After ... / ... | | +| cfg.rb:136:1:136:3 | ... / ... | cfg.rb:136:12:136:29 | Before call to puts | exception | +| cfg.rb:136:1:136:3 | After ... / ... | cfg.rb:136:1:136:29 | After ... rescue ... | | +| cfg.rb:136:1:136:3 | Before ... / ... | cfg.rb:136:1:136:1 | 1 | | +| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:136:1:136:3 | Before ... / ... | | +| cfg.rb:136:1:136:29 | After ... rescue ... | cfg.rb:138:1:138:23 | ... | | | cfg.rb:136:3:136:3 | 0 | cfg.rb:136:1:136:3 | ... / ... | | -| cfg.rb:136:12:136:29 | call to puts | cfg.rb:136:1:136:29 | ... rescue ... | | -| cfg.rb:136:12:136:29 | self | cfg.rb:136:18:136:28 | div by zero | | -| cfg.rb:136:17:136:29 | "div by zero" | cfg.rb:136:12:136:29 | call to puts | | +| cfg.rb:136:12:136:29 | After call to puts | cfg.rb:136:1:136:29 | After ... rescue ... | | +| cfg.rb:136:12:136:29 | Before call to puts | cfg.rb:136:12:136:29 | self | | +| cfg.rb:136:12:136:29 | call to puts | cfg.rb:136:12:136:29 | After call to puts | | +| cfg.rb:136:12:136:29 | self | cfg.rb:136:17:136:29 | Before "div by zero" | | +| cfg.rb:136:17:136:29 | "div by zero" | cfg.rb:136:17:136:29 | After "div by zero" | | +| cfg.rb:136:17:136:29 | After "div by zero" | cfg.rb:136:12:136:29 | call to puts | | +| cfg.rb:136:17:136:29 | Before "div by zero" | cfg.rb:136:18:136:28 | div by zero | | | cfg.rb:136:18:136:28 | div by zero | cfg.rb:136:17:136:29 | "div by zero" | | -| cfg.rb:138:1:138:23 | ... | cfg.rb:140:1:140:1 | M | | +| cfg.rb:138:1:138:23 | ... | cfg.rb:138:17:138:23 | Before ... = ... | | +| cfg.rb:138:1:138:23 | After ... | cfg.rb:140:1:140:11 | Before Constant | | | cfg.rb:138:3:138:6 | 0 | cfg.rb:138:3:138:6 | -2 | | | cfg.rb:138:3:138:6 | -2 | cfg.rb:138:3:138:6 | _ .. _ | | -| cfg.rb:138:3:138:6 | ... = ... | cfg.rb:138:9:138:12 | last | | -| cfg.rb:138:3:138:6 | _ .. _ | cfg.rb:138:3:138:6 | call to [] | | -| cfg.rb:138:3:138:6 | __synth__2 | cfg.rb:138:3:138:6 | 0 | | -| cfg.rb:138:3:138:6 | call to [] | cfg.rb:138:3:138:6 | ... = ... | | -| cfg.rb:138:3:138:6 | init | cfg.rb:138:3:138:6 | __synth__2 | | +| cfg.rb:138:3:138:6 | ... = ... | cfg.rb:138:3:138:6 | After ... = ... | | +| cfg.rb:138:3:138:6 | After ... = ... | cfg.rb:138:9:138:12 | Before ... = ... | | +| cfg.rb:138:3:138:6 | After _ .. _ | cfg.rb:138:3:138:6 | call to [] | | +| cfg.rb:138:3:138:6 | After call to [] | cfg.rb:138:3:138:6 | ... = ... | | +| cfg.rb:138:3:138:6 | Before ... = ... | cfg.rb:138:3:138:6 | init | | +| cfg.rb:138:3:138:6 | Before _ .. _ | cfg.rb:138:3:138:6 | 0 | | +| cfg.rb:138:3:138:6 | Before call to [] | cfg.rb:138:3:138:6 | __synth__2 | | +| cfg.rb:138:3:138:6 | _ .. _ | cfg.rb:138:3:138:6 | After _ .. _ | | +| cfg.rb:138:3:138:6 | __synth__2 | cfg.rb:138:3:138:6 | Before _ .. _ | | +| cfg.rb:138:3:138:6 | call to [] | cfg.rb:138:3:138:6 | After call to [] | | +| cfg.rb:138:3:138:6 | init | cfg.rb:138:3:138:6 | Before call to [] | | | cfg.rb:138:9:138:12 | -1 | cfg.rb:138:9:138:12 | call to [] | | -| cfg.rb:138:9:138:12 | ... = ... | cfg.rb:138:1:138:23 | ... | | +| cfg.rb:138:9:138:12 | ... = ... | cfg.rb:138:9:138:12 | After ... = ... | | +| cfg.rb:138:9:138:12 | After ... = ... | cfg.rb:138:1:138:23 | After ... | | +| cfg.rb:138:9:138:12 | After call to [] | cfg.rb:138:9:138:12 | ... = ... | | +| cfg.rb:138:9:138:12 | Before ... = ... | cfg.rb:138:9:138:12 | last | | +| cfg.rb:138:9:138:12 | Before call to [] | cfg.rb:138:9:138:12 | __synth__2 | | | cfg.rb:138:9:138:12 | __synth__2 | cfg.rb:138:9:138:12 | -1 | | -| cfg.rb:138:9:138:12 | call to [] | cfg.rb:138:9:138:12 | ... = ... | | -| cfg.rb:138:9:138:12 | last | cfg.rb:138:9:138:12 | __synth__2 | | +| cfg.rb:138:9:138:12 | call to [] | cfg.rb:138:9:138:12 | After call to [] | | +| cfg.rb:138:9:138:12 | last | cfg.rb:138:9:138:12 | Before call to [] | | | cfg.rb:138:17:138:17 | 1 | cfg.rb:138:20:138:20 | 2 | | -| cfg.rb:138:17:138:23 | * ... | cfg.rb:138:17:138:23 | ... = ... | | -| cfg.rb:138:17:138:23 | ... = ... | cfg.rb:138:3:138:6 | init | | -| cfg.rb:138:17:138:23 | ..., ... | cfg.rb:138:17:138:23 | * ... | | -| cfg.rb:138:17:138:23 | __synth__2 | cfg.rb:138:17:138:17 | 1 | | +| cfg.rb:138:17:138:23 | * ... | cfg.rb:138:17:138:23 | After * ... | | +| cfg.rb:138:17:138:23 | ... = ... | cfg.rb:138:17:138:23 | After ... = ... | | +| cfg.rb:138:17:138:23 | ..., ... | cfg.rb:138:17:138:23 | After ..., ... | | +| cfg.rb:138:17:138:23 | After * ... | cfg.rb:138:17:138:23 | ... = ... | | +| cfg.rb:138:17:138:23 | After ... = ... | cfg.rb:138:3:138:6 | Before ... = ... | | +| cfg.rb:138:17:138:23 | After ..., ... | cfg.rb:138:17:138:23 | * ... | | +| cfg.rb:138:17:138:23 | Before * ... | cfg.rb:138:17:138:23 | Before ..., ... | | +| cfg.rb:138:17:138:23 | Before ... = ... | cfg.rb:138:17:138:23 | __synth__2 | | +| cfg.rb:138:17:138:23 | Before ..., ... | cfg.rb:138:17:138:17 | 1 | | +| cfg.rb:138:17:138:23 | __synth__2 | cfg.rb:138:17:138:23 | Before * ... | | | cfg.rb:138:20:138:20 | 2 | cfg.rb:138:23:138:23 | 3 | | | cfg.rb:138:23:138:23 | 3 | cfg.rb:138:17:138:23 | ..., ... | | | cfg.rb:140:1:140:1 | M | cfg.rb:140:1:140:11 | Constant | | -| cfg.rb:140:1:140:11 | Constant | cfg.rb:141:1:141:1 | M | | +| cfg.rb:140:1:140:11 | After Constant | cfg.rb:141:1:141:18 | Before Constant | | +| cfg.rb:140:1:140:11 | Before Constant | cfg.rb:140:1:140:1 | M | | +| cfg.rb:140:1:140:11 | Constant | cfg.rb:140:1:140:11 | After Constant | | | cfg.rb:141:1:141:1 | M | cfg.rb:141:1:141:8 | call to itself | | -| cfg.rb:141:1:141:8 | call to itself | cfg.rb:141:1:141:18 | Constant | | -| cfg.rb:141:1:141:18 | Constant | cfg.rb:143:10:143:14 | Silly | | -| cfg.rb:143:1:149:3 | class << ... | cfg.rb:151:1:151:5 | silly | | +| cfg.rb:141:1:141:8 | After call to itself | cfg.rb:141:1:141:18 | Constant | | +| cfg.rb:141:1:141:8 | Before call to itself | cfg.rb:141:1:141:1 | M | | +| cfg.rb:141:1:141:8 | call to itself | cfg.rb:141:1:141:8 | After call to itself | | +| cfg.rb:141:1:141:18 | After Constant | cfg.rb:143:1:149:3 | class << ... | | +| cfg.rb:141:1:141:18 | Before Constant | cfg.rb:141:1:141:8 | Before call to itself | | +| cfg.rb:141:1:141:18 | Constant | cfg.rb:141:1:141:18 | After Constant | | +| cfg.rb:143:1:149:3 | After class << ... | cfg.rb:151:1:151:17 | Before ... = ... | | +| cfg.rb:143:1:149:3 | class << ... | cfg.rb:143:10:143:21 | Before call to itself | | | cfg.rb:143:10:143:14 | Silly | cfg.rb:143:10:143:21 | call to itself | | -| cfg.rb:143:10:143:21 | call to itself | cfg.rb:144:3:144:19 | setter= | | +| cfg.rb:143:10:143:21 | After call to itself | cfg.rb:144:3:144:19 | setter= | | +| cfg.rb:143:10:143:21 | Before call to itself | cfg.rb:143:10:143:14 | Silly | | +| cfg.rb:143:10:143:21 | call to itself | cfg.rb:143:10:143:21 | After call to itself | | | cfg.rb:144:3:144:19 | setter= | cfg.rb:145:3:148:5 | print | | -| cfg.rb:145:3:148:5 | enter print | cfg.rb:146:5:146:20 | self | | -| cfg.rb:145:3:148:5 | exit print (normal) | cfg.rb:145:3:148:5 | exit print | | -| cfg.rb:145:3:148:5 | print | cfg.rb:143:1:149:3 | class << ... | | -| cfg.rb:146:5:146:20 | call to puts | cfg.rb:147:5:147:22 | self | | -| cfg.rb:146:5:146:20 | self | cfg.rb:146:11:146:19 | singleton | | -| cfg.rb:146:10:146:20 | "singleton" | cfg.rb:146:5:146:20 | call to puts | | +| cfg.rb:145:3:148:5 | Entry | cfg.rb:146:5:147:22 | ... | | +| cfg.rb:145:3:148:5 | Normal Exit | cfg.rb:145:3:148:5 | Exit | | +| cfg.rb:145:3:148:5 | print | cfg.rb:143:1:149:3 | After class << ... | | +| cfg.rb:146:5:146:20 | After call to puts | cfg.rb:147:5:147:22 | Before call to puts | | +| cfg.rb:146:5:146:20 | Before call to puts | cfg.rb:146:5:146:20 | self | | +| cfg.rb:146:5:146:20 | call to puts | cfg.rb:146:5:146:20 | After call to puts | | +| cfg.rb:146:5:146:20 | self | cfg.rb:146:10:146:20 | Before "singleton" | | +| cfg.rb:146:5:147:22 | ... | cfg.rb:146:5:146:20 | Before call to puts | | +| cfg.rb:146:5:147:22 | After ... | cfg.rb:145:3:148:5 | Normal Exit | | +| cfg.rb:146:10:146:20 | "singleton" | cfg.rb:146:10:146:20 | After "singleton" | | +| cfg.rb:146:10:146:20 | After "singleton" | cfg.rb:146:5:146:20 | call to puts | | +| cfg.rb:146:10:146:20 | Before "singleton" | cfg.rb:146:11:146:19 | singleton | | | cfg.rb:146:11:146:19 | singleton | cfg.rb:146:10:146:20 | "singleton" | | -| cfg.rb:147:5:147:22 | call to puts | cfg.rb:145:3:148:5 | exit print (normal) | | -| cfg.rb:147:5:147:22 | self | cfg.rb:147:10:147:14 | super call to print | | -| cfg.rb:147:10:147:14 | super call to print | cfg.rb:147:10:147:22 | call to print | | -| cfg.rb:147:10:147:22 | call to print | cfg.rb:147:5:147:22 | call to puts | | -| cfg.rb:151:1:151:5 | silly | cfg.rb:151:9:151:13 | Silly | | -| cfg.rb:151:1:151:17 | ... = ... | cfg.rb:152:5:152:9 | silly | | +| cfg.rb:147:5:147:22 | After call to puts | cfg.rb:146:5:147:22 | After ... | | +| cfg.rb:147:5:147:22 | Before call to puts | cfg.rb:147:5:147:22 | self | | +| cfg.rb:147:5:147:22 | call to puts | cfg.rb:147:5:147:22 | After call to puts | | +| cfg.rb:147:5:147:22 | self | cfg.rb:147:10:147:22 | Before call to print | | +| cfg.rb:147:10:147:14 | After super call to print | cfg.rb:147:10:147:22 | call to print | | +| cfg.rb:147:10:147:14 | Before super call to print | cfg.rb:147:10:147:14 | super call to print | | +| cfg.rb:147:10:147:14 | super call to print | cfg.rb:147:10:147:14 | After super call to print | | +| cfg.rb:147:10:147:22 | After call to print | cfg.rb:147:5:147:22 | call to puts | | +| cfg.rb:147:10:147:22 | Before call to print | cfg.rb:147:10:147:14 | Before super call to print | | +| cfg.rb:147:10:147:22 | call to print | cfg.rb:147:10:147:22 | After call to print | | +| cfg.rb:151:1:151:5 | silly | cfg.rb:151:9:151:17 | Before call to new | | +| cfg.rb:151:1:151:17 | ... = ... | cfg.rb:151:1:151:17 | After ... = ... | | +| cfg.rb:151:1:151:17 | After ... = ... | cfg.rb:152:1:154:3 | Before method | | +| cfg.rb:151:1:151:17 | Before ... = ... | cfg.rb:151:1:151:5 | silly | | | cfg.rb:151:9:151:13 | Silly | cfg.rb:151:9:151:17 | call to new | | -| cfg.rb:151:9:151:17 | call to new | cfg.rb:151:1:151:17 | ... = ... | | -| cfg.rb:152:1:154:3 | enter method | cfg.rb:152:19:152:19 | x | | -| cfg.rb:152:1:154:3 | exit method (normal) | cfg.rb:152:1:154:3 | exit method | | -| cfg.rb:152:1:154:3 | method | cfg.rb:156:1:156:28 | two_parameters | | +| cfg.rb:151:9:151:17 | After call to new | cfg.rb:151:1:151:17 | ... = ... | | +| cfg.rb:151:9:151:17 | Before call to new | cfg.rb:151:9:151:13 | Silly | | +| cfg.rb:151:9:151:17 | call to new | cfg.rb:151:9:151:17 | After call to new | | +| cfg.rb:152:1:154:3 | After method | cfg.rb:156:1:156:28 | two_parameters | | +| cfg.rb:152:1:154:3 | Before method | cfg.rb:152:5:152:9 | silly | | +| cfg.rb:152:1:154:3 | Entry | cfg.rb:152:19:152:19 | x | | +| cfg.rb:152:1:154:3 | Normal Exit | cfg.rb:152:1:154:3 | Exit | | +| cfg.rb:152:1:154:3 | method | cfg.rb:152:1:154:3 | After method | | | cfg.rb:152:5:152:9 | silly | cfg.rb:152:1:154:3 | method | | -| cfg.rb:152:19:152:19 | x | cfg.rb:153:3:153:8 | self | | -| cfg.rb:153:3:153:8 | call to puts | cfg.rb:152:1:154:3 | exit method (normal) | | +| cfg.rb:152:19:152:19 | x | cfg.rb:153:3:153:8 | ... | | +| cfg.rb:153:3:153:8 | ... | cfg.rb:153:3:153:8 | Before call to puts | | +| cfg.rb:153:3:153:8 | After ... | cfg.rb:152:1:154:3 | Normal Exit | | +| cfg.rb:153:3:153:8 | After call to puts | cfg.rb:153:3:153:8 | After ... | | +| cfg.rb:153:3:153:8 | Before call to puts | cfg.rb:153:3:153:8 | self | | +| cfg.rb:153:3:153:8 | call to puts | cfg.rb:153:3:153:8 | After call to puts | | | cfg.rb:153:3:153:8 | self | cfg.rb:153:8:153:8 | x | | | cfg.rb:153:8:153:8 | x | cfg.rb:153:3:153:8 | call to puts | | -| cfg.rb:156:1:156:28 | enter two_parameters | cfg.rb:156:21:156:21 | a | | -| cfg.rb:156:1:156:28 | exit two_parameters (normal) | cfg.rb:156:1:156:28 | exit two_parameters | | -| cfg.rb:156:1:156:28 | two_parameters | cfg.rb:158:1:158:22 | self | | -| cfg.rb:156:21:156:21 | a | cfg.rb:156:23:156:23 | b | | -| cfg.rb:156:23:156:23 | b | cfg.rb:156:1:156:28 | exit two_parameters (normal) | | -| cfg.rb:158:1:158:22 | call to two_parameters | cfg.rb:160:1:160:10 | scriptfile | | -| cfg.rb:158:1:158:22 | self | cfg.rb:158:17:158:21 | Array | | -| cfg.rb:158:16:158:21 | * ... | cfg.rb:158:1:158:22 | call to two_parameters | | +| cfg.rb:156:1:156:28 | two_parameters | cfg.rb:158:1:158:22 | Before call to two_parameters | | +| cfg.rb:158:1:158:22 | After call to two_parameters | cfg.rb:160:1:160:32 | Before ... = ... | | +| cfg.rb:158:1:158:22 | Before call to two_parameters | cfg.rb:158:1:158:22 | self | | +| cfg.rb:158:1:158:22 | call to two_parameters | cfg.rb:158:1:158:22 | After call to two_parameters | | +| cfg.rb:158:1:158:22 | self | cfg.rb:158:16:158:21 | Before * ... | | +| cfg.rb:158:16:158:21 | * ... | cfg.rb:158:16:158:21 | After * ... | | +| cfg.rb:158:16:158:21 | After * ... | cfg.rb:158:1:158:22 | call to two_parameters | | +| cfg.rb:158:16:158:21 | Before * ... | cfg.rb:158:17:158:21 | Before call to [] | | +| cfg.rb:158:17:158:21 | After call to [] | cfg.rb:158:16:158:21 | * ... | | | cfg.rb:158:17:158:21 | Array | cfg.rb:158:18:158:18 | 1 | | -| cfg.rb:158:17:158:21 | call to [] | cfg.rb:158:16:158:21 | * ... | | +| cfg.rb:158:17:158:21 | Before call to [] | cfg.rb:158:17:158:21 | Array | | +| cfg.rb:158:17:158:21 | call to [] | cfg.rb:158:17:158:21 | After call to [] | | | cfg.rb:158:18:158:18 | 1 | cfg.rb:158:20:158:20 | 2 | | | cfg.rb:158:20:158:20 | 2 | cfg.rb:158:17:158:21 | call to [] | | -| cfg.rb:160:1:160:10 | scriptfile | cfg.rb:160:15:160:19 | cat " | | -| cfg.rb:160:1:160:32 | ... = ... | cfg.rb:162:1:162:6 | symbol | | -| cfg.rb:160:14:160:32 | `cat "#{...}"` | cfg.rb:160:1:160:32 | ... = ... | | -| cfg.rb:160:15:160:19 | cat " | cfg.rb:160:22:160:29 | self | | -| cfg.rb:160:20:160:30 | #{...} | cfg.rb:160:31:160:31 | " | | -| cfg.rb:160:22:160:29 | call to __FILE__ | cfg.rb:160:20:160:30 | #{...} | | +| cfg.rb:160:1:160:10 | scriptfile | cfg.rb:160:14:160:32 | Before `cat "#{...}"` | | +| cfg.rb:160:1:160:32 | ... = ... | cfg.rb:160:1:160:32 | After ... = ... | | +| cfg.rb:160:1:160:32 | After ... = ... | cfg.rb:162:1:162:15 | Before ... = ... | | +| cfg.rb:160:1:160:32 | Before ... = ... | cfg.rb:160:1:160:10 | scriptfile | | +| cfg.rb:160:14:160:32 | After `cat "#{...}"` | cfg.rb:160:1:160:32 | ... = ... | | +| cfg.rb:160:14:160:32 | Before `cat "#{...}"` | cfg.rb:160:15:160:19 | cat " | | +| cfg.rb:160:14:160:32 | `cat "#{...}"` | cfg.rb:160:14:160:32 | After `cat "#{...}"` | | +| cfg.rb:160:15:160:19 | cat " | cfg.rb:160:20:160:30 | #{...} | | +| cfg.rb:160:20:160:30 | #{...} | cfg.rb:160:22:160:29 | Before call to __FILE__ | | +| cfg.rb:160:20:160:30 | After #{...} | cfg.rb:160:31:160:31 | " | | +| cfg.rb:160:22:160:29 | After call to __FILE__ | cfg.rb:160:20:160:30 | After #{...} | | +| cfg.rb:160:22:160:29 | Before call to __FILE__ | cfg.rb:160:22:160:29 | self | | +| cfg.rb:160:22:160:29 | call to __FILE__ | cfg.rb:160:22:160:29 | After call to __FILE__ | | | cfg.rb:160:22:160:29 | self | cfg.rb:160:22:160:29 | call to __FILE__ | | | cfg.rb:160:31:160:31 | " | cfg.rb:160:14:160:32 | `cat "#{...}"` | | -| cfg.rb:162:1:162:6 | symbol | cfg.rb:162:10:162:15 | hello | | -| cfg.rb:162:1:162:15 | ... = ... | cfg.rb:164:1:164:16 | delimited_symbol | | -| cfg.rb:162:10:162:15 | :hello | cfg.rb:162:1:162:15 | ... = ... | | +| cfg.rb:162:1:162:6 | symbol | cfg.rb:162:10:162:15 | Before :hello | | +| cfg.rb:162:1:162:15 | ... = ... | cfg.rb:162:1:162:15 | After ... = ... | | +| cfg.rb:162:1:162:15 | After ... = ... | cfg.rb:164:1:164:42 | Before ... = ... | | +| cfg.rb:162:1:162:15 | Before ... = ... | cfg.rb:162:1:162:6 | symbol | | +| cfg.rb:162:10:162:15 | :hello | cfg.rb:162:10:162:15 | After :hello | | +| cfg.rb:162:10:162:15 | After :hello | cfg.rb:162:1:162:15 | ... = ... | | +| cfg.rb:162:10:162:15 | Before :hello | cfg.rb:162:10:162:15 | hello | | | cfg.rb:162:10:162:15 | hello | cfg.rb:162:10:162:15 | :hello | | -| cfg.rb:164:1:164:16 | delimited_symbol | cfg.rb:164:22:164:29 | goodbye- | | -| cfg.rb:164:1:164:42 | ... = ... | cfg.rb:166:1:166:1 | x | | -| cfg.rb:164:20:164:42 | :"goodbye-#{...}" | cfg.rb:164:1:164:42 | ... = ... | | -| cfg.rb:164:22:164:29 | goodbye- | cfg.rb:164:33:164:34 | 12 | | -| cfg.rb:164:30:164:41 | #{...} | cfg.rb:164:20:164:42 | :"goodbye-#{...}" | | +| cfg.rb:164:1:164:16 | delimited_symbol | cfg.rb:164:20:164:42 | Before :"goodbye-#{...}" | | +| cfg.rb:164:1:164:42 | ... = ... | cfg.rb:164:1:164:42 | After ... = ... | | +| cfg.rb:164:1:164:42 | After ... = ... | cfg.rb:166:1:166:8 | Before ... = ... | | +| cfg.rb:164:1:164:42 | Before ... = ... | cfg.rb:164:1:164:16 | delimited_symbol | | +| cfg.rb:164:20:164:42 | :"goodbye-#{...}" | cfg.rb:164:20:164:42 | After :"goodbye-#{...}" | | +| cfg.rb:164:20:164:42 | After :"goodbye-#{...}" | cfg.rb:164:1:164:42 | ... = ... | | +| cfg.rb:164:20:164:42 | Before :"goodbye-#{...}" | cfg.rb:164:22:164:29 | goodbye- | | +| cfg.rb:164:22:164:29 | goodbye- | cfg.rb:164:30:164:41 | #{...} | | +| cfg.rb:164:30:164:41 | #{...} | cfg.rb:164:33:164:39 | Before ... + ... | | +| cfg.rb:164:30:164:41 | After #{...} | cfg.rb:164:20:164:42 | :"goodbye-#{...}" | | | cfg.rb:164:33:164:34 | 12 | cfg.rb:164:38:164:39 | 13 | | -| cfg.rb:164:33:164:39 | ... + ... | cfg.rb:164:30:164:41 | #{...} | | +| cfg.rb:164:33:164:39 | ... + ... | cfg.rb:164:33:164:39 | After ... + ... | | +| cfg.rb:164:33:164:39 | After ... + ... | cfg.rb:164:30:164:41 | After #{...} | | +| cfg.rb:164:33:164:39 | Before ... + ... | cfg.rb:164:33:164:34 | 12 | | | cfg.rb:164:38:164:39 | 13 | cfg.rb:164:33:164:39 | ... + ... | | | cfg.rb:166:1:166:1 | x | cfg.rb:166:5:166:8 | true | | -| cfg.rb:166:1:166:8 | ... = ... | cfg.rb:167:1:167:1 | x | | +| cfg.rb:166:1:166:8 | ... = ... | cfg.rb:166:1:166:8 | After ... = ... | | +| cfg.rb:166:1:166:8 | After ... = ... | cfg.rb:167:1:167:10 | Before ... = ... | | +| cfg.rb:166:1:166:8 | Before ... = ... | cfg.rb:166:1:166:1 | x | | | cfg.rb:166:5:166:8 | true | cfg.rb:166:1:166:8 | ... = ... | | -| cfg.rb:167:1:167:1 | x | cfg.rb:167:7:167:10 | true | | -| cfg.rb:167:1:167:10 | ... = ... | cfg.rb:168:1:168:1 | x | | -| cfg.rb:167:5:167:10 | ! ... | cfg.rb:167:1:167:10 | ... = ... | | -| cfg.rb:167:7:167:10 | true | cfg.rb:167:5:167:10 | ! ... | | -| cfg.rb:168:1:168:1 | x | cfg.rb:168:7:168:8 | 42 | | -| cfg.rb:168:1:168:8 | ... = ... | cfg.rb:170:1:170:20 | undef ... | | -| cfg.rb:168:5:168:8 | - ... | cfg.rb:168:1:168:8 | ... = ... | | +| cfg.rb:167:1:167:1 | x | cfg.rb:167:5:167:10 | ! ... | | +| cfg.rb:167:1:167:10 | ... = ... | cfg.rb:167:1:167:10 | After ... = ... | | +| cfg.rb:167:1:167:10 | After ... = ... | cfg.rb:168:1:168:8 | Before ... = ... | | +| cfg.rb:167:1:167:10 | Before ... = ... | cfg.rb:167:1:167:1 | x | | +| cfg.rb:167:5:167:10 | ! ... | cfg.rb:167:7:167:10 | true | | +| cfg.rb:167:5:167:10 | After ! ... | cfg.rb:167:1:167:10 | ... = ... | | +| cfg.rb:167:7:167:10 | true | cfg.rb:167:5:167:10 | After ! ... | | +| cfg.rb:168:1:168:1 | x | cfg.rb:168:5:168:8 | Before - ... | | +| cfg.rb:168:1:168:8 | ... = ... | cfg.rb:168:1:168:8 | After ... = ... | | +| cfg.rb:168:1:168:8 | After ... = ... | cfg.rb:170:1:170:20 | Before undef ... | | +| cfg.rb:168:1:168:8 | Before ... = ... | cfg.rb:168:1:168:1 | x | | +| cfg.rb:168:5:168:8 | - ... | cfg.rb:168:5:168:8 | After - ... | | +| cfg.rb:168:5:168:8 | After - ... | cfg.rb:168:1:168:8 | ... = ... | | +| cfg.rb:168:5:168:8 | Before - ... | cfg.rb:168:7:168:8 | 42 | | | cfg.rb:168:7:168:8 | 42 | cfg.rb:168:5:168:8 | - ... | | -| cfg.rb:170:1:170:20 | undef ... | cfg.rb:170:7:170:20 | two_parameters | | -| cfg.rb:170:7:170:20 | two_parameters | cfg.rb:172:8:172:8 | x | | -| cfg.rb:172:1:172:49 | unless ... | cfg.rb:174:18:174:18 | x | | +| cfg.rb:170:1:170:20 | After undef ... | cfg.rb:172:1:172:49 | unless ... | | +| cfg.rb:170:1:170:20 | Before undef ... | cfg.rb:170:7:170:20 | two_parameters | | +| cfg.rb:170:1:170:20 | undef ... | cfg.rb:170:1:170:20 | After undef ... | | +| cfg.rb:170:7:170:20 | two_parameters | cfg.rb:170:1:170:20 | undef ... | | +| cfg.rb:172:1:172:49 | After unless ... | cfg.rb:174:1:174:23 | ... unless ... | | +| cfg.rb:172:1:172:49 | unless ... | cfg.rb:172:8:172:14 | Before ... == ... | | | cfg.rb:172:8:172:8 | x | cfg.rb:172:13:172:14 | 10 | | -| cfg.rb:172:8:172:14 | ... == ... | cfg.rb:172:21:172:29 | self | false | -| cfg.rb:172:8:172:14 | ... == ... | cfg.rb:172:36:172:45 | self | true | +| cfg.rb:172:8:172:14 | ... == ... | cfg.rb:172:8:172:14 | After ... == ... [false] | false | +| cfg.rb:172:8:172:14 | ... == ... | cfg.rb:172:8:172:14 | After ... == ... [true] | true | +| cfg.rb:172:8:172:14 | After ... == ... [false] | cfg.rb:172:16:172:29 | then ... | | +| cfg.rb:172:8:172:14 | After ... == ... [true] | cfg.rb:172:31:172:45 | else ... | | +| cfg.rb:172:8:172:14 | Before ... == ... | cfg.rb:172:8:172:8 | x | | | cfg.rb:172:13:172:14 | 10 | cfg.rb:172:8:172:14 | ... == ... | | -| cfg.rb:172:16:172:29 | then ... | cfg.rb:172:1:172:49 | unless ... | | -| cfg.rb:172:21:172:29 | call to puts | cfg.rb:172:16:172:29 | then ... | | -| cfg.rb:172:21:172:29 | self | cfg.rb:172:27:172:28 | hi | | -| cfg.rb:172:26:172:29 | "hi" | cfg.rb:172:21:172:29 | call to puts | | +| cfg.rb:172:16:172:29 | After then ... | cfg.rb:172:1:172:49 | After unless ... | | +| cfg.rb:172:16:172:29 | then ... | cfg.rb:172:21:172:29 | Before call to puts | | +| cfg.rb:172:21:172:29 | After call to puts | cfg.rb:172:16:172:29 | After then ... | | +| cfg.rb:172:21:172:29 | Before call to puts | cfg.rb:172:21:172:29 | self | | +| cfg.rb:172:21:172:29 | call to puts | cfg.rb:172:21:172:29 | After call to puts | | +| cfg.rb:172:21:172:29 | self | cfg.rb:172:26:172:29 | Before "hi" | | +| cfg.rb:172:26:172:29 | "hi" | cfg.rb:172:26:172:29 | After "hi" | | +| cfg.rb:172:26:172:29 | After "hi" | cfg.rb:172:21:172:29 | call to puts | | +| cfg.rb:172:26:172:29 | Before "hi" | cfg.rb:172:27:172:28 | hi | | | cfg.rb:172:27:172:28 | hi | cfg.rb:172:26:172:29 | "hi" | | -| cfg.rb:172:31:172:45 | else ... | cfg.rb:172:1:172:49 | unless ... | | -| cfg.rb:172:36:172:45 | call to puts | cfg.rb:172:31:172:45 | else ... | | -| cfg.rb:172:36:172:45 | self | cfg.rb:172:42:172:44 | bye | | -| cfg.rb:172:41:172:45 | "bye" | cfg.rb:172:36:172:45 | call to puts | | +| cfg.rb:172:31:172:45 | After else ... | cfg.rb:172:1:172:49 | After unless ... | | +| cfg.rb:172:31:172:45 | else ... | cfg.rb:172:36:172:45 | Before call to puts | | +| cfg.rb:172:36:172:45 | After call to puts | cfg.rb:172:31:172:45 | After else ... | | +| cfg.rb:172:36:172:45 | Before call to puts | cfg.rb:172:36:172:45 | self | | +| cfg.rb:172:36:172:45 | call to puts | cfg.rb:172:36:172:45 | After call to puts | | +| cfg.rb:172:36:172:45 | self | cfg.rb:172:41:172:45 | Before "bye" | | +| cfg.rb:172:41:172:45 | "bye" | cfg.rb:172:41:172:45 | After "bye" | | +| cfg.rb:172:41:172:45 | After "bye" | cfg.rb:172:36:172:45 | call to puts | | +| cfg.rb:172:41:172:45 | Before "bye" | cfg.rb:172:42:172:44 | bye | | | cfg.rb:172:42:172:44 | bye | cfg.rb:172:41:172:45 | "bye" | | -| cfg.rb:174:1:174:9 | call to puts | cfg.rb:174:1:174:23 | ... unless ... | | -| cfg.rb:174:1:174:9 | self | cfg.rb:174:7:174:8 | hi | | -| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:176:7:176:7 | x | | -| cfg.rb:174:6:174:9 | "hi" | cfg.rb:174:1:174:9 | call to puts | | +| cfg.rb:174:1:174:9 | After call to puts | cfg.rb:174:1:174:23 | After ... unless ... | | +| cfg.rb:174:1:174:9 | Before call to puts | cfg.rb:174:1:174:9 | self | | +| cfg.rb:174:1:174:9 | call to puts | cfg.rb:174:1:174:9 | After call to puts | | +| cfg.rb:174:1:174:9 | self | cfg.rb:174:6:174:9 | Before "hi" | | +| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:174:18:174:23 | Before ... == ... | | +| cfg.rb:174:1:174:23 | After ... unless ... | cfg.rb:176:1:176:41 | until ... | | +| cfg.rb:174:6:174:9 | "hi" | cfg.rb:174:6:174:9 | After "hi" | | +| cfg.rb:174:6:174:9 | After "hi" | cfg.rb:174:1:174:9 | call to puts | | +| cfg.rb:174:6:174:9 | Before "hi" | cfg.rb:174:7:174:8 | hi | | | cfg.rb:174:7:174:8 | hi | cfg.rb:174:6:174:9 | "hi" | | | cfg.rb:174:18:174:18 | x | cfg.rb:174:23:174:23 | 0 | | -| cfg.rb:174:18:174:23 | ... == ... | cfg.rb:174:1:174:9 | self | false | -| cfg.rb:174:18:174:23 | ... == ... | cfg.rb:174:1:174:23 | ... unless ... | true | +| cfg.rb:174:18:174:23 | ... == ... | cfg.rb:174:18:174:23 | After ... == ... [false] | false | +| cfg.rb:174:18:174:23 | ... == ... | cfg.rb:174:18:174:23 | After ... == ... [true] | true | +| cfg.rb:174:18:174:23 | After ... == ... [false] | cfg.rb:174:1:174:9 | Before call to puts | | +| cfg.rb:174:18:174:23 | After ... == ... [true] | cfg.rb:174:1:174:23 | After ... unless ... | | +| cfg.rb:174:18:174:23 | Before ... == ... | cfg.rb:174:18:174:18 | x | | | cfg.rb:174:23:174:23 | 0 | cfg.rb:174:18:174:23 | ... == ... | | -| cfg.rb:176:1:176:41 | until ... | cfg.rb:178:1:178:1 | i | | +| cfg.rb:176:1:176:41 | After until ... | cfg.rb:178:1:178:5 | Before ... = ... | | +| cfg.rb:176:1:176:41 | [LoopHeader] until ... | cfg.rb:176:7:176:12 | Before ... > ... | | +| cfg.rb:176:1:176:41 | until ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | | | cfg.rb:176:7:176:7 | x | cfg.rb:176:11:176:12 | 10 | | -| cfg.rb:176:7:176:12 | ... > ... | cfg.rb:176:1:176:41 | until ... | true | -| cfg.rb:176:7:176:12 | ... > ... | cfg.rb:176:17:176:17 | x | false | +| cfg.rb:176:7:176:12 | ... > ... | cfg.rb:176:7:176:12 | After ... > ... [false] | false | +| cfg.rb:176:7:176:12 | ... > ... | cfg.rb:176:7:176:12 | After ... > ... [true] | true | +| cfg.rb:176:7:176:12 | After ... > ... [false] | cfg.rb:176:14:176:41 | do ... | | +| cfg.rb:176:7:176:12 | After ... > ... [true] | cfg.rb:176:1:176:41 | After until ... | | +| cfg.rb:176:7:176:12 | Before ... > ... | cfg.rb:176:7:176:7 | x | | | cfg.rb:176:11:176:12 | 10 | cfg.rb:176:7:176:12 | ... > ... | | -| cfg.rb:176:14:176:41 | do ... | cfg.rb:176:7:176:7 | x | | -| cfg.rb:176:17:176:17 | x | cfg.rb:176:17:176:17 | x | | +| cfg.rb:176:14:176:41 | After do ... | cfg.rb:176:1:176:41 | [LoopHeader] until ... | | +| cfg.rb:176:14:176:41 | do ... | cfg.rb:176:17:176:23 | Before ... = ... | | +| cfg.rb:176:17:176:17 | x | cfg.rb:176:19:176:20 | Before ... + ... | | | cfg.rb:176:17:176:17 | x | cfg.rb:176:22:176:23 | 10 | | -| cfg.rb:176:17:176:23 | ... = ... | cfg.rb:176:26:176:37 | self | | -| cfg.rb:176:19:176:20 | ... + ... | cfg.rb:176:17:176:23 | ... = ... | | +| cfg.rb:176:17:176:23 | ... = ... | cfg.rb:176:17:176:23 | After ... = ... | | +| cfg.rb:176:17:176:23 | After ... = ... | cfg.rb:176:26:176:37 | Before call to puts | | +| cfg.rb:176:17:176:23 | Before ... = ... | cfg.rb:176:17:176:17 | x | | +| cfg.rb:176:19:176:20 | ... + ... | cfg.rb:176:19:176:20 | After ... + ... | | +| cfg.rb:176:19:176:20 | After ... + ... | cfg.rb:176:17:176:23 | ... = ... | | +| cfg.rb:176:19:176:20 | Before ... + ... | cfg.rb:176:17:176:17 | x | | | cfg.rb:176:22:176:23 | 10 | cfg.rb:176:19:176:20 | ... + ... | | -| cfg.rb:176:26:176:37 | call to puts | cfg.rb:176:14:176:41 | do ... | | -| cfg.rb:176:26:176:37 | self | cfg.rb:176:32:176:36 | hello | | -| cfg.rb:176:31:176:37 | "hello" | cfg.rb:176:26:176:37 | call to puts | | +| cfg.rb:176:26:176:37 | After call to puts | cfg.rb:176:14:176:41 | After do ... | | +| cfg.rb:176:26:176:37 | Before call to puts | cfg.rb:176:26:176:37 | self | | +| cfg.rb:176:26:176:37 | call to puts | cfg.rb:176:26:176:37 | After call to puts | | +| cfg.rb:176:26:176:37 | self | cfg.rb:176:31:176:37 | Before "hello" | | +| cfg.rb:176:31:176:37 | "hello" | cfg.rb:176:31:176:37 | After "hello" | | +| cfg.rb:176:31:176:37 | After "hello" | cfg.rb:176:26:176:37 | call to puts | | +| cfg.rb:176:31:176:37 | Before "hello" | cfg.rb:176:32:176:36 | hello | | | cfg.rb:176:32:176:36 | hello | cfg.rb:176:31:176:37 | "hello" | | | cfg.rb:178:1:178:1 | i | cfg.rb:178:5:178:5 | 0 | | -| cfg.rb:178:1:178:5 | ... = ... | cfg.rb:179:30:179:30 | i | | +| cfg.rb:178:1:178:5 | ... = ... | cfg.rb:178:1:178:5 | After ... = ... | | +| cfg.rb:178:1:178:5 | After ... = ... | cfg.rb:179:1:179:36 | ... until ... | | +| cfg.rb:178:1:178:5 | Before ... = ... | cfg.rb:178:1:178:1 | i | | | cfg.rb:178:5:178:5 | 0 | cfg.rb:178:1:178:5 | ... = ... | | -| cfg.rb:179:1:179:22 | ( ... ) | cfg.rb:179:30:179:30 | i | | -| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:181:1:181:1 | x | | -| cfg.rb:179:2:179:13 | call to puts | cfg.rb:179:16:179:16 | i | | -| cfg.rb:179:2:179:13 | self | cfg.rb:179:8:179:12 | hello | | -| cfg.rb:179:7:179:13 | "hello" | cfg.rb:179:2:179:13 | call to puts | | +| cfg.rb:179:1:179:22 | ( ... ) | cfg.rb:179:2:179:13 | Before call to puts | | +| cfg.rb:179:1:179:22 | After ( ... ) | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | | +| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | | +| cfg.rb:179:1:179:36 | After ... until ... | cfg.rb:181:1:181:5 | Before ... = ... | | +| cfg.rb:179:1:179:36 | [LoopHeader] ... until ... | cfg.rb:179:30:179:36 | Before ... == ... | | +| cfg.rb:179:2:179:13 | After call to puts | cfg.rb:179:16:179:21 | Before ... = ... | | +| cfg.rb:179:2:179:13 | Before call to puts | cfg.rb:179:2:179:13 | self | | +| cfg.rb:179:2:179:13 | call to puts | cfg.rb:179:2:179:13 | After call to puts | | +| cfg.rb:179:2:179:13 | self | cfg.rb:179:7:179:13 | Before "hello" | | +| cfg.rb:179:7:179:13 | "hello" | cfg.rb:179:7:179:13 | After "hello" | | +| cfg.rb:179:7:179:13 | After "hello" | cfg.rb:179:2:179:13 | call to puts | | +| cfg.rb:179:7:179:13 | Before "hello" | cfg.rb:179:8:179:12 | hello | | | cfg.rb:179:8:179:12 | hello | cfg.rb:179:7:179:13 | "hello" | | -| cfg.rb:179:16:179:16 | i | cfg.rb:179:16:179:16 | i | | +| cfg.rb:179:16:179:16 | i | cfg.rb:179:18:179:19 | Before ... + ... | | | cfg.rb:179:16:179:16 | i | cfg.rb:179:21:179:21 | 1 | | -| cfg.rb:179:16:179:21 | ... = ... | cfg.rb:179:1:179:22 | ( ... ) | | -| cfg.rb:179:18:179:19 | ... + ... | cfg.rb:179:16:179:21 | ... = ... | | +| cfg.rb:179:16:179:21 | ... = ... | cfg.rb:179:16:179:21 | After ... = ... | | +| cfg.rb:179:16:179:21 | After ... = ... | cfg.rb:179:1:179:22 | After ( ... ) | | +| cfg.rb:179:16:179:21 | Before ... = ... | cfg.rb:179:16:179:16 | i | | +| cfg.rb:179:18:179:19 | ... + ... | cfg.rb:179:18:179:19 | After ... + ... | | +| cfg.rb:179:18:179:19 | After ... + ... | cfg.rb:179:16:179:21 | ... = ... | | +| cfg.rb:179:18:179:19 | Before ... + ... | cfg.rb:179:16:179:16 | i | | | cfg.rb:179:21:179:21 | 1 | cfg.rb:179:18:179:19 | ... + ... | | | cfg.rb:179:30:179:30 | i | cfg.rb:179:35:179:36 | 10 | | -| cfg.rb:179:30:179:36 | ... == ... | cfg.rb:179:1:179:36 | ... until ... | true | -| cfg.rb:179:30:179:36 | ... == ... | cfg.rb:179:2:179:13 | self | false | +| cfg.rb:179:30:179:36 | ... == ... | cfg.rb:179:30:179:36 | After ... == ... [false] | false | +| cfg.rb:179:30:179:36 | ... == ... | cfg.rb:179:30:179:36 | After ... == ... [true] | true | +| cfg.rb:179:30:179:36 | After ... == ... [false] | cfg.rb:179:1:179:22 | ( ... ) | | +| cfg.rb:179:30:179:36 | After ... == ... [true] | cfg.rb:179:1:179:36 | After ... until ... | | +| cfg.rb:179:30:179:36 | Before ... == ... | cfg.rb:179:30:179:30 | i | | | cfg.rb:179:35:179:36 | 10 | cfg.rb:179:30:179:36 | ... == ... | | | cfg.rb:181:1:181:1 | x | cfg.rb:181:5:181:5 | 0 | | -| cfg.rb:181:1:181:5 | ... = ... | cfg.rb:182:7:182:7 | x | | +| cfg.rb:181:1:181:5 | ... = ... | cfg.rb:181:1:181:5 | After ... = ... | | +| cfg.rb:181:1:181:5 | After ... = ... | cfg.rb:182:1:186:3 | while ... | | +| cfg.rb:181:1:181:5 | Before ... = ... | cfg.rb:181:1:181:1 | x | | | cfg.rb:181:5:181:5 | 0 | cfg.rb:181:1:181:5 | ... = ... | | -| cfg.rb:182:1:186:3 | while ... | cfg.rb:188:30:188:30 | i | | +| cfg.rb:182:1:186:3 | After while ... | cfg.rb:188:1:188:35 | ... while ... | | +| cfg.rb:182:1:186:3 | [LoopHeader] while ... | cfg.rb:182:7:182:12 | Before ... < ... | | +| cfg.rb:182:1:186:3 | while ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | | | cfg.rb:182:7:182:7 | x | cfg.rb:182:11:182:12 | 10 | | -| cfg.rb:182:7:182:12 | ... < ... | cfg.rb:182:1:186:3 | while ... | false | -| cfg.rb:182:7:182:12 | ... < ... | cfg.rb:183:3:183:3 | x | true | +| cfg.rb:182:7:182:12 | ... < ... | cfg.rb:182:7:182:12 | After ... < ... [false] | false | +| cfg.rb:182:7:182:12 | ... < ... | cfg.rb:182:7:182:12 | After ... < ... [true] | true | +| cfg.rb:182:7:182:12 | After ... < ... [false] | cfg.rb:182:1:186:3 | After while ... | | +| cfg.rb:182:7:182:12 | After ... < ... [true] | cfg.rb:182:14:186:3 | do ... | | +| cfg.rb:182:7:182:12 | Before ... < ... | cfg.rb:182:7:182:7 | x | | | cfg.rb:182:11:182:12 | 10 | cfg.rb:182:7:182:12 | ... < ... | | -| cfg.rb:182:14:186:3 | do ... | cfg.rb:182:7:182:7 | x | | -| cfg.rb:183:3:183:3 | x | cfg.rb:183:3:183:3 | x | | +| cfg.rb:182:14:186:3 | After do ... | cfg.rb:182:1:186:3 | [LoopHeader] while ... | | +| cfg.rb:182:14:186:3 | do ... | cfg.rb:183:3:183:8 | Before ... = ... | | +| cfg.rb:183:3:183:3 | x | cfg.rb:183:5:183:6 | Before ... + ... | | | cfg.rb:183:3:183:3 | x | cfg.rb:183:8:183:8 | 1 | | -| cfg.rb:183:3:183:8 | ... = ... | cfg.rb:184:6:184:6 | x | | -| cfg.rb:183:5:183:6 | ... + ... | cfg.rb:183:3:183:8 | ... = ... | | +| cfg.rb:183:3:183:8 | ... = ... | cfg.rb:183:3:183:8 | After ... = ... | | +| cfg.rb:183:3:183:8 | After ... = ... | cfg.rb:184:3:184:25 | if ... | | +| cfg.rb:183:3:183:8 | Before ... = ... | cfg.rb:183:3:183:3 | x | | +| cfg.rb:183:5:183:6 | ... + ... | cfg.rb:183:5:183:6 | After ... + ... | | +| cfg.rb:183:5:183:6 | After ... + ... | cfg.rb:183:3:183:8 | ... = ... | | +| cfg.rb:183:5:183:6 | Before ... + ... | cfg.rb:183:3:183:3 | x | | | cfg.rb:183:8:183:8 | 1 | cfg.rb:183:5:183:6 | ... + ... | | -| cfg.rb:184:3:184:25 | if ... | cfg.rb:185:3:185:8 | self | | +| cfg.rb:184:3:184:25 | After if ... | cfg.rb:185:3:185:8 | Before call to puts | | +| cfg.rb:184:3:184:25 | if ... | cfg.rb:184:6:184:11 | Before ... == ... | | | cfg.rb:184:6:184:6 | x | cfg.rb:184:11:184:11 | 5 | | -| cfg.rb:184:6:184:11 | ... == ... | cfg.rb:184:3:184:25 | if ... | false | -| cfg.rb:184:6:184:11 | ... == ... | cfg.rb:184:18:184:21 | redo | true | +| cfg.rb:184:6:184:11 | ... == ... | cfg.rb:184:6:184:11 | After ... == ... [false] | false | +| cfg.rb:184:6:184:11 | ... == ... | cfg.rb:184:6:184:11 | After ... == ... [true] | true | +| cfg.rb:184:6:184:11 | After ... == ... [false] | cfg.rb:184:3:184:25 | After if ... | | +| cfg.rb:184:6:184:11 | After ... == ... [true] | cfg.rb:184:13:184:21 | then ... | | +| cfg.rb:184:6:184:11 | Before ... == ... | cfg.rb:184:6:184:6 | x | | | cfg.rb:184:11:184:11 | 5 | cfg.rb:184:6:184:11 | ... == ... | | -| cfg.rb:184:18:184:21 | redo | cfg.rb:183:3:183:3 | x | redo | -| cfg.rb:185:3:185:8 | call to puts | cfg.rb:182:14:186:3 | do ... | | +| cfg.rb:184:13:184:21 | then ... | cfg.rb:184:18:184:21 | Before redo | | +| cfg.rb:184:18:184:21 | Before redo | cfg.rb:184:18:184:21 | redo | | +| cfg.rb:184:18:184:21 | redo | cfg.rb:182:14:186:3 | do ... | redo | +| cfg.rb:185:3:185:8 | After call to puts | cfg.rb:182:14:186:3 | After do ... | | +| cfg.rb:185:3:185:8 | Before call to puts | cfg.rb:185:3:185:8 | self | | +| cfg.rb:185:3:185:8 | call to puts | cfg.rb:185:3:185:8 | After call to puts | | | cfg.rb:185:3:185:8 | self | cfg.rb:185:8:185:8 | x | | | cfg.rb:185:8:185:8 | x | cfg.rb:185:3:185:8 | call to puts | | -| cfg.rb:188:1:188:22 | ( ... ) | cfg.rb:188:30:188:30 | i | | -| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:190:1:192:3 | run_block | | -| cfg.rb:188:2:188:13 | call to puts | cfg.rb:188:16:188:16 | i | | -| cfg.rb:188:2:188:13 | self | cfg.rb:188:8:188:12 | hello | | -| cfg.rb:188:7:188:13 | "hello" | cfg.rb:188:2:188:13 | call to puts | | +| cfg.rb:188:1:188:22 | ( ... ) | cfg.rb:188:2:188:13 | Before call to puts | | +| cfg.rb:188:1:188:22 | After ( ... ) | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | | +| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | | +| cfg.rb:188:1:188:35 | After ... while ... | cfg.rb:190:1:192:3 | run_block | | +| cfg.rb:188:1:188:35 | [LoopHeader] ... while ... | cfg.rb:188:30:188:35 | Before ... != ... | | +| cfg.rb:188:2:188:13 | After call to puts | cfg.rb:188:16:188:21 | Before ... = ... | | +| cfg.rb:188:2:188:13 | Before call to puts | cfg.rb:188:2:188:13 | self | | +| cfg.rb:188:2:188:13 | call to puts | cfg.rb:188:2:188:13 | After call to puts | | +| cfg.rb:188:2:188:13 | self | cfg.rb:188:7:188:13 | Before "hello" | | +| cfg.rb:188:7:188:13 | "hello" | cfg.rb:188:7:188:13 | After "hello" | | +| cfg.rb:188:7:188:13 | After "hello" | cfg.rb:188:2:188:13 | call to puts | | +| cfg.rb:188:7:188:13 | Before "hello" | cfg.rb:188:8:188:12 | hello | | | cfg.rb:188:8:188:12 | hello | cfg.rb:188:7:188:13 | "hello" | | -| cfg.rb:188:16:188:16 | i | cfg.rb:188:16:188:16 | i | | +| cfg.rb:188:16:188:16 | i | cfg.rb:188:18:188:19 | Before ... - ... | | | cfg.rb:188:16:188:16 | i | cfg.rb:188:21:188:21 | 1 | | -| cfg.rb:188:16:188:21 | ... = ... | cfg.rb:188:1:188:22 | ( ... ) | | -| cfg.rb:188:18:188:19 | ... - ... | cfg.rb:188:16:188:21 | ... = ... | | +| cfg.rb:188:16:188:21 | ... = ... | cfg.rb:188:16:188:21 | After ... = ... | | +| cfg.rb:188:16:188:21 | After ... = ... | cfg.rb:188:1:188:22 | After ( ... ) | | +| cfg.rb:188:16:188:21 | Before ... = ... | cfg.rb:188:16:188:16 | i | | +| cfg.rb:188:18:188:19 | ... - ... | cfg.rb:188:18:188:19 | After ... - ... | | +| cfg.rb:188:18:188:19 | After ... - ... | cfg.rb:188:16:188:21 | ... = ... | | +| cfg.rb:188:18:188:19 | Before ... - ... | cfg.rb:188:16:188:16 | i | | | cfg.rb:188:21:188:21 | 1 | cfg.rb:188:18:188:19 | ... - ... | | | cfg.rb:188:30:188:30 | i | cfg.rb:188:35:188:35 | 0 | | -| cfg.rb:188:30:188:35 | ... != ... | cfg.rb:188:1:188:35 | ... while ... | false | -| cfg.rb:188:30:188:35 | ... != ... | cfg.rb:188:2:188:13 | self | true | +| cfg.rb:188:30:188:35 | ... != ... | cfg.rb:188:30:188:35 | After ... != ... [false] | false | +| cfg.rb:188:30:188:35 | ... != ... | cfg.rb:188:30:188:35 | After ... != ... [true] | true | +| cfg.rb:188:30:188:35 | After ... != ... [false] | cfg.rb:188:1:188:35 | After ... while ... | | +| cfg.rb:188:30:188:35 | After ... != ... [true] | cfg.rb:188:1:188:22 | ( ... ) | | +| cfg.rb:188:30:188:35 | Before ... != ... | cfg.rb:188:30:188:30 | i | | | cfg.rb:188:35:188:35 | 0 | cfg.rb:188:30:188:35 | ... != ... | | -| cfg.rb:190:1:192:3 | enter run_block | cfg.rb:191:9:191:10 | 42 | | -| cfg.rb:190:1:192:3 | exit run_block (normal) | cfg.rb:190:1:192:3 | exit run_block | | -| cfg.rb:190:1:192:3 | run_block | cfg.rb:194:1:194:23 | self | | -| cfg.rb:191:3:191:10 | yield ... | cfg.rb:190:1:192:3 | exit run_block (normal) | | +| cfg.rb:190:1:192:3 | Entry | cfg.rb:191:3:191:10 | ... | | +| cfg.rb:190:1:192:3 | Normal Exit | cfg.rb:190:1:192:3 | Exit | | +| cfg.rb:190:1:192:3 | run_block | cfg.rb:194:1:194:23 | Before call to run_block | | +| cfg.rb:191:3:191:10 | ... | cfg.rb:191:3:191:10 | Before yield ... | | +| cfg.rb:191:3:191:10 | After ... | cfg.rb:190:1:192:3 | Normal Exit | | +| cfg.rb:191:3:191:10 | After yield ... | cfg.rb:191:3:191:10 | After ... | | +| cfg.rb:191:3:191:10 | Before yield ... | cfg.rb:191:9:191:10 | 42 | | +| cfg.rb:191:3:191:10 | yield ... | cfg.rb:191:3:191:10 | After yield ... | | | cfg.rb:191:9:191:10 | 42 | cfg.rb:191:3:191:10 | yield ... | | -| cfg.rb:194:1:194:23 | call to run_block | cfg.rb:196:1:198:3 | forward_param | | +| cfg.rb:194:1:194:23 | After call to run_block | cfg.rb:196:1:198:3 | forward_param | | +| cfg.rb:194:1:194:23 | Before call to run_block | cfg.rb:194:1:194:23 | self | | +| cfg.rb:194:1:194:23 | call to run_block | cfg.rb:194:1:194:23 | After call to run_block | | | cfg.rb:194:1:194:23 | self | cfg.rb:194:11:194:23 | { ... } | | -| cfg.rb:194:11:194:23 | enter { ... } | cfg.rb:194:14:194:14 | x | | -| cfg.rb:194:11:194:23 | exit { ... } (normal) | cfg.rb:194:11:194:23 | exit { ... } | | +| cfg.rb:194:11:194:23 | Entry | cfg.rb:194:14:194:14 | x | | +| cfg.rb:194:11:194:23 | Normal Exit | cfg.rb:194:11:194:23 | Exit | | | cfg.rb:194:11:194:23 | { ... } | cfg.rb:194:1:194:23 | call to run_block | | -| cfg.rb:194:14:194:14 | x | cfg.rb:194:16:194:21 | self | | -| cfg.rb:194:16:194:21 | call to puts | cfg.rb:194:11:194:23 | exit { ... } (normal) | | +| cfg.rb:194:14:194:14 | x | cfg.rb:194:16:194:21 | ... | | +| cfg.rb:194:16:194:21 | ... | cfg.rb:194:16:194:21 | Before call to puts | | +| cfg.rb:194:16:194:21 | After ... | cfg.rb:194:11:194:23 | Normal Exit | | +| cfg.rb:194:16:194:21 | After call to puts | cfg.rb:194:16:194:21 | After ... | | +| cfg.rb:194:16:194:21 | Before call to puts | cfg.rb:194:16:194:21 | self | | +| cfg.rb:194:16:194:21 | call to puts | cfg.rb:194:16:194:21 | After call to puts | | | cfg.rb:194:16:194:21 | self | cfg.rb:194:21:194:21 | x | | | cfg.rb:194:21:194:21 | x | cfg.rb:194:16:194:21 | call to puts | | -| cfg.rb:196:1:198:3 | enter forward_param | cfg.rb:196:19:196:19 | a | | -| cfg.rb:196:1:198:3 | exit forward_param (normal) | cfg.rb:196:1:198:3 | exit forward_param | | -| cfg.rb:196:1:198:3 | forward_param | cfg.rb:200:1:200:1 | 1 | | +| cfg.rb:196:1:198:3 | Entry | cfg.rb:196:19:196:19 | a | | +| cfg.rb:196:1:198:3 | Normal Exit | cfg.rb:196:1:198:3 | Exit | | +| cfg.rb:196:1:198:3 | forward_param | cfg.rb:200:1:200:32 | Before call to times | | | cfg.rb:196:19:196:19 | a | cfg.rb:196:22:196:22 | b | | | cfg.rb:196:22:196:22 | b | cfg.rb:196:25:196:27 | ... | | -| cfg.rb:196:25:196:27 | ... | cfg.rb:197:3:197:13 | self | | -| cfg.rb:197:3:197:13 | call to bar | cfg.rb:196:1:198:3 | exit forward_param (normal) | | +| cfg.rb:196:25:196:27 | ... | cfg.rb:197:3:197:13 | ... | | +| cfg.rb:197:3:197:13 | ... | cfg.rb:197:3:197:13 | Before call to bar | | +| cfg.rb:197:3:197:13 | After ... | cfg.rb:196:1:198:3 | Normal Exit | | +| cfg.rb:197:3:197:13 | After call to bar | cfg.rb:197:3:197:13 | After ... | | +| cfg.rb:197:3:197:13 | Before call to bar | cfg.rb:197:3:197:13 | self | | +| cfg.rb:197:3:197:13 | call to bar | cfg.rb:197:3:197:13 | After call to bar | | | cfg.rb:197:3:197:13 | self | cfg.rb:197:7:197:7 | b | | | cfg.rb:197:7:197:7 | b | cfg.rb:197:10:197:12 | ... | | | cfg.rb:197:10:197:12 | ... | cfg.rb:197:3:197:13 | call to bar | | | cfg.rb:200:1:200:1 | 1 | cfg.rb:200:9:200:32 | { ... } | | -| cfg.rb:200:1:200:32 | call to times | cfg.rb:202:1:202:1 | 2 | | -| cfg.rb:200:9:200:32 | enter { ... } | cfg.rb:200:12:200:12 | a | | -| cfg.rb:200:9:200:32 | exit { ... } (normal) | cfg.rb:200:9:200:32 | exit { ... } | | +| cfg.rb:200:1:200:32 | After call to times | cfg.rb:202:1:202:35 | Before call to times | | +| cfg.rb:200:1:200:32 | Before call to times | cfg.rb:200:1:200:1 | 1 | | +| cfg.rb:200:1:200:32 | call to times | cfg.rb:200:1:200:32 | After call to times | | +| cfg.rb:200:9:200:32 | Entry | cfg.rb:200:12:200:12 | a | | +| cfg.rb:200:9:200:32 | Normal Exit | cfg.rb:200:9:200:32 | Exit | | | cfg.rb:200:9:200:32 | { ... } | cfg.rb:200:1:200:32 | call to times | | -| cfg.rb:200:12:200:12 | a | cfg.rb:200:15:200:15 | b | | -| cfg.rb:200:15:200:15 | b | cfg.rb:200:18:200:23 | Kernel | | +| cfg.rb:200:12:200:12 | a | cfg.rb:200:18:200:30 | ... | | | cfg.rb:200:18:200:23 | Kernel | cfg.rb:200:30:200:30 | a | | -| cfg.rb:200:18:200:30 | call to puts | cfg.rb:200:9:200:32 | exit { ... } (normal) | | +| cfg.rb:200:18:200:30 | ... | cfg.rb:200:18:200:30 | Before call to puts | | +| cfg.rb:200:18:200:30 | After ... | cfg.rb:200:9:200:32 | Normal Exit | | +| cfg.rb:200:18:200:30 | After call to puts | cfg.rb:200:18:200:30 | After ... | | +| cfg.rb:200:18:200:30 | Before call to puts | cfg.rb:200:18:200:23 | Kernel | | +| cfg.rb:200:18:200:30 | call to puts | cfg.rb:200:18:200:30 | After call to puts | | | cfg.rb:200:30:200:30 | a | cfg.rb:200:18:200:30 | call to puts | | | cfg.rb:202:1:202:1 | 2 | cfg.rb:202:9:202:35 | do ... end | | -| cfg.rb:202:1:202:35 | call to times | cfg.rb:205:1:205:3 | __synth__0__1 | | +| cfg.rb:202:1:202:35 | After call to times | cfg.rb:205:1:205:23 | ... | | +| cfg.rb:202:1:202:35 | Before call to times | cfg.rb:202:1:202:1 | 2 | | +| cfg.rb:202:1:202:35 | call to times | cfg.rb:202:1:202:35 | After call to times | | +| cfg.rb:202:9:202:35 | Entry | cfg.rb:202:13:202:13 | c | | +| cfg.rb:202:9:202:35 | Normal Exit | cfg.rb:202:9:202:35 | Exit | | | cfg.rb:202:9:202:35 | do ... end | cfg.rb:202:1:202:35 | call to times | | -| cfg.rb:202:9:202:35 | enter do ... end | cfg.rb:202:13:202:13 | c | | -| cfg.rb:202:9:202:35 | exit do ... end (normal) | cfg.rb:202:9:202:35 | exit do ... end | | -| cfg.rb:202:13:202:13 | c | cfg.rb:202:16:202:16 | d | | -| cfg.rb:202:16:202:16 | d | cfg.rb:202:19:202:24 | Kernel | | +| cfg.rb:202:13:202:13 | c | cfg.rb:202:19:202:31 | ... | | | cfg.rb:202:19:202:24 | Kernel | cfg.rb:202:31:202:31 | c | | -| cfg.rb:202:19:202:31 | call to puts | cfg.rb:202:9:202:35 | exit do ... end (normal) | | +| cfg.rb:202:19:202:31 | ... | cfg.rb:202:19:202:31 | Before call to puts | | +| cfg.rb:202:19:202:31 | After ... | cfg.rb:202:9:202:35 | Normal Exit | | +| cfg.rb:202:19:202:31 | After call to puts | cfg.rb:202:19:202:31 | After ... | | +| cfg.rb:202:19:202:31 | Before call to puts | cfg.rb:202:19:202:24 | Kernel | | +| cfg.rb:202:19:202:31 | call to puts | cfg.rb:202:19:202:31 | After call to puts | | | cfg.rb:202:31:202:31 | c | cfg.rb:202:19:202:31 | call to puts | | -| cfg.rb:205:1:205:3 | ... = ... | cfg.rb:205:4:205:5 | nil | | -| cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:1:205:3 | self | | +| cfg.rb:205:1:205:3 | ... = ... | cfg.rb:205:1:205:3 | After ... = ... | | +| cfg.rb:205:1:205:3 | After ... = ... | cfg.rb:205:4:205:5 | if ... | | +| cfg.rb:205:1:205:3 | After call to foo | cfg.rb:205:1:205:3 | ... = ... | | +| cfg.rb:205:1:205:3 | Before ... = ... | cfg.rb:205:1:205:3 | __synth__0__1 | | +| cfg.rb:205:1:205:3 | Before call to foo | cfg.rb:205:1:205:3 | self | | +| cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:1:205:3 | Before call to foo | | | cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:4:205:5 | call to == | | | cfg.rb:205:1:205:3 | __synth__0__1 | cfg.rb:205:10:205:10 | 1 | | -| cfg.rb:205:1:205:3 | call to foo | cfg.rb:205:1:205:3 | ... = ... | | -| cfg.rb:205:1:205:3 | nil | cfg.rb:205:4:205:5 | if ... | | +| cfg.rb:205:1:205:3 | call to foo | cfg.rb:205:1:205:3 | After call to foo | | +| cfg.rb:205:1:205:3 | nil | cfg.rb:205:4:205:5 | After if ... | | | cfg.rb:205:1:205:3 | self | cfg.rb:205:1:205:3 | call to foo | | -| cfg.rb:205:1:205:23 | ... | cfg.rb:207:1:211:3 | filter_nil | | -| cfg.rb:205:1:205:23 | call to bar | cfg.rb:205:4:205:5 | if ... | | -| cfg.rb:205:4:205:5 | call to == | cfg.rb:205:1:205:3 | __synth__0__1 | false | -| cfg.rb:205:4:205:5 | call to == | cfg.rb:205:1:205:3 | nil | true | -| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:1:205:23 | ... | | +| cfg.rb:205:1:205:23 | ... | cfg.rb:205:1:205:3 | Before ... = ... | | +| cfg.rb:205:1:205:23 | After ... | cfg.rb:207:1:211:3 | filter_nil | | +| cfg.rb:205:1:205:23 | After call to bar | cfg.rb:205:4:205:5 | After if ... | | +| cfg.rb:205:1:205:23 | Before call to bar | cfg.rb:205:1:205:3 | __synth__0__1 | | +| cfg.rb:205:1:205:23 | call to bar | cfg.rb:205:1:205:23 | After call to bar | | +| cfg.rb:205:4:205:5 | After call to == [false] | cfg.rb:205:1:205:23 | Before call to bar | | +| cfg.rb:205:4:205:5 | After call to == [true] | cfg.rb:205:1:205:3 | nil | | +| cfg.rb:205:4:205:5 | After if ... | cfg.rb:205:1:205:23 | After ... | | +| cfg.rb:205:4:205:5 | Before call to == | cfg.rb:205:4:205:5 | nil | | +| cfg.rb:205:4:205:5 | call to == | cfg.rb:205:4:205:5 | After call to == [false] | false | +| cfg.rb:205:4:205:5 | call to == | cfg.rb:205:4:205:5 | After call to == [true] | true | +| cfg.rb:205:4:205:5 | if ... | cfg.rb:205:4:205:5 | Before call to == | | | cfg.rb:205:4:205:5 | nil | cfg.rb:205:1:205:3 | __synth__0__1 | | | cfg.rb:205:10:205:10 | 1 | cfg.rb:205:12:205:12 | 2 | | | cfg.rb:205:12:205:12 | 2 | cfg.rb:205:15:205:23 | { ... } | | -| cfg.rb:205:15:205:23 | enter { ... } | cfg.rb:205:18:205:18 | x | | -| cfg.rb:205:15:205:23 | exit { ... } (normal) | cfg.rb:205:15:205:23 | exit { ... } | | +| cfg.rb:205:15:205:23 | Entry | cfg.rb:205:18:205:18 | x | | +| cfg.rb:205:15:205:23 | Normal Exit | cfg.rb:205:15:205:23 | Exit | | | cfg.rb:205:15:205:23 | { ... } | cfg.rb:205:1:205:23 | call to bar | | -| cfg.rb:205:18:205:18 | x | cfg.rb:205:21:205:21 | x | | -| cfg.rb:205:21:205:21 | x | cfg.rb:205:15:205:23 | exit { ... } (normal) | | -| cfg.rb:207:1:211:3 | enter filter_nil | cfg.rb:207:16:207:19 | list | | -| cfg.rb:207:1:211:3 | exit filter_nil (normal) | cfg.rb:207:1:211:3 | exit filter_nil | | -| cfg.rb:207:1:211:3 | filter_nil | cfg.rb:213:1:216:3 | self | | -| cfg.rb:207:16:207:19 | list | cfg.rb:208:3:208:6 | list | | +| cfg.rb:205:18:205:18 | x | cfg.rb:205:21:205:21 | ... | | +| cfg.rb:205:21:205:21 | ... | cfg.rb:205:21:205:21 | x | | +| cfg.rb:205:21:205:21 | After ... | cfg.rb:205:15:205:23 | Normal Exit | | +| cfg.rb:205:21:205:21 | x | cfg.rb:205:21:205:21 | After ... | | +| cfg.rb:207:1:211:3 | Entry | cfg.rb:207:16:207:19 | list | | +| cfg.rb:207:1:211:3 | Normal Exit | cfg.rb:207:1:211:3 | Exit | | +| cfg.rb:207:1:211:3 | filter_nil | cfg.rb:213:1:216:3 | Before call to do_something | | +| cfg.rb:207:16:207:19 | list | cfg.rb:208:3:210:5 | ... | | | cfg.rb:208:3:208:6 | list | cfg.rb:208:15:210:5 | do ... end | | -| cfg.rb:208:3:210:5 | call to reject | cfg.rb:207:1:211:3 | exit filter_nil (normal) | | +| cfg.rb:208:3:210:5 | ... | cfg.rb:208:3:210:5 | Before call to reject | | +| cfg.rb:208:3:210:5 | After ... | cfg.rb:207:1:211:3 | Normal Exit | | +| cfg.rb:208:3:210:5 | After call to reject | cfg.rb:208:3:210:5 | After ... | | +| cfg.rb:208:3:210:5 | Before call to reject | cfg.rb:208:3:208:6 | list | | +| cfg.rb:208:3:210:5 | call to reject | cfg.rb:208:3:210:5 | After call to reject | | +| cfg.rb:208:15:210:5 | Entry | cfg.rb:208:19:208:22 | elem | | +| cfg.rb:208:15:210:5 | Normal Exit | cfg.rb:208:15:210:5 | Exit | | | cfg.rb:208:15:210:5 | do ... end | cfg.rb:208:3:210:5 | call to reject | | -| cfg.rb:208:15:210:5 | enter do ... end | cfg.rb:208:19:208:22 | elem | | -| cfg.rb:208:15:210:5 | exit do ... end (normal) | cfg.rb:208:15:210:5 | exit do ... end | | | cfg.rb:208:19:208:22 | elem | cfg.rb:208:25:208:25 | __synth__0 | | | cfg.rb:208:25:208:25 | __synth__0 | cfg.rb:208:28:208:29 | __synth__0 | | -| cfg.rb:208:28:208:29 | __synth__0 | cfg.rb:209:5:209:8 | elem | | +| cfg.rb:208:28:208:29 | __synth__0 | cfg.rb:209:5:209:13 | ... | | | cfg.rb:209:5:209:8 | elem | cfg.rb:209:5:209:13 | call to nil? | | -| cfg.rb:209:5:209:13 | call to nil? | cfg.rb:208:15:210:5 | exit do ... end (normal) | | -| cfg.rb:213:1:216:3 | call to do_something | cfg.rb:1:1:221:1 | exit cfg.rb (normal) | | +| cfg.rb:209:5:209:13 | ... | cfg.rb:209:5:209:13 | Before call to nil? | | +| cfg.rb:209:5:209:13 | After ... | cfg.rb:208:15:210:5 | Normal Exit | | +| cfg.rb:209:5:209:13 | After call to nil? | cfg.rb:209:5:209:13 | After ... | | +| cfg.rb:209:5:209:13 | Before call to nil? | cfg.rb:209:5:209:8 | elem | | +| cfg.rb:209:5:209:13 | call to nil? | cfg.rb:209:5:209:13 | After call to nil? | | +| cfg.rb:213:1:216:3 | After call to do_something | cfg.rb:1:1:221:1 | Normal Exit | | +| cfg.rb:213:1:216:3 | Before call to do_something | cfg.rb:213:1:216:3 | self | | +| cfg.rb:213:1:216:3 | call to do_something | cfg.rb:213:1:216:3 | After call to do_something | | | cfg.rb:213:1:216:3 | self | cfg.rb:213:14:216:3 | do ... end | | +| cfg.rb:213:14:216:3 | Entry | cfg.rb:214:3:215:16 | ... | | +| cfg.rb:213:14:216:3 | Normal Exit | cfg.rb:213:14:216:3 | Exit | | | cfg.rb:213:14:216:3 | do ... end | cfg.rb:213:1:216:3 | call to do_something | | -| cfg.rb:213:14:216:3 | enter do ... end | cfg.rb:214:3:214:6 | self | | -| cfg.rb:213:14:216:3 | exit do ... end (normal) | cfg.rb:213:14:216:3 | exit do ... end | | | cfg.rb:214:3:214:6 | self | cfg.rb:214:3:214:16 | call to something | | -| cfg.rb:214:3:214:16 | call to something | cfg.rb:215:3:215:16 | self | | -| cfg.rb:215:3:215:16 | call to something_else | cfg.rb:213:14:216:3 | exit do ... end (normal) | | +| cfg.rb:214:3:214:16 | After call to something | cfg.rb:215:3:215:16 | Before call to something_else | | +| cfg.rb:214:3:214:16 | Before call to something | cfg.rb:214:3:214:6 | self | | +| cfg.rb:214:3:214:16 | call to something | cfg.rb:214:3:214:16 | After call to something | | +| cfg.rb:214:3:215:16 | ... | cfg.rb:214:3:214:16 | Before call to something | | +| cfg.rb:214:3:215:16 | After ... | cfg.rb:213:14:216:3 | Normal Exit | | +| cfg.rb:215:3:215:16 | After call to something_else | cfg.rb:214:3:215:16 | After ... | | +| cfg.rb:215:3:215:16 | Before call to something_else | cfg.rb:215:3:215:16 | self | | +| cfg.rb:215:3:215:16 | call to something_else | cfg.rb:215:3:215:16 | After call to something_else | | | cfg.rb:215:3:215:16 | self | cfg.rb:215:3:215:16 | call to something_else | | +| constant_compound_assign.rb:1:1:9:3 | After Foo | constant_compound_assign.rb:11:1:12:3 | top_before | | | constant_compound_assign.rb:1:1:9:3 | Foo | constant_compound_assign.rb:2:5:3:7 | foo_before | | -| constant_compound_assign.rb:1:1:22:4 | enter constant_compound_assign.rb | constant_compound_assign.rb:1:1:9:3 | Foo | | -| constant_compound_assign.rb:1:1:22:4 | exit constant_compound_assign.rb (normal) | constant_compound_assign.rb:1:1:22:4 | exit constant_compound_assign.rb | | -| constant_compound_assign.rb:2:5:3:7 | foo_before | constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | | -| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | | -| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | true | -| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:22:5:24 | 123 | false | -| constant_compound_assign.rb:5:5:5:24 | ... = ... | constant_compound_assign.rb:7:5:8:7 | foo_after | | -| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:5:5:24 | ... = ... | | -| constant_compound_assign.rb:5:22:5:24 | 123 | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | | -| constant_compound_assign.rb:7:5:8:7 | foo_after | constant_compound_assign.rb:11:1:12:3 | top_before | | -| constant_compound_assign.rb:11:1:12:3 | top_before | constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | | -| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | | -| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | true | -| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:18:14:20 | 123 | false | -| constant_compound_assign.rb:14:1:14:20 | ... = ... | constant_compound_assign.rb:16:1:17:3 | top_after | | -| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:1:14:20 | ... = ... | | -| constant_compound_assign.rb:14:18:14:20 | 123 | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | | -| constant_compound_assign.rb:16:1:17:3 | top_after | constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | | -| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | | -| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | true | -| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:21:19:23 | 123 | false | -| constant_compound_assign.rb:19:1:19:23 | ... = ... | constant_compound_assign.rb:21:1:22:3 | top_after2 | | -| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:1:19:23 | ... = ... | | -| constant_compound_assign.rb:19:21:19:23 | 123 | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | | -| constant_compound_assign.rb:21:1:22:3 | top_after2 | constant_compound_assign.rb:1:1:22:4 | exit constant_compound_assign.rb (normal) | | -| desugar.rb:1:1:3:3 | enter m1 | desugar.rb:1:8:1:8 | x | | -| desugar.rb:1:1:3:3 | exit m1 (normal) | desugar.rb:1:1:3:3 | exit m1 | | +| constant_compound_assign.rb:1:1:22:4 | Entry | constant_compound_assign.rb:1:1:9:3 | Foo | | +| constant_compound_assign.rb:1:1:22:4 | Normal Exit | constant_compound_assign.rb:1:1:22:4 | Exit | | +| constant_compound_assign.rb:2:5:3:7 | foo_before | constant_compound_assign.rb:5:5:5:24 | Before ... = ... | | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | constant_compound_assign.rb:5:22:5:24 | 123 | | +| constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | | +| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [false] | false | +| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:5:5:16 | After FOO_CONSTANT [true] | true | +| constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | | +| constant_compound_assign.rb:5:5:5:24 | ... = ... | constant_compound_assign.rb:5:5:5:24 | After ... = ... | | +| constant_compound_assign.rb:5:5:5:24 | After ... = ... | constant_compound_assign.rb:7:5:8:7 | foo_after | | +| constant_compound_assign.rb:5:5:5:24 | Before ... = ... | constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | | +| constant_compound_assign.rb:5:18:5:20 | ... \|\| ... | constant_compound_assign.rb:5:5:5:16 | FOO_CONSTANT | | +| constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | constant_compound_assign.rb:5:5:5:24 | ... = ... | | +| constant_compound_assign.rb:5:22:5:24 | 123 | constant_compound_assign.rb:5:18:5:20 | After ... \|\| ... | | +| constant_compound_assign.rb:7:5:8:7 | foo_after | constant_compound_assign.rb:1:1:9:3 | After Foo | | +| constant_compound_assign.rb:11:1:12:3 | top_before | constant_compound_assign.rb:14:1:14:20 | Before ... = ... | | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | constant_compound_assign.rb:14:18:14:20 | 123 | | +| constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | | +| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [false] | false | +| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:1:14:12 | After TOP_CONSTANT [true] | true | +| constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | | +| constant_compound_assign.rb:14:1:14:20 | ... = ... | constant_compound_assign.rb:14:1:14:20 | After ... = ... | | +| constant_compound_assign.rb:14:1:14:20 | After ... = ... | constant_compound_assign.rb:16:1:17:3 | top_after | | +| constant_compound_assign.rb:14:1:14:20 | Before ... = ... | constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | | +| constant_compound_assign.rb:14:14:14:16 | ... \|\| ... | constant_compound_assign.rb:14:1:14:12 | TOP_CONSTANT | | +| constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | constant_compound_assign.rb:14:1:14:20 | ... = ... | | +| constant_compound_assign.rb:14:18:14:20 | 123 | constant_compound_assign.rb:14:14:14:16 | After ... \|\| ... | | +| constant_compound_assign.rb:16:1:17:3 | top_after | constant_compound_assign.rb:19:1:19:23 | Before ... = ... | | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | constant_compound_assign.rb:19:21:19:23 | 123 | | +| constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | | +| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [false] | false | +| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:1:19:15 | After TOP_CONSTANT2 [true] | true | +| constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | | +| constant_compound_assign.rb:19:1:19:23 | ... = ... | constant_compound_assign.rb:19:1:19:23 | After ... = ... | | +| constant_compound_assign.rb:19:1:19:23 | After ... = ... | constant_compound_assign.rb:21:1:22:3 | top_after2 | | +| constant_compound_assign.rb:19:1:19:23 | Before ... = ... | constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | | +| constant_compound_assign.rb:19:17:19:19 | ... \|\| ... | constant_compound_assign.rb:19:1:19:15 | TOP_CONSTANT2 | | +| constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | constant_compound_assign.rb:19:1:19:23 | ... = ... | | +| constant_compound_assign.rb:19:21:19:23 | 123 | constant_compound_assign.rb:19:17:19:19 | After ... \|\| ... | | +| constant_compound_assign.rb:21:1:22:3 | top_after2 | constant_compound_assign.rb:1:1:22:4 | Normal Exit | | +| desugar.rb:1:1:3:3 | Entry | desugar.rb:1:8:1:8 | x | | +| desugar.rb:1:1:3:3 | Normal Exit | desugar.rb:1:1:3:3 | Exit | | | desugar.rb:1:1:3:3 | m1 | desugar.rb:5:1:7:3 | m2 | | -| desugar.rb:1:1:38:17 | enter desugar.rb | desugar.rb:1:1:3:3 | m1 | | -| desugar.rb:1:1:38:17 | exit desugar.rb (normal) | desugar.rb:1:1:38:17 | exit desugar.rb | | -| desugar.rb:1:8:1:8 | x | desugar.rb:2:3:2:3 | x | | -| desugar.rb:2:3:2:3 | x | desugar.rb:2:3:2:3 | x | | +| desugar.rb:1:1:38:17 | Entry | desugar.rb:1:1:3:3 | m1 | | +| desugar.rb:1:1:38:17 | Normal Exit | desugar.rb:1:1:38:17 | Exit | | +| desugar.rb:1:8:1:8 | x | desugar.rb:2:3:2:8 | ... | | +| desugar.rb:2:3:2:3 | x | desugar.rb:2:5:2:6 | Before ... + ... | | | desugar.rb:2:3:2:3 | x | desugar.rb:2:8:2:8 | 1 | | -| desugar.rb:2:3:2:8 | ... = ... | desugar.rb:1:1:3:3 | exit m1 (normal) | | -| desugar.rb:2:5:2:6 | ... + ... | desugar.rb:2:3:2:8 | ... = ... | | +| desugar.rb:2:3:2:8 | ... | desugar.rb:2:3:2:8 | Before ... = ... | | +| desugar.rb:2:3:2:8 | ... = ... | desugar.rb:2:3:2:8 | After ... = ... | | +| desugar.rb:2:3:2:8 | After ... | desugar.rb:1:1:3:3 | Normal Exit | | +| desugar.rb:2:3:2:8 | After ... = ... | desugar.rb:2:3:2:8 | After ... | | +| desugar.rb:2:3:2:8 | Before ... = ... | desugar.rb:2:3:2:3 | x | | +| desugar.rb:2:5:2:6 | ... + ... | desugar.rb:2:5:2:6 | After ... + ... | | +| desugar.rb:2:5:2:6 | After ... + ... | desugar.rb:2:3:2:8 | ... = ... | | +| desugar.rb:2:5:2:6 | Before ... + ... | desugar.rb:2:3:2:3 | x | | | desugar.rb:2:8:2:8 | 1 | desugar.rb:2:5:2:6 | ... + ... | | -| desugar.rb:5:1:7:3 | enter m2 | desugar.rb:5:8:5:8 | x | | -| desugar.rb:5:1:7:3 | exit m2 (normal) | desugar.rb:5:1:7:3 | exit m2 | | +| desugar.rb:5:1:7:3 | Entry | desugar.rb:5:8:5:8 | x | | +| desugar.rb:5:1:7:3 | Normal Exit | desugar.rb:5:1:7:3 | Exit | | | desugar.rb:5:1:7:3 | m2 | desugar.rb:9:1:11:3 | m3 | | -| desugar.rb:5:8:5:8 | x | desugar.rb:6:3:6:3 | x | | +| desugar.rb:5:8:5:8 | x | desugar.rb:6:3:6:17 | ... | | | desugar.rb:6:3:6:3 | x | desugar.rb:6:3:6:7 | call to foo | | -| desugar.rb:6:3:6:7 | call to foo | desugar.rb:6:17:6:17 | __synth__0 | | -| desugar.rb:6:3:6:13 | __synth__0 | desugar.rb:6:3:6:17 | ... | | -| desugar.rb:6:3:6:13 | call to count= | desugar.rb:6:3:6:13 | __synth__0 | | -| desugar.rb:6:3:6:17 | ... | desugar.rb:5:1:7:3 | exit m2 (normal) | | +| desugar.rb:6:3:6:7 | After call to foo | desugar.rb:6:17:6:17 | Before ... = ... | | +| desugar.rb:6:3:6:7 | Before call to foo | desugar.rb:6:3:6:3 | x | | +| desugar.rb:6:3:6:7 | call to foo | desugar.rb:6:3:6:7 | After call to foo | | +| desugar.rb:6:3:6:13 | After call to count= | desugar.rb:6:3:6:13 | __synth__0 | | +| desugar.rb:6:3:6:13 | Before call to count= | desugar.rb:6:3:6:7 | Before call to foo | | +| desugar.rb:6:3:6:13 | __synth__0 | desugar.rb:6:3:6:17 | After ... | | +| desugar.rb:6:3:6:13 | call to count= | desugar.rb:6:3:6:13 | After call to count= | | +| desugar.rb:6:3:6:17 | ... | desugar.rb:6:3:6:13 | Before call to count= | | +| desugar.rb:6:3:6:17 | ... | desugar.rb:6:3:6:17 | ... | | +| desugar.rb:6:3:6:17 | After ... | desugar.rb:5:1:7:3 | Normal Exit | | +| desugar.rb:6:3:6:17 | After ... | desugar.rb:6:3:6:17 | After ... | | | desugar.rb:6:17:6:17 | 1 | desugar.rb:6:17:6:17 | ... = ... | | -| desugar.rb:6:17:6:17 | ... = ... | desugar.rb:6:3:6:13 | call to count= | | +| desugar.rb:6:17:6:17 | ... = ... | desugar.rb:6:17:6:17 | After ... = ... | | +| desugar.rb:6:17:6:17 | After ... = ... | desugar.rb:6:3:6:13 | call to count= | | +| desugar.rb:6:17:6:17 | Before ... = ... | desugar.rb:6:17:6:17 | __synth__0 | | | desugar.rb:6:17:6:17 | __synth__0 | desugar.rb:6:17:6:17 | 1 | | -| desugar.rb:9:1:11:3 | enter m3 | desugar.rb:9:8:9:8 | x | | -| desugar.rb:9:1:11:3 | exit m3 (normal) | desugar.rb:9:1:11:3 | exit m3 | | +| desugar.rb:9:1:11:3 | Entry | desugar.rb:9:8:9:8 | x | | +| desugar.rb:9:1:11:3 | Normal Exit | desugar.rb:9:1:11:3 | Exit | | | desugar.rb:9:1:11:3 | m3 | desugar.rb:13:1:15:3 | m4 | | -| desugar.rb:9:8:9:8 | x | desugar.rb:10:3:10:3 | x | | +| desugar.rb:9:8:9:8 | x | desugar.rb:10:3:10:14 | ... | | | desugar.rb:10:3:10:3 | x | desugar.rb:10:3:10:7 | call to foo | | -| desugar.rb:10:3:10:7 | call to foo | desugar.rb:10:9:10:9 | 0 | | -| desugar.rb:10:3:10:10 | __synth__0 | desugar.rb:10:3:10:14 | ... | | -| desugar.rb:10:3:10:10 | call to []= | desugar.rb:10:3:10:10 | __synth__0 | | -| desugar.rb:10:3:10:14 | ... | desugar.rb:9:1:11:3 | exit m3 (normal) | | -| desugar.rb:10:9:10:9 | 0 | desugar.rb:10:14:10:14 | __synth__0 | | +| desugar.rb:10:3:10:7 | After call to foo | desugar.rb:10:9:10:9 | 0 | | +| desugar.rb:10:3:10:7 | Before call to foo | desugar.rb:10:3:10:3 | x | | +| desugar.rb:10:3:10:7 | call to foo | desugar.rb:10:3:10:7 | After call to foo | | +| desugar.rb:10:3:10:10 | After call to []= | desugar.rb:10:3:10:10 | __synth__0 | | +| desugar.rb:10:3:10:10 | Before call to []= | desugar.rb:10:3:10:7 | Before call to foo | | +| desugar.rb:10:3:10:10 | __synth__0 | desugar.rb:10:3:10:14 | After ... | | +| desugar.rb:10:3:10:10 | call to []= | desugar.rb:10:3:10:10 | After call to []= | | +| desugar.rb:10:3:10:14 | ... | desugar.rb:10:3:10:10 | Before call to []= | | +| desugar.rb:10:3:10:14 | ... | desugar.rb:10:3:10:14 | ... | | +| desugar.rb:10:3:10:14 | After ... | desugar.rb:9:1:11:3 | Normal Exit | | +| desugar.rb:10:3:10:14 | After ... | desugar.rb:10:3:10:14 | After ... | | +| desugar.rb:10:9:10:9 | 0 | desugar.rb:10:14:10:14 | Before ... = ... | | | desugar.rb:10:14:10:14 | 1 | desugar.rb:10:14:10:14 | ... = ... | | -| desugar.rb:10:14:10:14 | ... = ... | desugar.rb:10:3:10:10 | call to []= | | +| desugar.rb:10:14:10:14 | ... = ... | desugar.rb:10:14:10:14 | After ... = ... | | +| desugar.rb:10:14:10:14 | After ... = ... | desugar.rb:10:3:10:10 | call to []= | | +| desugar.rb:10:14:10:14 | Before ... = ... | desugar.rb:10:14:10:14 | __synth__0 | | | desugar.rb:10:14:10:14 | __synth__0 | desugar.rb:10:14:10:14 | 1 | | -| desugar.rb:13:1:15:3 | enter m4 | desugar.rb:13:8:13:8 | x | | -| desugar.rb:13:1:15:3 | exit m4 (normal) | desugar.rb:13:1:15:3 | exit m4 | | +| desugar.rb:13:1:15:3 | Entry | desugar.rb:13:8:13:8 | x | | +| desugar.rb:13:1:15:3 | Normal Exit | desugar.rb:13:1:15:3 | Exit | | | desugar.rb:13:1:15:3 | m4 | desugar.rb:17:1:19:3 | m5 | | -| desugar.rb:13:8:13:8 | x | desugar.rb:14:3:14:7 | __synth__0 | | +| desugar.rb:13:8:13:8 | x | desugar.rb:14:3:14:18 | ... | | | desugar.rb:14:3:14:3 | x | desugar.rb:14:3:14:7 | call to foo | | -| desugar.rb:14:3:14:7 | ... = ... | desugar.rb:14:15:14:16 | __synth__1 | | -| desugar.rb:14:3:14:7 | __synth__0 | desugar.rb:14:3:14:3 | x | | +| desugar.rb:14:3:14:7 | ... = ... | desugar.rb:14:3:14:7 | After ... = ... | | +| desugar.rb:14:3:14:7 | After ... = ... | desugar.rb:14:15:14:16 | Before ... = ... | | +| desugar.rb:14:3:14:7 | After call to foo | desugar.rb:14:3:14:7 | ... = ... | | +| desugar.rb:14:3:14:7 | Before ... = ... | desugar.rb:14:3:14:7 | __synth__0 | | +| desugar.rb:14:3:14:7 | Before call to foo | desugar.rb:14:3:14:3 | x | | +| desugar.rb:14:3:14:7 | __synth__0 | desugar.rb:14:3:14:7 | Before call to foo | | | desugar.rb:14:3:14:7 | __synth__0 | desugar.rb:14:3:14:13 | __synth__1 | | | desugar.rb:14:3:14:7 | __synth__0 | desugar.rb:14:3:14:13 | call to count | | -| desugar.rb:14:3:14:7 | call to foo | desugar.rb:14:3:14:7 | ... = ... | | +| desugar.rb:14:3:14:7 | call to foo | desugar.rb:14:3:14:7 | After call to foo | | +| desugar.rb:14:3:14:13 | After call to count | desugar.rb:14:18:14:18 | 1 | | +| desugar.rb:14:3:14:13 | After call to count= | desugar.rb:14:15:14:16 | __synth__1 | | +| desugar.rb:14:3:14:13 | Before call to count | desugar.rb:14:3:14:7 | __synth__0 | | +| desugar.rb:14:3:14:13 | Before call to count= | desugar.rb:14:3:14:7 | __synth__0 | | | desugar.rb:14:3:14:13 | __synth__1 | desugar.rb:14:3:14:13 | call to count= | | -| desugar.rb:14:3:14:13 | call to count | desugar.rb:14:18:14:18 | 1 | | -| desugar.rb:14:3:14:13 | call to count= | desugar.rb:14:15:14:16 | __synth__1 | | -| desugar.rb:14:3:14:18 | ... | desugar.rb:13:1:15:3 | exit m4 (normal) | | -| desugar.rb:14:15:14:16 | ... + ... | desugar.rb:14:15:14:16 | ... = ... | | -| desugar.rb:14:15:14:16 | ... = ... | desugar.rb:14:3:14:7 | __synth__0 | | -| desugar.rb:14:15:14:16 | __synth__1 | desugar.rb:14:3:14:7 | __synth__0 | | -| desugar.rb:14:15:14:16 | __synth__1 | desugar.rb:14:3:14:18 | ... | | +| desugar.rb:14:3:14:13 | call to count | desugar.rb:14:3:14:13 | After call to count | | +| desugar.rb:14:3:14:13 | call to count= | desugar.rb:14:3:14:13 | After call to count= | | +| desugar.rb:14:3:14:18 | ... | desugar.rb:14:3:14:7 | Before ... = ... | | +| desugar.rb:14:3:14:18 | ... | desugar.rb:14:3:14:18 | ... | | +| desugar.rb:14:3:14:18 | After ... | desugar.rb:13:1:15:3 | Normal Exit | | +| desugar.rb:14:3:14:18 | After ... | desugar.rb:14:3:14:18 | After ... | | +| desugar.rb:14:15:14:16 | ... + ... | desugar.rb:14:15:14:16 | After ... + ... | | +| desugar.rb:14:15:14:16 | ... = ... | desugar.rb:14:15:14:16 | After ... = ... | | +| desugar.rb:14:15:14:16 | After ... + ... | desugar.rb:14:15:14:16 | ... = ... | | +| desugar.rb:14:15:14:16 | After ... = ... | desugar.rb:14:3:14:13 | Before call to count= | | +| desugar.rb:14:15:14:16 | Before ... + ... | desugar.rb:14:3:14:13 | Before call to count | | +| desugar.rb:14:15:14:16 | Before ... = ... | desugar.rb:14:15:14:16 | __synth__1 | | +| desugar.rb:14:15:14:16 | __synth__1 | desugar.rb:14:3:14:18 | After ... | | +| desugar.rb:14:15:14:16 | __synth__1 | desugar.rb:14:15:14:16 | Before ... + ... | | | desugar.rb:14:18:14:18 | 1 | desugar.rb:14:15:14:16 | ... + ... | | -| desugar.rb:17:1:19:3 | enter m5 | desugar.rb:17:8:17:8 | x | | -| desugar.rb:17:1:19:3 | exit m5 (normal) | desugar.rb:17:1:19:3 | exit m5 | | +| desugar.rb:17:1:19:3 | Entry | desugar.rb:17:8:17:8 | x | | +| desugar.rb:17:1:19:3 | Normal Exit | desugar.rb:17:1:19:3 | Exit | | | desugar.rb:17:1:19:3 | m5 | desugar.rb:21:1:23:3 | m6 | | | desugar.rb:17:8:17:8 | x | desugar.rb:17:11:17:11 | y | | -| desugar.rb:17:11:17:11 | y | desugar.rb:18:3:18:7 | __synth__0 | | +| desugar.rb:17:11:17:11 | y | desugar.rb:18:3:18:33 | ... | | | desugar.rb:18:3:18:3 | x | desugar.rb:18:3:18:7 | call to foo | | -| desugar.rb:18:3:18:7 | ... = ... | desugar.rb:18:9:18:9 | __synth__1 | | -| desugar.rb:18:3:18:7 | __synth__0 | desugar.rb:18:3:18:3 | x | | +| desugar.rb:18:3:18:7 | ... = ... | desugar.rb:18:3:18:7 | After ... = ... | | +| desugar.rb:18:3:18:7 | After ... = ... | desugar.rb:18:9:18:9 | Before ... = ... | | +| desugar.rb:18:3:18:7 | After call to foo | desugar.rb:18:3:18:7 | ... = ... | | +| desugar.rb:18:3:18:7 | Before ... = ... | desugar.rb:18:3:18:7 | __synth__0 | | +| desugar.rb:18:3:18:7 | Before call to foo | desugar.rb:18:3:18:3 | x | | +| desugar.rb:18:3:18:7 | __synth__0 | desugar.rb:18:3:18:7 | Before call to foo | | | desugar.rb:18:3:18:7 | __synth__0 | desugar.rb:18:9:18:9 | __synth__1 | | | desugar.rb:18:3:18:7 | __synth__0 | desugar.rb:18:9:18:9 | __synth__1 | | -| desugar.rb:18:3:18:7 | call to foo | desugar.rb:18:3:18:7 | ... = ... | | +| desugar.rb:18:3:18:7 | call to foo | desugar.rb:18:3:18:7 | After call to foo | | +| desugar.rb:18:3:18:28 | After call to [] | desugar.rb:18:33:18:33 | 1 | | +| desugar.rb:18:3:18:28 | After call to []= | desugar.rb:18:30:18:31 | __synth__4 | | +| desugar.rb:18:3:18:28 | Before call to [] | desugar.rb:18:3:18:7 | __synth__0 | | +| desugar.rb:18:3:18:28 | Before call to []= | desugar.rb:18:3:18:7 | __synth__0 | | | desugar.rb:18:3:18:28 | __synth__4 | desugar.rb:18:3:18:28 | call to []= | | -| desugar.rb:18:3:18:28 | call to [] | desugar.rb:18:33:18:33 | 1 | | -| desugar.rb:18:3:18:28 | call to []= | desugar.rb:18:30:18:31 | __synth__4 | | -| desugar.rb:18:3:18:33 | ... | desugar.rb:17:1:19:3 | exit m5 (normal) | | +| desugar.rb:18:3:18:28 | call to [] | desugar.rb:18:3:18:28 | After call to [] | | +| desugar.rb:18:3:18:28 | call to []= | desugar.rb:18:3:18:28 | After call to []= | | +| desugar.rb:18:3:18:33 | ... | desugar.rb:18:3:18:7 | Before ... = ... | | +| desugar.rb:18:3:18:33 | ... | desugar.rb:18:3:18:33 | ... | | +| desugar.rb:18:3:18:33 | After ... | desugar.rb:17:1:19:3 | Normal Exit | | +| desugar.rb:18:3:18:33 | After ... | desugar.rb:18:3:18:33 | After ... | | | desugar.rb:18:9:18:9 | 0 | desugar.rb:18:9:18:9 | ... = ... | | -| desugar.rb:18:9:18:9 | ... = ... | desugar.rb:18:12:18:16 | __synth__2 | | +| desugar.rb:18:9:18:9 | ... = ... | desugar.rb:18:9:18:9 | After ... = ... | | +| desugar.rb:18:9:18:9 | After ... = ... | desugar.rb:18:12:18:16 | Before ... = ... | | +| desugar.rb:18:9:18:9 | Before ... = ... | desugar.rb:18:9:18:9 | __synth__1 | | | desugar.rb:18:9:18:9 | __synth__1 | desugar.rb:18:9:18:9 | 0 | | | desugar.rb:18:9:18:9 | __synth__1 | desugar.rb:18:12:18:16 | __synth__2 | | | desugar.rb:18:9:18:9 | __synth__1 | desugar.rb:18:12:18:16 | __synth__2 | | | desugar.rb:18:12:18:12 | y | desugar.rb:18:12:18:16 | call to bar | | -| desugar.rb:18:12:18:16 | ... = ... | desugar.rb:18:19:18:27 | __synth__3 | | -| desugar.rb:18:12:18:16 | __synth__2 | desugar.rb:18:12:18:12 | y | | +| desugar.rb:18:12:18:16 | ... = ... | desugar.rb:18:12:18:16 | After ... = ... | | +| desugar.rb:18:12:18:16 | After ... = ... | desugar.rb:18:19:18:27 | Before ... = ... | | +| desugar.rb:18:12:18:16 | After call to bar | desugar.rb:18:12:18:16 | ... = ... | | +| desugar.rb:18:12:18:16 | Before ... = ... | desugar.rb:18:12:18:16 | __synth__2 | | +| desugar.rb:18:12:18:16 | Before call to bar | desugar.rb:18:12:18:12 | y | | +| desugar.rb:18:12:18:16 | __synth__2 | desugar.rb:18:12:18:16 | Before call to bar | | | desugar.rb:18:12:18:16 | __synth__2 | desugar.rb:18:19:18:27 | __synth__3 | | | desugar.rb:18:12:18:16 | __synth__2 | desugar.rb:18:19:18:27 | __synth__3 | | -| desugar.rb:18:12:18:16 | call to bar | desugar.rb:18:12:18:16 | ... = ... | | +| desugar.rb:18:12:18:16 | call to bar | desugar.rb:18:12:18:16 | After call to bar | | | desugar.rb:18:19:18:19 | x | desugar.rb:18:19:18:23 | call to baz | | -| desugar.rb:18:19:18:23 | call to baz | desugar.rb:18:27:18:27 | 3 | | -| desugar.rb:18:19:18:27 | ... + ... | desugar.rb:18:19:18:27 | ... = ... | | -| desugar.rb:18:19:18:27 | ... = ... | desugar.rb:18:30:18:31 | __synth__4 | | +| desugar.rb:18:19:18:23 | After call to baz | desugar.rb:18:27:18:27 | 3 | | +| desugar.rb:18:19:18:23 | Before call to baz | desugar.rb:18:19:18:19 | x | | +| desugar.rb:18:19:18:23 | call to baz | desugar.rb:18:19:18:23 | After call to baz | | +| desugar.rb:18:19:18:27 | ... + ... | desugar.rb:18:19:18:27 | After ... + ... | | +| desugar.rb:18:19:18:27 | ... = ... | desugar.rb:18:19:18:27 | After ... = ... | | +| desugar.rb:18:19:18:27 | After ... + ... | desugar.rb:18:19:18:27 | ... = ... | | +| desugar.rb:18:19:18:27 | After ... = ... | desugar.rb:18:30:18:31 | Before ... = ... | | +| desugar.rb:18:19:18:27 | Before ... + ... | desugar.rb:18:19:18:23 | Before call to baz | | +| desugar.rb:18:19:18:27 | Before ... = ... | desugar.rb:18:19:18:27 | __synth__3 | | | desugar.rb:18:19:18:27 | __synth__3 | desugar.rb:18:3:18:28 | __synth__4 | | | desugar.rb:18:19:18:27 | __synth__3 | desugar.rb:18:3:18:28 | call to [] | | -| desugar.rb:18:19:18:27 | __synth__3 | desugar.rb:18:19:18:19 | x | | +| desugar.rb:18:19:18:27 | __synth__3 | desugar.rb:18:19:18:27 | Before ... + ... | | | desugar.rb:18:27:18:27 | 3 | desugar.rb:18:19:18:27 | ... + ... | | -| desugar.rb:18:30:18:31 | ... + ... | desugar.rb:18:30:18:31 | ... = ... | | -| desugar.rb:18:30:18:31 | ... = ... | desugar.rb:18:3:18:7 | __synth__0 | | -| desugar.rb:18:30:18:31 | __synth__4 | desugar.rb:18:3:18:7 | __synth__0 | | -| desugar.rb:18:30:18:31 | __synth__4 | desugar.rb:18:3:18:33 | ... | | +| desugar.rb:18:30:18:31 | ... + ... | desugar.rb:18:30:18:31 | After ... + ... | | +| desugar.rb:18:30:18:31 | ... = ... | desugar.rb:18:30:18:31 | After ... = ... | | +| desugar.rb:18:30:18:31 | After ... + ... | desugar.rb:18:30:18:31 | ... = ... | | +| desugar.rb:18:30:18:31 | After ... = ... | desugar.rb:18:3:18:28 | Before call to []= | | +| desugar.rb:18:30:18:31 | Before ... + ... | desugar.rb:18:3:18:28 | Before call to [] | | +| desugar.rb:18:30:18:31 | Before ... = ... | desugar.rb:18:30:18:31 | __synth__4 | | +| desugar.rb:18:30:18:31 | __synth__4 | desugar.rb:18:3:18:33 | After ... | | +| desugar.rb:18:30:18:31 | __synth__4 | desugar.rb:18:30:18:31 | Before ... + ... | | | desugar.rb:18:33:18:33 | 1 | desugar.rb:18:30:18:31 | ... + ... | | -| desugar.rb:21:1:23:3 | enter m6 | desugar.rb:22:10:22:10 | __synth__2 | | -| desugar.rb:21:1:23:3 | exit m6 (normal) | desugar.rb:21:1:23:3 | exit m6 | | +| desugar.rb:21:1:23:3 | Entry | desugar.rb:22:3:22:29 | ... | | +| desugar.rb:21:1:23:3 | Normal Exit | desugar.rb:21:1:23:3 | Exit | | | desugar.rb:21:1:23:3 | m6 | desugar.rb:25:1:27:3 | m7 | | | desugar.rb:22:3:22:3 | 0 | desugar.rb:22:3:22:3 | call to [] | | -| desugar.rb:22:3:22:3 | ... = ... | desugar.rb:22:7:22:7 | y | | +| desugar.rb:22:3:22:3 | ... = ... | desugar.rb:22:3:22:3 | After ... = ... | | +| desugar.rb:22:3:22:3 | After ... = ... | desugar.rb:22:7:22:7 | Before ... = ... | | +| desugar.rb:22:3:22:3 | After call to [] | desugar.rb:22:3:22:3 | ... = ... | | +| desugar.rb:22:3:22:3 | Before ... = ... | desugar.rb:22:3:22:3 | x | | +| desugar.rb:22:3:22:3 | Before call to [] | desugar.rb:22:3:22:3 | __synth__3 | | | desugar.rb:22:3:22:3 | __synth__3 | desugar.rb:22:3:22:3 | 0 | | -| desugar.rb:22:3:22:3 | call to [] | desugar.rb:22:3:22:3 | ... = ... | | -| desugar.rb:22:3:22:3 | x | desugar.rb:22:3:22:3 | __synth__3 | | -| desugar.rb:22:3:22:29 | ... | desugar.rb:21:1:23:3 | exit m6 (normal) | | +| desugar.rb:22:3:22:3 | call to [] | desugar.rb:22:3:22:3 | After call to [] | | +| desugar.rb:22:3:22:3 | x | desugar.rb:22:3:22:3 | Before call to [] | | +| desugar.rb:22:3:22:29 | ... | desugar.rb:22:3:22:29 | ... | | +| desugar.rb:22:3:22:29 | ... | desugar.rb:22:10:22:10 | Before ... = ... | | +| desugar.rb:22:3:22:29 | After ... | desugar.rb:21:1:23:3 | Normal Exit | | +| desugar.rb:22:3:22:29 | After ... | desugar.rb:22:3:22:29 | After ... | | | desugar.rb:22:7:22:7 | 1 | desugar.rb:22:7:22:7 | -2 | | | desugar.rb:22:7:22:7 | -2 | desugar.rb:22:7:22:7 | _ .. _ | | -| desugar.rb:22:7:22:7 | ... = ... | desugar.rb:22:10:22:14 | __synth__2 | | -| desugar.rb:22:7:22:7 | _ .. _ | desugar.rb:22:7:22:7 | call to [] | | -| desugar.rb:22:7:22:7 | __synth__3 | desugar.rb:22:7:22:7 | 1 | | -| desugar.rb:22:7:22:7 | call to [] | desugar.rb:22:7:22:7 | ... = ... | | -| desugar.rb:22:7:22:7 | y | desugar.rb:22:7:22:7 | __synth__3 | | -| desugar.rb:22:10:22:10 | ... = ... | desugar.rb:22:18:22:29 | __synth__3 | | -| desugar.rb:22:10:22:10 | __synth__2 | desugar.rb:22:10:22:10 | self | | -| desugar.rb:22:10:22:10 | call to z | desugar.rb:22:10:22:10 | ... = ... | | +| desugar.rb:22:7:22:7 | ... = ... | desugar.rb:22:7:22:7 | After ... = ... | | +| desugar.rb:22:7:22:7 | After ... = ... | desugar.rb:22:10:22:14 | ... | | +| desugar.rb:22:7:22:7 | After _ .. _ | desugar.rb:22:7:22:7 | call to [] | | +| desugar.rb:22:7:22:7 | After call to [] | desugar.rb:22:7:22:7 | ... = ... | | +| desugar.rb:22:7:22:7 | Before ... = ... | desugar.rb:22:7:22:7 | y | | +| desugar.rb:22:7:22:7 | Before _ .. _ | desugar.rb:22:7:22:7 | 1 | | +| desugar.rb:22:7:22:7 | Before call to [] | desugar.rb:22:7:22:7 | __synth__3 | | +| desugar.rb:22:7:22:7 | _ .. _ | desugar.rb:22:7:22:7 | After _ .. _ | | +| desugar.rb:22:7:22:7 | __synth__3 | desugar.rb:22:7:22:7 | Before _ .. _ | | +| desugar.rb:22:7:22:7 | call to [] | desugar.rb:22:7:22:7 | After call to [] | | +| desugar.rb:22:7:22:7 | y | desugar.rb:22:7:22:7 | Before call to [] | | +| desugar.rb:22:10:22:10 | ... = ... | desugar.rb:22:10:22:10 | After ... = ... | | +| desugar.rb:22:10:22:10 | After ... = ... | desugar.rb:22:18:22:29 | Before ... = ... | | +| desugar.rb:22:10:22:10 | After call to z | desugar.rb:22:10:22:10 | ... = ... | | +| desugar.rb:22:10:22:10 | Before ... = ... | desugar.rb:22:10:22:10 | __synth__2 | | +| desugar.rb:22:10:22:10 | Before call to z | desugar.rb:22:10:22:10 | self | | +| desugar.rb:22:10:22:10 | __synth__2 | desugar.rb:22:10:22:10 | Before call to z | | +| desugar.rb:22:10:22:10 | call to z | desugar.rb:22:10:22:10 | After call to z | | | desugar.rb:22:10:22:10 | self | desugar.rb:22:10:22:10 | call to z | | | desugar.rb:22:10:22:14 | -1 | desugar.rb:22:10:22:14 | call to [] | | -| desugar.rb:22:10:22:14 | ... | desugar.rb:22:3:22:29 | ... | | -| desugar.rb:22:10:22:14 | ... = ... | desugar.rb:22:10:22:14 | call to bar= | | -| desugar.rb:22:10:22:14 | __synth__0__1 | desugar.rb:22:10:22:14 | ... | | -| desugar.rb:22:10:22:14 | __synth__0__1 | desugar.rb:22:10:22:14 | __synth__3 | | -| desugar.rb:22:10:22:14 | __synth__2 | desugar.rb:22:10:22:14 | __synth__0__1 | | +| desugar.rb:22:10:22:14 | ... | desugar.rb:22:10:22:14 | Before call to bar= | | +| desugar.rb:22:10:22:14 | ... = ... | desugar.rb:22:10:22:14 | After ... = ... | | +| desugar.rb:22:10:22:14 | After ... | desugar.rb:22:3:22:29 | After ... | | +| desugar.rb:22:10:22:14 | After ... = ... | desugar.rb:22:10:22:14 | call to bar= | | +| desugar.rb:22:10:22:14 | After call to [] | desugar.rb:22:10:22:14 | ... = ... | | +| desugar.rb:22:10:22:14 | After call to bar= | desugar.rb:22:10:22:14 | __synth__0__1 | | +| desugar.rb:22:10:22:14 | Before ... = ... | desugar.rb:22:10:22:14 | __synth__0__1 | | +| desugar.rb:22:10:22:14 | Before call to [] | desugar.rb:22:10:22:14 | __synth__3 | | +| desugar.rb:22:10:22:14 | Before call to bar= | desugar.rb:22:10:22:14 | __synth__2 | | +| desugar.rb:22:10:22:14 | __synth__0__1 | desugar.rb:22:10:22:14 | After ... | | +| desugar.rb:22:10:22:14 | __synth__0__1 | desugar.rb:22:10:22:14 | Before call to [] | | +| desugar.rb:22:10:22:14 | __synth__2 | desugar.rb:22:10:22:14 | Before ... = ... | | | desugar.rb:22:10:22:14 | __synth__3 | desugar.rb:22:10:22:14 | -1 | | -| desugar.rb:22:10:22:14 | call to [] | desugar.rb:22:10:22:14 | ... = ... | | -| desugar.rb:22:10:22:14 | call to bar= | desugar.rb:22:10:22:14 | __synth__0__1 | | -| desugar.rb:22:18:22:29 | * ... | desugar.rb:22:18:22:29 | ... = ... | | -| desugar.rb:22:18:22:29 | ... = ... | desugar.rb:22:3:22:3 | x | | +| desugar.rb:22:10:22:14 | call to [] | desugar.rb:22:10:22:14 | After call to [] | | +| desugar.rb:22:10:22:14 | call to bar= | desugar.rb:22:10:22:14 | After call to bar= | | +| desugar.rb:22:18:22:29 | * ... | desugar.rb:22:18:22:29 | After * ... | | +| desugar.rb:22:18:22:29 | ... = ... | desugar.rb:22:18:22:29 | After ... = ... | | +| desugar.rb:22:18:22:29 | After * ... | desugar.rb:22:18:22:29 | ... = ... | | +| desugar.rb:22:18:22:29 | After ... = ... | desugar.rb:22:3:22:3 | Before ... = ... | | +| desugar.rb:22:18:22:29 | After call to [] | desugar.rb:22:18:22:29 | * ... | | | desugar.rb:22:18:22:29 | Array | desugar.rb:22:19:22:19 | 1 | | -| desugar.rb:22:18:22:29 | __synth__3 | desugar.rb:22:18:22:29 | Array | | -| desugar.rb:22:18:22:29 | call to [] | desugar.rb:22:18:22:29 | * ... | | +| desugar.rb:22:18:22:29 | Before * ... | desugar.rb:22:18:22:29 | Before call to [] | | +| desugar.rb:22:18:22:29 | Before ... = ... | desugar.rb:22:18:22:29 | __synth__3 | | +| desugar.rb:22:18:22:29 | Before call to [] | desugar.rb:22:18:22:29 | Array | | +| desugar.rb:22:18:22:29 | __synth__3 | desugar.rb:22:18:22:29 | Before * ... | | +| desugar.rb:22:18:22:29 | call to [] | desugar.rb:22:18:22:29 | After call to [] | | | desugar.rb:22:19:22:19 | 1 | desugar.rb:22:22:22:22 | 2 | | | desugar.rb:22:22:22:22 | 2 | desugar.rb:22:25:22:25 | 3 | | | desugar.rb:22:25:22:25 | 3 | desugar.rb:22:28:22:28 | 4 | | | desugar.rb:22:28:22:28 | 4 | desugar.rb:22:18:22:29 | call to [] | | -| desugar.rb:25:1:27:3 | enter m7 | desugar.rb:26:15:26:25 | __synth__2 | | -| desugar.rb:25:1:27:3 | exit m7 (normal) | desugar.rb:25:1:27:3 | exit m7 | | +| desugar.rb:25:1:27:3 | Entry | desugar.rb:26:3:26:25 | ... | | +| desugar.rb:25:1:27:3 | Normal Exit | desugar.rb:25:1:27:3 | Exit | | | desugar.rb:25:1:27:3 | m7 | desugar.rb:29:1:35:3 | X | | | desugar.rb:26:3:26:3 | 0 | desugar.rb:26:3:26:3 | call to [] | | -| desugar.rb:26:3:26:3 | ... = ... | desugar.rb:26:6:26:11 | __synth__2__1 | | +| desugar.rb:26:3:26:3 | ... = ... | desugar.rb:26:3:26:3 | After ... = ... | | +| desugar.rb:26:3:26:3 | After ... = ... | desugar.rb:26:6:26:11 | ... | | +| desugar.rb:26:3:26:3 | After call to [] | desugar.rb:26:3:26:3 | ... = ... | | +| desugar.rb:26:3:26:3 | Before ... = ... | desugar.rb:26:3:26:3 | x | | +| desugar.rb:26:3:26:3 | Before call to [] | desugar.rb:26:3:26:3 | __synth__2 | | | desugar.rb:26:3:26:3 | __synth__2 | desugar.rb:26:3:26:3 | 0 | | -| desugar.rb:26:3:26:3 | call to [] | desugar.rb:26:3:26:3 | ... = ... | | -| desugar.rb:26:3:26:3 | x | desugar.rb:26:3:26:3 | __synth__2 | | -| desugar.rb:26:3:26:25 | ... | desugar.rb:25:1:27:3 | exit m7 (normal) | | +| desugar.rb:26:3:26:3 | call to [] | desugar.rb:26:3:26:3 | After call to [] | | +| desugar.rb:26:3:26:3 | x | desugar.rb:26:3:26:3 | Before call to [] | | +| desugar.rb:26:3:26:25 | ... | desugar.rb:26:3:26:25 | ... | | +| desugar.rb:26:3:26:25 | ... | desugar.rb:26:15:26:25 | Before ... = ... | | +| desugar.rb:26:3:26:25 | After ... | desugar.rb:25:1:27:3 | Normal Exit | | +| desugar.rb:26:3:26:25 | After ... | desugar.rb:26:3:26:25 | After ... | | | desugar.rb:26:6:26:11 | 1 | desugar.rb:26:6:26:11 | call to [] | | -| desugar.rb:26:6:26:11 | * ... | desugar.rb:26:6:26:11 | ... = ... | | -| desugar.rb:26:6:26:11 | ... | desugar.rb:26:3:26:25 | ... | | -| desugar.rb:26:6:26:11 | ... = ... | desugar.rb:26:7:26:7 | y | | +| desugar.rb:26:6:26:11 | * ... | desugar.rb:26:6:26:11 | After * ... | | +| desugar.rb:26:6:26:11 | ... | desugar.rb:26:6:26:11 | Before ... = ... | | +| desugar.rb:26:6:26:11 | ... = ... | desugar.rb:26:6:26:11 | After ... = ... | | +| desugar.rb:26:6:26:11 | After * ... | desugar.rb:26:6:26:11 | ... = ... | | +| desugar.rb:26:6:26:11 | After ... | desugar.rb:26:3:26:25 | After ... | | +| desugar.rb:26:6:26:11 | After ... = ... | desugar.rb:26:7:26:7 | Before ... = ... | | +| desugar.rb:26:6:26:11 | After call to [] | desugar.rb:26:6:26:11 | * ... | | +| desugar.rb:26:6:26:11 | Before * ... | desugar.rb:26:6:26:11 | Before call to [] | | +| desugar.rb:26:6:26:11 | Before ... = ... | desugar.rb:26:6:26:11 | __synth__2__1 | | +| desugar.rb:26:6:26:11 | Before call to [] | desugar.rb:26:6:26:11 | __synth__2 | | | desugar.rb:26:6:26:11 | __synth__2 | desugar.rb:26:6:26:11 | 1 | | -| desugar.rb:26:6:26:11 | __synth__2__1 | desugar.rb:26:6:26:11 | __synth__2 | | -| desugar.rb:26:6:26:11 | call to [] | desugar.rb:26:6:26:11 | * ... | | +| desugar.rb:26:6:26:11 | __synth__2__1 | desugar.rb:26:6:26:11 | Before * ... | | +| desugar.rb:26:6:26:11 | call to [] | desugar.rb:26:6:26:11 | After call to [] | | | desugar.rb:26:7:26:7 | 0 | desugar.rb:26:7:26:7 | call to [] | | -| desugar.rb:26:7:26:7 | ... = ... | desugar.rb:26:10:26:10 | z | | +| desugar.rb:26:7:26:7 | ... = ... | desugar.rb:26:7:26:7 | After ... = ... | | +| desugar.rb:26:7:26:7 | After ... = ... | desugar.rb:26:10:26:10 | Before ... = ... | | +| desugar.rb:26:7:26:7 | After call to [] | desugar.rb:26:7:26:7 | ... = ... | | +| desugar.rb:26:7:26:7 | Before ... = ... | desugar.rb:26:7:26:7 | y | | +| desugar.rb:26:7:26:7 | Before call to [] | desugar.rb:26:7:26:7 | __synth__2__1 | | | desugar.rb:26:7:26:7 | __synth__2__1 | desugar.rb:26:7:26:7 | 0 | | -| desugar.rb:26:7:26:7 | call to [] | desugar.rb:26:7:26:7 | ... = ... | | -| desugar.rb:26:7:26:7 | y | desugar.rb:26:7:26:7 | __synth__2__1 | | +| desugar.rb:26:7:26:7 | call to [] | desugar.rb:26:7:26:7 | After call to [] | | +| desugar.rb:26:7:26:7 | y | desugar.rb:26:7:26:7 | Before call to [] | | | desugar.rb:26:10:26:10 | 1 | desugar.rb:26:10:26:10 | call to [] | | -| desugar.rb:26:10:26:10 | ... = ... | desugar.rb:26:6:26:11 | ... | | +| desugar.rb:26:10:26:10 | ... = ... | desugar.rb:26:10:26:10 | After ... = ... | | +| desugar.rb:26:10:26:10 | After ... = ... | desugar.rb:26:6:26:11 | After ... | | +| desugar.rb:26:10:26:10 | After call to [] | desugar.rb:26:10:26:10 | ... = ... | | +| desugar.rb:26:10:26:10 | Before ... = ... | desugar.rb:26:10:26:10 | z | | +| desugar.rb:26:10:26:10 | Before call to [] | desugar.rb:26:10:26:10 | __synth__2__1 | | | desugar.rb:26:10:26:10 | __synth__2__1 | desugar.rb:26:10:26:10 | 1 | | -| desugar.rb:26:10:26:10 | call to [] | desugar.rb:26:10:26:10 | ... = ... | | -| desugar.rb:26:10:26:10 | z | desugar.rb:26:10:26:10 | __synth__2__1 | | -| desugar.rb:26:15:26:25 | * ... | desugar.rb:26:15:26:25 | ... = ... | | -| desugar.rb:26:15:26:25 | ... = ... | desugar.rb:26:3:26:3 | x | | +| desugar.rb:26:10:26:10 | call to [] | desugar.rb:26:10:26:10 | After call to [] | | +| desugar.rb:26:10:26:10 | z | desugar.rb:26:10:26:10 | Before call to [] | | +| desugar.rb:26:15:26:25 | * ... | desugar.rb:26:15:26:25 | After * ... | | +| desugar.rb:26:15:26:25 | ... = ... | desugar.rb:26:15:26:25 | After ... = ... | | +| desugar.rb:26:15:26:25 | After * ... | desugar.rb:26:15:26:25 | ... = ... | | +| desugar.rb:26:15:26:25 | After ... = ... | desugar.rb:26:3:26:3 | Before ... = ... | | +| desugar.rb:26:15:26:25 | After call to [] | desugar.rb:26:15:26:25 | * ... | | | desugar.rb:26:15:26:25 | Array | desugar.rb:26:16:26:16 | 1 | | -| desugar.rb:26:15:26:25 | __synth__2 | desugar.rb:26:15:26:25 | Array | | -| desugar.rb:26:15:26:25 | call to [] | desugar.rb:26:15:26:25 | * ... | | -| desugar.rb:26:16:26:16 | 1 | desugar.rb:26:19:26:24 | Array | | +| desugar.rb:26:15:26:25 | Before * ... | desugar.rb:26:15:26:25 | Before call to [] | | +| desugar.rb:26:15:26:25 | Before ... = ... | desugar.rb:26:15:26:25 | __synth__2 | | +| desugar.rb:26:15:26:25 | Before call to [] | desugar.rb:26:15:26:25 | Array | | +| desugar.rb:26:15:26:25 | __synth__2 | desugar.rb:26:15:26:25 | Before * ... | | +| desugar.rb:26:15:26:25 | call to [] | desugar.rb:26:15:26:25 | After call to [] | | +| desugar.rb:26:16:26:16 | 1 | desugar.rb:26:19:26:24 | Before call to [] | | +| desugar.rb:26:19:26:24 | After call to [] | desugar.rb:26:15:26:25 | call to [] | | | desugar.rb:26:19:26:24 | Array | desugar.rb:26:20:26:20 | 2 | | -| desugar.rb:26:19:26:24 | call to [] | desugar.rb:26:15:26:25 | call to [] | | +| desugar.rb:26:19:26:24 | Before call to [] | desugar.rb:26:19:26:24 | Array | | +| desugar.rb:26:19:26:24 | call to [] | desugar.rb:26:19:26:24 | After call to [] | | | desugar.rb:26:20:26:20 | 2 | desugar.rb:26:23:26:23 | 3 | | | desugar.rb:26:23:26:23 | 3 | desugar.rb:26:19:26:24 | call to [] | | -| desugar.rb:29:1:35:3 | X | desugar.rb:30:3:30:4 | self | | -| desugar.rb:30:3:30:4 | @x | desugar.rb:30:8:30:8 | 1 | | +| desugar.rb:29:1:35:3 | After X | desugar.rb:37:1:37:15 | Before ... = ... | | +| desugar.rb:29:1:35:3 | X | desugar.rb:30:3:30:8 | Before ... = ... | | +| desugar.rb:30:3:30:4 | @x | desugar.rb:30:3:30:4 | After @x | | +| desugar.rb:30:3:30:4 | After @x | desugar.rb:30:8:30:8 | 1 | | +| desugar.rb:30:3:30:4 | Before @x | desugar.rb:30:3:30:4 | self | | | desugar.rb:30:3:30:4 | self | desugar.rb:30:3:30:4 | @x | | -| desugar.rb:30:3:30:8 | ... = ... | desugar.rb:31:3:31:4 | self | | +| desugar.rb:30:3:30:8 | ... = ... | desugar.rb:30:3:30:8 | After ... = ... | | +| desugar.rb:30:3:30:8 | After ... = ... | desugar.rb:31:3:31:9 | Before ... = ... | | +| desugar.rb:30:3:30:8 | Before ... = ... | desugar.rb:30:3:30:4 | Before @x | | | desugar.rb:30:8:30:8 | 1 | desugar.rb:30:3:30:8 | ... = ... | | -| desugar.rb:31:3:31:4 | @x | desugar.rb:31:3:31:4 | self | | -| desugar.rb:31:3:31:4 | @x | desugar.rb:31:9:31:9 | 2 | | +| desugar.rb:31:3:31:4 | @x | desugar.rb:31:3:31:4 | After @x | | +| desugar.rb:31:3:31:4 | @x | desugar.rb:31:3:31:4 | After @x | | +| desugar.rb:31:3:31:4 | After @x | desugar.rb:31:6:31:7 | Before ... + ... | | +| desugar.rb:31:3:31:4 | After @x | desugar.rb:31:9:31:9 | 2 | | +| desugar.rb:31:3:31:4 | Before @x | desugar.rb:31:3:31:4 | self | | +| desugar.rb:31:3:31:4 | Before @x | desugar.rb:31:3:31:4 | self | | | desugar.rb:31:3:31:4 | self | desugar.rb:31:3:31:4 | @x | | | desugar.rb:31:3:31:4 | self | desugar.rb:31:3:31:4 | @x | | -| desugar.rb:31:3:31:9 | ... = ... | desugar.rb:33:3:33:5 | @@y | | -| desugar.rb:31:6:31:7 | ... + ... | desugar.rb:31:3:31:9 | ... = ... | | +| desugar.rb:31:3:31:9 | ... = ... | desugar.rb:31:3:31:9 | After ... = ... | | +| desugar.rb:31:3:31:9 | After ... = ... | desugar.rb:33:3:33:9 | Before ... = ... | | +| desugar.rb:31:3:31:9 | Before ... = ... | desugar.rb:31:3:31:4 | Before @x | | +| desugar.rb:31:6:31:7 | ... + ... | desugar.rb:31:6:31:7 | After ... + ... | | +| desugar.rb:31:6:31:7 | After ... + ... | desugar.rb:31:3:31:9 | ... = ... | | +| desugar.rb:31:6:31:7 | Before ... + ... | desugar.rb:31:3:31:4 | Before @x | | | desugar.rb:31:9:31:9 | 2 | desugar.rb:31:6:31:7 | ... + ... | | | desugar.rb:33:3:33:5 | @@y | desugar.rb:33:9:33:9 | 3 | | -| desugar.rb:33:3:33:9 | ... = ... | desugar.rb:34:3:34:5 | @@y | | +| desugar.rb:33:3:33:9 | ... = ... | desugar.rb:33:3:33:9 | After ... = ... | | +| desugar.rb:33:3:33:9 | After ... = ... | desugar.rb:34:3:34:10 | Before ... = ... | | +| desugar.rb:33:3:33:9 | Before ... = ... | desugar.rb:33:3:33:5 | @@y | | | desugar.rb:33:9:33:9 | 3 | desugar.rb:33:3:33:9 | ... = ... | | -| desugar.rb:34:3:34:5 | @@y | desugar.rb:34:3:34:5 | @@y | | +| desugar.rb:34:3:34:5 | @@y | desugar.rb:34:7:34:8 | Before ... / ... | | | desugar.rb:34:3:34:5 | @@y | desugar.rb:34:10:34:10 | 4 | | -| desugar.rb:34:3:34:10 | ... = ... | desugar.rb:37:1:37:11 | $global_var | | -| desugar.rb:34:7:34:8 | ... / ... | desugar.rb:34:3:34:10 | ... = ... | | +| desugar.rb:34:3:34:10 | ... = ... | desugar.rb:34:3:34:10 | After ... = ... | | +| desugar.rb:34:3:34:10 | After ... = ... | desugar.rb:29:1:35:3 | After X | | +| desugar.rb:34:3:34:10 | Before ... = ... | desugar.rb:34:3:34:5 | @@y | | +| desugar.rb:34:7:34:8 | ... / ... | desugar.rb:34:7:34:8 | After ... / ... | | +| desugar.rb:34:7:34:8 | After ... / ... | desugar.rb:34:3:34:10 | ... = ... | | +| desugar.rb:34:7:34:8 | Before ... / ... | desugar.rb:34:3:34:5 | @@y | | | desugar.rb:34:10:34:10 | 4 | desugar.rb:34:7:34:8 | ... / ... | | | desugar.rb:37:1:37:11 | $global_var | desugar.rb:37:15:37:15 | 5 | | -| desugar.rb:37:1:37:15 | ... = ... | desugar.rb:38:1:38:11 | $global_var | | +| desugar.rb:37:1:37:15 | ... = ... | desugar.rb:37:1:37:15 | After ... = ... | | +| desugar.rb:37:1:37:15 | After ... = ... | desugar.rb:38:1:38:16 | Before ... = ... | | +| desugar.rb:37:1:37:15 | Before ... = ... | desugar.rb:37:1:37:11 | $global_var | | | desugar.rb:37:15:37:15 | 5 | desugar.rb:37:1:37:15 | ... = ... | | -| desugar.rb:38:1:38:11 | $global_var | desugar.rb:38:1:38:11 | $global_var | | +| desugar.rb:38:1:38:11 | $global_var | desugar.rb:38:13:38:14 | Before ... * ... | | | desugar.rb:38:1:38:11 | $global_var | desugar.rb:38:16:38:16 | 6 | | -| desugar.rb:38:1:38:16 | ... = ... | desugar.rb:1:1:38:17 | exit desugar.rb (normal) | | -| desugar.rb:38:13:38:14 | ... * ... | desugar.rb:38:1:38:16 | ... = ... | | +| desugar.rb:38:1:38:16 | ... = ... | desugar.rb:38:1:38:16 | After ... = ... | | +| desugar.rb:38:1:38:16 | After ... = ... | desugar.rb:1:1:38:17 | Normal Exit | | +| desugar.rb:38:1:38:16 | Before ... = ... | desugar.rb:38:1:38:11 | $global_var | | +| desugar.rb:38:13:38:14 | ... * ... | desugar.rb:38:13:38:14 | After ... * ... | | +| desugar.rb:38:13:38:14 | After ... * ... | desugar.rb:38:1:38:16 | ... = ... | | +| desugar.rb:38:13:38:14 | Before ... * ... | desugar.rb:38:1:38:11 | $global_var | | | desugar.rb:38:16:38:16 | 6 | desugar.rb:38:13:38:14 | ... * ... | | -| exit.rb:1:1:6:3 | enter m1 | exit.rb:1:8:1:8 | x | | -| exit.rb:1:1:6:3 | exit m1 (abnormal) | exit.rb:1:1:6:3 | exit m1 | | -| exit.rb:1:1:6:3 | exit m1 (normal) | exit.rb:1:1:6:3 | exit m1 | | +| exit.rb:1:1:6:3 | Entry | exit.rb:1:8:1:8 | x | | +| exit.rb:1:1:6:3 | Exceptional Exit | exit.rb:1:1:6:3 | Exit | | +| exit.rb:1:1:6:3 | Normal Exit | exit.rb:1:1:6:3 | Exit | | | exit.rb:1:1:6:3 | m1 | exit.rb:8:1:13:3 | m2 | | -| exit.rb:1:1:13:4 | enter exit.rb | exit.rb:1:1:6:3 | m1 | | -| exit.rb:1:1:13:4 | exit exit.rb (normal) | exit.rb:1:1:13:4 | exit exit.rb | | -| exit.rb:1:8:1:8 | x | exit.rb:2:6:2:6 | x | | -| exit.rb:2:3:4:5 | if ... | exit.rb:5:3:5:15 | self | | +| exit.rb:1:1:13:4 | Entry | exit.rb:1:1:6:3 | m1 | | +| exit.rb:1:1:13:4 | Normal Exit | exit.rb:1:1:13:4 | Exit | | +| exit.rb:1:8:1:8 | x | exit.rb:2:3:5:15 | ... | | +| exit.rb:2:3:4:5 | After if ... | exit.rb:5:3:5:15 | Before call to puts | | +| exit.rb:2:3:4:5 | if ... | exit.rb:2:6:2:10 | Before ... > ... | | +| exit.rb:2:3:5:15 | ... | exit.rb:2:3:4:5 | if ... | | +| exit.rb:2:3:5:15 | After ... | exit.rb:1:1:6:3 | Normal Exit | | | exit.rb:2:6:2:6 | x | exit.rb:2:10:2:10 | 2 | | -| exit.rb:2:6:2:10 | ... > ... | exit.rb:2:3:4:5 | if ... | false | -| exit.rb:2:6:2:10 | ... > ... | exit.rb:3:5:3:10 | self | true | +| exit.rb:2:6:2:10 | ... > ... | exit.rb:2:6:2:10 | After ... > ... [false] | false | +| exit.rb:2:6:2:10 | ... > ... | exit.rb:2:6:2:10 | After ... > ... [true] | true | +| exit.rb:2:6:2:10 | After ... > ... [false] | exit.rb:2:3:4:5 | After if ... | | +| exit.rb:2:6:2:10 | After ... > ... [true] | exit.rb:2:11:3:10 | then ... | | +| exit.rb:2:6:2:10 | Before ... > ... | exit.rb:2:6:2:6 | x | | | exit.rb:2:10:2:10 | 2 | exit.rb:2:6:2:10 | ... > ... | | -| exit.rb:3:5:3:10 | call to exit | exit.rb:1:1:6:3 | exit m1 (abnormal) | exit | +| exit.rb:2:11:3:10 | then ... | exit.rb:3:5:3:10 | Before call to exit | | +| exit.rb:3:5:3:10 | Before call to exit | exit.rb:3:5:3:10 | self | | +| exit.rb:3:5:3:10 | call to exit | exit.rb:1:1:6:3 | Exceptional Exit | exit | | exit.rb:3:5:3:10 | self | exit.rb:3:10:3:10 | 1 | | | exit.rb:3:10:3:10 | 1 | exit.rb:3:5:3:10 | call to exit | | -| exit.rb:5:3:5:15 | call to puts | exit.rb:1:1:6:3 | exit m1 (normal) | | -| exit.rb:5:3:5:15 | self | exit.rb:5:9:5:14 | x <= 2 | | -| exit.rb:5:8:5:15 | "x <= 2" | exit.rb:5:3:5:15 | call to puts | | +| exit.rb:5:3:5:15 | After call to puts | exit.rb:2:3:5:15 | After ... | | +| exit.rb:5:3:5:15 | Before call to puts | exit.rb:5:3:5:15 | self | | +| exit.rb:5:3:5:15 | call to puts | exit.rb:5:3:5:15 | After call to puts | | +| exit.rb:5:3:5:15 | self | exit.rb:5:8:5:15 | Before "x <= 2" | | +| exit.rb:5:8:5:15 | "x <= 2" | exit.rb:5:8:5:15 | After "x <= 2" | | +| exit.rb:5:8:5:15 | After "x <= 2" | exit.rb:5:3:5:15 | call to puts | | +| exit.rb:5:8:5:15 | Before "x <= 2" | exit.rb:5:9:5:14 | x <= 2 | | | exit.rb:5:9:5:14 | x <= 2 | exit.rb:5:8:5:15 | "x <= 2" | | -| exit.rb:8:1:13:3 | enter m2 | exit.rb:8:8:8:8 | x | | -| exit.rb:8:1:13:3 | exit m2 (abnormal) | exit.rb:8:1:13:3 | exit m2 | | -| exit.rb:8:1:13:3 | exit m2 (normal) | exit.rb:8:1:13:3 | exit m2 | | -| exit.rb:8:1:13:3 | m2 | exit.rb:1:1:13:4 | exit exit.rb (normal) | | -| exit.rb:8:8:8:8 | x | exit.rb:9:6:9:6 | x | | -| exit.rb:9:3:11:5 | if ... | exit.rb:12:3:12:15 | self | | +| exit.rb:8:1:13:3 | Entry | exit.rb:8:8:8:8 | x | | +| exit.rb:8:1:13:3 | Exceptional Exit | exit.rb:8:1:13:3 | Exit | | +| exit.rb:8:1:13:3 | Normal Exit | exit.rb:8:1:13:3 | Exit | | +| exit.rb:8:1:13:3 | m2 | exit.rb:1:1:13:4 | Normal Exit | | +| exit.rb:8:8:8:8 | x | exit.rb:9:3:12:15 | ... | | +| exit.rb:9:3:11:5 | After if ... | exit.rb:12:3:12:15 | Before call to puts | | +| exit.rb:9:3:11:5 | if ... | exit.rb:9:6:9:10 | Before ... > ... | | +| exit.rb:9:3:12:15 | ... | exit.rb:9:3:11:5 | if ... | | +| exit.rb:9:3:12:15 | After ... | exit.rb:8:1:13:3 | Normal Exit | | | exit.rb:9:6:9:6 | x | exit.rb:9:10:9:10 | 2 | | -| exit.rb:9:6:9:10 | ... > ... | exit.rb:9:3:11:5 | if ... | false | -| exit.rb:9:6:9:10 | ... > ... | exit.rb:10:5:10:18 | self | true | +| exit.rb:9:6:9:10 | ... > ... | exit.rb:9:6:9:10 | After ... > ... [false] | false | +| exit.rb:9:6:9:10 | ... > ... | exit.rb:9:6:9:10 | After ... > ... [true] | true | +| exit.rb:9:6:9:10 | After ... > ... [false] | exit.rb:9:3:11:5 | After if ... | | +| exit.rb:9:6:9:10 | After ... > ... [true] | exit.rb:9:11:10:18 | then ... | | +| exit.rb:9:6:9:10 | Before ... > ... | exit.rb:9:6:9:6 | x | | | exit.rb:9:10:9:10 | 2 | exit.rb:9:6:9:10 | ... > ... | | -| exit.rb:10:5:10:18 | call to abort | exit.rb:8:1:13:3 | exit m2 (abnormal) | exit | -| exit.rb:10:5:10:18 | self | exit.rb:10:12:10:17 | abort! | | -| exit.rb:10:11:10:18 | "abort!" | exit.rb:10:5:10:18 | call to abort | | +| exit.rb:9:11:10:18 | then ... | exit.rb:10:5:10:18 | Before call to abort | | +| exit.rb:10:5:10:18 | Before call to abort | exit.rb:10:5:10:18 | self | | +| exit.rb:10:5:10:18 | call to abort | exit.rb:8:1:13:3 | Exceptional Exit | exit | +| exit.rb:10:5:10:18 | self | exit.rb:10:11:10:18 | Before "abort!" | | +| exit.rb:10:11:10:18 | "abort!" | exit.rb:10:11:10:18 | After "abort!" | | +| exit.rb:10:11:10:18 | After "abort!" | exit.rb:10:5:10:18 | call to abort | | +| exit.rb:10:11:10:18 | Before "abort!" | exit.rb:10:12:10:17 | abort! | | | exit.rb:10:12:10:17 | abort! | exit.rb:10:11:10:18 | "abort!" | | -| exit.rb:12:3:12:15 | call to puts | exit.rb:8:1:13:3 | exit m2 (normal) | | -| exit.rb:12:3:12:15 | self | exit.rb:12:9:12:14 | x <= 2 | | -| exit.rb:12:8:12:15 | "x <= 2" | exit.rb:12:3:12:15 | call to puts | | +| exit.rb:12:3:12:15 | After call to puts | exit.rb:9:3:12:15 | After ... | | +| exit.rb:12:3:12:15 | Before call to puts | exit.rb:12:3:12:15 | self | | +| exit.rb:12:3:12:15 | call to puts | exit.rb:12:3:12:15 | After call to puts | | +| exit.rb:12:3:12:15 | self | exit.rb:12:8:12:15 | Before "x <= 2" | | +| exit.rb:12:8:12:15 | "x <= 2" | exit.rb:12:8:12:15 | After "x <= 2" | | +| exit.rb:12:8:12:15 | After "x <= 2" | exit.rb:12:3:12:15 | call to puts | | +| exit.rb:12:8:12:15 | Before "x <= 2" | exit.rb:12:9:12:14 | x <= 2 | | | exit.rb:12:9:12:14 | x <= 2 | exit.rb:12:8:12:15 | "x <= 2" | | -| heredoc.rb:1:1:7:3 | double_heredoc | heredoc.rb:1:1:7:4 | exit heredoc.rb (normal) | | -| heredoc.rb:1:1:7:3 | enter double_heredoc | heredoc.rb:2:3:2:16 | self | | -| heredoc.rb:1:1:7:3 | exit double_heredoc (normal) | heredoc.rb:1:1:7:3 | exit double_heredoc | | -| heredoc.rb:1:1:7:4 | enter heredoc.rb | heredoc.rb:1:1:7:3 | double_heredoc | | -| heredoc.rb:1:1:7:4 | exit heredoc.rb (normal) | heredoc.rb:1:1:7:4 | exit heredoc.rb | | -| heredoc.rb:2:3:2:16 | call to puts | heredoc.rb:1:1:7:3 | exit double_heredoc (normal) | | -| heredoc.rb:2:3:2:16 | self | heredoc.rb:2:17:3:10 | \n hello\n | | -| heredoc.rb:2:8:2:10 | < ... | | | ifs.rb:2:6:2:6 | x | ifs.rb:2:10:2:10 | 2 | | -| ifs.rb:2:6:2:10 | ... > ... | ifs.rb:3:5:3:30 | self | true | -| ifs.rb:2:6:2:10 | ... > ... | ifs.rb:4:9:4:9 | x | false | +| ifs.rb:2:6:2:10 | ... > ... | ifs.rb:2:6:2:10 | After ... > ... [false] | false | +| ifs.rb:2:6:2:10 | ... > ... | ifs.rb:2:6:2:10 | After ... > ... [true] | true | +| ifs.rb:2:6:2:10 | After ... > ... [false] | ifs.rb:4:3:7:35 | elsif ... | | +| ifs.rb:2:6:2:10 | After ... > ... [true] | ifs.rb:2:11:3:30 | then ... | | +| ifs.rb:2:6:2:10 | Before ... > ... | ifs.rb:2:6:2:6 | x | | | ifs.rb:2:10:2:10 | 2 | ifs.rb:2:6:2:10 | ... > ... | | -| ifs.rb:2:11:3:30 | then ... | ifs.rb:2:3:8:5 | if ... | | -| ifs.rb:3:5:3:30 | call to puts | ifs.rb:2:11:3:30 | then ... | | -| ifs.rb:3:5:3:30 | self | ifs.rb:3:11:3:29 | x is greater than 2 | | -| ifs.rb:3:10:3:30 | "x is greater than 2" | ifs.rb:3:5:3:30 | call to puts | | +| ifs.rb:2:11:3:30 | After then ... | ifs.rb:2:3:8:5 | After if ... | | +| ifs.rb:2:11:3:30 | then ... | ifs.rb:3:5:3:30 | Before call to puts | | +| ifs.rb:3:5:3:30 | After call to puts | ifs.rb:2:11:3:30 | After then ... | | +| ifs.rb:3:5:3:30 | Before call to puts | ifs.rb:3:5:3:30 | self | | +| ifs.rb:3:5:3:30 | call to puts | ifs.rb:3:5:3:30 | After call to puts | | +| ifs.rb:3:5:3:30 | self | ifs.rb:3:10:3:30 | Before "x is greater than 2" | | +| ifs.rb:3:10:3:30 | "x is greater than 2" | ifs.rb:3:10:3:30 | After "x is greater than 2" | | +| ifs.rb:3:10:3:30 | After "x is greater than 2" | ifs.rb:3:5:3:30 | call to puts | | +| ifs.rb:3:10:3:30 | Before "x is greater than 2" | ifs.rb:3:11:3:29 | x is greater than 2 | | | ifs.rb:3:11:3:29 | x is greater than 2 | ifs.rb:3:10:3:30 | "x is greater than 2" | | -| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:2:3:8:5 | if ... | | +| ifs.rb:4:3:7:35 | After elsif ... | ifs.rb:2:3:8:5 | After if ... | | +| ifs.rb:4:3:7:35 | elsif ... | ifs.rb:4:9:4:38 | ... and ... | | | ifs.rb:4:9:4:9 | x | ifs.rb:4:14:4:14 | 2 | | -| ifs.rb:4:9:4:14 | ... <= ... | ifs.rb:4:9:4:24 | [false] ... and ... | false | -| ifs.rb:4:9:4:14 | ... <= ... | ifs.rb:4:20:4:20 | x | true | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:9:4:38 | [false] ... and ... | false | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:32:4:32 | x | true | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:7:5:7:35 | self | false | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:5:5:5:17 | self | true | +| ifs.rb:4:9:4:14 | ... <= ... | ifs.rb:4:9:4:14 | After ... <= ... [false] | false | +| ifs.rb:4:9:4:14 | ... <= ... | ifs.rb:4:9:4:14 | After ... <= ... [true] | true | +| ifs.rb:4:9:4:14 | After ... <= ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | false | +| ifs.rb:4:9:4:14 | After ... <= ... [true] | ifs.rb:4:20:4:24 | Before ... > ... | | +| ifs.rb:4:9:4:14 | Before ... <= ... | ifs.rb:4:9:4:9 | x | | +| ifs.rb:4:9:4:24 | ... and ... | ifs.rb:4:9:4:14 | Before ... <= ... | | +| ifs.rb:4:9:4:24 | After ... and ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | false | +| ifs.rb:4:9:4:24 | After ... and ... [true] | ifs.rb:4:30:4:38 | ! ... | | +| ifs.rb:4:9:4:38 | ... and ... | ifs.rb:4:9:4:24 | ... and ... | | +| ifs.rb:4:9:4:38 | After ... and ... [false] | ifs.rb:6:3:7:35 | else ... | | +| ifs.rb:4:9:4:38 | After ... and ... [true] | ifs.rb:4:39:5:17 | then ... | | | ifs.rb:4:14:4:14 | 2 | ifs.rb:4:9:4:14 | ... <= ... | | | ifs.rb:4:20:4:20 | x | ifs.rb:4:24:4:24 | 0 | | -| ifs.rb:4:20:4:24 | ... > ... | ifs.rb:4:9:4:24 | [false] ... and ... | false | -| ifs.rb:4:20:4:24 | ... > ... | ifs.rb:4:9:4:24 | [true] ... and ... | true | +| ifs.rb:4:20:4:24 | ... > ... | ifs.rb:4:20:4:24 | After ... > ... [false] | false | +| ifs.rb:4:20:4:24 | ... > ... | ifs.rb:4:20:4:24 | After ... > ... [true] | true | +| ifs.rb:4:20:4:24 | After ... > ... [false] | ifs.rb:4:9:4:24 | After ... and ... [false] | false | +| ifs.rb:4:20:4:24 | After ... > ... [true] | ifs.rb:4:9:4:24 | After ... and ... [true] | true | +| ifs.rb:4:20:4:24 | Before ... > ... | ifs.rb:4:20:4:20 | x | | | ifs.rb:4:24:4:24 | 0 | ifs.rb:4:20:4:24 | ... > ... | | -| ifs.rb:4:30:4:38 | [false] ! ... | ifs.rb:4:9:4:38 | [false] ... and ... | false | -| ifs.rb:4:30:4:38 | [true] ! ... | ifs.rb:4:9:4:38 | [true] ... and ... | true | -| ifs.rb:4:31:4:38 | [false] ( ... ) | ifs.rb:4:30:4:38 | [true] ! ... | false | -| ifs.rb:4:31:4:38 | [true] ( ... ) | ifs.rb:4:30:4:38 | [false] ! ... | true | +| ifs.rb:4:30:4:38 | ! ... | ifs.rb:4:31:4:38 | ( ... ) | | +| ifs.rb:4:30:4:38 | After ! ... [false] | ifs.rb:4:9:4:38 | After ... and ... [false] | false | +| ifs.rb:4:30:4:38 | After ! ... [true] | ifs.rb:4:9:4:38 | After ... and ... [true] | true | +| ifs.rb:4:31:4:38 | ( ... ) | ifs.rb:4:32:4:37 | Before ... == ... | | +| ifs.rb:4:31:4:38 | After ( ... ) [false] | ifs.rb:4:30:4:38 | After ! ... [true] | true | +| ifs.rb:4:31:4:38 | After ( ... ) [true] | ifs.rb:4:30:4:38 | After ! ... [false] | false | | ifs.rb:4:32:4:32 | x | ifs.rb:4:37:4:37 | 5 | | -| ifs.rb:4:32:4:37 | ... == ... | ifs.rb:4:31:4:38 | [false] ( ... ) | false | -| ifs.rb:4:32:4:37 | ... == ... | ifs.rb:4:31:4:38 | [true] ( ... ) | true | +| ifs.rb:4:32:4:37 | ... == ... | ifs.rb:4:32:4:37 | After ... == ... [false] | false | +| ifs.rb:4:32:4:37 | ... == ... | ifs.rb:4:32:4:37 | After ... == ... [true] | true | +| ifs.rb:4:32:4:37 | After ... == ... [false] | ifs.rb:4:31:4:38 | After ( ... ) [false] | false | +| ifs.rb:4:32:4:37 | After ... == ... [true] | ifs.rb:4:31:4:38 | After ( ... ) [true] | true | +| ifs.rb:4:32:4:37 | Before ... == ... | ifs.rb:4:32:4:32 | x | | | ifs.rb:4:37:4:37 | 5 | ifs.rb:4:32:4:37 | ... == ... | | -| ifs.rb:4:39:5:17 | then ... | ifs.rb:4:3:7:35 | elsif ... | | -| ifs.rb:5:5:5:17 | call to puts | ifs.rb:4:39:5:17 | then ... | | -| ifs.rb:5:5:5:17 | self | ifs.rb:5:11:5:16 | x is 1 | | -| ifs.rb:5:10:5:17 | "x is 1" | ifs.rb:5:5:5:17 | call to puts | | +| ifs.rb:4:39:5:17 | After then ... | ifs.rb:4:3:7:35 | After elsif ... | | +| ifs.rb:4:39:5:17 | then ... | ifs.rb:5:5:5:17 | Before call to puts | | +| ifs.rb:5:5:5:17 | After call to puts | ifs.rb:4:39:5:17 | After then ... | | +| ifs.rb:5:5:5:17 | Before call to puts | ifs.rb:5:5:5:17 | self | | +| ifs.rb:5:5:5:17 | call to puts | ifs.rb:5:5:5:17 | After call to puts | | +| ifs.rb:5:5:5:17 | self | ifs.rb:5:10:5:17 | Before "x is 1" | | +| ifs.rb:5:10:5:17 | "x is 1" | ifs.rb:5:10:5:17 | After "x is 1" | | +| ifs.rb:5:10:5:17 | After "x is 1" | ifs.rb:5:5:5:17 | call to puts | | +| ifs.rb:5:10:5:17 | Before "x is 1" | ifs.rb:5:11:5:16 | x is 1 | | | ifs.rb:5:11:5:16 | x is 1 | ifs.rb:5:10:5:17 | "x is 1" | | -| ifs.rb:6:3:7:35 | else ... | ifs.rb:4:3:7:35 | elsif ... | | -| ifs.rb:7:5:7:35 | call to puts | ifs.rb:6:3:7:35 | else ... | | -| ifs.rb:7:5:7:35 | self | ifs.rb:7:11:7:34 | I can't guess the number | | -| ifs.rb:7:10:7:35 | "I can't guess the number" | ifs.rb:7:5:7:35 | call to puts | | +| ifs.rb:6:3:7:35 | After else ... | ifs.rb:4:3:7:35 | After elsif ... | | +| ifs.rb:6:3:7:35 | else ... | ifs.rb:7:5:7:35 | Before call to puts | | +| ifs.rb:7:5:7:35 | After call to puts | ifs.rb:6:3:7:35 | After else ... | | +| ifs.rb:7:5:7:35 | Before call to puts | ifs.rb:7:5:7:35 | self | | +| ifs.rb:7:5:7:35 | call to puts | ifs.rb:7:5:7:35 | After call to puts | | +| ifs.rb:7:5:7:35 | self | ifs.rb:7:10:7:35 | Before "I can't guess the number" | | +| ifs.rb:7:10:7:35 | "I can't guess the number" | ifs.rb:7:10:7:35 | After "I can't guess the number" | | +| ifs.rb:7:10:7:35 | After "I can't guess the number" | ifs.rb:7:5:7:35 | call to puts | | +| ifs.rb:7:10:7:35 | Before "I can't guess the number" | ifs.rb:7:11:7:34 | I can't guess the number | | | ifs.rb:7:11:7:34 | I can't guess the number | ifs.rb:7:10:7:35 | "I can't guess the number" | | -| ifs.rb:11:1:16:3 | enter m2 | ifs.rb:11:8:11:8 | b | | -| ifs.rb:11:1:16:3 | exit m2 (normal) | ifs.rb:11:1:16:3 | exit m2 | | +| ifs.rb:11:1:16:3 | Entry | ifs.rb:11:8:11:8 | b | | +| ifs.rb:11:1:16:3 | Normal Exit | ifs.rb:11:1:16:3 | Exit | | | ifs.rb:11:1:16:3 | m2 | ifs.rb:18:1:26:3 | m3 | | -| ifs.rb:11:8:11:8 | b | ifs.rb:12:6:12:6 | b | | -| ifs.rb:12:3:14:5 | if ... | ifs.rb:15:10:15:10 | 1 | | -| ifs.rb:12:6:12:6 | b | ifs.rb:12:3:14:5 | if ... | false | -| ifs.rb:12:6:12:6 | b | ifs.rb:13:12:13:12 | 0 | true | -| ifs.rb:13:5:13:12 | return | ifs.rb:11:1:16:3 | exit m2 (normal) | return | +| ifs.rb:11:8:11:8 | b | ifs.rb:12:3:15:10 | ... | | +| ifs.rb:12:3:14:5 | After if ... | ifs.rb:15:3:15:10 | Before return | | +| ifs.rb:12:3:14:5 | if ... | ifs.rb:12:6:12:6 | b | | +| ifs.rb:12:3:15:10 | ... | ifs.rb:12:3:14:5 | if ... | | +| ifs.rb:12:6:12:6 | After b [false] | ifs.rb:12:3:14:5 | After if ... | | +| ifs.rb:12:6:12:6 | After b [true] | ifs.rb:12:7:13:12 | then ... | | +| ifs.rb:12:6:12:6 | b | ifs.rb:12:6:12:6 | After b [false] | false | +| ifs.rb:12:6:12:6 | b | ifs.rb:12:6:12:6 | After b [true] | true | +| ifs.rb:12:7:13:12 | then ... | ifs.rb:13:5:13:12 | Before return | | +| ifs.rb:13:5:13:12 | Before return | ifs.rb:13:12:13:12 | 0 | | +| ifs.rb:13:5:13:12 | return | ifs.rb:11:1:16:3 | Normal Exit | return | | ifs.rb:13:12:13:12 | 0 | ifs.rb:13:5:13:12 | return | | -| ifs.rb:15:3:15:10 | return | ifs.rb:11:1:16:3 | exit m2 (normal) | return | +| ifs.rb:15:3:15:10 | Before return | ifs.rb:15:10:15:10 | 1 | | +| ifs.rb:15:3:15:10 | return | ifs.rb:11:1:16:3 | Normal Exit | return | | ifs.rb:15:10:15:10 | 1 | ifs.rb:15:3:15:10 | return | | -| ifs.rb:18:1:26:3 | enter m3 | ifs.rb:18:8:18:8 | x | | -| ifs.rb:18:1:26:3 | exit m3 (normal) | ifs.rb:18:1:26:3 | exit m3 | | +| ifs.rb:18:1:26:3 | Entry | ifs.rb:18:8:18:8 | x | | +| ifs.rb:18:1:26:3 | Normal Exit | ifs.rb:18:1:26:3 | Exit | | | ifs.rb:18:1:26:3 | m3 | ifs.rb:28:1:30:3 | m4 | | -| ifs.rb:18:8:18:8 | x | ifs.rb:19:6:19:6 | x | | -| ifs.rb:19:3:24:5 | if ... | ifs.rb:25:3:25:8 | self | | +| ifs.rb:18:8:18:8 | x | ifs.rb:19:3:25:8 | ... | | +| ifs.rb:19:3:24:5 | After if ... | ifs.rb:25:3:25:8 | Before call to puts | | +| ifs.rb:19:3:24:5 | if ... | ifs.rb:19:6:19:10 | Before ... < ... | | +| ifs.rb:19:3:25:8 | ... | ifs.rb:19:3:24:5 | if ... | | +| ifs.rb:19:3:25:8 | After ... | ifs.rb:18:1:26:3 | Normal Exit | | | ifs.rb:19:6:19:6 | x | ifs.rb:19:10:19:10 | 0 | | -| ifs.rb:19:6:19:10 | ... < ... | ifs.rb:19:3:24:5 | if ... | false | -| ifs.rb:19:6:19:10 | ... < ... | ifs.rb:20:5:20:5 | x | true | +| ifs.rb:19:6:19:10 | ... < ... | ifs.rb:19:6:19:10 | After ... < ... [false] | false | +| ifs.rb:19:6:19:10 | ... < ... | ifs.rb:19:6:19:10 | After ... < ... [true] | true | +| ifs.rb:19:6:19:10 | After ... < ... [false] | ifs.rb:19:3:24:5 | After if ... | | +| ifs.rb:19:6:19:10 | After ... < ... [true] | ifs.rb:19:11:23:7 | then ... | | +| ifs.rb:19:6:19:10 | Before ... < ... | ifs.rb:19:6:19:6 | x | | | ifs.rb:19:10:19:10 | 0 | ifs.rb:19:6:19:10 | ... < ... | | -| ifs.rb:19:11:23:7 | then ... | ifs.rb:19:3:24:5 | if ... | | -| ifs.rb:20:5:20:5 | x | ifs.rb:20:10:20:10 | x | | -| ifs.rb:20:5:20:10 | ... = ... | ifs.rb:21:8:21:8 | x | | -| ifs.rb:20:9:20:10 | - ... | ifs.rb:20:5:20:10 | ... = ... | | +| ifs.rb:19:11:23:7 | After then ... | ifs.rb:19:3:24:5 | After if ... | | +| ifs.rb:19:11:23:7 | then ... | ifs.rb:20:5:20:10 | Before ... = ... | | +| ifs.rb:20:5:20:5 | x | ifs.rb:20:9:20:10 | Before - ... | | +| ifs.rb:20:5:20:10 | ... = ... | ifs.rb:20:5:20:10 | After ... = ... | | +| ifs.rb:20:5:20:10 | After ... = ... | ifs.rb:21:5:23:7 | if ... | | +| ifs.rb:20:5:20:10 | Before ... = ... | ifs.rb:20:5:20:5 | x | | +| ifs.rb:20:9:20:10 | - ... | ifs.rb:20:9:20:10 | After - ... | | +| ifs.rb:20:9:20:10 | After - ... | ifs.rb:20:5:20:10 | ... = ... | | +| ifs.rb:20:9:20:10 | Before - ... | ifs.rb:20:10:20:10 | x | | | ifs.rb:20:10:20:10 | x | ifs.rb:20:9:20:10 | - ... | | -| ifs.rb:21:5:23:7 | if ... | ifs.rb:19:11:23:7 | then ... | | +| ifs.rb:21:5:23:7 | After if ... | ifs.rb:19:11:23:7 | After then ... | | +| ifs.rb:21:5:23:7 | if ... | ifs.rb:21:8:21:13 | Before ... > ... | | | ifs.rb:21:8:21:8 | x | ifs.rb:21:12:21:13 | 10 | | -| ifs.rb:21:8:21:13 | ... > ... | ifs.rb:21:5:23:7 | if ... | false | -| ifs.rb:21:8:21:13 | ... > ... | ifs.rb:22:7:22:7 | x | true | +| ifs.rb:21:8:21:13 | ... > ... | ifs.rb:21:8:21:13 | After ... > ... [false] | false | +| ifs.rb:21:8:21:13 | ... > ... | ifs.rb:21:8:21:13 | After ... > ... [true] | true | +| ifs.rb:21:8:21:13 | After ... > ... [false] | ifs.rb:21:5:23:7 | After if ... | | +| ifs.rb:21:8:21:13 | After ... > ... [true] | ifs.rb:21:14:22:15 | then ... | | +| ifs.rb:21:8:21:13 | Before ... > ... | ifs.rb:21:8:21:8 | x | | | ifs.rb:21:12:21:13 | 10 | ifs.rb:21:8:21:13 | ... > ... | | -| ifs.rb:21:14:22:15 | then ... | ifs.rb:21:5:23:7 | if ... | | -| ifs.rb:22:7:22:7 | x | ifs.rb:22:11:22:11 | x | | -| ifs.rb:22:7:22:15 | ... = ... | ifs.rb:21:14:22:15 | then ... | | +| ifs.rb:21:14:22:15 | After then ... | ifs.rb:21:5:23:7 | After if ... | | +| ifs.rb:21:14:22:15 | then ... | ifs.rb:22:7:22:15 | Before ... = ... | | +| ifs.rb:22:7:22:7 | x | ifs.rb:22:11:22:15 | Before ... - ... | | +| ifs.rb:22:7:22:15 | ... = ... | ifs.rb:22:7:22:15 | After ... = ... | | +| ifs.rb:22:7:22:15 | After ... = ... | ifs.rb:21:14:22:15 | After then ... | | +| ifs.rb:22:7:22:15 | Before ... = ... | ifs.rb:22:7:22:7 | x | | | ifs.rb:22:11:22:11 | x | ifs.rb:22:15:22:15 | 1 | | -| ifs.rb:22:11:22:15 | ... - ... | ifs.rb:22:7:22:15 | ... = ... | | +| ifs.rb:22:11:22:15 | ... - ... | ifs.rb:22:11:22:15 | After ... - ... | | +| ifs.rb:22:11:22:15 | After ... - ... | ifs.rb:22:7:22:15 | ... = ... | | +| ifs.rb:22:11:22:15 | Before ... - ... | ifs.rb:22:11:22:11 | x | | | ifs.rb:22:15:22:15 | 1 | ifs.rb:22:11:22:15 | ... - ... | | -| ifs.rb:25:3:25:8 | call to puts | ifs.rb:18:1:26:3 | exit m3 (normal) | | +| ifs.rb:25:3:25:8 | After call to puts | ifs.rb:19:3:25:8 | After ... | | +| ifs.rb:25:3:25:8 | Before call to puts | ifs.rb:25:3:25:8 | self | | +| ifs.rb:25:3:25:8 | call to puts | ifs.rb:25:3:25:8 | After call to puts | | | ifs.rb:25:3:25:8 | self | ifs.rb:25:8:25:8 | x | | | ifs.rb:25:8:25:8 | x | ifs.rb:25:3:25:8 | call to puts | | -| ifs.rb:28:1:30:3 | enter m4 | ifs.rb:28:9:28:10 | b1 | | -| ifs.rb:28:1:30:3 | exit m4 (normal) | ifs.rb:28:1:30:3 | exit m4 | | +| ifs.rb:28:1:30:3 | Entry | ifs.rb:28:9:28:10 | b1 | | +| ifs.rb:28:1:30:3 | Normal Exit | ifs.rb:28:1:30:3 | Exit | | | ifs.rb:28:1:30:3 | m4 | ifs.rb:32:1:34:3 | m5 | | | ifs.rb:28:9:28:10 | b1 | ifs.rb:28:13:28:14 | b2 | | | ifs.rb:28:13:28:14 | b2 | ifs.rb:28:17:28:18 | b3 | | -| ifs.rb:28:17:28:18 | b3 | ifs.rb:29:11:29:12 | b1 | | -| ifs.rb:29:3:29:51 | return | ifs.rb:28:1:30:3 | exit m4 (normal) | return | -| ifs.rb:29:10:29:23 | [false] ( ... ) | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | false | -| ifs.rb:29:10:29:23 | [true] ( ... ) | ifs.rb:29:28:29:35 | b2 \|\| b3 | true | -| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:3:29:51 | return | | -| ifs.rb:29:11:29:12 | b1 | ifs.rb:29:16:29:17 | b2 | true | -| ifs.rb:29:11:29:12 | b1 | ifs.rb:29:21:29:22 | b3 | false | -| ifs.rb:29:11:29:22 | [false] ... ? ... : ... | ifs.rb:29:10:29:23 | [false] ( ... ) | false | -| ifs.rb:29:11:29:22 | [true] ... ? ... : ... | ifs.rb:29:10:29:23 | [true] ( ... ) | true | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | false | -| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | true | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:11:29:22 | [false] ... ? ... : ... | false | -| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:11:29:22 | [true] ... ? ... : ... | true | -| ifs.rb:29:27:29:36 | "b2 \|\| b3" | ifs.rb:29:10:29:51 | ... ? ... : ... | | +| ifs.rb:28:17:28:18 | b3 | ifs.rb:29:3:29:51 | ... | | +| ifs.rb:29:3:29:51 | ... | ifs.rb:29:3:29:51 | Before return | | +| ifs.rb:29:3:29:51 | Before return | ifs.rb:29:10:29:51 | ... ? ... : ... | | +| ifs.rb:29:3:29:51 | return | ifs.rb:28:1:30:3 | Normal Exit | return | +| ifs.rb:29:10:29:23 | ( ... ) | ifs.rb:29:11:29:22 | ... ? ... : ... | | +| ifs.rb:29:10:29:23 | After ( ... ) [false] | ifs.rb:29:40:29:51 | Before "!b2 \|\| !b3" | | +| ifs.rb:29:10:29:23 | After ( ... ) [true] | ifs.rb:29:27:29:36 | Before "b2 \|\| b3" | | +| ifs.rb:29:10:29:51 | ... ? ... : ... | ifs.rb:29:10:29:23 | ( ... ) | | +| ifs.rb:29:10:29:51 | After ... ? ... : ... | ifs.rb:29:3:29:51 | return | | +| ifs.rb:29:11:29:12 | After b1 [false] | ifs.rb:29:21:29:22 | b3 | | +| ifs.rb:29:11:29:12 | After b1 [true] | ifs.rb:29:16:29:17 | b2 | | +| ifs.rb:29:11:29:12 | b1 | ifs.rb:29:11:29:12 | After b1 [false] | false | +| ifs.rb:29:11:29:12 | b1 | ifs.rb:29:11:29:12 | After b1 [true] | true | +| ifs.rb:29:11:29:22 | ... ? ... : ... | ifs.rb:29:11:29:12 | b1 | | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | ifs.rb:29:10:29:23 | After ( ... ) [false] | false | +| ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | ifs.rb:29:10:29:23 | After ( ... ) [true] | true | +| ifs.rb:29:16:29:17 | After b2 [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | false | +| ifs.rb:29:16:29:17 | After b2 [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | true | +| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:16:29:17 | After b2 [false] | false | +| ifs.rb:29:16:29:17 | b2 | ifs.rb:29:16:29:17 | After b2 [true] | true | +| ifs.rb:29:21:29:22 | After b3 [false] | ifs.rb:29:11:29:22 | After ... ? ... : ... [false] | false | +| ifs.rb:29:21:29:22 | After b3 [true] | ifs.rb:29:11:29:22 | After ... ? ... : ... [true] | true | +| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:21:29:22 | After b3 [false] | false | +| ifs.rb:29:21:29:22 | b3 | ifs.rb:29:21:29:22 | After b3 [true] | true | +| ifs.rb:29:27:29:36 | "b2 \|\| b3" | ifs.rb:29:27:29:36 | After "b2 \|\| b3" | | +| ifs.rb:29:27:29:36 | After "b2 \|\| b3" | ifs.rb:29:10:29:51 | After ... ? ... : ... | | +| ifs.rb:29:27:29:36 | Before "b2 \|\| b3" | ifs.rb:29:28:29:35 | b2 \|\| b3 | | | ifs.rb:29:28:29:35 | b2 \|\| b3 | ifs.rb:29:27:29:36 | "b2 \|\| b3" | | -| ifs.rb:29:40:29:51 | "!b2 \|\| !b3" | ifs.rb:29:10:29:51 | ... ? ... : ... | | +| ifs.rb:29:40:29:51 | "!b2 \|\| !b3" | ifs.rb:29:40:29:51 | After "!b2 \|\| !b3" | | +| ifs.rb:29:40:29:51 | After "!b2 \|\| !b3" | ifs.rb:29:10:29:51 | After ... ? ... : ... | | +| ifs.rb:29:40:29:51 | Before "!b2 \|\| !b3" | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | | | ifs.rb:29:41:29:50 | !b2 \|\| !b3 | ifs.rb:29:40:29:51 | "!b2 \|\| !b3" | | -| ifs.rb:32:1:34:3 | enter m5 | ifs.rb:32:9:32:10 | b1 | | -| ifs.rb:32:1:34:3 | exit m5 (normal) | ifs.rb:32:1:34:3 | exit m5 | | -| ifs.rb:32:1:34:3 | m5 | ifs.rb:38:12:38:12 | 1 | | +| ifs.rb:32:1:34:3 | Entry | ifs.rb:32:9:32:10 | b1 | | +| ifs.rb:32:1:34:3 | Normal Exit | ifs.rb:32:1:34:3 | Exit | | +| ifs.rb:32:1:34:3 | m5 | ifs.rb:36:1:38:17 | ... unless ... | | | ifs.rb:32:9:32:10 | b1 | ifs.rb:32:13:32:14 | b2 | | | ifs.rb:32:13:32:14 | b2 | ifs.rb:32:17:32:18 | b3 | | | ifs.rb:32:17:32:18 | b3 | ifs.rb:32:21:32:22 | b4 | | | ifs.rb:32:21:32:22 | b4 | ifs.rb:32:25:32:26 | b5 | | -| ifs.rb:32:25:32:26 | b5 | ifs.rb:33:10:33:11 | b1 | | -| ifs.rb:33:3:33:100 | if ... | ifs.rb:32:1:34:3 | exit m5 (normal) | | -| ifs.rb:33:6:33:49 | [false] ( ... ) | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | false | -| ifs.rb:33:6:33:49 | [true] ( ... ) | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | true | -| ifs.rb:33:7:33:48 | [false] if ... | ifs.rb:33:6:33:49 | [false] ( ... ) | false | -| ifs.rb:33:7:33:48 | [true] if ... | ifs.rb:33:6:33:49 | [true] ( ... ) | true | -| ifs.rb:33:10:33:11 | b1 | ifs.rb:33:18:33:19 | b2 | true | -| ifs.rb:33:10:33:11 | b1 | ifs.rb:33:27:33:28 | b3 | false | -| ifs.rb:33:13:33:19 | [false] then ... | ifs.rb:33:7:33:48 | [false] if ... | false | -| ifs.rb:33:13:33:19 | [true] then ... | ifs.rb:33:7:33:48 | [true] if ... | true | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [false] then ... | false | -| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:13:33:19 | [true] then ... | true | -| ifs.rb:33:21:33:44 | [false] elsif ... | ifs.rb:33:7:33:48 | [false] if ... | false | -| ifs.rb:33:21:33:44 | [true] elsif ... | ifs.rb:33:7:33:48 | [true] if ... | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:35:33:36 | b4 | true | -| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:43:33:44 | b5 | false | -| ifs.rb:33:30:33:36 | [false] then ... | ifs.rb:33:21:33:44 | [false] elsif ... | false | -| ifs.rb:33:30:33:36 | [true] then ... | ifs.rb:33:21:33:44 | [true] elsif ... | true | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [false] then ... | false | -| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:30:33:36 | [true] then ... | true | -| ifs.rb:33:38:33:44 | [false] else ... | ifs.rb:33:21:33:44 | [false] elsif ... | false | -| ifs.rb:33:38:33:44 | [true] else ... | ifs.rb:33:21:33:44 | [true] elsif ... | true | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [false] else ... | false | -| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:38:33:44 | [true] else ... | true | -| ifs.rb:33:51:33:71 | then ... | ifs.rb:33:3:33:100 | if ... | | -| ifs.rb:33:56:33:71 | "b2 \|\| b4 \|\| b5" | ifs.rb:33:51:33:71 | then ... | | +| ifs.rb:32:25:32:26 | b5 | ifs.rb:33:3:33:100 | ... | | +| ifs.rb:33:3:33:100 | ... | ifs.rb:33:3:33:100 | if ... | | +| ifs.rb:33:3:33:100 | After ... | ifs.rb:32:1:34:3 | Normal Exit | | +| ifs.rb:33:3:33:100 | After if ... | ifs.rb:33:3:33:100 | After ... | | +| ifs.rb:33:3:33:100 | if ... | ifs.rb:33:6:33:49 | ( ... ) | | +| ifs.rb:33:6:33:49 | ( ... ) | ifs.rb:33:7:33:48 | if ... | | +| ifs.rb:33:6:33:49 | After ( ... ) [false] | ifs.rb:33:73:33:96 | else ... | | +| ifs.rb:33:6:33:49 | After ( ... ) [true] | ifs.rb:33:51:33:71 | then ... | | +| ifs.rb:33:7:33:48 | After if ... [false] | ifs.rb:33:6:33:49 | After ( ... ) [false] | false | +| ifs.rb:33:7:33:48 | After if ... [true] | ifs.rb:33:6:33:49 | After ( ... ) [true] | true | +| ifs.rb:33:7:33:48 | if ... | ifs.rb:33:10:33:11 | b1 | | +| ifs.rb:33:10:33:11 | After b1 [false] | ifs.rb:33:21:33:44 | elsif ... | | +| ifs.rb:33:10:33:11 | After b1 [true] | ifs.rb:33:13:33:19 | then ... | | +| ifs.rb:33:10:33:11 | b1 | ifs.rb:33:10:33:11 | After b1 [false] | false | +| ifs.rb:33:10:33:11 | b1 | ifs.rb:33:10:33:11 | After b1 [true] | true | +| ifs.rb:33:13:33:19 | After then ... [false] | ifs.rb:33:7:33:48 | After if ... [false] | false | +| ifs.rb:33:13:33:19 | After then ... [true] | ifs.rb:33:7:33:48 | After if ... [true] | true | +| ifs.rb:33:13:33:19 | then ... | ifs.rb:33:18:33:19 | b2 | | +| ifs.rb:33:18:33:19 | After b2 [false] | ifs.rb:33:13:33:19 | After then ... [false] | false | +| ifs.rb:33:18:33:19 | After b2 [true] | ifs.rb:33:13:33:19 | After then ... [true] | true | +| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:18:33:19 | After b2 [false] | false | +| ifs.rb:33:18:33:19 | b2 | ifs.rb:33:18:33:19 | After b2 [true] | true | +| ifs.rb:33:21:33:44 | After elsif ... [false] | ifs.rb:33:7:33:48 | After if ... [false] | false | +| ifs.rb:33:21:33:44 | After elsif ... [true] | ifs.rb:33:7:33:48 | After if ... [true] | true | +| ifs.rb:33:21:33:44 | elsif ... | ifs.rb:33:27:33:28 | b3 | | +| ifs.rb:33:27:33:28 | After b3 [false] | ifs.rb:33:38:33:44 | else ... | | +| ifs.rb:33:27:33:28 | After b3 [true] | ifs.rb:33:30:33:36 | then ... | | +| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:27:33:28 | After b3 [false] | false | +| ifs.rb:33:27:33:28 | b3 | ifs.rb:33:27:33:28 | After b3 [true] | true | +| ifs.rb:33:30:33:36 | After then ... [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | false | +| ifs.rb:33:30:33:36 | After then ... [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | true | +| ifs.rb:33:30:33:36 | then ... | ifs.rb:33:35:33:36 | b4 | | +| ifs.rb:33:35:33:36 | After b4 [false] | ifs.rb:33:30:33:36 | After then ... [false] | false | +| ifs.rb:33:35:33:36 | After b4 [true] | ifs.rb:33:30:33:36 | After then ... [true] | true | +| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:35:33:36 | After b4 [false] | false | +| ifs.rb:33:35:33:36 | b4 | ifs.rb:33:35:33:36 | After b4 [true] | true | +| ifs.rb:33:38:33:44 | After else ... [false] | ifs.rb:33:21:33:44 | After elsif ... [false] | false | +| ifs.rb:33:38:33:44 | After else ... [true] | ifs.rb:33:21:33:44 | After elsif ... [true] | true | +| ifs.rb:33:38:33:44 | else ... | ifs.rb:33:43:33:44 | b5 | | +| ifs.rb:33:43:33:44 | After b5 [false] | ifs.rb:33:38:33:44 | After else ... [false] | false | +| ifs.rb:33:43:33:44 | After b5 [true] | ifs.rb:33:38:33:44 | After else ... [true] | true | +| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:43:33:44 | After b5 [false] | false | +| ifs.rb:33:43:33:44 | b5 | ifs.rb:33:43:33:44 | After b5 [true] | true | +| ifs.rb:33:51:33:71 | After then ... | ifs.rb:33:3:33:100 | After if ... | | +| ifs.rb:33:51:33:71 | then ... | ifs.rb:33:56:33:71 | Before "b2 \|\| b4 \|\| b5" | | +| ifs.rb:33:56:33:71 | "b2 \|\| b4 \|\| b5" | ifs.rb:33:56:33:71 | After "b2 \|\| b4 \|\| b5" | | +| ifs.rb:33:56:33:71 | After "b2 \|\| b4 \|\| b5" | ifs.rb:33:51:33:71 | After then ... | | +| ifs.rb:33:56:33:71 | Before "b2 \|\| b4 \|\| b5" | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | | | ifs.rb:33:57:33:70 | b2 \|\| b4 \|\| b5 | ifs.rb:33:56:33:71 | "b2 \|\| b4 \|\| b5" | | -| ifs.rb:33:73:33:96 | else ... | ifs.rb:33:3:33:100 | if ... | | -| ifs.rb:33:78:33:96 | "!b2 \|\| !b4 \|\| !b5" | ifs.rb:33:73:33:96 | else ... | | +| ifs.rb:33:73:33:96 | After else ... | ifs.rb:33:3:33:100 | After if ... | | +| ifs.rb:33:73:33:96 | else ... | ifs.rb:33:78:33:96 | Before "!b2 \|\| !b4 \|\| !b5" | | +| ifs.rb:33:78:33:96 | "!b2 \|\| !b4 \|\| !b5" | ifs.rb:33:78:33:96 | After "!b2 \|\| !b4 \|\| !b5" | | +| ifs.rb:33:78:33:96 | After "!b2 \|\| !b4 \|\| !b5" | ifs.rb:33:73:33:96 | After else ... | | +| ifs.rb:33:78:33:96 | Before "!b2 \|\| !b4 \|\| !b5" | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | | | ifs.rb:33:79:33:95 | !b2 \|\| !b4 \|\| !b5 | ifs.rb:33:78:33:96 | "!b2 \|\| !b4 \|\| !b5" | | -| ifs.rb:36:1:38:3 | conditional_method_def | ifs.rb:36:1:38:17 | ... unless ... | | -| ifs.rb:36:1:38:3 | enter conditional_method_def | ifs.rb:37:3:37:12 | self | | -| ifs.rb:36:1:38:3 | exit conditional_method_def (normal) | ifs.rb:36:1:38:3 | exit conditional_method_def | | -| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:40:1:44:3 | constant_condition | | -| ifs.rb:37:3:37:12 | call to puts | ifs.rb:36:1:38:3 | exit conditional_method_def (normal) | | -| ifs.rb:37:3:37:12 | self | ifs.rb:37:9:37:11 | bla | | -| ifs.rb:37:8:37:12 | "bla" | ifs.rb:37:3:37:12 | call to puts | | +| ifs.rb:36:1:38:3 | Entry | ifs.rb:37:3:37:12 | ... | | +| ifs.rb:36:1:38:3 | Normal Exit | ifs.rb:36:1:38:3 | Exit | | +| ifs.rb:36:1:38:3 | conditional_method_def | ifs.rb:36:1:38:17 | After ... unless ... | | +| ifs.rb:36:1:38:17 | ... unless ... | ifs.rb:38:12:38:17 | Before ... == ... | | +| ifs.rb:36:1:38:17 | After ... unless ... | ifs.rb:40:1:44:3 | constant_condition | | +| ifs.rb:37:3:37:12 | ... | ifs.rb:37:3:37:12 | Before call to puts | | +| ifs.rb:37:3:37:12 | After ... | ifs.rb:36:1:38:3 | Normal Exit | | +| ifs.rb:37:3:37:12 | After call to puts | ifs.rb:37:3:37:12 | After ... | | +| ifs.rb:37:3:37:12 | Before call to puts | ifs.rb:37:3:37:12 | self | | +| ifs.rb:37:3:37:12 | call to puts | ifs.rb:37:3:37:12 | After call to puts | | +| ifs.rb:37:3:37:12 | self | ifs.rb:37:8:37:12 | Before "bla" | | +| ifs.rb:37:8:37:12 | "bla" | ifs.rb:37:8:37:12 | After "bla" | | +| ifs.rb:37:8:37:12 | After "bla" | ifs.rb:37:3:37:12 | call to puts | | +| ifs.rb:37:8:37:12 | Before "bla" | ifs.rb:37:9:37:11 | bla | | | ifs.rb:37:9:37:11 | bla | ifs.rb:37:8:37:12 | "bla" | | | ifs.rb:38:12:38:12 | 1 | ifs.rb:38:17:38:17 | 2 | | -| ifs.rb:38:12:38:17 | ... == ... | ifs.rb:36:1:38:3 | conditional_method_def | false | -| ifs.rb:38:12:38:17 | ... == ... | ifs.rb:36:1:38:17 | ... unless ... | true | +| ifs.rb:38:12:38:17 | ... == ... | ifs.rb:38:12:38:17 | After ... == ... [false] | false | +| ifs.rb:38:12:38:17 | ... == ... | ifs.rb:38:12:38:17 | After ... == ... [true] | true | +| ifs.rb:38:12:38:17 | After ... == ... [false] | ifs.rb:36:1:38:3 | conditional_method_def | | +| ifs.rb:38:12:38:17 | After ... == ... [true] | ifs.rb:36:1:38:17 | After ... unless ... | | +| ifs.rb:38:12:38:17 | Before ... == ... | ifs.rb:38:12:38:12 | 1 | | | ifs.rb:38:17:38:17 | 2 | ifs.rb:38:12:38:17 | ... == ... | | +| ifs.rb:40:1:44:3 | Entry | ifs.rb:41:3:43:5 | ... | | +| ifs.rb:40:1:44:3 | Normal Exit | ifs.rb:40:1:44:3 | Exit | | | ifs.rb:40:1:44:3 | constant_condition | ifs.rb:46:1:52:3 | empty_else | | -| ifs.rb:40:1:44:3 | enter constant_condition | ifs.rb:41:7:41:10 | true | | -| ifs.rb:40:1:44:3 | exit constant_condition (normal) | ifs.rb:40:1:44:3 | exit constant_condition | | -| ifs.rb:41:3:43:5 | if ... | ifs.rb:40:1:44:3 | exit constant_condition (normal) | | -| ifs.rb:41:6:41:10 | [false] ! ... | ifs.rb:41:3:43:5 | if ... | false | -| ifs.rb:41:7:41:10 | true | ifs.rb:41:6:41:10 | [false] ! ... | true | +| ifs.rb:41:3:43:5 | ... | ifs.rb:41:3:43:5 | if ... | | +| ifs.rb:41:3:43:5 | After ... | ifs.rb:40:1:44:3 | Normal Exit | | +| ifs.rb:41:3:43:5 | After if ... | ifs.rb:41:3:43:5 | After ... | | +| ifs.rb:41:3:43:5 | if ... | ifs.rb:41:6:41:10 | ! ... | | +| ifs.rb:41:6:41:10 | ! ... | ifs.rb:41:7:41:10 | true | | +| ifs.rb:41:6:41:10 | After ! ... [false] | ifs.rb:41:3:43:5 | After if ... | | +| ifs.rb:41:7:41:10 | After true [true] | ifs.rb:41:6:41:10 | After ! ... [false] | false | +| ifs.rb:41:7:41:10 | true | ifs.rb:41:7:41:10 | After true [true] | true | +| ifs.rb:46:1:52:3 | Entry | ifs.rb:46:16:46:16 | b | | +| ifs.rb:46:1:52:3 | Normal Exit | ifs.rb:46:1:52:3 | Exit | | | ifs.rb:46:1:52:3 | empty_else | ifs.rb:54:1:58:3 | disjunct | | -| ifs.rb:46:1:52:3 | enter empty_else | ifs.rb:46:16:46:16 | b | | -| ifs.rb:46:1:52:3 | exit empty_else (normal) | ifs.rb:46:1:52:3 | exit empty_else | | -| ifs.rb:46:16:46:16 | b | ifs.rb:47:6:47:6 | b | | -| ifs.rb:47:3:50:5 | if ... | ifs.rb:51:3:51:13 | self | | -| ifs.rb:47:6:47:6 | b | ifs.rb:48:5:48:15 | self | true | -| ifs.rb:47:6:47:6 | b | ifs.rb:49:3:49:6 | else ... | false | -| ifs.rb:47:8:48:15 | then ... | ifs.rb:47:3:50:5 | if ... | | -| ifs.rb:48:5:48:15 | call to puts | ifs.rb:47:8:48:15 | then ... | | -| ifs.rb:48:5:48:15 | self | ifs.rb:48:11:48:14 | true | | -| ifs.rb:48:10:48:15 | "true" | ifs.rb:48:5:48:15 | call to puts | | +| ifs.rb:46:16:46:16 | b | ifs.rb:47:3:51:13 | ... | | +| ifs.rb:47:3:50:5 | After if ... | ifs.rb:51:3:51:13 | Before call to puts | | +| ifs.rb:47:3:50:5 | if ... | ifs.rb:47:6:47:6 | b | | +| ifs.rb:47:3:51:13 | ... | ifs.rb:47:3:50:5 | if ... | | +| ifs.rb:47:3:51:13 | After ... | ifs.rb:46:1:52:3 | Normal Exit | | +| ifs.rb:47:6:47:6 | After b [false] | ifs.rb:49:3:49:6 | else ... | | +| ifs.rb:47:6:47:6 | After b [true] | ifs.rb:47:8:48:15 | then ... | | +| ifs.rb:47:6:47:6 | b | ifs.rb:47:6:47:6 | After b [false] | false | +| ifs.rb:47:6:47:6 | b | ifs.rb:47:6:47:6 | After b [true] | true | +| ifs.rb:47:8:48:15 | After then ... | ifs.rb:47:3:50:5 | After if ... | | +| ifs.rb:47:8:48:15 | then ... | ifs.rb:48:5:48:15 | Before call to puts | | +| ifs.rb:48:5:48:15 | After call to puts | ifs.rb:47:8:48:15 | After then ... | | +| ifs.rb:48:5:48:15 | Before call to puts | ifs.rb:48:5:48:15 | self | | +| ifs.rb:48:5:48:15 | call to puts | ifs.rb:48:5:48:15 | After call to puts | | +| ifs.rb:48:5:48:15 | self | ifs.rb:48:10:48:15 | Before "true" | | +| ifs.rb:48:10:48:15 | "true" | ifs.rb:48:10:48:15 | After "true" | | +| ifs.rb:48:10:48:15 | After "true" | ifs.rb:48:5:48:15 | call to puts | | +| ifs.rb:48:10:48:15 | Before "true" | ifs.rb:48:11:48:14 | true | | | ifs.rb:48:11:48:14 | true | ifs.rb:48:10:48:15 | "true" | | -| ifs.rb:49:3:49:6 | else ... | ifs.rb:47:3:50:5 | if ... | | -| ifs.rb:51:3:51:13 | call to puts | ifs.rb:46:1:52:3 | exit empty_else (normal) | | -| ifs.rb:51:3:51:13 | self | ifs.rb:51:9:51:12 | done | | -| ifs.rb:51:8:51:13 | "done" | ifs.rb:51:3:51:13 | call to puts | | +| ifs.rb:49:3:49:6 | else ... | ifs.rb:47:3:50:5 | After if ... | | +| ifs.rb:51:3:51:13 | After call to puts | ifs.rb:47:3:51:13 | After ... | | +| ifs.rb:51:3:51:13 | Before call to puts | ifs.rb:51:3:51:13 | self | | +| ifs.rb:51:3:51:13 | call to puts | ifs.rb:51:3:51:13 | After call to puts | | +| ifs.rb:51:3:51:13 | self | ifs.rb:51:8:51:13 | Before "done" | | +| ifs.rb:51:8:51:13 | "done" | ifs.rb:51:8:51:13 | After "done" | | +| ifs.rb:51:8:51:13 | After "done" | ifs.rb:51:3:51:13 | call to puts | | +| ifs.rb:51:8:51:13 | Before "done" | ifs.rb:51:9:51:12 | done | | | ifs.rb:51:9:51:12 | done | ifs.rb:51:8:51:13 | "done" | | -| ifs.rb:54:1:58:3 | disjunct | ifs.rb:1:1:58:4 | exit ifs.rb (normal) | | -| ifs.rb:54:1:58:3 | enter disjunct | ifs.rb:54:15:54:16 | b1 | | -| ifs.rb:54:1:58:3 | exit disjunct (normal) | ifs.rb:54:1:58:3 | exit disjunct | | +| ifs.rb:54:1:58:3 | Entry | ifs.rb:54:15:54:16 | b1 | | +| ifs.rb:54:1:58:3 | Normal Exit | ifs.rb:54:1:58:3 | Exit | | +| ifs.rb:54:1:58:3 | disjunct | ifs.rb:1:1:58:4 | Normal Exit | | | ifs.rb:54:15:54:16 | b1 | ifs.rb:54:19:54:20 | b2 | | -| ifs.rb:54:19:54:20 | b2 | ifs.rb:55:7:55:8 | b1 | | -| ifs.rb:55:3:57:5 | if ... | ifs.rb:54:1:58:3 | exit disjunct (normal) | | -| ifs.rb:55:6:55:15 | [false] ( ... ) | ifs.rb:55:3:57:5 | if ... | false | -| ifs.rb:55:6:55:15 | [true] ( ... ) | ifs.rb:56:5:56:19 | self | true | -| ifs.rb:55:7:55:8 | b1 | ifs.rb:55:7:55:14 | [true] ... \|\| ... | true | -| ifs.rb:55:7:55:8 | b1 | ifs.rb:55:13:55:14 | b2 | false | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:6:55:15 | [false] ( ... ) | false | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:6:55:15 | [true] ( ... ) | true | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [false] ... \|\| ... | false | -| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:7:55:14 | [true] ... \|\| ... | true | -| ifs.rb:55:17:56:19 | then ... | ifs.rb:55:3:57:5 | if ... | | -| ifs.rb:56:5:56:19 | call to puts | ifs.rb:55:17:56:19 | then ... | | -| ifs.rb:56:5:56:19 | self | ifs.rb:56:11:56:18 | b1 or b2 | | -| ifs.rb:56:10:56:19 | "b1 or b2" | ifs.rb:56:5:56:19 | call to puts | | +| ifs.rb:54:19:54:20 | b2 | ifs.rb:55:3:57:5 | ... | | +| ifs.rb:55:3:57:5 | ... | ifs.rb:55:3:57:5 | if ... | | +| ifs.rb:55:3:57:5 | After ... | ifs.rb:54:1:58:3 | Normal Exit | | +| ifs.rb:55:3:57:5 | After if ... | ifs.rb:55:3:57:5 | After ... | | +| ifs.rb:55:3:57:5 | if ... | ifs.rb:55:6:55:15 | ( ... ) | | +| ifs.rb:55:6:55:15 | ( ... ) | ifs.rb:55:7:55:14 | ... \|\| ... | | +| ifs.rb:55:6:55:15 | After ( ... ) [false] | ifs.rb:55:3:57:5 | After if ... | | +| ifs.rb:55:6:55:15 | After ( ... ) [true] | ifs.rb:55:17:56:19 | then ... | | +| ifs.rb:55:7:55:8 | After b1 [false] | ifs.rb:55:13:55:14 | b2 | | +| ifs.rb:55:7:55:8 | After b1 [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | true | +| ifs.rb:55:7:55:8 | b1 | ifs.rb:55:7:55:8 | After b1 [false] | false | +| ifs.rb:55:7:55:8 | b1 | ifs.rb:55:7:55:8 | After b1 [true] | true | +| ifs.rb:55:7:55:14 | ... \|\| ... | ifs.rb:55:7:55:8 | b1 | | +| ifs.rb:55:7:55:14 | After ... \|\| ... [false] | ifs.rb:55:6:55:15 | After ( ... ) [false] | false | +| ifs.rb:55:7:55:14 | After ... \|\| ... [true] | ifs.rb:55:6:55:15 | After ( ... ) [true] | true | +| ifs.rb:55:13:55:14 | After b2 [false] | ifs.rb:55:7:55:14 | After ... \|\| ... [false] | false | +| ifs.rb:55:13:55:14 | After b2 [true] | ifs.rb:55:7:55:14 | After ... \|\| ... [true] | true | +| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:13:55:14 | After b2 [false] | false | +| ifs.rb:55:13:55:14 | b2 | ifs.rb:55:13:55:14 | After b2 [true] | true | +| ifs.rb:55:17:56:19 | After then ... | ifs.rb:55:3:57:5 | After if ... | | +| ifs.rb:55:17:56:19 | then ... | ifs.rb:56:5:56:19 | Before call to puts | | +| ifs.rb:56:5:56:19 | After call to puts | ifs.rb:55:17:56:19 | After then ... | | +| ifs.rb:56:5:56:19 | Before call to puts | ifs.rb:56:5:56:19 | self | | +| ifs.rb:56:5:56:19 | call to puts | ifs.rb:56:5:56:19 | After call to puts | | +| ifs.rb:56:5:56:19 | self | ifs.rb:56:10:56:19 | Before "b1 or b2" | | +| ifs.rb:56:10:56:19 | "b1 or b2" | ifs.rb:56:10:56:19 | After "b1 or b2" | | +| ifs.rb:56:10:56:19 | After "b1 or b2" | ifs.rb:56:5:56:19 | call to puts | | +| ifs.rb:56:10:56:19 | Before "b1 or b2" | ifs.rb:56:11:56:18 | b1 or b2 | | | ifs.rb:56:11:56:18 | b1 or b2 | ifs.rb:56:10:56:19 | "b1 or b2" | | -| loops.rb:1:1:6:3 | enter m1 | loops.rb:1:8:1:8 | x | | -| loops.rb:1:1:6:3 | exit m1 (normal) | loops.rb:1:1:6:3 | exit m1 | | +| loops.rb:1:1:6:3 | Entry | loops.rb:1:8:1:8 | x | | +| loops.rb:1:1:6:3 | Normal Exit | loops.rb:1:1:6:3 | Exit | | | loops.rb:1:1:6:3 | m1 | loops.rb:8:1:22:3 | m2 | | -| loops.rb:1:1:33:4 | enter loops.rb | loops.rb:1:1:6:3 | m1 | | -| loops.rb:1:1:33:4 | exit loops.rb (normal) | loops.rb:1:1:33:4 | exit loops.rb | | -| loops.rb:1:8:1:8 | x | loops.rb:2:9:2:9 | x | | -| loops.rb:2:3:5:5 | while ... | loops.rb:1:1:6:3 | exit m1 (normal) | | +| loops.rb:1:1:33:4 | Entry | loops.rb:1:1:6:3 | m1 | | +| loops.rb:1:1:33:4 | Normal Exit | loops.rb:1:1:33:4 | Exit | | +| loops.rb:1:8:1:8 | x | loops.rb:2:3:5:5 | ... | | +| loops.rb:2:3:5:5 | ... | loops.rb:2:3:5:5 | while ... | | +| loops.rb:2:3:5:5 | After ... | loops.rb:1:1:6:3 | Normal Exit | | +| loops.rb:2:3:5:5 | After while ... | loops.rb:2:3:5:5 | After ... | | +| loops.rb:2:3:5:5 | [LoopHeader] while ... | loops.rb:2:9:2:14 | Before ... >= ... | | +| loops.rb:2:3:5:5 | while ... | loops.rb:2:3:5:5 | [LoopHeader] while ... | | | loops.rb:2:9:2:9 | x | loops.rb:2:14:2:14 | 0 | | -| loops.rb:2:9:2:14 | ... >= ... | loops.rb:2:3:5:5 | while ... | false | -| loops.rb:2:9:2:14 | ... >= ... | loops.rb:3:5:3:10 | self | true | +| loops.rb:2:9:2:14 | ... >= ... | loops.rb:2:9:2:14 | After ... >= ... [false] | false | +| loops.rb:2:9:2:14 | ... >= ... | loops.rb:2:9:2:14 | After ... >= ... [true] | true | +| loops.rb:2:9:2:14 | After ... >= ... [false] | loops.rb:2:3:5:5 | After while ... | | +| loops.rb:2:9:2:14 | After ... >= ... [true] | loops.rb:2:15:5:5 | do ... | | +| loops.rb:2:9:2:14 | Before ... >= ... | loops.rb:2:9:2:9 | x | | | loops.rb:2:14:2:14 | 0 | loops.rb:2:9:2:14 | ... >= ... | | -| loops.rb:2:15:5:5 | do ... | loops.rb:2:9:2:9 | x | | -| loops.rb:3:5:3:10 | call to puts | loops.rb:4:5:4:5 | x | | +| loops.rb:2:15:5:5 | After do ... | loops.rb:2:3:5:5 | [LoopHeader] while ... | | +| loops.rb:2:15:5:5 | do ... | loops.rb:3:5:3:10 | Before call to puts | | +| loops.rb:3:5:3:10 | After call to puts | loops.rb:4:5:4:10 | Before ... = ... | | +| loops.rb:3:5:3:10 | Before call to puts | loops.rb:3:5:3:10 | self | | +| loops.rb:3:5:3:10 | call to puts | loops.rb:3:5:3:10 | After call to puts | | | loops.rb:3:5:3:10 | self | loops.rb:3:10:3:10 | x | | | loops.rb:3:10:3:10 | x | loops.rb:3:5:3:10 | call to puts | | -| loops.rb:4:5:4:5 | x | loops.rb:4:5:4:5 | x | | +| loops.rb:4:5:4:5 | x | loops.rb:4:7:4:8 | Before ... - ... | | | loops.rb:4:5:4:5 | x | loops.rb:4:10:4:10 | 1 | | -| loops.rb:4:5:4:10 | ... = ... | loops.rb:2:15:5:5 | do ... | | -| loops.rb:4:7:4:8 | ... - ... | loops.rb:4:5:4:10 | ... = ... | | +| loops.rb:4:5:4:10 | ... = ... | loops.rb:4:5:4:10 | After ... = ... | | +| loops.rb:4:5:4:10 | After ... = ... | loops.rb:2:15:5:5 | After do ... | | +| loops.rb:4:5:4:10 | Before ... = ... | loops.rb:4:5:4:5 | x | | +| loops.rb:4:7:4:8 | ... - ... | loops.rb:4:7:4:8 | After ... - ... | | +| loops.rb:4:7:4:8 | After ... - ... | loops.rb:4:5:4:10 | ... = ... | | +| loops.rb:4:7:4:8 | Before ... - ... | loops.rb:4:5:4:5 | x | | | loops.rb:4:10:4:10 | 1 | loops.rb:4:7:4:8 | ... - ... | | -| loops.rb:8:1:22:3 | enter m2 | loops.rb:8:8:8:8 | x | | -| loops.rb:8:1:22:3 | exit m2 (normal) | loops.rb:8:1:22:3 | exit m2 | | +| loops.rb:8:1:22:3 | Entry | loops.rb:8:8:8:8 | x | | +| loops.rb:8:1:22:3 | Normal Exit | loops.rb:8:1:22:3 | Exit | | | loops.rb:8:1:22:3 | m2 | loops.rb:24:1:28:3 | m3 | | -| loops.rb:8:8:8:8 | x | loops.rb:9:9:9:9 | x | | -| loops.rb:9:3:20:5 | while ... | loops.rb:21:3:21:13 | self | | +| loops.rb:8:8:8:8 | x | loops.rb:9:3:21:13 | ... | | +| loops.rb:9:3:20:5 | After while ... | loops.rb:21:3:21:13 | Before call to puts | | +| loops.rb:9:3:20:5 | [LoopHeader] while ... | loops.rb:9:9:9:14 | Before ... >= ... | | +| loops.rb:9:3:20:5 | while ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | | +| loops.rb:9:3:21:13 | ... | loops.rb:9:3:20:5 | while ... | | +| loops.rb:9:3:21:13 | After ... | loops.rb:8:1:22:3 | Normal Exit | | | loops.rb:9:9:9:9 | x | loops.rb:9:14:9:14 | 0 | | -| loops.rb:9:9:9:14 | ... >= ... | loops.rb:9:3:20:5 | while ... | false | -| loops.rb:9:9:9:14 | ... >= ... | loops.rb:10:5:10:10 | self | true | +| loops.rb:9:9:9:14 | ... >= ... | loops.rb:9:9:9:14 | After ... >= ... [false] | false | +| loops.rb:9:9:9:14 | ... >= ... | loops.rb:9:9:9:14 | After ... >= ... [true] | true | +| loops.rb:9:9:9:14 | After ... >= ... [false] | loops.rb:9:3:20:5 | After while ... | | +| loops.rb:9:9:9:14 | After ... >= ... [true] | loops.rb:9:15:20:5 | do ... | | +| loops.rb:9:9:9:14 | Before ... >= ... | loops.rb:9:9:9:9 | x | | | loops.rb:9:14:9:14 | 0 | loops.rb:9:9:9:14 | ... >= ... | | -| loops.rb:9:15:20:5 | do ... | loops.rb:9:9:9:9 | x | | -| loops.rb:10:5:10:10 | call to puts | loops.rb:11:5:11:5 | x | | +| loops.rb:9:15:20:5 | After do ... | loops.rb:9:3:20:5 | [LoopHeader] while ... | | +| loops.rb:9:15:20:5 | do ... | loops.rb:10:5:10:10 | Before call to puts | | +| loops.rb:10:5:10:10 | After call to puts | loops.rb:11:5:11:10 | Before ... = ... | | +| loops.rb:10:5:10:10 | Before call to puts | loops.rb:10:5:10:10 | self | | +| loops.rb:10:5:10:10 | call to puts | loops.rb:10:5:10:10 | After call to puts | | | loops.rb:10:5:10:10 | self | loops.rb:10:10:10:10 | x | | | loops.rb:10:10:10:10 | x | loops.rb:10:5:10:10 | call to puts | | -| loops.rb:11:5:11:5 | x | loops.rb:11:5:11:5 | x | | +| loops.rb:11:5:11:5 | x | loops.rb:11:7:11:8 | Before ... - ... | | | loops.rb:11:5:11:5 | x | loops.rb:11:10:11:10 | 1 | | -| loops.rb:11:5:11:10 | ... = ... | loops.rb:12:8:12:8 | x | | -| loops.rb:11:7:11:8 | ... - ... | loops.rb:11:5:11:10 | ... = ... | | +| loops.rb:11:5:11:10 | ... = ... | loops.rb:11:5:11:10 | After ... = ... | | +| loops.rb:11:5:11:10 | After ... = ... | loops.rb:12:5:18:7 | if ... | | +| loops.rb:11:5:11:10 | Before ... = ... | loops.rb:11:5:11:5 | x | | +| loops.rb:11:7:11:8 | ... - ... | loops.rb:11:7:11:8 | After ... - ... | | +| loops.rb:11:7:11:8 | After ... - ... | loops.rb:11:5:11:10 | ... = ... | | +| loops.rb:11:7:11:8 | Before ... - ... | loops.rb:11:5:11:5 | x | | | loops.rb:11:10:11:10 | 1 | loops.rb:11:7:11:8 | ... - ... | | -| loops.rb:12:5:18:7 | if ... | loops.rb:19:5:19:15 | self | | +| loops.rb:12:5:18:7 | After if ... | loops.rb:19:5:19:15 | Before call to puts | | +| loops.rb:12:5:18:7 | if ... | loops.rb:12:8:12:14 | Before ... > ... | | | loops.rb:12:8:12:8 | x | loops.rb:12:12:12:14 | 100 | | -| loops.rb:12:8:12:14 | ... > ... | loops.rb:13:7:13:11 | break | true | -| loops.rb:12:8:12:14 | ... > ... | loops.rb:14:11:14:11 | x | false | +| loops.rb:12:8:12:14 | ... > ... | loops.rb:12:8:12:14 | After ... > ... [false] | false | +| loops.rb:12:8:12:14 | ... > ... | loops.rb:12:8:12:14 | After ... > ... [true] | true | +| loops.rb:12:8:12:14 | After ... > ... [false] | loops.rb:14:5:17:10 | elsif ... | | +| loops.rb:12:8:12:14 | After ... > ... [true] | loops.rb:12:15:13:11 | then ... | | +| loops.rb:12:8:12:14 | Before ... > ... | loops.rb:12:8:12:8 | x | | | loops.rb:12:12:12:14 | 100 | loops.rb:12:8:12:14 | ... > ... | | -| loops.rb:13:7:13:11 | break | loops.rb:9:3:20:5 | while ... | break | -| loops.rb:14:5:17:10 | elsif ... | loops.rb:12:5:18:7 | if ... | | +| loops.rb:12:15:13:11 | then ... | loops.rb:13:7:13:11 | Before break | | +| loops.rb:13:7:13:11 | Before break | loops.rb:13:7:13:11 | break | | +| loops.rb:13:7:13:11 | break | loops.rb:9:3:20:5 | After while ... | break | +| loops.rb:14:5:17:10 | After elsif ... | loops.rb:12:5:18:7 | After if ... | | +| loops.rb:14:5:17:10 | elsif ... | loops.rb:14:11:14:16 | Before ... > ... | | | loops.rb:14:11:14:11 | x | loops.rb:14:15:14:16 | 50 | | -| loops.rb:14:11:14:16 | ... > ... | loops.rb:15:7:15:10 | next | true | -| loops.rb:14:11:14:16 | ... > ... | loops.rb:16:11:16:11 | x | false | +| loops.rb:14:11:14:16 | ... > ... | loops.rb:14:11:14:16 | After ... > ... [false] | false | +| loops.rb:14:11:14:16 | ... > ... | loops.rb:14:11:14:16 | After ... > ... [true] | true | +| loops.rb:14:11:14:16 | After ... > ... [false] | loops.rb:16:5:17:10 | elsif ... | | +| loops.rb:14:11:14:16 | After ... > ... [true] | loops.rb:14:17:15:10 | then ... | | +| loops.rb:14:11:14:16 | Before ... > ... | loops.rb:14:11:14:11 | x | | | loops.rb:14:15:14:16 | 50 | loops.rb:14:11:14:16 | ... > ... | | -| loops.rb:15:7:15:10 | next | loops.rb:9:9:9:9 | x | continue | -| loops.rb:16:5:17:10 | elsif ... | loops.rb:14:5:17:10 | elsif ... | | +| loops.rb:14:17:15:10 | then ... | loops.rb:15:7:15:10 | Before next | | +| loops.rb:15:7:15:10 | Before next | loops.rb:15:7:15:10 | next | | +| loops.rb:15:7:15:10 | next | loops.rb:9:3:20:5 | [LoopHeader] while ... | continue | +| loops.rb:16:5:17:10 | After elsif ... | loops.rb:14:5:17:10 | After elsif ... | | +| loops.rb:16:5:17:10 | elsif ... | loops.rb:16:11:16:16 | Before ... > ... | | | loops.rb:16:11:16:11 | x | loops.rb:16:15:16:16 | 10 | | -| loops.rb:16:11:16:16 | ... > ... | loops.rb:16:5:17:10 | elsif ... | false | -| loops.rb:16:11:16:16 | ... > ... | loops.rb:17:7:17:10 | redo | true | +| loops.rb:16:11:16:16 | ... > ... | loops.rb:16:11:16:16 | After ... > ... [false] | false | +| loops.rb:16:11:16:16 | ... > ... | loops.rb:16:11:16:16 | After ... > ... [true] | true | +| loops.rb:16:11:16:16 | After ... > ... [false] | loops.rb:16:5:17:10 | After elsif ... | | +| loops.rb:16:11:16:16 | After ... > ... [true] | loops.rb:16:17:17:10 | then ... | | +| loops.rb:16:11:16:16 | Before ... > ... | loops.rb:16:11:16:11 | x | | | loops.rb:16:15:16:16 | 10 | loops.rb:16:11:16:16 | ... > ... | | -| loops.rb:17:7:17:10 | redo | loops.rb:10:5:10:10 | self | redo | -| loops.rb:19:5:19:15 | call to puts | loops.rb:9:15:20:5 | do ... | | -| loops.rb:19:5:19:15 | self | loops.rb:19:11:19:14 | Iter | | -| loops.rb:19:10:19:15 | "Iter" | loops.rb:19:5:19:15 | call to puts | | +| loops.rb:16:17:17:10 | then ... | loops.rb:17:7:17:10 | Before redo | | +| loops.rb:17:7:17:10 | Before redo | loops.rb:17:7:17:10 | redo | | +| loops.rb:17:7:17:10 | redo | loops.rb:9:15:20:5 | do ... | redo | +| loops.rb:19:5:19:15 | After call to puts | loops.rb:9:15:20:5 | After do ... | | +| loops.rb:19:5:19:15 | Before call to puts | loops.rb:19:5:19:15 | self | | +| loops.rb:19:5:19:15 | call to puts | loops.rb:19:5:19:15 | After call to puts | | +| loops.rb:19:5:19:15 | self | loops.rb:19:10:19:15 | Before "Iter" | | +| loops.rb:19:10:19:15 | "Iter" | loops.rb:19:10:19:15 | After "Iter" | | +| loops.rb:19:10:19:15 | After "Iter" | loops.rb:19:5:19:15 | call to puts | | +| loops.rb:19:10:19:15 | Before "Iter" | loops.rb:19:11:19:14 | Iter | | | loops.rb:19:11:19:14 | Iter | loops.rb:19:10:19:15 | "Iter" | | -| loops.rb:21:3:21:13 | call to puts | loops.rb:8:1:22:3 | exit m2 (normal) | | -| loops.rb:21:3:21:13 | self | loops.rb:21:9:21:12 | Done | | -| loops.rb:21:8:21:13 | "Done" | loops.rb:21:3:21:13 | call to puts | | +| loops.rb:21:3:21:13 | After call to puts | loops.rb:9:3:21:13 | After ... | | +| loops.rb:21:3:21:13 | Before call to puts | loops.rb:21:3:21:13 | self | | +| loops.rb:21:3:21:13 | call to puts | loops.rb:21:3:21:13 | After call to puts | | +| loops.rb:21:3:21:13 | self | loops.rb:21:8:21:13 | Before "Done" | | +| loops.rb:21:8:21:13 | "Done" | loops.rb:21:8:21:13 | After "Done" | | +| loops.rb:21:8:21:13 | After "Done" | loops.rb:21:3:21:13 | call to puts | | +| loops.rb:21:8:21:13 | Before "Done" | loops.rb:21:9:21:12 | Done | | | loops.rb:21:9:21:12 | Done | loops.rb:21:8:21:13 | "Done" | | -| loops.rb:24:1:28:3 | enter m3 | loops.rb:25:3:25:9 | Array | | -| loops.rb:24:1:28:3 | exit m3 (normal) | loops.rb:24:1:28:3 | exit m3 | | +| loops.rb:24:1:28:3 | Entry | loops.rb:25:3:27:5 | ... | | +| loops.rb:24:1:28:3 | Normal Exit | loops.rb:24:1:28:3 | Exit | | | loops.rb:24:1:28:3 | m3 | loops.rb:30:1:33:3 | m4 | | +| loops.rb:25:3:25:9 | After call to [] | loops.rb:25:16:27:5 | do ... end | | | loops.rb:25:3:25:9 | Array | loops.rb:25:4:25:4 | 1 | | -| loops.rb:25:3:25:9 | call to [] | loops.rb:25:16:27:5 | do ... end | | -| loops.rb:25:3:27:5 | call to each | loops.rb:24:1:28:3 | exit m3 (normal) | | +| loops.rb:25:3:25:9 | Before call to [] | loops.rb:25:3:25:9 | Array | | +| loops.rb:25:3:25:9 | call to [] | loops.rb:25:3:25:9 | After call to [] | | +| loops.rb:25:3:27:5 | ... | loops.rb:25:3:27:5 | Before call to each | | +| loops.rb:25:3:27:5 | After ... | loops.rb:24:1:28:3 | Normal Exit | | +| loops.rb:25:3:27:5 | After call to each | loops.rb:25:3:27:5 | After ... | | +| loops.rb:25:3:27:5 | Before call to each | loops.rb:25:3:25:9 | Before call to [] | | +| loops.rb:25:3:27:5 | call to each | loops.rb:25:3:27:5 | After call to each | | | loops.rb:25:4:25:4 | 1 | loops.rb:25:6:25:6 | 2 | | | loops.rb:25:6:25:6 | 2 | loops.rb:25:8:25:8 | 3 | | | loops.rb:25:8:25:8 | 3 | loops.rb:25:3:25:9 | call to [] | | +| loops.rb:25:16:27:5 | Entry | loops.rb:25:20:25:20 | x | | +| loops.rb:25:16:27:5 | Normal Exit | loops.rb:25:16:27:5 | Exit | | | loops.rb:25:16:27:5 | do ... end | loops.rb:25:3:27:5 | call to each | | -| loops.rb:25:16:27:5 | enter do ... end | loops.rb:25:20:25:20 | x | | -| loops.rb:25:16:27:5 | exit do ... end (normal) | loops.rb:25:16:27:5 | exit do ... end | | -| loops.rb:25:20:25:20 | x | loops.rb:26:5:26:10 | self | | -| loops.rb:26:5:26:10 | call to puts | loops.rb:25:16:27:5 | exit do ... end (normal) | | +| loops.rb:25:20:25:20 | x | loops.rb:26:5:26:10 | ... | | +| loops.rb:26:5:26:10 | ... | loops.rb:26:5:26:10 | Before call to puts | | +| loops.rb:26:5:26:10 | After ... | loops.rb:25:16:27:5 | Normal Exit | | +| loops.rb:26:5:26:10 | After call to puts | loops.rb:26:5:26:10 | After ... | | +| loops.rb:26:5:26:10 | Before call to puts | loops.rb:26:5:26:10 | self | | +| loops.rb:26:5:26:10 | call to puts | loops.rb:26:5:26:10 | After call to puts | | | loops.rb:26:5:26:10 | self | loops.rb:26:10:26:10 | x | | | loops.rb:26:10:26:10 | x | loops.rb:26:5:26:10 | call to puts | | -| loops.rb:30:1:33:3 | enter m4 | loops.rb:30:8:30:8 | x | | -| loops.rb:30:1:33:3 | exit m4 (normal) | loops.rb:30:1:33:3 | exit m4 | | -| loops.rb:30:1:33:3 | m4 | loops.rb:1:1:33:4 | exit loops.rb (normal) | | +| loops.rb:30:1:33:3 | Entry | loops.rb:30:8:30:8 | x | | +| loops.rb:30:1:33:3 | Normal Exit | loops.rb:30:1:33:3 | Exit | | +| loops.rb:30:1:33:3 | m4 | loops.rb:1:1:33:4 | Normal Exit | | | loops.rb:30:8:30:8 | x | loops.rb:30:11:30:11 | y | | -| loops.rb:30:11:30:11 | y | loops.rb:31:9:31:9 | x | | -| loops.rb:31:3:32:5 | while ... | loops.rb:30:1:33:3 | exit m4 (normal) | | +| loops.rb:30:11:30:11 | y | loops.rb:31:3:32:5 | ... | | +| loops.rb:31:3:32:5 | ... | loops.rb:31:3:32:5 | while ... | | +| loops.rb:31:3:32:5 | After ... | loops.rb:30:1:33:3 | Normal Exit | | +| loops.rb:31:3:32:5 | After while ... | loops.rb:31:3:32:5 | After ... | | +| loops.rb:31:3:32:5 | [LoopHeader] while ... | loops.rb:31:9:31:13 | Before ... < ... | | +| loops.rb:31:3:32:5 | while ... | loops.rb:31:3:32:5 | [LoopHeader] while ... | | | loops.rb:31:9:31:9 | x | loops.rb:31:13:31:13 | y | | -| loops.rb:31:9:31:13 | ... < ... | loops.rb:31:3:32:5 | while ... | false | -| loops.rb:31:9:31:13 | ... < ... | loops.rb:31:15:32:5 | do ... | true | +| loops.rb:31:9:31:13 | ... < ... | loops.rb:31:9:31:13 | After ... < ... [false] | false | +| loops.rb:31:9:31:13 | ... < ... | loops.rb:31:9:31:13 | After ... < ... [true] | true | +| loops.rb:31:9:31:13 | After ... < ... [false] | loops.rb:31:3:32:5 | After while ... | | +| loops.rb:31:9:31:13 | After ... < ... [true] | loops.rb:31:15:32:5 | do ... | | +| loops.rb:31:9:31:13 | Before ... < ... | loops.rb:31:9:31:9 | x | | | loops.rb:31:13:31:13 | y | loops.rb:31:9:31:13 | ... < ... | | -| loops.rb:31:15:32:5 | do ... | loops.rb:31:9:31:9 | x | | +| loops.rb:31:15:32:5 | do ... | loops.rb:31:3:32:5 | [LoopHeader] while ... | | +| raise.rb:1:1:2:3 | After ExceptionA | raise.rb:4:1:5:3 | ExceptionB | | | raise.rb:1:1:2:3 | ExceptionA | raise.rb:1:20:1:28 | Exception | | -| raise.rb:1:1:182:4 | enter raise.rb | raise.rb:1:1:2:3 | ExceptionA | | -| raise.rb:1:1:182:4 | exit raise.rb (normal) | raise.rb:1:1:182:4 | exit raise.rb | | -| raise.rb:1:20:1:28 | Exception | raise.rb:4:1:5:3 | ExceptionB | | +| raise.rb:1:1:182:4 | Entry | raise.rb:1:1:2:3 | ExceptionA | | +| raise.rb:1:1:182:4 | Normal Exit | raise.rb:1:1:182:4 | Exit | | +| raise.rb:1:20:1:28 | Exception | raise.rb:1:1:2:3 | After ExceptionA | | +| raise.rb:4:1:5:3 | After ExceptionB | raise.rb:7:1:12:3 | m1 | | | raise.rb:4:1:5:3 | ExceptionB | raise.rb:4:20:4:28 | Exception | | -| raise.rb:4:20:4:28 | Exception | raise.rb:7:1:12:3 | m1 | | -| raise.rb:7:1:12:3 | enter m1 | raise.rb:7:8:7:8 | x | | -| raise.rb:7:1:12:3 | exit m1 (abnormal) | raise.rb:7:1:12:3 | exit m1 | | -| raise.rb:7:1:12:3 | exit m1 (normal) | raise.rb:7:1:12:3 | exit m1 | | +| raise.rb:4:20:4:28 | Exception | raise.rb:4:1:5:3 | After ExceptionB | | +| raise.rb:7:1:12:3 | Entry | raise.rb:7:8:7:8 | x | | +| raise.rb:7:1:12:3 | Exceptional Exit | raise.rb:7:1:12:3 | Exit | | +| raise.rb:7:1:12:3 | Normal Exit | raise.rb:7:1:12:3 | Exit | | | raise.rb:7:1:12:3 | m1 | raise.rb:14:1:23:3 | m2 | | -| raise.rb:7:8:7:8 | x | raise.rb:8:6:8:6 | x | | -| raise.rb:8:3:10:5 | if ... | raise.rb:11:3:11:15 | self | | +| raise.rb:7:8:7:8 | x | raise.rb:8:3:11:15 | ... | | +| raise.rb:8:3:10:5 | After if ... | raise.rb:11:3:11:15 | Before call to puts | | +| raise.rb:8:3:10:5 | if ... | raise.rb:8:6:8:10 | Before ... > ... | | +| raise.rb:8:3:11:15 | ... | raise.rb:8:3:10:5 | if ... | | +| raise.rb:8:3:11:15 | After ... | raise.rb:7:1:12:3 | Normal Exit | | | raise.rb:8:6:8:6 | x | raise.rb:8:10:8:10 | 2 | | -| raise.rb:8:6:8:10 | ... > ... | raise.rb:8:3:10:5 | if ... | false | -| raise.rb:8:6:8:10 | ... > ... | raise.rb:9:5:9:17 | self | true | +| raise.rb:8:6:8:10 | ... > ... | raise.rb:8:6:8:10 | After ... > ... [false] | false | +| raise.rb:8:6:8:10 | ... > ... | raise.rb:8:6:8:10 | After ... > ... [true] | true | +| raise.rb:8:6:8:10 | After ... > ... [false] | raise.rb:8:3:10:5 | After if ... | | +| raise.rb:8:6:8:10 | After ... > ... [true] | raise.rb:8:11:9:17 | then ... | | +| raise.rb:8:6:8:10 | Before ... > ... | raise.rb:8:6:8:6 | x | | | raise.rb:8:10:8:10 | 2 | raise.rb:8:6:8:10 | ... > ... | | -| raise.rb:9:5:9:17 | call to raise | raise.rb:7:1:12:3 | exit m1 (abnormal) | exception | -| raise.rb:9:5:9:17 | self | raise.rb:9:12:9:16 | x > 2 | | -| raise.rb:9:11:9:17 | "x > 2" | raise.rb:9:5:9:17 | call to raise | | +| raise.rb:8:11:9:17 | then ... | raise.rb:9:5:9:17 | Before call to raise | | +| raise.rb:9:5:9:17 | Before call to raise | raise.rb:9:5:9:17 | self | | +| raise.rb:9:5:9:17 | call to raise | raise.rb:7:1:12:3 | Exceptional Exit | exception | +| raise.rb:9:5:9:17 | self | raise.rb:9:11:9:17 | Before "x > 2" | | +| raise.rb:9:11:9:17 | "x > 2" | raise.rb:9:11:9:17 | After "x > 2" | | +| raise.rb:9:11:9:17 | After "x > 2" | raise.rb:9:5:9:17 | call to raise | | +| raise.rb:9:11:9:17 | Before "x > 2" | raise.rb:9:12:9:16 | x > 2 | | | raise.rb:9:12:9:16 | x > 2 | raise.rb:9:11:9:17 | "x > 2" | | -| raise.rb:11:3:11:15 | call to puts | raise.rb:7:1:12:3 | exit m1 (normal) | | -| raise.rb:11:3:11:15 | self | raise.rb:11:9:11:14 | x <= 2 | | -| raise.rb:11:8:11:15 | "x <= 2" | raise.rb:11:3:11:15 | call to puts | | +| raise.rb:11:3:11:15 | After call to puts | raise.rb:8:3:11:15 | After ... | | +| raise.rb:11:3:11:15 | Before call to puts | raise.rb:11:3:11:15 | self | | +| raise.rb:11:3:11:15 | call to puts | raise.rb:11:3:11:15 | After call to puts | | +| raise.rb:11:3:11:15 | self | raise.rb:11:8:11:15 | Before "x <= 2" | | +| raise.rb:11:8:11:15 | "x <= 2" | raise.rb:11:8:11:15 | After "x <= 2" | | +| raise.rb:11:8:11:15 | After "x <= 2" | raise.rb:11:3:11:15 | call to puts | | +| raise.rb:11:8:11:15 | Before "x <= 2" | raise.rb:11:9:11:14 | x <= 2 | | | raise.rb:11:9:11:14 | x <= 2 | raise.rb:11:8:11:15 | "x <= 2" | | -| raise.rb:14:1:23:3 | enter m2 | raise.rb:14:8:14:8 | b | | -| raise.rb:14:1:23:3 | exit m2 (abnormal) | raise.rb:14:1:23:3 | exit m2 | | -| raise.rb:14:1:23:3 | exit m2 (normal) | raise.rb:14:1:23:3 | exit m2 | | +| raise.rb:14:1:23:3 | Entry | raise.rb:14:8:14:8 | b | | +| raise.rb:14:1:23:3 | Exceptional Exit | raise.rb:14:1:23:3 | Exit | | +| raise.rb:14:1:23:3 | Normal Exit | raise.rb:14:1:23:3 | Exit | | | raise.rb:14:1:23:3 | m2 | raise.rb:25:1:34:3 | m3 | | -| raise.rb:14:8:14:8 | b | raise.rb:16:8:16:8 | b | | -| raise.rb:16:5:18:7 | if ... | raise.rb:22:3:22:15 | self | | -| raise.rb:16:8:16:8 | b | raise.rb:16:5:18:7 | if ... | false | -| raise.rb:16:8:16:8 | b | raise.rb:17:7:17:22 | self | true | -| raise.rb:17:7:17:22 | call to raise | raise.rb:19:10:19:19 | ExceptionA | exception | +| raise.rb:14:8:14:8 | b | raise.rb:15:3:22:15 | ... | | +| raise.rb:15:3:21:5 | After begin ... | raise.rb:22:3:22:15 | Before call to puts | | +| raise.rb:15:3:21:5 | begin ... | raise.rb:16:5:18:7 | if ... | | +| raise.rb:15:3:22:15 | ... | raise.rb:15:3:21:5 | begin ... | | +| raise.rb:15:3:22:15 | After ... | raise.rb:14:1:23:3 | Normal Exit | | +| raise.rb:16:5:18:7 | After if ... | raise.rb:15:3:21:5 | After begin ... | | +| raise.rb:16:5:18:7 | if ... | raise.rb:16:8:16:8 | b | | +| raise.rb:16:8:16:8 | After b [false] | raise.rb:16:5:18:7 | After if ... | | +| raise.rb:16:8:16:8 | After b [true] | raise.rb:16:9:17:22 | then ... | | +| raise.rb:16:8:16:8 | b | raise.rb:16:8:16:8 | After b [false] | false | +| raise.rb:16:8:16:8 | b | raise.rb:16:8:16:8 | After b [true] | true | +| raise.rb:16:9:17:22 | then ... | raise.rb:17:7:17:22 | Before call to raise | | +| raise.rb:17:7:17:22 | Before call to raise | raise.rb:17:7:17:22 | self | | +| raise.rb:17:7:17:22 | call to raise | raise.rb:19:3:20:18 | rescue ... | exception | | raise.rb:17:7:17:22 | self | raise.rb:17:13:17:22 | ExceptionA | | | raise.rb:17:13:17:22 | ExceptionA | raise.rb:17:7:17:22 | call to raise | | -| raise.rb:19:3:20:18 | rescue ... | raise.rb:22:3:22:15 | self | | -| raise.rb:19:10:19:19 | ExceptionA | raise.rb:14:1:23:3 | exit m2 (abnormal) | exception | -| raise.rb:19:10:19:19 | ExceptionA | raise.rb:20:5:20:18 | self | match | -| raise.rb:19:20:20:18 | then ... | raise.rb:19:3:20:18 | rescue ... | | -| raise.rb:20:5:20:18 | call to puts | raise.rb:19:20:20:18 | then ... | | -| raise.rb:20:5:20:18 | self | raise.rb:20:11:20:17 | Rescued | | -| raise.rb:20:10:20:18 | "Rescued" | raise.rb:20:5:20:18 | call to puts | | +| raise.rb:19:3:20:18 | After rescue ... [no-match] | raise.rb:14:1:23:3 | Exceptional Exit | exception | +| raise.rb:19:3:20:18 | rescue ... | raise.rb:19:10:19:19 | ExceptionA | | +| raise.rb:19:10:19:19 | After ExceptionA [match] | raise.rb:19:20:20:18 | then ... | | +| raise.rb:19:10:19:19 | After ExceptionA [no-match] | raise.rb:19:3:20:18 | After rescue ... [no-match] | no-match | +| raise.rb:19:10:19:19 | ExceptionA | raise.rb:19:10:19:19 | After ExceptionA [match] | match | +| raise.rb:19:10:19:19 | ExceptionA | raise.rb:19:10:19:19 | After ExceptionA [no-match] | no-match | +| raise.rb:19:20:20:18 | After then ... | raise.rb:15:3:21:5 | After begin ... | | +| raise.rb:19:20:20:18 | then ... | raise.rb:20:5:20:18 | Before call to puts | | +| raise.rb:20:5:20:18 | After call to puts | raise.rb:19:20:20:18 | After then ... | | +| raise.rb:20:5:20:18 | Before call to puts | raise.rb:20:5:20:18 | self | | +| raise.rb:20:5:20:18 | call to puts | raise.rb:20:5:20:18 | After call to puts | | +| raise.rb:20:5:20:18 | self | raise.rb:20:10:20:18 | Before "Rescued" | | +| raise.rb:20:10:20:18 | "Rescued" | raise.rb:20:10:20:18 | After "Rescued" | | +| raise.rb:20:10:20:18 | After "Rescued" | raise.rb:20:5:20:18 | call to puts | | +| raise.rb:20:10:20:18 | Before "Rescued" | raise.rb:20:11:20:17 | Rescued | | | raise.rb:20:11:20:17 | Rescued | raise.rb:20:10:20:18 | "Rescued" | | -| raise.rb:22:3:22:15 | call to puts | raise.rb:14:1:23:3 | exit m2 (normal) | | -| raise.rb:22:3:22:15 | self | raise.rb:22:9:22:14 | End m2 | | -| raise.rb:22:8:22:15 | "End m2" | raise.rb:22:3:22:15 | call to puts | | +| raise.rb:22:3:22:15 | After call to puts | raise.rb:15:3:22:15 | After ... | | +| raise.rb:22:3:22:15 | Before call to puts | raise.rb:22:3:22:15 | self | | +| raise.rb:22:3:22:15 | call to puts | raise.rb:22:3:22:15 | After call to puts | | +| raise.rb:22:3:22:15 | self | raise.rb:22:8:22:15 | Before "End m2" | | +| raise.rb:22:8:22:15 | "End m2" | raise.rb:22:8:22:15 | After "End m2" | | +| raise.rb:22:8:22:15 | After "End m2" | raise.rb:22:3:22:15 | call to puts | | +| raise.rb:22:8:22:15 | Before "End m2" | raise.rb:22:9:22:14 | End m2 | | | raise.rb:22:9:22:14 | End m2 | raise.rb:22:8:22:15 | "End m2" | | -| raise.rb:25:1:34:3 | enter m3 | raise.rb:25:8:25:8 | b | | -| raise.rb:25:1:34:3 | exit m3 (normal) | raise.rb:25:1:34:3 | exit m3 | | +| raise.rb:25:1:34:3 | Entry | raise.rb:25:8:25:8 | b | | +| raise.rb:25:1:34:3 | Normal Exit | raise.rb:25:1:34:3 | Exit | | | raise.rb:25:1:34:3 | m3 | raise.rb:36:1:45:3 | m4 | | -| raise.rb:25:8:25:8 | b | raise.rb:27:8:27:8 | b | | -| raise.rb:27:5:29:7 | if ... | raise.rb:33:3:33:15 | self | | -| raise.rb:27:8:27:8 | b | raise.rb:27:5:29:7 | if ... | false | -| raise.rb:27:8:27:8 | b | raise.rb:28:7:28:22 | self | true | -| raise.rb:28:7:28:22 | call to raise | raise.rb:31:5:31:18 | self | exception | +| raise.rb:25:8:25:8 | b | raise.rb:26:3:33:15 | ... | | +| raise.rb:26:3:32:5 | After begin ... | raise.rb:33:3:33:15 | Before call to puts | | +| raise.rb:26:3:32:5 | begin ... | raise.rb:27:5:29:7 | if ... | | +| raise.rb:26:3:33:15 | ... | raise.rb:26:3:32:5 | begin ... | | +| raise.rb:26:3:33:15 | After ... | raise.rb:25:1:34:3 | Normal Exit | | +| raise.rb:27:5:29:7 | After if ... | raise.rb:26:3:32:5 | After begin ... | | +| raise.rb:27:5:29:7 | if ... | raise.rb:27:8:27:8 | b | | +| raise.rb:27:8:27:8 | After b [false] | raise.rb:27:5:29:7 | After if ... | | +| raise.rb:27:8:27:8 | After b [true] | raise.rb:27:9:28:22 | then ... | | +| raise.rb:27:8:27:8 | b | raise.rb:27:8:27:8 | After b [false] | false | +| raise.rb:27:8:27:8 | b | raise.rb:27:8:27:8 | After b [true] | true | +| raise.rb:27:9:28:22 | then ... | raise.rb:28:7:28:22 | Before call to raise | | +| raise.rb:28:7:28:22 | Before call to raise | raise.rb:28:7:28:22 | self | | +| raise.rb:28:7:28:22 | call to raise | raise.rb:30:3:31:18 | rescue ... | exception | | raise.rb:28:7:28:22 | self | raise.rb:28:13:28:22 | ExceptionA | | | raise.rb:28:13:28:22 | ExceptionA | raise.rb:28:7:28:22 | call to raise | | -| raise.rb:30:3:31:18 | rescue ... | raise.rb:33:3:33:15 | self | | -| raise.rb:30:9:31:18 | then ... | raise.rb:30:3:31:18 | rescue ... | | -| raise.rb:31:5:31:18 | call to puts | raise.rb:30:9:31:18 | then ... | | -| raise.rb:31:5:31:18 | self | raise.rb:31:11:31:17 | Rescued | | -| raise.rb:31:10:31:18 | "Rescued" | raise.rb:31:5:31:18 | call to puts | | +| raise.rb:30:3:31:18 | rescue ... | raise.rb:30:9:31:18 | then ... | | +| raise.rb:30:9:31:18 | After then ... | raise.rb:26:3:32:5 | After begin ... | | +| raise.rb:30:9:31:18 | then ... | raise.rb:31:5:31:18 | Before call to puts | | +| raise.rb:31:5:31:18 | After call to puts | raise.rb:30:9:31:18 | After then ... | | +| raise.rb:31:5:31:18 | Before call to puts | raise.rb:31:5:31:18 | self | | +| raise.rb:31:5:31:18 | call to puts | raise.rb:31:5:31:18 | After call to puts | | +| raise.rb:31:5:31:18 | self | raise.rb:31:10:31:18 | Before "Rescued" | | +| raise.rb:31:10:31:18 | "Rescued" | raise.rb:31:10:31:18 | After "Rescued" | | +| raise.rb:31:10:31:18 | After "Rescued" | raise.rb:31:5:31:18 | call to puts | | +| raise.rb:31:10:31:18 | Before "Rescued" | raise.rb:31:11:31:17 | Rescued | | | raise.rb:31:11:31:17 | Rescued | raise.rb:31:10:31:18 | "Rescued" | | -| raise.rb:33:3:33:15 | call to puts | raise.rb:25:1:34:3 | exit m3 (normal) | | -| raise.rb:33:3:33:15 | self | raise.rb:33:9:33:14 | End m3 | | -| raise.rb:33:8:33:15 | "End m3" | raise.rb:33:3:33:15 | call to puts | | +| raise.rb:33:3:33:15 | After call to puts | raise.rb:26:3:33:15 | After ... | | +| raise.rb:33:3:33:15 | Before call to puts | raise.rb:33:3:33:15 | self | | +| raise.rb:33:3:33:15 | call to puts | raise.rb:33:3:33:15 | After call to puts | | +| raise.rb:33:3:33:15 | self | raise.rb:33:8:33:15 | Before "End m3" | | +| raise.rb:33:8:33:15 | "End m3" | raise.rb:33:8:33:15 | After "End m3" | | +| raise.rb:33:8:33:15 | After "End m3" | raise.rb:33:3:33:15 | call to puts | | +| raise.rb:33:8:33:15 | Before "End m3" | raise.rb:33:9:33:14 | End m3 | | | raise.rb:33:9:33:14 | End m3 | raise.rb:33:8:33:15 | "End m3" | | -| raise.rb:36:1:45:3 | enter m4 | raise.rb:36:8:36:8 | b | | -| raise.rb:36:1:45:3 | exit m4 (normal) | raise.rb:36:1:45:3 | exit m4 | | +| raise.rb:36:1:45:3 | Entry | raise.rb:36:8:36:8 | b | | +| raise.rb:36:1:45:3 | Normal Exit | raise.rb:36:1:45:3 | Exit | | | raise.rb:36:1:45:3 | m4 | raise.rb:47:1:55:3 | m5 | | -| raise.rb:36:8:36:8 | b | raise.rb:38:8:38:8 | b | | -| raise.rb:38:5:40:7 | if ... | raise.rb:44:3:44:15 | self | | -| raise.rb:38:8:38:8 | b | raise.rb:38:5:40:7 | if ... | false | -| raise.rb:38:8:38:8 | b | raise.rb:39:7:39:22 | self | true | -| raise.rb:39:7:39:22 | call to raise | raise.rb:41:13:41:13 | e | exception | +| raise.rb:36:8:36:8 | b | raise.rb:37:3:44:15 | ... | | +| raise.rb:37:3:43:5 | After begin ... | raise.rb:44:3:44:15 | Before call to puts | | +| raise.rb:37:3:43:5 | begin ... | raise.rb:38:5:40:7 | if ... | | +| raise.rb:37:3:44:15 | ... | raise.rb:37:3:43:5 | begin ... | | +| raise.rb:37:3:44:15 | After ... | raise.rb:36:1:45:3 | Normal Exit | | +| raise.rb:38:5:40:7 | After if ... | raise.rb:37:3:43:5 | After begin ... | | +| raise.rb:38:5:40:7 | if ... | raise.rb:38:8:38:8 | b | | +| raise.rb:38:8:38:8 | After b [false] | raise.rb:38:5:40:7 | After if ... | | +| raise.rb:38:8:38:8 | After b [true] | raise.rb:38:9:39:22 | then ... | | +| raise.rb:38:8:38:8 | b | raise.rb:38:8:38:8 | After b [false] | false | +| raise.rb:38:8:38:8 | b | raise.rb:38:8:38:8 | After b [true] | true | +| raise.rb:38:9:39:22 | then ... | raise.rb:39:7:39:22 | Before call to raise | | +| raise.rb:39:7:39:22 | Before call to raise | raise.rb:39:7:39:22 | self | | +| raise.rb:39:7:39:22 | call to raise | raise.rb:41:3:42:22 | rescue ... | exception | | raise.rb:39:7:39:22 | self | raise.rb:39:13:39:22 | ExceptionA | | | raise.rb:39:13:39:22 | ExceptionA | raise.rb:39:7:39:22 | call to raise | | -| raise.rb:41:3:42:22 | rescue ... | raise.rb:44:3:44:15 | self | | -| raise.rb:41:13:41:13 | e | raise.rb:42:5:42:22 | self | | -| raise.rb:41:14:42:22 | then ... | raise.rb:41:3:42:22 | rescue ... | | -| raise.rb:42:5:42:22 | call to puts | raise.rb:41:14:42:22 | then ... | | -| raise.rb:42:5:42:22 | self | raise.rb:42:11:42:21 | Rescued {e} | | -| raise.rb:42:10:42:22 | "Rescued {e}" | raise.rb:42:5:42:22 | call to puts | | +| raise.rb:41:3:42:22 | rescue ... | raise.rb:41:13:41:13 | e | | +| raise.rb:41:13:41:13 | e | raise.rb:41:14:42:22 | then ... | | +| raise.rb:41:14:42:22 | After then ... | raise.rb:37:3:43:5 | After begin ... | | +| raise.rb:41:14:42:22 | then ... | raise.rb:42:5:42:22 | Before call to puts | | +| raise.rb:42:5:42:22 | After call to puts | raise.rb:41:14:42:22 | After then ... | | +| raise.rb:42:5:42:22 | Before call to puts | raise.rb:42:5:42:22 | self | | +| raise.rb:42:5:42:22 | call to puts | raise.rb:42:5:42:22 | After call to puts | | +| raise.rb:42:5:42:22 | self | raise.rb:42:10:42:22 | Before "Rescued {e}" | | +| raise.rb:42:10:42:22 | "Rescued {e}" | raise.rb:42:10:42:22 | After "Rescued {e}" | | +| raise.rb:42:10:42:22 | After "Rescued {e}" | raise.rb:42:5:42:22 | call to puts | | +| raise.rb:42:10:42:22 | Before "Rescued {e}" | raise.rb:42:11:42:21 | Rescued {e} | | | raise.rb:42:11:42:21 | Rescued {e} | raise.rb:42:10:42:22 | "Rescued {e}" | | -| raise.rb:44:3:44:15 | call to puts | raise.rb:36:1:45:3 | exit m4 (normal) | | -| raise.rb:44:3:44:15 | self | raise.rb:44:9:44:14 | End m4 | | -| raise.rb:44:8:44:15 | "End m4" | raise.rb:44:3:44:15 | call to puts | | +| raise.rb:44:3:44:15 | After call to puts | raise.rb:37:3:44:15 | After ... | | +| raise.rb:44:3:44:15 | Before call to puts | raise.rb:44:3:44:15 | self | | +| raise.rb:44:3:44:15 | call to puts | raise.rb:44:3:44:15 | After call to puts | | +| raise.rb:44:3:44:15 | self | raise.rb:44:8:44:15 | Before "End m4" | | +| raise.rb:44:8:44:15 | "End m4" | raise.rb:44:8:44:15 | After "End m4" | | +| raise.rb:44:8:44:15 | After "End m4" | raise.rb:44:3:44:15 | call to puts | | +| raise.rb:44:8:44:15 | Before "End m4" | raise.rb:44:9:44:14 | End m4 | | | raise.rb:44:9:44:14 | End m4 | raise.rb:44:8:44:15 | "End m4" | | -| raise.rb:47:1:55:3 | enter m5 | raise.rb:47:8:47:8 | b | | -| raise.rb:47:1:55:3 | exit m5 (normal) | raise.rb:47:1:55:3 | exit m5 | | +| raise.rb:47:1:55:3 | Entry | raise.rb:47:8:47:8 | b | | +| raise.rb:47:1:55:3 | Normal Exit | raise.rb:47:1:55:3 | Exit | | | raise.rb:47:1:55:3 | m5 | raise.rb:57:1:66:3 | m6 | | -| raise.rb:47:8:47:8 | b | raise.rb:49:8:49:8 | b | | -| raise.rb:49:5:51:7 | if ... | raise.rb:54:3:54:15 | self | | -| raise.rb:49:8:49:8 | b | raise.rb:49:5:51:7 | if ... | false | -| raise.rb:49:8:49:8 | b | raise.rb:50:7:50:22 | self | true | -| raise.rb:50:7:50:22 | call to raise | raise.rb:52:13:52:13 | e | exception | +| raise.rb:47:8:47:8 | b | raise.rb:48:3:54:15 | ... | | +| raise.rb:48:3:53:5 | After begin ... | raise.rb:54:3:54:15 | Before call to puts | | +| raise.rb:48:3:53:5 | begin ... | raise.rb:49:5:51:7 | if ... | | +| raise.rb:48:3:54:15 | ... | raise.rb:48:3:53:5 | begin ... | | +| raise.rb:48:3:54:15 | After ... | raise.rb:47:1:55:3 | Normal Exit | | +| raise.rb:49:5:51:7 | After if ... | raise.rb:48:3:53:5 | After begin ... | | +| raise.rb:49:5:51:7 | if ... | raise.rb:49:8:49:8 | b | | +| raise.rb:49:8:49:8 | After b [false] | raise.rb:49:5:51:7 | After if ... | | +| raise.rb:49:8:49:8 | After b [true] | raise.rb:49:9:50:22 | then ... | | +| raise.rb:49:8:49:8 | b | raise.rb:49:8:49:8 | After b [false] | false | +| raise.rb:49:8:49:8 | b | raise.rb:49:8:49:8 | After b [true] | true | +| raise.rb:49:9:50:22 | then ... | raise.rb:50:7:50:22 | Before call to raise | | +| raise.rb:50:7:50:22 | Before call to raise | raise.rb:50:7:50:22 | self | | +| raise.rb:50:7:50:22 | call to raise | raise.rb:52:3:52:13 | rescue ... | exception | | raise.rb:50:7:50:22 | self | raise.rb:50:13:50:22 | ExceptionA | | | raise.rb:50:13:50:22 | ExceptionA | raise.rb:50:7:50:22 | call to raise | | -| raise.rb:52:3:52:13 | rescue ... | raise.rb:54:3:54:15 | self | | -| raise.rb:52:13:52:13 | e | raise.rb:52:3:52:13 | rescue ... | | -| raise.rb:54:3:54:15 | call to puts | raise.rb:47:1:55:3 | exit m5 (normal) | | -| raise.rb:54:3:54:15 | self | raise.rb:54:9:54:14 | End m5 | | -| raise.rb:54:8:54:15 | "End m5" | raise.rb:54:3:54:15 | call to puts | | +| raise.rb:52:3:52:13 | [CatchClauseEmptyBody] rescue ... | raise.rb:48:3:53:5 | After begin ... | | +| raise.rb:52:3:52:13 | rescue ... | raise.rb:52:13:52:13 | e | | +| raise.rb:52:13:52:13 | e | raise.rb:52:3:52:13 | [CatchClauseEmptyBody] rescue ... | | +| raise.rb:54:3:54:15 | After call to puts | raise.rb:48:3:54:15 | After ... | | +| raise.rb:54:3:54:15 | Before call to puts | raise.rb:54:3:54:15 | self | | +| raise.rb:54:3:54:15 | call to puts | raise.rb:54:3:54:15 | After call to puts | | +| raise.rb:54:3:54:15 | self | raise.rb:54:8:54:15 | Before "End m5" | | +| raise.rb:54:8:54:15 | "End m5" | raise.rb:54:8:54:15 | After "End m5" | | +| raise.rb:54:8:54:15 | After "End m5" | raise.rb:54:3:54:15 | call to puts | | +| raise.rb:54:8:54:15 | Before "End m5" | raise.rb:54:9:54:14 | End m5 | | | raise.rb:54:9:54:14 | End m5 | raise.rb:54:8:54:15 | "End m5" | | -| raise.rb:57:1:66:3 | enter m6 | raise.rb:57:8:57:8 | b | | -| raise.rb:57:1:66:3 | exit m6 (abnormal) | raise.rb:57:1:66:3 | exit m6 | | -| raise.rb:57:1:66:3 | exit m6 (normal) | raise.rb:57:1:66:3 | exit m6 | | +| raise.rb:57:1:66:3 | Entry | raise.rb:57:8:57:8 | b | | +| raise.rb:57:1:66:3 | Exceptional Exit | raise.rb:57:1:66:3 | Exit | | +| raise.rb:57:1:66:3 | Normal Exit | raise.rb:57:1:66:3 | Exit | | | raise.rb:57:1:66:3 | m6 | raise.rb:68:1:77:3 | m7 | | -| raise.rb:57:8:57:8 | b | raise.rb:59:8:59:8 | b | | -| raise.rb:59:5:61:7 | if ... | raise.rb:65:3:65:15 | self | | -| raise.rb:59:8:59:8 | b | raise.rb:59:5:61:7 | if ... | false | -| raise.rb:59:8:59:8 | b | raise.rb:60:7:60:22 | self | true | -| raise.rb:60:7:60:22 | call to raise | raise.rb:62:10:62:19 | ExceptionA | exception | +| raise.rb:57:8:57:8 | b | raise.rb:58:3:65:15 | ... | | +| raise.rb:58:3:64:5 | After begin ... | raise.rb:65:3:65:15 | Before call to puts | | +| raise.rb:58:3:64:5 | begin ... | raise.rb:59:5:61:7 | if ... | | +| raise.rb:58:3:65:15 | ... | raise.rb:58:3:64:5 | begin ... | | +| raise.rb:58:3:65:15 | After ... | raise.rb:57:1:66:3 | Normal Exit | | +| raise.rb:59:5:61:7 | After if ... | raise.rb:58:3:64:5 | After begin ... | | +| raise.rb:59:5:61:7 | if ... | raise.rb:59:8:59:8 | b | | +| raise.rb:59:8:59:8 | After b [false] | raise.rb:59:5:61:7 | After if ... | | +| raise.rb:59:8:59:8 | After b [true] | raise.rb:59:9:60:22 | then ... | | +| raise.rb:59:8:59:8 | b | raise.rb:59:8:59:8 | After b [false] | false | +| raise.rb:59:8:59:8 | b | raise.rb:59:8:59:8 | After b [true] | true | +| raise.rb:59:9:60:22 | then ... | raise.rb:60:7:60:22 | Before call to raise | | +| raise.rb:60:7:60:22 | Before call to raise | raise.rb:60:7:60:22 | self | | +| raise.rb:60:7:60:22 | call to raise | raise.rb:62:3:63:22 | rescue ... | exception | | raise.rb:60:7:60:22 | self | raise.rb:60:13:60:22 | ExceptionA | | | raise.rb:60:13:60:22 | ExceptionA | raise.rb:60:7:60:22 | call to raise | | -| raise.rb:62:3:63:22 | rescue ... | raise.rb:65:3:65:15 | self | | -| raise.rb:62:10:62:19 | ExceptionA | raise.rb:62:22:62:31 | ExceptionB | no-match | -| raise.rb:62:10:62:19 | ExceptionA | raise.rb:62:36:62:36 | e | match | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:57:1:66:3 | exit m6 (abnormal) | exception | -| raise.rb:62:22:62:31 | ExceptionB | raise.rb:62:36:62:36 | e | match | -| raise.rb:62:36:62:36 | e | raise.rb:63:5:63:22 | self | | -| raise.rb:62:37:63:22 | then ... | raise.rb:62:3:63:22 | rescue ... | | -| raise.rb:63:5:63:22 | call to puts | raise.rb:62:37:63:22 | then ... | | -| raise.rb:63:5:63:22 | self | raise.rb:63:11:63:21 | Rescued {e} | | -| raise.rb:63:10:63:22 | "Rescued {e}" | raise.rb:63:5:63:22 | call to puts | | +| raise.rb:62:3:63:22 | After rescue ... [no-match] | raise.rb:57:1:66:3 | Exceptional Exit | exception | +| raise.rb:62:3:63:22 | rescue ... | raise.rb:62:10:62:31 | Before ..., ... | | +| raise.rb:62:10:62:19 | ExceptionA | raise.rb:62:22:62:31 | ExceptionB | | +| raise.rb:62:10:62:31 | ..., ... | raise.rb:62:10:62:31 | After ..., ... [match] | match | +| raise.rb:62:10:62:31 | ..., ... | raise.rb:62:10:62:31 | After ..., ... [no-match] | no-match | +| raise.rb:62:10:62:31 | After ..., ... [match] | raise.rb:62:36:62:36 | e | | +| raise.rb:62:10:62:31 | After ..., ... [no-match] | raise.rb:62:3:63:22 | After rescue ... [no-match] | no-match | +| raise.rb:62:10:62:31 | Before ..., ... | raise.rb:62:10:62:19 | ExceptionA | | +| raise.rb:62:22:62:31 | ExceptionB | raise.rb:62:10:62:31 | ..., ... | | +| raise.rb:62:36:62:36 | e | raise.rb:62:37:63:22 | then ... | | +| raise.rb:62:37:63:22 | After then ... | raise.rb:58:3:64:5 | After begin ... | | +| raise.rb:62:37:63:22 | then ... | raise.rb:63:5:63:22 | Before call to puts | | +| raise.rb:63:5:63:22 | After call to puts | raise.rb:62:37:63:22 | After then ... | | +| raise.rb:63:5:63:22 | Before call to puts | raise.rb:63:5:63:22 | self | | +| raise.rb:63:5:63:22 | call to puts | raise.rb:63:5:63:22 | After call to puts | | +| raise.rb:63:5:63:22 | self | raise.rb:63:10:63:22 | Before "Rescued {e}" | | +| raise.rb:63:10:63:22 | "Rescued {e}" | raise.rb:63:10:63:22 | After "Rescued {e}" | | +| raise.rb:63:10:63:22 | After "Rescued {e}" | raise.rb:63:5:63:22 | call to puts | | +| raise.rb:63:10:63:22 | Before "Rescued {e}" | raise.rb:63:11:63:21 | Rescued {e} | | | raise.rb:63:11:63:21 | Rescued {e} | raise.rb:63:10:63:22 | "Rescued {e}" | | -| raise.rb:65:3:65:15 | call to puts | raise.rb:57:1:66:3 | exit m6 (normal) | | -| raise.rb:65:3:65:15 | self | raise.rb:65:9:65:14 | End m6 | | -| raise.rb:65:8:65:15 | "End m6" | raise.rb:65:3:65:15 | call to puts | | +| raise.rb:65:3:65:15 | After call to puts | raise.rb:58:3:65:15 | After ... | | +| raise.rb:65:3:65:15 | Before call to puts | raise.rb:65:3:65:15 | self | | +| raise.rb:65:3:65:15 | call to puts | raise.rb:65:3:65:15 | After call to puts | | +| raise.rb:65:3:65:15 | self | raise.rb:65:8:65:15 | Before "End m6" | | +| raise.rb:65:8:65:15 | "End m6" | raise.rb:65:8:65:15 | After "End m6" | | +| raise.rb:65:8:65:15 | After "End m6" | raise.rb:65:3:65:15 | call to puts | | +| raise.rb:65:8:65:15 | Before "End m6" | raise.rb:65:9:65:14 | End m6 | | | raise.rb:65:9:65:14 | End m6 | raise.rb:65:8:65:15 | "End m6" | | -| raise.rb:68:1:77:3 | enter m7 | raise.rb:68:8:68:8 | x | | -| raise.rb:68:1:77:3 | exit m7 (abnormal) | raise.rb:68:1:77:3 | exit m7 | | -| raise.rb:68:1:77:3 | exit m7 (normal) | raise.rb:68:1:77:3 | exit m7 | | +| raise.rb:68:1:77:3 | Entry | raise.rb:68:8:68:8 | x | | +| raise.rb:68:1:77:3 | Exceptional Exit | raise.rb:68:1:77:3 | Exit | | +| raise.rb:68:1:77:3 | Normal Exit | raise.rb:68:1:77:3 | Exit | | | raise.rb:68:1:77:3 | m7 | raise.rb:79:1:92:3 | m8 | | -| raise.rb:68:8:68:8 | x | raise.rb:69:6:69:6 | x | | -| raise.rb:69:3:73:5 | if ... | raise.rb:74:3:74:20 | self | | +| raise.rb:68:8:68:8 | x | raise.rb:69:3:76:15 | ... | | +| raise.rb:69:3:73:5 | After if ... | raise.rb:74:3:74:20 | Before call to puts | | +| raise.rb:69:3:73:5 | if ... | raise.rb:69:6:69:10 | Before ... > ... | | +| raise.rb:69:3:76:15 | ... | raise.rb:69:3:73:5 | if ... | | +| raise.rb:69:3:76:15 | After ... | raise.rb:68:1:77:3 | Normal Exit | | | raise.rb:69:6:69:6 | x | raise.rb:69:10:69:10 | 2 | | -| raise.rb:69:6:69:10 | ... > ... | raise.rb:70:5:70:17 | self | true | -| raise.rb:69:6:69:10 | ... > ... | raise.rb:71:9:71:9 | x | false | -| raise.rb:69:6:69:10 | ... > ... | raise.rb:76:3:76:15 | [ensure: exception] self | exception | +| raise.rb:69:6:69:10 | ... > ... | raise.rb:69:6:69:10 | After ... > ... [false] | false | +| raise.rb:69:6:69:10 | ... > ... | raise.rb:69:6:69:10 | After ... > ... [true] | true | +| raise.rb:69:6:69:10 | ... > ... | raise.rb:75:1:76:15 | ensure ... | exception | +| raise.rb:69:6:69:10 | After ... > ... [false] | raise.rb:71:3:72:18 | elsif ... | | +| raise.rb:69:6:69:10 | After ... > ... [true] | raise.rb:69:11:70:17 | then ... | | +| raise.rb:69:6:69:10 | Before ... > ... | raise.rb:69:6:69:6 | x | | | raise.rb:69:10:69:10 | 2 | raise.rb:69:6:69:10 | ... > ... | | -| raise.rb:70:5:70:17 | call to raise | raise.rb:76:3:76:15 | [ensure: exception] self | exception | -| raise.rb:70:5:70:17 | self | raise.rb:70:12:70:16 | x > 2 | | -| raise.rb:70:11:70:17 | "x > 2" | raise.rb:70:5:70:17 | call to raise | | +| raise.rb:69:11:70:17 | then ... | raise.rb:70:5:70:17 | Before call to raise | | +| raise.rb:70:5:70:17 | Before call to raise | raise.rb:70:5:70:17 | self | | +| raise.rb:70:5:70:17 | call to raise | raise.rb:75:1:76:15 | ensure ... | exception | +| raise.rb:70:5:70:17 | self | raise.rb:70:11:70:17 | Before "x > 2" | | +| raise.rb:70:11:70:17 | "x > 2" | raise.rb:70:11:70:17 | After "x > 2" | | +| raise.rb:70:11:70:17 | After "x > 2" | raise.rb:70:5:70:17 | call to raise | | +| raise.rb:70:11:70:17 | Before "x > 2" | raise.rb:70:12:70:16 | x > 2 | | | raise.rb:70:12:70:16 | x > 2 | raise.rb:70:11:70:17 | "x > 2" | | -| raise.rb:71:3:72:18 | elsif ... | raise.rb:69:3:73:5 | if ... | | +| raise.rb:71:3:72:18 | After elsif ... | raise.rb:69:3:73:5 | After if ... | | +| raise.rb:71:3:72:18 | elsif ... | raise.rb:71:9:71:13 | Before ... < ... | | | raise.rb:71:9:71:9 | x | raise.rb:71:13:71:13 | 0 | | -| raise.rb:71:9:71:13 | ... < ... | raise.rb:71:3:72:18 | elsif ... | false | -| raise.rb:71:9:71:13 | ... < ... | raise.rb:72:13:72:17 | x < 0 | true | -| raise.rb:71:9:71:13 | ... < ... | raise.rb:76:3:76:15 | [ensure: exception] self | exception | +| raise.rb:71:9:71:13 | ... < ... | raise.rb:71:9:71:13 | After ... < ... [false] | false | +| raise.rb:71:9:71:13 | ... < ... | raise.rb:71:9:71:13 | After ... < ... [true] | true | +| raise.rb:71:9:71:13 | ... < ... | raise.rb:75:1:76:15 | ensure ... | exception | +| raise.rb:71:9:71:13 | After ... < ... [false] | raise.rb:71:3:72:18 | After elsif ... | | +| raise.rb:71:9:71:13 | After ... < ... [true] | raise.rb:71:14:72:18 | then ... | | +| raise.rb:71:9:71:13 | Before ... < ... | raise.rb:71:9:71:9 | x | | | raise.rb:71:13:71:13 | 0 | raise.rb:71:9:71:13 | ... < ... | | -| raise.rb:72:5:72:18 | return | raise.rb:76:3:76:15 | [ensure: return] self | return | -| raise.rb:72:12:72:18 | "x < 0" | raise.rb:72:5:72:18 | return | | +| raise.rb:71:14:72:18 | then ... | raise.rb:72:5:72:18 | Before return | | +| raise.rb:72:5:72:18 | Before return | raise.rb:72:12:72:18 | Before "x < 0" | | +| raise.rb:72:5:72:18 | return | raise.rb:75:1:76:15 | ensure ... | return | +| raise.rb:72:12:72:18 | "x < 0" | raise.rb:72:12:72:18 | After "x < 0" | | +| raise.rb:72:12:72:18 | After "x < 0" | raise.rb:72:5:72:18 | return | | +| raise.rb:72:12:72:18 | Before "x < 0" | raise.rb:72:13:72:17 | x < 0 | | | raise.rb:72:13:72:17 | x < 0 | raise.rb:72:12:72:18 | "x < 0" | | -| raise.rb:74:3:74:20 | call to puts | raise.rb:76:3:76:15 | [ensure: exception] self | exception | -| raise.rb:74:3:74:20 | call to puts | raise.rb:76:3:76:15 | self | | -| raise.rb:74:3:74:20 | self | raise.rb:74:9:74:19 | 0 <= x <= 2 | | -| raise.rb:74:8:74:20 | "0 <= x <= 2" | raise.rb:74:3:74:20 | call to puts | | +| raise.rb:74:3:74:20 | After call to puts | raise.rb:75:1:76:15 | ensure ... | | +| raise.rb:74:3:74:20 | Before call to puts | raise.rb:74:3:74:20 | self | | +| raise.rb:74:3:74:20 | call to puts | raise.rb:74:3:74:20 | After call to puts | | +| raise.rb:74:3:74:20 | call to puts | raise.rb:75:1:76:15 | ensure ... | exception | +| raise.rb:74:3:74:20 | self | raise.rb:74:8:74:20 | Before "0 <= x <= 2" | | +| raise.rb:74:8:74:20 | "0 <= x <= 2" | raise.rb:74:8:74:20 | After "0 <= x <= 2" | | +| raise.rb:74:8:74:20 | After "0 <= x <= 2" | raise.rb:74:3:74:20 | call to puts | | +| raise.rb:74:8:74:20 | Before "0 <= x <= 2" | raise.rb:74:9:74:19 | 0 <= x <= 2 | | | raise.rb:74:9:74:19 | 0 <= x <= 2 | raise.rb:74:8:74:20 | "0 <= x <= 2" | | -| raise.rb:75:1:76:15 | [ensure: exception] ensure ... | raise.rb:68:1:77:3 | exit m7 (abnormal) | exception | -| raise.rb:75:1:76:15 | [ensure: return] ensure ... | raise.rb:68:1:77:3 | exit m7 (normal) | return | -| raise.rb:75:1:76:15 | ensure ... | raise.rb:68:1:77:3 | exit m7 (normal) | | -| raise.rb:76:3:76:15 | [ensure: exception] call to puts | raise.rb:75:1:76:15 | [ensure: exception] ensure ... | | -| raise.rb:76:3:76:15 | [ensure: exception] self | raise.rb:76:9:76:14 | [ensure: exception] ensure | | -| raise.rb:76:3:76:15 | [ensure: return] call to puts | raise.rb:75:1:76:15 | [ensure: return] ensure ... | | -| raise.rb:76:3:76:15 | [ensure: return] self | raise.rb:76:9:76:14 | [ensure: return] ensure | | -| raise.rb:76:3:76:15 | call to puts | raise.rb:75:1:76:15 | ensure ... | | -| raise.rb:76:3:76:15 | self | raise.rb:76:9:76:14 | ensure | | -| raise.rb:76:8:76:15 | "ensure" | raise.rb:76:3:76:15 | call to puts | | -| raise.rb:76:8:76:15 | [ensure: exception] "ensure" | raise.rb:76:3:76:15 | [ensure: exception] call to puts | | -| raise.rb:76:8:76:15 | [ensure: return] "ensure" | raise.rb:76:3:76:15 | [ensure: return] call to puts | | -| raise.rb:76:9:76:14 | [ensure: exception] ensure | raise.rb:76:8:76:15 | [ensure: exception] "ensure" | | -| raise.rb:76:9:76:14 | [ensure: return] ensure | raise.rb:76:8:76:15 | [ensure: return] "ensure" | | +| raise.rb:75:1:76:15 | After ensure ... | raise.rb:68:1:77:3 | Exceptional Exit | exception | +| raise.rb:75:1:76:15 | After ensure ... | raise.rb:68:1:77:3 | Normal Exit | return | +| raise.rb:75:1:76:15 | After ensure ... | raise.rb:69:3:76:15 | After ... | | +| raise.rb:75:1:76:15 | ensure ... | raise.rb:76:3:76:15 | Before call to puts | | +| raise.rb:76:3:76:15 | After call to puts | raise.rb:75:1:76:15 | After ensure ... | | +| raise.rb:76:3:76:15 | Before call to puts | raise.rb:76:3:76:15 | self | | +| raise.rb:76:3:76:15 | call to puts | raise.rb:76:3:76:15 | After call to puts | | +| raise.rb:76:3:76:15 | self | raise.rb:76:8:76:15 | Before "ensure" | | +| raise.rb:76:8:76:15 | "ensure" | raise.rb:76:8:76:15 | After "ensure" | | +| raise.rb:76:8:76:15 | After "ensure" | raise.rb:76:3:76:15 | call to puts | | +| raise.rb:76:8:76:15 | Before "ensure" | raise.rb:76:9:76:14 | ensure | | | raise.rb:76:9:76:14 | ensure | raise.rb:76:8:76:15 | "ensure" | | -| raise.rb:79:1:92:3 | enter m8 | raise.rb:79:8:79:8 | x | | -| raise.rb:79:1:92:3 | exit m8 (abnormal) | raise.rb:79:1:92:3 | exit m8 | | -| raise.rb:79:1:92:3 | exit m8 (normal) | raise.rb:79:1:92:3 | exit m8 | | +| raise.rb:79:1:92:3 | Entry | raise.rb:79:8:79:8 | x | | +| raise.rb:79:1:92:3 | Exceptional Exit | raise.rb:79:1:92:3 | Exit | | +| raise.rb:79:1:92:3 | Normal Exit | raise.rb:79:1:92:3 | Exit | | | raise.rb:79:1:92:3 | m8 | raise.rb:94:1:119:3 | m9 | | -| raise.rb:79:8:79:8 | x | raise.rb:80:3:80:17 | self | | -| raise.rb:80:3:80:17 | call to puts | raise.rb:82:8:82:8 | x | | -| raise.rb:80:3:80:17 | self | raise.rb:80:9:80:16 | Begin m8 | | -| raise.rb:80:8:80:17 | "Begin m8" | raise.rb:80:3:80:17 | call to puts | | +| raise.rb:79:8:79:8 | x | raise.rb:80:3:91:15 | ... | | +| raise.rb:80:3:80:17 | After call to puts | raise.rb:81:3:90:5 | begin ... | | +| raise.rb:80:3:80:17 | Before call to puts | raise.rb:80:3:80:17 | self | | +| raise.rb:80:3:80:17 | call to puts | raise.rb:80:3:80:17 | After call to puts | | +| raise.rb:80:3:80:17 | self | raise.rb:80:8:80:17 | Before "Begin m8" | | +| raise.rb:80:3:91:15 | ... | raise.rb:80:3:80:17 | Before call to puts | | +| raise.rb:80:3:91:15 | After ... | raise.rb:79:1:92:3 | Normal Exit | | +| raise.rb:80:8:80:17 | "Begin m8" | raise.rb:80:8:80:17 | After "Begin m8" | | +| raise.rb:80:8:80:17 | After "Begin m8" | raise.rb:80:3:80:17 | call to puts | | +| raise.rb:80:8:80:17 | Before "Begin m8" | raise.rb:80:9:80:16 | Begin m8 | | | raise.rb:80:9:80:16 | Begin m8 | raise.rb:80:8:80:17 | "Begin m8" | | -| raise.rb:82:5:86:7 | if ... | raise.rb:87:5:87:22 | self | | +| raise.rb:81:3:90:5 | After begin ... | raise.rb:91:3:91:15 | Before call to puts | | +| raise.rb:81:3:90:5 | begin ... | raise.rb:82:5:86:7 | if ... | | +| raise.rb:82:5:86:7 | After if ... | raise.rb:87:5:87:22 | Before call to puts | | +| raise.rb:82:5:86:7 | if ... | raise.rb:82:8:82:12 | Before ... > ... | | | raise.rb:82:8:82:8 | x | raise.rb:82:12:82:12 | 2 | | -| raise.rb:82:8:82:12 | ... > ... | raise.rb:83:7:83:19 | self | true | -| raise.rb:82:8:82:12 | ... > ... | raise.rb:84:11:84:11 | x | false | -| raise.rb:82:8:82:12 | ... > ... | raise.rb:89:5:89:17 | [ensure: exception] self | exception | +| raise.rb:82:8:82:12 | ... > ... | raise.rb:82:8:82:12 | After ... > ... [false] | false | +| raise.rb:82:8:82:12 | ... > ... | raise.rb:82:8:82:12 | After ... > ... [true] | true | +| raise.rb:82:8:82:12 | ... > ... | raise.rb:88:3:89:17 | ensure ... | exception | +| raise.rb:82:8:82:12 | After ... > ... [false] | raise.rb:84:5:85:20 | elsif ... | | +| raise.rb:82:8:82:12 | After ... > ... [true] | raise.rb:82:13:83:19 | then ... | | +| raise.rb:82:8:82:12 | Before ... > ... | raise.rb:82:8:82:8 | x | | | raise.rb:82:12:82:12 | 2 | raise.rb:82:8:82:12 | ... > ... | | -| raise.rb:83:7:83:19 | call to raise | raise.rb:89:5:89:17 | [ensure: exception] self | exception | -| raise.rb:83:7:83:19 | self | raise.rb:83:14:83:18 | x > 2 | | -| raise.rb:83:13:83:19 | "x > 2" | raise.rb:83:7:83:19 | call to raise | | +| raise.rb:82:13:83:19 | then ... | raise.rb:83:7:83:19 | Before call to raise | | +| raise.rb:83:7:83:19 | Before call to raise | raise.rb:83:7:83:19 | self | | +| raise.rb:83:7:83:19 | call to raise | raise.rb:88:3:89:17 | ensure ... | exception | +| raise.rb:83:7:83:19 | self | raise.rb:83:13:83:19 | Before "x > 2" | | +| raise.rb:83:13:83:19 | "x > 2" | raise.rb:83:13:83:19 | After "x > 2" | | +| raise.rb:83:13:83:19 | After "x > 2" | raise.rb:83:7:83:19 | call to raise | | +| raise.rb:83:13:83:19 | Before "x > 2" | raise.rb:83:14:83:18 | x > 2 | | | raise.rb:83:14:83:18 | x > 2 | raise.rb:83:13:83:19 | "x > 2" | | -| raise.rb:84:5:85:20 | elsif ... | raise.rb:82:5:86:7 | if ... | | +| raise.rb:84:5:85:20 | After elsif ... | raise.rb:82:5:86:7 | After if ... | | +| raise.rb:84:5:85:20 | elsif ... | raise.rb:84:11:84:15 | Before ... < ... | | | raise.rb:84:11:84:11 | x | raise.rb:84:15:84:15 | 0 | | -| raise.rb:84:11:84:15 | ... < ... | raise.rb:84:5:85:20 | elsif ... | false | -| raise.rb:84:11:84:15 | ... < ... | raise.rb:85:15:85:19 | x < 0 | true | -| raise.rb:84:11:84:15 | ... < ... | raise.rb:89:5:89:17 | [ensure: exception] self | exception | +| raise.rb:84:11:84:15 | ... < ... | raise.rb:84:11:84:15 | After ... < ... [false] | false | +| raise.rb:84:11:84:15 | ... < ... | raise.rb:84:11:84:15 | After ... < ... [true] | true | +| raise.rb:84:11:84:15 | ... < ... | raise.rb:88:3:89:17 | ensure ... | exception | +| raise.rb:84:11:84:15 | After ... < ... [false] | raise.rb:84:5:85:20 | After elsif ... | | +| raise.rb:84:11:84:15 | After ... < ... [true] | raise.rb:84:16:85:20 | then ... | | +| raise.rb:84:11:84:15 | Before ... < ... | raise.rb:84:11:84:11 | x | | | raise.rb:84:15:84:15 | 0 | raise.rb:84:11:84:15 | ... < ... | | -| raise.rb:85:7:85:20 | return | raise.rb:89:5:89:17 | [ensure: return] self | return | -| raise.rb:85:14:85:20 | "x < 0" | raise.rb:85:7:85:20 | return | | +| raise.rb:84:16:85:20 | then ... | raise.rb:85:7:85:20 | Before return | | +| raise.rb:85:7:85:20 | Before return | raise.rb:85:14:85:20 | Before "x < 0" | | +| raise.rb:85:7:85:20 | return | raise.rb:88:3:89:17 | ensure ... | return | +| raise.rb:85:14:85:20 | "x < 0" | raise.rb:85:14:85:20 | After "x < 0" | | +| raise.rb:85:14:85:20 | After "x < 0" | raise.rb:85:7:85:20 | return | | +| raise.rb:85:14:85:20 | Before "x < 0" | raise.rb:85:15:85:19 | x < 0 | | | raise.rb:85:15:85:19 | x < 0 | raise.rb:85:14:85:20 | "x < 0" | | -| raise.rb:87:5:87:22 | call to puts | raise.rb:89:5:89:17 | [ensure: exception] self | exception | -| raise.rb:87:5:87:22 | call to puts | raise.rb:89:5:89:17 | self | | -| raise.rb:87:5:87:22 | self | raise.rb:87:11:87:21 | 0 <= x <= 2 | | -| raise.rb:87:10:87:22 | "0 <= x <= 2" | raise.rb:87:5:87:22 | call to puts | | +| raise.rb:87:5:87:22 | After call to puts | raise.rb:88:3:89:17 | ensure ... | | +| raise.rb:87:5:87:22 | Before call to puts | raise.rb:87:5:87:22 | self | | +| raise.rb:87:5:87:22 | call to puts | raise.rb:87:5:87:22 | After call to puts | | +| raise.rb:87:5:87:22 | call to puts | raise.rb:88:3:89:17 | ensure ... | exception | +| raise.rb:87:5:87:22 | self | raise.rb:87:10:87:22 | Before "0 <= x <= 2" | | +| raise.rb:87:10:87:22 | "0 <= x <= 2" | raise.rb:87:10:87:22 | After "0 <= x <= 2" | | +| raise.rb:87:10:87:22 | After "0 <= x <= 2" | raise.rb:87:5:87:22 | call to puts | | +| raise.rb:87:10:87:22 | Before "0 <= x <= 2" | raise.rb:87:11:87:21 | 0 <= x <= 2 | | | raise.rb:87:11:87:21 | 0 <= x <= 2 | raise.rb:87:10:87:22 | "0 <= x <= 2" | | -| raise.rb:88:3:89:17 | [ensure: exception] ensure ... | raise.rb:79:1:92:3 | exit m8 (abnormal) | exception | -| raise.rb:88:3:89:17 | [ensure: return] ensure ... | raise.rb:79:1:92:3 | exit m8 (normal) | return | -| raise.rb:88:3:89:17 | ensure ... | raise.rb:91:3:91:15 | self | | -| raise.rb:89:5:89:17 | [ensure: exception] call to puts | raise.rb:88:3:89:17 | [ensure: exception] ensure ... | | -| raise.rb:89:5:89:17 | [ensure: exception] self | raise.rb:89:11:89:16 | [ensure: exception] ensure | | -| raise.rb:89:5:89:17 | [ensure: return] call to puts | raise.rb:88:3:89:17 | [ensure: return] ensure ... | | -| raise.rb:89:5:89:17 | [ensure: return] self | raise.rb:89:11:89:16 | [ensure: return] ensure | | -| raise.rb:89:5:89:17 | call to puts | raise.rb:88:3:89:17 | ensure ... | | -| raise.rb:89:5:89:17 | self | raise.rb:89:11:89:16 | ensure | | -| raise.rb:89:10:89:17 | "ensure" | raise.rb:89:5:89:17 | call to puts | | -| raise.rb:89:10:89:17 | [ensure: exception] "ensure" | raise.rb:89:5:89:17 | [ensure: exception] call to puts | | -| raise.rb:89:10:89:17 | [ensure: return] "ensure" | raise.rb:89:5:89:17 | [ensure: return] call to puts | | -| raise.rb:89:11:89:16 | [ensure: exception] ensure | raise.rb:89:10:89:17 | [ensure: exception] "ensure" | | -| raise.rb:89:11:89:16 | [ensure: return] ensure | raise.rb:89:10:89:17 | [ensure: return] "ensure" | | +| raise.rb:88:3:89:17 | After ensure ... | raise.rb:79:1:92:3 | Exceptional Exit | exception | +| raise.rb:88:3:89:17 | After ensure ... | raise.rb:79:1:92:3 | Normal Exit | return | +| raise.rb:88:3:89:17 | After ensure ... | raise.rb:81:3:90:5 | After begin ... | | +| raise.rb:88:3:89:17 | ensure ... | raise.rb:89:5:89:17 | Before call to puts | | +| raise.rb:89:5:89:17 | After call to puts | raise.rb:88:3:89:17 | After ensure ... | | +| raise.rb:89:5:89:17 | Before call to puts | raise.rb:89:5:89:17 | self | | +| raise.rb:89:5:89:17 | call to puts | raise.rb:89:5:89:17 | After call to puts | | +| raise.rb:89:5:89:17 | self | raise.rb:89:10:89:17 | Before "ensure" | | +| raise.rb:89:10:89:17 | "ensure" | raise.rb:89:10:89:17 | After "ensure" | | +| raise.rb:89:10:89:17 | After "ensure" | raise.rb:89:5:89:17 | call to puts | | +| raise.rb:89:10:89:17 | Before "ensure" | raise.rb:89:11:89:16 | ensure | | | raise.rb:89:11:89:16 | ensure | raise.rb:89:10:89:17 | "ensure" | | -| raise.rb:91:3:91:15 | call to puts | raise.rb:79:1:92:3 | exit m8 (normal) | | -| raise.rb:91:3:91:15 | self | raise.rb:91:9:91:14 | End m8 | | -| raise.rb:91:8:91:15 | "End m8" | raise.rb:91:3:91:15 | call to puts | | +| raise.rb:91:3:91:15 | After call to puts | raise.rb:80:3:91:15 | After ... | | +| raise.rb:91:3:91:15 | Before call to puts | raise.rb:91:3:91:15 | self | | +| raise.rb:91:3:91:15 | call to puts | raise.rb:91:3:91:15 | After call to puts | | +| raise.rb:91:3:91:15 | self | raise.rb:91:8:91:15 | Before "End m8" | | +| raise.rb:91:8:91:15 | "End m8" | raise.rb:91:8:91:15 | After "End m8" | | +| raise.rb:91:8:91:15 | After "End m8" | raise.rb:91:3:91:15 | call to puts | | +| raise.rb:91:8:91:15 | Before "End m8" | raise.rb:91:9:91:14 | End m8 | | | raise.rb:91:9:91:14 | End m8 | raise.rb:91:8:91:15 | "End m8" | | -| raise.rb:94:1:119:3 | enter m9 | raise.rb:94:8:94:8 | x | | -| raise.rb:94:1:119:3 | exit m9 (abnormal) | raise.rb:94:1:119:3 | exit m9 | | -| raise.rb:94:1:119:3 | exit m9 (normal) | raise.rb:94:1:119:3 | exit m9 | | +| raise.rb:94:1:119:3 | Entry | raise.rb:94:8:94:8 | x | | +| raise.rb:94:1:119:3 | Exceptional Exit | raise.rb:94:1:119:3 | Exit | | +| raise.rb:94:1:119:3 | Normal Exit | raise.rb:94:1:119:3 | Exit | | | raise.rb:94:1:119:3 | m9 | raise.rb:121:1:126:3 | m10 | | | raise.rb:94:8:94:8 | x | raise.rb:94:11:94:12 | b1 | | | raise.rb:94:11:94:12 | b1 | raise.rb:94:15:94:16 | b2 | | -| raise.rb:94:15:94:16 | b2 | raise.rb:95:3:95:17 | self | | -| raise.rb:95:3:95:17 | call to puts | raise.rb:97:8:97:8 | x | | -| raise.rb:95:3:95:17 | call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:95:3:95:17 | self | raise.rb:95:9:95:16 | Begin m9 | | -| raise.rb:95:8:95:17 | "Begin m9" | raise.rb:95:3:95:17 | call to puts | | +| raise.rb:94:15:94:16 | b2 | raise.rb:95:3:118:5 | ... | | +| raise.rb:95:3:95:17 | After call to puts | raise.rb:96:3:112:5 | begin ... | | +| raise.rb:95:3:95:17 | Before call to puts | raise.rb:95:3:95:17 | self | | +| raise.rb:95:3:95:17 | call to puts | raise.rb:95:3:95:17 | After call to puts | | +| raise.rb:95:3:95:17 | call to puts | raise.rb:114:1:118:5 | ensure ... | exception | +| raise.rb:95:3:95:17 | self | raise.rb:95:8:95:17 | Before "Begin m9" | | +| raise.rb:95:3:118:5 | ... | raise.rb:95:3:95:17 | Before call to puts | | +| raise.rb:95:3:118:5 | After ... | raise.rb:94:1:119:3 | Normal Exit | | +| raise.rb:95:8:95:17 | "Begin m9" | raise.rb:95:8:95:17 | After "Begin m9" | | +| raise.rb:95:8:95:17 | After "Begin m9" | raise.rb:95:3:95:17 | call to puts | | +| raise.rb:95:8:95:17 | Before "Begin m9" | raise.rb:95:9:95:16 | Begin m9 | | | raise.rb:95:9:95:16 | Begin m9 | raise.rb:95:8:95:17 | "Begin m9" | | -| raise.rb:97:5:101:7 | if ... | raise.rb:102:5:102:22 | self | | +| raise.rb:96:3:112:5 | After begin ... | raise.rb:113:3:113:15 | Before call to puts | | +| raise.rb:96:3:112:5 | begin ... | raise.rb:97:5:101:7 | if ... | | +| raise.rb:97:5:101:7 | After if ... | raise.rb:102:5:102:22 | Before call to puts | | +| raise.rb:97:5:101:7 | if ... | raise.rb:97:8:97:12 | Before ... > ... | | | raise.rb:97:8:97:8 | x | raise.rb:97:12:97:12 | 2 | | -| raise.rb:97:8:97:12 | ... > ... | raise.rb:98:7:98:19 | self | true | -| raise.rb:97:8:97:12 | ... > ... | raise.rb:99:11:99:11 | x | false | -| raise.rb:97:8:97:12 | ... > ... | raise.rb:104:5:104:23 | [ensure: exception] self | exception | +| raise.rb:97:8:97:12 | ... > ... | raise.rb:97:8:97:12 | After ... > ... [false] | false | +| raise.rb:97:8:97:12 | ... > ... | raise.rb:97:8:97:12 | After ... > ... [true] | true | +| raise.rb:97:8:97:12 | ... > ... | raise.rb:103:3:111:7 | ensure ... | exception | +| raise.rb:97:8:97:12 | After ... > ... [false] | raise.rb:99:5:100:20 | elsif ... | | +| raise.rb:97:8:97:12 | After ... > ... [true] | raise.rb:97:13:98:19 | then ... | | +| raise.rb:97:8:97:12 | Before ... > ... | raise.rb:97:8:97:8 | x | | | raise.rb:97:12:97:12 | 2 | raise.rb:97:8:97:12 | ... > ... | | -| raise.rb:98:7:98:19 | call to raise | raise.rb:104:5:104:23 | [ensure: exception] self | exception | -| raise.rb:98:7:98:19 | self | raise.rb:98:14:98:18 | x > 2 | | -| raise.rb:98:13:98:19 | "x > 2" | raise.rb:98:7:98:19 | call to raise | | +| raise.rb:97:13:98:19 | then ... | raise.rb:98:7:98:19 | Before call to raise | | +| raise.rb:98:7:98:19 | Before call to raise | raise.rb:98:7:98:19 | self | | +| raise.rb:98:7:98:19 | call to raise | raise.rb:103:3:111:7 | ensure ... | exception | +| raise.rb:98:7:98:19 | self | raise.rb:98:13:98:19 | Before "x > 2" | | +| raise.rb:98:13:98:19 | "x > 2" | raise.rb:98:13:98:19 | After "x > 2" | | +| raise.rb:98:13:98:19 | After "x > 2" | raise.rb:98:7:98:19 | call to raise | | +| raise.rb:98:13:98:19 | Before "x > 2" | raise.rb:98:14:98:18 | x > 2 | | | raise.rb:98:14:98:18 | x > 2 | raise.rb:98:13:98:19 | "x > 2" | | -| raise.rb:99:5:100:20 | elsif ... | raise.rb:97:5:101:7 | if ... | | +| raise.rb:99:5:100:20 | After elsif ... | raise.rb:97:5:101:7 | After if ... | | +| raise.rb:99:5:100:20 | elsif ... | raise.rb:99:11:99:15 | Before ... < ... | | | raise.rb:99:11:99:11 | x | raise.rb:99:15:99:15 | 0 | | -| raise.rb:99:11:99:15 | ... < ... | raise.rb:99:5:100:20 | elsif ... | false | -| raise.rb:99:11:99:15 | ... < ... | raise.rb:100:15:100:19 | x < 0 | true | -| raise.rb:99:11:99:15 | ... < ... | raise.rb:104:5:104:23 | [ensure: exception] self | exception | +| raise.rb:99:11:99:15 | ... < ... | raise.rb:99:11:99:15 | After ... < ... [false] | false | +| raise.rb:99:11:99:15 | ... < ... | raise.rb:99:11:99:15 | After ... < ... [true] | true | +| raise.rb:99:11:99:15 | ... < ... | raise.rb:103:3:111:7 | ensure ... | exception | +| raise.rb:99:11:99:15 | After ... < ... [false] | raise.rb:99:5:100:20 | After elsif ... | | +| raise.rb:99:11:99:15 | After ... < ... [true] | raise.rb:99:16:100:20 | then ... | | +| raise.rb:99:11:99:15 | Before ... < ... | raise.rb:99:11:99:11 | x | | | raise.rb:99:15:99:15 | 0 | raise.rb:99:11:99:15 | ... < ... | | -| raise.rb:100:7:100:20 | return | raise.rb:104:5:104:23 | [ensure: return] self | return | -| raise.rb:100:14:100:20 | "x < 0" | raise.rb:100:7:100:20 | return | | +| raise.rb:99:16:100:20 | then ... | raise.rb:100:7:100:20 | Before return | | +| raise.rb:100:7:100:20 | Before return | raise.rb:100:14:100:20 | Before "x < 0" | | +| raise.rb:100:7:100:20 | return | raise.rb:103:3:111:7 | ensure ... | return | +| raise.rb:100:14:100:20 | "x < 0" | raise.rb:100:14:100:20 | After "x < 0" | | +| raise.rb:100:14:100:20 | After "x < 0" | raise.rb:100:7:100:20 | return | | +| raise.rb:100:14:100:20 | Before "x < 0" | raise.rb:100:15:100:19 | x < 0 | | | raise.rb:100:15:100:19 | x < 0 | raise.rb:100:14:100:20 | "x < 0" | | -| raise.rb:102:5:102:22 | call to puts | raise.rb:104:5:104:23 | [ensure: exception] self | exception | -| raise.rb:102:5:102:22 | call to puts | raise.rb:104:5:104:23 | self | | -| raise.rb:102:5:102:22 | self | raise.rb:102:11:102:21 | 0 <= x <= 2 | | -| raise.rb:102:10:102:22 | "0 <= x <= 2" | raise.rb:102:5:102:22 | call to puts | | +| raise.rb:102:5:102:22 | After call to puts | raise.rb:103:3:111:7 | ensure ... | | +| raise.rb:102:5:102:22 | Before call to puts | raise.rb:102:5:102:22 | self | | +| raise.rb:102:5:102:22 | call to puts | raise.rb:102:5:102:22 | After call to puts | | +| raise.rb:102:5:102:22 | call to puts | raise.rb:103:3:111:7 | ensure ... | exception | +| raise.rb:102:5:102:22 | self | raise.rb:102:10:102:22 | Before "0 <= x <= 2" | | +| raise.rb:102:10:102:22 | "0 <= x <= 2" | raise.rb:102:10:102:22 | After "0 <= x <= 2" | | +| raise.rb:102:10:102:22 | After "0 <= x <= 2" | raise.rb:102:5:102:22 | call to puts | | +| raise.rb:102:10:102:22 | Before "0 <= x <= 2" | raise.rb:102:11:102:21 | 0 <= x <= 2 | | | raise.rb:102:11:102:21 | 0 <= x <= 2 | raise.rb:102:10:102:22 | "0 <= x <= 2" | | -| raise.rb:103:3:111:7 | [ensure: exception] ensure ... | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:103:3:111:7 | [ensure: return] ensure ... | raise.rb:115:3:115:22 | [ensure: return] self | return | -| raise.rb:103:3:111:7 | ensure ... | raise.rb:113:3:113:15 | self | | -| raise.rb:104:5:104:23 | [ensure: exception] call to puts | raise.rb:106:10:106:11 | [ensure: exception] b1 | | -| raise.rb:104:5:104:23 | [ensure: exception] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:104:5:104:23 | [ensure: exception] self | raise.rb:104:11:104:22 | [ensure: exception] outer ensure | | -| raise.rb:104:5:104:23 | [ensure: return] call to puts | raise.rb:106:10:106:11 | [ensure: return] b1 | | -| raise.rb:104:5:104:23 | [ensure: return] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:104:5:104:23 | [ensure: return] self | raise.rb:104:11:104:22 | [ensure: return] outer ensure | | -| raise.rb:104:5:104:23 | call to puts | raise.rb:106:10:106:11 | b1 | | -| raise.rb:104:5:104:23 | call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:104:5:104:23 | self | raise.rb:104:11:104:22 | outer ensure | | -| raise.rb:104:10:104:23 | "outer ensure" | raise.rb:104:5:104:23 | call to puts | | -| raise.rb:104:10:104:23 | [ensure: exception] "outer ensure" | raise.rb:104:5:104:23 | [ensure: exception] call to puts | | -| raise.rb:104:10:104:23 | [ensure: return] "outer ensure" | raise.rb:104:5:104:23 | [ensure: return] call to puts | | -| raise.rb:104:11:104:22 | [ensure: exception] outer ensure | raise.rb:104:10:104:23 | [ensure: exception] "outer ensure" | | -| raise.rb:104:11:104:22 | [ensure: return] outer ensure | raise.rb:104:10:104:23 | [ensure: return] "outer ensure" | | +| raise.rb:103:3:111:7 | After ensure ... | raise.rb:96:3:112:5 | After begin ... | | +| raise.rb:103:3:111:7 | After ensure ... | raise.rb:114:1:118:5 | ensure ... | exception, return | +| raise.rb:103:3:111:7 | ensure ... | raise.rb:104:5:104:23 | Before call to puts | | +| raise.rb:104:5:104:23 | After call to puts | raise.rb:105:5:111:7 | begin ... | | +| raise.rb:104:5:104:23 | Before call to puts | raise.rb:104:5:104:23 | self | | +| raise.rb:104:5:104:23 | call to puts | raise.rb:104:5:104:23 | After call to puts | | +| raise.rb:104:5:104:23 | call to puts | raise.rb:114:1:118:5 | ensure ... | exception | +| raise.rb:104:5:104:23 | self | raise.rb:104:10:104:23 | Before "outer ensure" | | +| raise.rb:104:10:104:23 | "outer ensure" | raise.rb:104:10:104:23 | After "outer ensure" | | +| raise.rb:104:10:104:23 | After "outer ensure" | raise.rb:104:5:104:23 | call to puts | | +| raise.rb:104:10:104:23 | Before "outer ensure" | raise.rb:104:11:104:22 | outer ensure | | | raise.rb:104:11:104:22 | outer ensure | raise.rb:104:10:104:23 | "outer ensure" | | -| raise.rb:106:7:108:9 | [ensure: exception] if ... | raise.rb:110:7:110:25 | [ensure: exception] self | | -| raise.rb:106:7:108:9 | [ensure: return] if ... | raise.rb:110:7:110:25 | [ensure: return] self | | -| raise.rb:106:7:108:9 | if ... | raise.rb:110:7:110:25 | self | | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:106:7:108:9 | [ensure: exception] if ... | false | -| raise.rb:106:10:106:11 | [ensure: exception] b1 | raise.rb:107:9:107:26 | [ensure: exception] self | true | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:106:7:108:9 | [ensure: return] if ... | false | -| raise.rb:106:10:106:11 | [ensure: return] b1 | raise.rb:107:9:107:26 | [ensure: return] self | true | -| raise.rb:106:10:106:11 | b1 | raise.rb:106:7:108:9 | if ... | false | -| raise.rb:106:10:106:11 | b1 | raise.rb:107:9:107:26 | self | true | -| raise.rb:107:9:107:26 | [ensure: exception] call to raise | raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] self | exception | -| raise.rb:107:9:107:26 | [ensure: exception] self | raise.rb:107:16:107:25 | [ensure: exception] b1 is true | | -| raise.rb:107:9:107:26 | [ensure: return] call to raise | raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] self | exception | -| raise.rb:107:9:107:26 | [ensure: return] self | raise.rb:107:16:107:25 | [ensure: return] b1 is true | | -| raise.rb:107:9:107:26 | call to raise | raise.rb:110:7:110:25 | [ensure(1): exception] self | exception | -| raise.rb:107:9:107:26 | self | raise.rb:107:16:107:25 | b1 is true | | -| raise.rb:107:15:107:26 | "b1 is true" | raise.rb:107:9:107:26 | call to raise | | -| raise.rb:107:15:107:26 | [ensure: exception] "b1 is true" | raise.rb:107:9:107:26 | [ensure: exception] call to raise | | -| raise.rb:107:15:107:26 | [ensure: return] "b1 is true" | raise.rb:107:9:107:26 | [ensure: return] call to raise | | -| raise.rb:107:16:107:25 | [ensure: exception] b1 is true | raise.rb:107:15:107:26 | [ensure: exception] "b1 is true" | | -| raise.rb:107:16:107:25 | [ensure: return] b1 is true | raise.rb:107:15:107:26 | [ensure: return] "b1 is true" | | +| raise.rb:105:5:111:7 | After begin ... | raise.rb:103:3:111:7 | After ensure ... | | +| raise.rb:105:5:111:7 | begin ... | raise.rb:106:7:108:9 | if ... | | +| raise.rb:106:7:108:9 | After if ... | raise.rb:109:5:110:25 | ensure ... | | +| raise.rb:106:7:108:9 | if ... | raise.rb:106:10:106:11 | b1 | | +| raise.rb:106:10:106:11 | After b1 [false] | raise.rb:106:7:108:9 | After if ... | | +| raise.rb:106:10:106:11 | After b1 [true] | raise.rb:106:12:107:26 | then ... | | +| raise.rb:106:10:106:11 | b1 | raise.rb:106:10:106:11 | After b1 [false] | false | +| raise.rb:106:10:106:11 | b1 | raise.rb:106:10:106:11 | After b1 [true] | true | +| raise.rb:106:12:107:26 | then ... | raise.rb:107:9:107:26 | Before call to raise | | +| raise.rb:107:9:107:26 | Before call to raise | raise.rb:107:9:107:26 | self | | +| raise.rb:107:9:107:26 | call to raise | raise.rb:109:5:110:25 | ensure ... | exception | +| raise.rb:107:9:107:26 | self | raise.rb:107:15:107:26 | Before "b1 is true" | | +| raise.rb:107:15:107:26 | "b1 is true" | raise.rb:107:15:107:26 | After "b1 is true" | | +| raise.rb:107:15:107:26 | After "b1 is true" | raise.rb:107:9:107:26 | call to raise | | +| raise.rb:107:15:107:26 | Before "b1 is true" | raise.rb:107:16:107:25 | b1 is true | | | raise.rb:107:16:107:25 | b1 is true | raise.rb:107:15:107:26 | "b1 is true" | | -| raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:109:5:110:25 | [ensure: exception] ensure ... | raise.rb:103:3:111:7 | [ensure: exception] ensure ... | | -| raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:109:5:110:25 | [ensure: return] ensure ... | raise.rb:103:3:111:7 | [ensure: return] ensure ... | | -| raise.rb:109:5:110:25 | ensure ... | raise.rb:103:3:111:7 | ensure ... | | -| raise.rb:110:7:110:25 | [ensure(1): exception] call to puts | raise.rb:109:5:110:25 | [ensure(1): exception] ensure ... | | -| raise.rb:110:7:110:25 | [ensure(1): exception] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | [ensure(1): exception] self | raise.rb:110:13:110:24 | [ensure(1): exception] inner ensure | | -| raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] call to puts | raise.rb:109:5:110:25 | [ensure: exception, ensure(1): exception] ensure ... | | -| raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] self | raise.rb:110:13:110:24 | [ensure: exception, ensure(1): exception] inner ensure | | -| raise.rb:110:7:110:25 | [ensure: exception] call to puts | raise.rb:109:5:110:25 | [ensure: exception] ensure ... | | -| raise.rb:110:7:110:25 | [ensure: exception] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | [ensure: exception] self | raise.rb:110:13:110:24 | [ensure: exception] inner ensure | | -| raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] call to puts | raise.rb:109:5:110:25 | [ensure: return, ensure(1): exception] ensure ... | | -| raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] self | raise.rb:110:13:110:24 | [ensure: return, ensure(1): exception] inner ensure | | -| raise.rb:110:7:110:25 | [ensure: return] call to puts | raise.rb:109:5:110:25 | [ensure: return] ensure ... | | -| raise.rb:110:7:110:25 | [ensure: return] call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | [ensure: return] self | raise.rb:110:13:110:24 | [ensure: return] inner ensure | | -| raise.rb:110:7:110:25 | call to puts | raise.rb:109:5:110:25 | ensure ... | | -| raise.rb:110:7:110:25 | call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:110:7:110:25 | self | raise.rb:110:13:110:24 | inner ensure | | -| raise.rb:110:12:110:25 | "inner ensure" | raise.rb:110:7:110:25 | call to puts | | -| raise.rb:110:12:110:25 | [ensure(1): exception] "inner ensure" | raise.rb:110:7:110:25 | [ensure(1): exception] call to puts | | -| raise.rb:110:12:110:25 | [ensure: exception, ensure(1): exception] "inner ensure" | raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] call to puts | | -| raise.rb:110:12:110:25 | [ensure: exception] "inner ensure" | raise.rb:110:7:110:25 | [ensure: exception] call to puts | | -| raise.rb:110:12:110:25 | [ensure: return, ensure(1): exception] "inner ensure" | raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] call to puts | | -| raise.rb:110:12:110:25 | [ensure: return] "inner ensure" | raise.rb:110:7:110:25 | [ensure: return] call to puts | | -| raise.rb:110:13:110:24 | [ensure(1): exception] inner ensure | raise.rb:110:12:110:25 | [ensure(1): exception] "inner ensure" | | -| raise.rb:110:13:110:24 | [ensure: exception, ensure(1): exception] inner ensure | raise.rb:110:12:110:25 | [ensure: exception, ensure(1): exception] "inner ensure" | | -| raise.rb:110:13:110:24 | [ensure: exception] inner ensure | raise.rb:110:12:110:25 | [ensure: exception] "inner ensure" | | -| raise.rb:110:13:110:24 | [ensure: return, ensure(1): exception] inner ensure | raise.rb:110:12:110:25 | [ensure: return, ensure(1): exception] "inner ensure" | | -| raise.rb:110:13:110:24 | [ensure: return] inner ensure | raise.rb:110:12:110:25 | [ensure: return] "inner ensure" | | +| raise.rb:109:5:110:25 | After ensure ... | raise.rb:105:5:111:7 | After begin ... | | +| raise.rb:109:5:110:25 | After ensure ... | raise.rb:114:1:118:5 | ensure ... | exception | +| raise.rb:109:5:110:25 | ensure ... | raise.rb:110:7:110:25 | Before call to puts | | +| raise.rb:110:7:110:25 | After call to puts | raise.rb:109:5:110:25 | After ensure ... | | +| raise.rb:110:7:110:25 | Before call to puts | raise.rb:110:7:110:25 | self | | +| raise.rb:110:7:110:25 | call to puts | raise.rb:110:7:110:25 | After call to puts | | +| raise.rb:110:7:110:25 | call to puts | raise.rb:114:1:118:5 | ensure ... | exception | +| raise.rb:110:7:110:25 | self | raise.rb:110:12:110:25 | Before "inner ensure" | | +| raise.rb:110:12:110:25 | "inner ensure" | raise.rb:110:12:110:25 | After "inner ensure" | | +| raise.rb:110:12:110:25 | After "inner ensure" | raise.rb:110:7:110:25 | call to puts | | +| raise.rb:110:12:110:25 | Before "inner ensure" | raise.rb:110:13:110:24 | inner ensure | | | raise.rb:110:13:110:24 | inner ensure | raise.rb:110:12:110:25 | "inner ensure" | | -| raise.rb:113:3:113:15 | call to puts | raise.rb:115:3:115:22 | [ensure: exception] self | exception | -| raise.rb:113:3:113:15 | call to puts | raise.rb:115:3:115:22 | self | | -| raise.rb:113:3:113:15 | self | raise.rb:113:9:113:14 | End m9 | | -| raise.rb:113:8:113:15 | "End m9" | raise.rb:113:3:113:15 | call to puts | | +| raise.rb:113:3:113:15 | After call to puts | raise.rb:114:1:118:5 | ensure ... | | +| raise.rb:113:3:113:15 | Before call to puts | raise.rb:113:3:113:15 | self | | +| raise.rb:113:3:113:15 | call to puts | raise.rb:113:3:113:15 | After call to puts | | +| raise.rb:113:3:113:15 | call to puts | raise.rb:114:1:118:5 | ensure ... | exception | +| raise.rb:113:3:113:15 | self | raise.rb:113:8:113:15 | Before "End m9" | | +| raise.rb:113:8:113:15 | "End m9" | raise.rb:113:8:113:15 | After "End m9" | | +| raise.rb:113:8:113:15 | After "End m9" | raise.rb:113:3:113:15 | call to puts | | +| raise.rb:113:8:113:15 | Before "End m9" | raise.rb:113:9:113:14 | End m9 | | | raise.rb:113:9:113:14 | End m9 | raise.rb:113:8:113:15 | "End m9" | | -| raise.rb:114:1:118:5 | [ensure: exception] ensure ... | raise.rb:94:1:119:3 | exit m9 (abnormal) | exception | -| raise.rb:114:1:118:5 | [ensure: return] ensure ... | raise.rb:94:1:119:3 | exit m9 (normal) | return | -| raise.rb:114:1:118:5 | ensure ... | raise.rb:94:1:119:3 | exit m9 (normal) | | -| raise.rb:115:3:115:22 | [ensure: exception] call to puts | raise.rb:116:6:116:7 | [ensure: exception] b2 | | -| raise.rb:115:3:115:22 | [ensure: exception] self | raise.rb:115:9:115:21 | [ensure: exception] method ensure | | -| raise.rb:115:3:115:22 | [ensure: return] call to puts | raise.rb:116:6:116:7 | [ensure: return] b2 | | -| raise.rb:115:3:115:22 | [ensure: return] self | raise.rb:115:9:115:21 | [ensure: return] method ensure | | -| raise.rb:115:3:115:22 | call to puts | raise.rb:116:6:116:7 | b2 | | -| raise.rb:115:3:115:22 | self | raise.rb:115:9:115:21 | method ensure | | -| raise.rb:115:8:115:22 | "method ensure" | raise.rb:115:3:115:22 | call to puts | | -| raise.rb:115:8:115:22 | [ensure: exception] "method ensure" | raise.rb:115:3:115:22 | [ensure: exception] call to puts | | -| raise.rb:115:8:115:22 | [ensure: return] "method ensure" | raise.rb:115:3:115:22 | [ensure: return] call to puts | | -| raise.rb:115:9:115:21 | [ensure: exception] method ensure | raise.rb:115:8:115:22 | [ensure: exception] "method ensure" | | -| raise.rb:115:9:115:21 | [ensure: return] method ensure | raise.rb:115:8:115:22 | [ensure: return] "method ensure" | | +| raise.rb:114:1:118:5 | After ensure ... | raise.rb:94:1:119:3 | Exceptional Exit | exception | +| raise.rb:114:1:118:5 | After ensure ... | raise.rb:94:1:119:3 | Normal Exit | return | +| raise.rb:114:1:118:5 | After ensure ... | raise.rb:95:3:118:5 | After ... | | +| raise.rb:114:1:118:5 | ensure ... | raise.rb:115:3:115:22 | Before call to puts | | +| raise.rb:115:3:115:22 | After call to puts | raise.rb:116:3:118:5 | if ... | | +| raise.rb:115:3:115:22 | Before call to puts | raise.rb:115:3:115:22 | self | | +| raise.rb:115:3:115:22 | call to puts | raise.rb:115:3:115:22 | After call to puts | | +| raise.rb:115:3:115:22 | self | raise.rb:115:8:115:22 | Before "method ensure" | | +| raise.rb:115:8:115:22 | "method ensure" | raise.rb:115:8:115:22 | After "method ensure" | | +| raise.rb:115:8:115:22 | After "method ensure" | raise.rb:115:3:115:22 | call to puts | | +| raise.rb:115:8:115:22 | Before "method ensure" | raise.rb:115:9:115:21 | method ensure | | | raise.rb:115:9:115:21 | method ensure | raise.rb:115:8:115:22 | "method ensure" | | -| raise.rb:116:3:118:5 | [ensure: exception] if ... | raise.rb:114:1:118:5 | [ensure: exception] ensure ... | | -| raise.rb:116:3:118:5 | [ensure: return] if ... | raise.rb:114:1:118:5 | [ensure: return] ensure ... | | -| raise.rb:116:3:118:5 | if ... | raise.rb:114:1:118:5 | ensure ... | | -| raise.rb:116:6:116:7 | [ensure: exception] b2 | raise.rb:116:3:118:5 | [ensure: exception] if ... | false | -| raise.rb:116:6:116:7 | [ensure: exception] b2 | raise.rb:117:5:117:22 | [ensure: exception] self | true | -| raise.rb:116:6:116:7 | [ensure: return] b2 | raise.rb:116:3:118:5 | [ensure: return] if ... | false | -| raise.rb:116:6:116:7 | [ensure: return] b2 | raise.rb:117:5:117:22 | [ensure: return] self | true | -| raise.rb:116:6:116:7 | b2 | raise.rb:116:3:118:5 | if ... | false | -| raise.rb:116:6:116:7 | b2 | raise.rb:117:5:117:22 | self | true | -| raise.rb:117:5:117:22 | [ensure: exception] call to raise | raise.rb:94:1:119:3 | exit m9 (abnormal) | exception | -| raise.rb:117:5:117:22 | [ensure: exception] self | raise.rb:117:12:117:21 | [ensure: exception] b2 is true | | -| raise.rb:117:5:117:22 | [ensure: return] call to raise | raise.rb:94:1:119:3 | exit m9 (abnormal) | exception | -| raise.rb:117:5:117:22 | [ensure: return] self | raise.rb:117:12:117:21 | [ensure: return] b2 is true | | -| raise.rb:117:5:117:22 | call to raise | raise.rb:94:1:119:3 | exit m9 (abnormal) | exception | -| raise.rb:117:5:117:22 | self | raise.rb:117:12:117:21 | b2 is true | | -| raise.rb:117:11:117:22 | "b2 is true" | raise.rb:117:5:117:22 | call to raise | | -| raise.rb:117:11:117:22 | [ensure: exception] "b2 is true" | raise.rb:117:5:117:22 | [ensure: exception] call to raise | | -| raise.rb:117:11:117:22 | [ensure: return] "b2 is true" | raise.rb:117:5:117:22 | [ensure: return] call to raise | | -| raise.rb:117:12:117:21 | [ensure: exception] b2 is true | raise.rb:117:11:117:22 | [ensure: exception] "b2 is true" | | -| raise.rb:117:12:117:21 | [ensure: return] b2 is true | raise.rb:117:11:117:22 | [ensure: return] "b2 is true" | | +| raise.rb:116:3:118:5 | After if ... | raise.rb:114:1:118:5 | After ensure ... | | +| raise.rb:116:3:118:5 | if ... | raise.rb:116:6:116:7 | b2 | | +| raise.rb:116:6:116:7 | After b2 [false] | raise.rb:116:3:118:5 | After if ... | | +| raise.rb:116:6:116:7 | After b2 [true] | raise.rb:116:8:117:22 | then ... | | +| raise.rb:116:6:116:7 | b2 | raise.rb:116:6:116:7 | After b2 [false] | false | +| raise.rb:116:6:116:7 | b2 | raise.rb:116:6:116:7 | After b2 [true] | true | +| raise.rb:116:8:117:22 | then ... | raise.rb:117:5:117:22 | Before call to raise | | +| raise.rb:117:5:117:22 | Before call to raise | raise.rb:117:5:117:22 | self | | +| raise.rb:117:5:117:22 | call to raise | raise.rb:94:1:119:3 | Exceptional Exit | exception | +| raise.rb:117:5:117:22 | self | raise.rb:117:11:117:22 | Before "b2 is true" | | +| raise.rb:117:11:117:22 | "b2 is true" | raise.rb:117:11:117:22 | After "b2 is true" | | +| raise.rb:117:11:117:22 | After "b2 is true" | raise.rb:117:5:117:22 | call to raise | | +| raise.rb:117:11:117:22 | Before "b2 is true" | raise.rb:117:12:117:21 | b2 is true | | | raise.rb:117:12:117:21 | b2 is true | raise.rb:117:11:117:22 | "b2 is true" | | -| raise.rb:121:1:126:3 | enter m10 | raise.rb:121:9:121:9 | p | | -| raise.rb:121:1:126:3 | exit m10 (abnormal) | raise.rb:121:1:126:3 | exit m10 | | -| raise.rb:121:1:126:3 | exit m10 (normal) | raise.rb:121:1:126:3 | exit m10 | | +| raise.rb:121:1:126:3 | Entry | raise.rb:121:9:121:9 | p | | +| raise.rb:121:1:126:3 | Exceptional Exit | raise.rb:121:1:126:3 | Exit | | +| raise.rb:121:1:126:3 | Normal Exit | raise.rb:121:1:126:3 | Exit | | | raise.rb:121:1:126:3 | m10 | raise.rb:128:1:140:3 | m11 | | -| raise.rb:121:9:121:9 | p | raise.rb:121:14:121:30 | self | false, no-match, true | -| raise.rb:121:9:121:9 | p | raise.rb:125:3:125:51 | self | match | -| raise.rb:121:14:121:30 | call to raise | raise.rb:121:1:126:3 | exit m10 (abnormal) | exception | -| raise.rb:121:14:121:30 | self | raise.rb:121:21:121:29 | Exception | | -| raise.rb:121:20:121:30 | "Exception" | raise.rb:121:14:121:30 | call to raise | | +| raise.rb:121:9:121:9 | After p [match] | raise.rb:122:1:125:51 | ... | | +| raise.rb:121:9:121:9 | After p [no-match] | raise.rb:121:13:121:31 | ( ... ) | | +| raise.rb:121:9:121:9 | p | raise.rb:121:9:121:9 | After p [match] | match | +| raise.rb:121:9:121:9 | p | raise.rb:121:9:121:9 | After p [no-match] | no-match | +| raise.rb:121:13:121:31 | ( ... ) | raise.rb:121:14:121:30 | Before call to raise | | +| raise.rb:121:14:121:30 | Before call to raise | raise.rb:121:14:121:30 | self | | +| raise.rb:121:14:121:30 | call to raise | raise.rb:121:1:126:3 | Exceptional Exit | exception | +| raise.rb:121:14:121:30 | self | raise.rb:121:20:121:30 | Before "Exception" | | +| raise.rb:121:20:121:30 | "Exception" | raise.rb:121:20:121:30 | After "Exception" | | +| raise.rb:121:20:121:30 | After "Exception" | raise.rb:121:14:121:30 | call to raise | | +| raise.rb:121:20:121:30 | Before "Exception" | raise.rb:121:21:121:29 | Exception | | | raise.rb:121:21:121:29 | Exception | raise.rb:121:20:121:30 | "Exception" | | -| raise.rb:124:1:125:51 | ensure ... | raise.rb:121:1:126:3 | exit m10 (normal) | | -| raise.rb:125:3:125:51 | call to puts | raise.rb:124:1:125:51 | ensure ... | | -| raise.rb:125:3:125:51 | self | raise.rb:125:9:125:50 | Will not get executed if p is not supplied | | -| raise.rb:125:8:125:51 | "Will not get executed if p is..." | raise.rb:125:3:125:51 | call to puts | | +| raise.rb:122:1:125:51 | ... | raise.rb:124:1:125:51 | ensure ... | | +| raise.rb:122:1:125:51 | After ... | raise.rb:121:1:126:3 | Normal Exit | | +| raise.rb:124:1:125:51 | After ensure ... | raise.rb:122:1:125:51 | After ... | | +| raise.rb:124:1:125:51 | ensure ... | raise.rb:125:3:125:51 | Before call to puts | | +| raise.rb:125:3:125:51 | After call to puts | raise.rb:124:1:125:51 | After ensure ... | | +| raise.rb:125:3:125:51 | Before call to puts | raise.rb:125:3:125:51 | self | | +| raise.rb:125:3:125:51 | call to puts | raise.rb:125:3:125:51 | After call to puts | | +| raise.rb:125:3:125:51 | self | raise.rb:125:8:125:51 | Before "Will not get executed if p is..." | | +| raise.rb:125:8:125:51 | "Will not get executed if p is..." | raise.rb:125:8:125:51 | After "Will not get executed if p is..." | | +| raise.rb:125:8:125:51 | After "Will not get executed if p is..." | raise.rb:125:3:125:51 | call to puts | | +| raise.rb:125:8:125:51 | Before "Will not get executed if p is..." | raise.rb:125:9:125:50 | Will not get executed if p is not supplied | | | raise.rb:125:9:125:50 | Will not get executed if p is not supplied | raise.rb:125:8:125:51 | "Will not get executed if p is..." | | -| raise.rb:128:1:140:3 | enter m11 | raise.rb:128:9:128:9 | b | | -| raise.rb:128:1:140:3 | exit m11 (abnormal) | raise.rb:128:1:140:3 | exit m11 | | -| raise.rb:128:1:140:3 | exit m11 (normal) | raise.rb:128:1:140:3 | exit m11 | | +| raise.rb:128:1:140:3 | Entry | raise.rb:128:9:128:9 | b | | +| raise.rb:128:1:140:3 | Exceptional Exit | raise.rb:128:1:140:3 | Exit | | +| raise.rb:128:1:140:3 | Normal Exit | raise.rb:128:1:140:3 | Exit | | | raise.rb:128:1:140:3 | m11 | raise.rb:142:1:148:3 | m12 | | -| raise.rb:128:9:128:9 | b | raise.rb:130:8:130:8 | b | | -| raise.rb:130:5:132:7 | if ... | raise.rb:137:5:137:17 | self | | -| raise.rb:130:8:130:8 | b | raise.rb:130:5:132:7 | if ... | false | -| raise.rb:130:8:130:8 | b | raise.rb:131:7:131:22 | self | true | -| raise.rb:131:7:131:22 | call to raise | raise.rb:133:10:133:19 | ExceptionA | exception | +| raise.rb:128:9:128:9 | b | raise.rb:129:3:139:16 | ... | | +| raise.rb:129:3:138:5 | After begin ... | raise.rb:139:3:139:16 | Before call to puts | | +| raise.rb:129:3:138:5 | begin ... | raise.rb:130:5:132:7 | if ... | | +| raise.rb:129:3:139:16 | ... | raise.rb:129:3:138:5 | begin ... | | +| raise.rb:129:3:139:16 | After ... | raise.rb:128:1:140:3 | Normal Exit | | +| raise.rb:130:5:132:7 | After if ... | raise.rb:136:3:137:17 | ensure ... | | +| raise.rb:130:5:132:7 | if ... | raise.rb:130:8:130:8 | b | | +| raise.rb:130:8:130:8 | After b [false] | raise.rb:130:5:132:7 | After if ... | | +| raise.rb:130:8:130:8 | After b [true] | raise.rb:130:9:131:22 | then ... | | +| raise.rb:130:8:130:8 | b | raise.rb:130:8:130:8 | After b [false] | false | +| raise.rb:130:8:130:8 | b | raise.rb:130:8:130:8 | After b [true] | true | +| raise.rb:130:9:131:22 | then ... | raise.rb:131:7:131:22 | Before call to raise | | +| raise.rb:131:7:131:22 | Before call to raise | raise.rb:131:7:131:22 | self | | +| raise.rb:131:7:131:22 | call to raise | raise.rb:133:3:133:19 | rescue ... | exception | | raise.rb:131:7:131:22 | self | raise.rb:131:13:131:22 | ExceptionA | | | raise.rb:131:13:131:22 | ExceptionA | raise.rb:131:7:131:22 | call to raise | | -| raise.rb:133:3:133:19 | rescue ... | raise.rb:137:5:137:17 | self | | -| raise.rb:133:10:133:19 | ExceptionA | raise.rb:133:3:133:19 | rescue ... | match | -| raise.rb:133:10:133:19 | ExceptionA | raise.rb:134:10:134:19 | ExceptionB | no-match | -| raise.rb:134:3:135:21 | rescue ... | raise.rb:137:5:137:17 | self | | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:135:5:135:21 | self | match | -| raise.rb:134:10:134:19 | ExceptionB | raise.rb:137:5:137:17 | [ensure: exception] self | exception | -| raise.rb:134:20:135:21 | then ... | raise.rb:134:3:135:21 | rescue ... | | -| raise.rb:135:5:135:21 | call to puts | raise.rb:134:20:135:21 | then ... | | -| raise.rb:135:5:135:21 | self | raise.rb:135:11:135:20 | ExceptionB | | -| raise.rb:135:10:135:21 | "ExceptionB" | raise.rb:135:5:135:21 | call to puts | | +| raise.rb:133:3:133:19 | After rescue ... [no-match] | raise.rb:134:3:135:21 | rescue ... | | +| raise.rb:133:3:133:19 | [CatchClauseEmptyBody] rescue ... | raise.rb:136:3:137:17 | ensure ... | | +| raise.rb:133:3:133:19 | rescue ... | raise.rb:133:10:133:19 | ExceptionA | | +| raise.rb:133:10:133:19 | After ExceptionA [match] | raise.rb:133:3:133:19 | [CatchClauseEmptyBody] rescue ... | | +| raise.rb:133:10:133:19 | After ExceptionA [no-match] | raise.rb:133:3:133:19 | After rescue ... [no-match] | no-match | +| raise.rb:133:10:133:19 | ExceptionA | raise.rb:133:10:133:19 | After ExceptionA [match] | match | +| raise.rb:133:10:133:19 | ExceptionA | raise.rb:133:10:133:19 | After ExceptionA [no-match] | no-match | +| raise.rb:134:3:135:21 | After rescue ... [no-match] | raise.rb:136:3:137:17 | ensure ... | exception | +| raise.rb:134:3:135:21 | rescue ... | raise.rb:134:10:134:19 | ExceptionB | | +| raise.rb:134:10:134:19 | After ExceptionB [match] | raise.rb:134:20:135:21 | then ... | | +| raise.rb:134:10:134:19 | After ExceptionB [no-match] | raise.rb:134:3:135:21 | After rescue ... [no-match] | no-match | +| raise.rb:134:10:134:19 | ExceptionB | raise.rb:134:10:134:19 | After ExceptionB [match] | match | +| raise.rb:134:10:134:19 | ExceptionB | raise.rb:134:10:134:19 | After ExceptionB [no-match] | no-match | +| raise.rb:134:20:135:21 | After then ... | raise.rb:136:3:137:17 | ensure ... | | +| raise.rb:134:20:135:21 | then ... | raise.rb:135:5:135:21 | Before call to puts | | +| raise.rb:135:5:135:21 | After call to puts | raise.rb:134:20:135:21 | After then ... | | +| raise.rb:135:5:135:21 | Before call to puts | raise.rb:135:5:135:21 | self | | +| raise.rb:135:5:135:21 | call to puts | raise.rb:135:5:135:21 | After call to puts | | +| raise.rb:135:5:135:21 | self | raise.rb:135:10:135:21 | Before "ExceptionB" | | +| raise.rb:135:10:135:21 | "ExceptionB" | raise.rb:135:10:135:21 | After "ExceptionB" | | +| raise.rb:135:10:135:21 | After "ExceptionB" | raise.rb:135:5:135:21 | call to puts | | +| raise.rb:135:10:135:21 | Before "ExceptionB" | raise.rb:135:11:135:20 | ExceptionB | | | raise.rb:135:11:135:20 | ExceptionB | raise.rb:135:10:135:21 | "ExceptionB" | | -| raise.rb:136:3:137:17 | [ensure: exception] ensure ... | raise.rb:128:1:140:3 | exit m11 (abnormal) | exception | -| raise.rb:136:3:137:17 | ensure ... | raise.rb:139:3:139:16 | self | | -| raise.rb:137:5:137:17 | [ensure: exception] call to puts | raise.rb:136:3:137:17 | [ensure: exception] ensure ... | | -| raise.rb:137:5:137:17 | [ensure: exception] self | raise.rb:137:11:137:16 | [ensure: exception] Ensure | | -| raise.rb:137:5:137:17 | call to puts | raise.rb:136:3:137:17 | ensure ... | | -| raise.rb:137:5:137:17 | self | raise.rb:137:11:137:16 | Ensure | | -| raise.rb:137:10:137:17 | "Ensure" | raise.rb:137:5:137:17 | call to puts | | -| raise.rb:137:10:137:17 | [ensure: exception] "Ensure" | raise.rb:137:5:137:17 | [ensure: exception] call to puts | | +| raise.rb:136:3:137:17 | After ensure ... | raise.rb:128:1:140:3 | Exceptional Exit | exception | +| raise.rb:136:3:137:17 | After ensure ... | raise.rb:129:3:138:5 | After begin ... | | +| raise.rb:136:3:137:17 | ensure ... | raise.rb:137:5:137:17 | Before call to puts | | +| raise.rb:137:5:137:17 | After call to puts | raise.rb:136:3:137:17 | After ensure ... | | +| raise.rb:137:5:137:17 | Before call to puts | raise.rb:137:5:137:17 | self | | +| raise.rb:137:5:137:17 | call to puts | raise.rb:137:5:137:17 | After call to puts | | +| raise.rb:137:5:137:17 | self | raise.rb:137:10:137:17 | Before "Ensure" | | +| raise.rb:137:10:137:17 | "Ensure" | raise.rb:137:10:137:17 | After "Ensure" | | +| raise.rb:137:10:137:17 | After "Ensure" | raise.rb:137:5:137:17 | call to puts | | +| raise.rb:137:10:137:17 | Before "Ensure" | raise.rb:137:11:137:16 | Ensure | | | raise.rb:137:11:137:16 | Ensure | raise.rb:137:10:137:17 | "Ensure" | | -| raise.rb:137:11:137:16 | [ensure: exception] Ensure | raise.rb:137:10:137:17 | [ensure: exception] "Ensure" | | -| raise.rb:139:3:139:16 | call to puts | raise.rb:128:1:140:3 | exit m11 (normal) | | -| raise.rb:139:3:139:16 | self | raise.rb:139:9:139:15 | End m11 | | -| raise.rb:139:8:139:16 | "End m11" | raise.rb:139:3:139:16 | call to puts | | +| raise.rb:139:3:139:16 | After call to puts | raise.rb:129:3:139:16 | After ... | | +| raise.rb:139:3:139:16 | Before call to puts | raise.rb:139:3:139:16 | self | | +| raise.rb:139:3:139:16 | call to puts | raise.rb:139:3:139:16 | After call to puts | | +| raise.rb:139:3:139:16 | self | raise.rb:139:8:139:16 | Before "End m11" | | +| raise.rb:139:8:139:16 | "End m11" | raise.rb:139:8:139:16 | After "End m11" | | +| raise.rb:139:8:139:16 | After "End m11" | raise.rb:139:3:139:16 | call to puts | | +| raise.rb:139:8:139:16 | Before "End m11" | raise.rb:139:9:139:15 | End m11 | | | raise.rb:139:9:139:15 | End m11 | raise.rb:139:8:139:16 | "End m11" | | -| raise.rb:142:1:148:3 | enter m12 | raise.rb:142:9:142:9 | b | | -| raise.rb:142:1:148:3 | exit m12 (normal) | raise.rb:142:1:148:3 | exit m12 | | +| raise.rb:142:1:148:3 | Entry | raise.rb:142:9:142:9 | b | | +| raise.rb:142:1:148:3 | Normal Exit | raise.rb:142:1:148:3 | Exit | | | raise.rb:142:1:148:3 | m12 | raise.rb:150:1:152:3 | m13 | | -| raise.rb:142:9:142:9 | b | raise.rb:143:6:143:6 | b | | -| raise.rb:143:3:145:5 | if ... | raise.rb:147:10:147:10 | 3 | | -| raise.rb:143:6:143:6 | b | raise.rb:143:3:145:5 | if ... | false | -| raise.rb:143:6:143:6 | b | raise.rb:144:5:144:12 | self | true | -| raise.rb:144:5:144:12 | call to raise | raise.rb:147:10:147:10 | [ensure: exception] 3 | exception | +| raise.rb:142:9:142:9 | b | raise.rb:143:3:147:10 | ... | | +| raise.rb:143:3:145:5 | After if ... | raise.rb:146:1:147:10 | ensure ... | | +| raise.rb:143:3:145:5 | if ... | raise.rb:143:6:143:6 | b | | +| raise.rb:143:3:147:10 | ... | raise.rb:143:3:145:5 | if ... | | +| raise.rb:143:6:143:6 | After b [false] | raise.rb:143:3:145:5 | After if ... | | +| raise.rb:143:6:143:6 | After b [true] | raise.rb:143:7:144:12 | then ... | | +| raise.rb:143:6:143:6 | b | raise.rb:143:6:143:6 | After b [false] | false | +| raise.rb:143:6:143:6 | b | raise.rb:143:6:143:6 | After b [true] | true | +| raise.rb:143:7:144:12 | then ... | raise.rb:144:5:144:12 | Before call to raise | | +| raise.rb:144:5:144:12 | Before call to raise | raise.rb:144:5:144:12 | self | | +| raise.rb:144:5:144:12 | call to raise | raise.rb:146:1:147:10 | ensure ... | exception | | raise.rb:144:5:144:12 | self | raise.rb:144:11:144:12 | "" | | | raise.rb:144:11:144:12 | "" | raise.rb:144:5:144:12 | call to raise | | -| raise.rb:147:3:147:10 | [ensure: exception] return | raise.rb:142:1:148:3 | exit m12 (normal) | return | -| raise.rb:147:3:147:10 | return | raise.rb:142:1:148:3 | exit m12 (normal) | return | +| raise.rb:146:1:147:10 | ensure ... | raise.rb:147:3:147:10 | Before return | | +| raise.rb:147:3:147:10 | Before return | raise.rb:147:10:147:10 | 3 | | +| raise.rb:147:3:147:10 | return | raise.rb:142:1:148:3 | Normal Exit | return | | raise.rb:147:10:147:10 | 3 | raise.rb:147:3:147:10 | return | | -| raise.rb:147:10:147:10 | [ensure: exception] 3 | raise.rb:147:3:147:10 | [ensure: exception] return | | -| raise.rb:150:1:152:3 | enter m13 | raise.rb:151:1:151:6 | ensure ... | | -| raise.rb:150:1:152:3 | exit m13 (normal) | raise.rb:150:1:152:3 | exit m13 | | +| raise.rb:150:1:152:3 | Entry | raise.rb:151:1:151:6 | ... | | +| raise.rb:150:1:152:3 | Normal Exit | raise.rb:150:1:152:3 | Exit | | | raise.rb:150:1:152:3 | m13 | raise.rb:154:1:156:3 | m14 | | -| raise.rb:151:1:151:6 | ensure ... | raise.rb:150:1:152:3 | exit m13 (normal) | | -| raise.rb:154:1:156:3 | enter m14 | raise.rb:154:9:154:15 | element | | -| raise.rb:154:1:156:3 | exit m14 (normal) | raise.rb:154:1:156:3 | exit m14 | | +| raise.rb:151:1:151:6 | ... | raise.rb:151:1:151:6 | ensure ... | | +| raise.rb:151:1:151:6 | After ... | raise.rb:150:1:152:3 | Normal Exit | | +| raise.rb:151:1:151:6 | ensure ... | raise.rb:151:1:151:6 | After ... | | +| raise.rb:154:1:156:3 | Entry | raise.rb:154:9:154:15 | element | | +| raise.rb:154:1:156:3 | Normal Exit | raise.rb:154:1:156:3 | Exit | | | raise.rb:154:1:156:3 | m14 | raise.rb:158:1:164:3 | m15 | | -| raise.rb:154:9:154:15 | element | raise.rb:155:3:155:9 | element | | +| raise.rb:154:9:154:15 | element | raise.rb:155:3:155:50 | ... | | | raise.rb:155:3:155:9 | element | raise.rb:155:16:155:50 | { ... } | | -| raise.rb:155:3:155:50 | call to each | raise.rb:154:1:156:3 | exit m14 (normal) | | -| raise.rb:155:16:155:50 | enter { ... } | raise.rb:155:19:155:22 | elem | | -| raise.rb:155:16:155:50 | exit { ... } (abnormal) | raise.rb:155:16:155:50 | exit { ... } | | -| raise.rb:155:16:155:50 | exit { ... } (normal) | raise.rb:155:16:155:50 | exit { ... } | | +| raise.rb:155:3:155:50 | ... | raise.rb:155:3:155:50 | Before call to each | | +| raise.rb:155:3:155:50 | After ... | raise.rb:154:1:156:3 | Normal Exit | | +| raise.rb:155:3:155:50 | After call to each | raise.rb:155:3:155:50 | After ... | | +| raise.rb:155:3:155:50 | Before call to each | raise.rb:155:3:155:9 | element | | +| raise.rb:155:3:155:50 | call to each | raise.rb:155:3:155:50 | After call to each | | +| raise.rb:155:16:155:50 | Entry | raise.rb:155:19:155:22 | elem | | +| raise.rb:155:16:155:50 | Exceptional Exit | raise.rb:155:16:155:50 | Exit | | +| raise.rb:155:16:155:50 | Normal Exit | raise.rb:155:16:155:50 | Exit | | | raise.rb:155:16:155:50 | { ... } | raise.rb:155:3:155:50 | call to each | | -| raise.rb:155:19:155:22 | elem | raise.rb:155:37:155:43 | element | | -| raise.rb:155:25:155:32 | call to raise | raise.rb:155:16:155:50 | exit { ... } (abnormal) | exception | +| raise.rb:155:19:155:22 | elem | raise.rb:155:25:155:48 | ... | | +| raise.rb:155:25:155:32 | Before call to raise | raise.rb:155:25:155:32 | self | | +| raise.rb:155:25:155:32 | call to raise | raise.rb:155:16:155:50 | Exceptional Exit | exception | | raise.rb:155:25:155:32 | self | raise.rb:155:31:155:32 | "" | | -| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:16:155:50 | exit { ... } (normal) | | +| raise.rb:155:25:155:48 | ... | raise.rb:155:25:155:48 | ... if ... | | +| raise.rb:155:25:155:48 | ... if ... | raise.rb:155:37:155:48 | Before call to nil? | | +| raise.rb:155:25:155:48 | After ... | raise.rb:155:16:155:50 | Normal Exit | | +| raise.rb:155:25:155:48 | After ... if ... | raise.rb:155:25:155:48 | After ... | | | raise.rb:155:31:155:32 | "" | raise.rb:155:25:155:32 | call to raise | | | raise.rb:155:37:155:43 | element | raise.rb:155:37:155:48 | call to nil? | | -| raise.rb:155:37:155:48 | call to nil? | raise.rb:155:25:155:32 | self | true | -| raise.rb:155:37:155:48 | call to nil? | raise.rb:155:25:155:48 | ... if ... | false | -| raise.rb:158:1:164:3 | enter m15 | raise.rb:159:3:163:5 | self | | -| raise.rb:158:1:164:3 | exit m15 (normal) | raise.rb:158:1:164:3 | exit m15 | | +| raise.rb:155:37:155:48 | After call to nil? [false] | raise.rb:155:25:155:48 | After ... if ... | | +| raise.rb:155:37:155:48 | After call to nil? [true] | raise.rb:155:25:155:32 | Before call to raise | | +| raise.rb:155:37:155:48 | Before call to nil? | raise.rb:155:37:155:43 | element | | +| raise.rb:155:37:155:48 | call to nil? | raise.rb:155:37:155:48 | After call to nil? [false] | false | +| raise.rb:155:37:155:48 | call to nil? | raise.rb:155:37:155:48 | After call to nil? [true] | true | +| raise.rb:158:1:164:3 | Entry | raise.rb:159:3:163:5 | ... | | +| raise.rb:158:1:164:3 | Normal Exit | raise.rb:158:1:164:3 | Exit | | | raise.rb:158:1:164:3 | m15 | raise.rb:166:1:170:3 | C | | -| raise.rb:159:3:163:5 | call to foo | raise.rb:158:1:164:3 | exit m15 (normal) | | +| raise.rb:159:3:163:5 | ... | raise.rb:159:3:163:5 | Before call to foo | | +| raise.rb:159:3:163:5 | After ... | raise.rb:158:1:164:3 | Normal Exit | | +| raise.rb:159:3:163:5 | After call to foo | raise.rb:159:3:163:5 | After ... | | +| raise.rb:159:3:163:5 | Before call to foo | raise.rb:159:3:163:5 | self | | +| raise.rb:159:3:163:5 | call to foo | raise.rb:159:3:163:5 | After call to foo | | | raise.rb:159:3:163:5 | self | raise.rb:159:7:163:5 | do ... end | | +| raise.rb:159:7:163:5 | Entry | raise.rb:160:5:162:7 | ... | | +| raise.rb:159:7:163:5 | Normal Exit | raise.rb:159:7:163:5 | Exit | | | raise.rb:159:7:163:5 | do ... end | raise.rb:159:3:163:5 | call to foo | | -| raise.rb:159:7:163:5 | enter do ... end | raise.rb:160:5:162:7 | self | | -| raise.rb:159:7:163:5 | exit do ... end (normal) | raise.rb:159:7:163:5 | exit do ... end | | -| raise.rb:160:5:162:7 | call to bar | raise.rb:159:7:163:5 | exit do ... end (normal) | | +| raise.rb:160:5:162:7 | ... | raise.rb:160:5:162:7 | Before call to bar | | +| raise.rb:160:5:162:7 | After ... | raise.rb:159:7:163:5 | Normal Exit | | +| raise.rb:160:5:162:7 | After call to bar | raise.rb:160:5:162:7 | After ... | | +| raise.rb:160:5:162:7 | Before call to bar | raise.rb:160:5:162:7 | self | | +| raise.rb:160:5:162:7 | call to bar | raise.rb:160:5:162:7 | After call to bar | | | raise.rb:160:5:162:7 | self | raise.rb:160:9:162:7 | -> { ... } | | | raise.rb:160:9:162:7 | -> { ... } | raise.rb:160:5:162:7 | call to bar | | -| raise.rb:160:9:162:7 | enter -> { ... } | raise.rb:160:12:160:12 | x | | -| raise.rb:160:9:162:7 | exit -> { ... } (abnormal) | raise.rb:160:9:162:7 | exit -> { ... } | | -| raise.rb:160:9:162:7 | exit -> { ... } (normal) | raise.rb:160:9:162:7 | exit -> { ... } | | -| raise.rb:160:12:160:12 | x | raise.rb:161:23:161:23 | x | | -| raise.rb:161:7:161:14 | call to raise | raise.rb:160:9:162:7 | exit -> { ... } (abnormal) | exception | +| raise.rb:160:9:162:7 | Entry | raise.rb:160:12:160:12 | x | | +| raise.rb:160:9:162:7 | Exceptional Exit | raise.rb:160:9:162:7 | Exit | | +| raise.rb:160:9:162:7 | Normal Exit | raise.rb:160:9:162:7 | Exit | | +| raise.rb:160:12:160:12 | x | raise.rb:161:7:161:23 | ... | | +| raise.rb:161:7:161:14 | Before call to raise | raise.rb:161:7:161:14 | self | | +| raise.rb:161:7:161:14 | call to raise | raise.rb:160:9:162:7 | Exceptional Exit | exception | | raise.rb:161:7:161:14 | self | raise.rb:161:13:161:14 | "" | | -| raise.rb:161:7:161:23 | ... unless ... | raise.rb:160:9:162:7 | exit -> { ... } (normal) | | +| raise.rb:161:7:161:23 | ... | raise.rb:161:7:161:23 | ... unless ... | | +| raise.rb:161:7:161:23 | ... unless ... | raise.rb:161:23:161:23 | x | | +| raise.rb:161:7:161:23 | After ... | raise.rb:160:9:162:7 | Normal Exit | | +| raise.rb:161:7:161:23 | After ... unless ... | raise.rb:161:7:161:23 | After ... | | | raise.rb:161:13:161:14 | "" | raise.rb:161:7:161:14 | call to raise | | -| raise.rb:161:23:161:23 | x | raise.rb:161:7:161:14 | self | false | -| raise.rb:161:23:161:23 | x | raise.rb:161:7:161:23 | ... unless ... | true | -| raise.rb:166:1:170:3 | C | raise.rb:167:7:167:10 | self | | -| raise.rb:167:3:169:5 | enter m | raise.rb:168:5:168:12 | self | | -| raise.rb:167:3:169:5 | exit m (abnormal) | raise.rb:167:3:169:5 | exit m | | -| raise.rb:167:3:169:5 | m | raise.rb:172:1:182:3 | m16 | | +| raise.rb:161:23:161:23 | After x [false] | raise.rb:161:7:161:14 | Before call to raise | | +| raise.rb:161:23:161:23 | After x [true] | raise.rb:161:7:161:23 | After ... unless ... | | +| raise.rb:161:23:161:23 | x | raise.rb:161:23:161:23 | After x [false] | false | +| raise.rb:161:23:161:23 | x | raise.rb:161:23:161:23 | After x [true] | true | +| raise.rb:166:1:170:3 | After C | raise.rb:172:1:182:3 | m16 | | +| raise.rb:166:1:170:3 | C | raise.rb:167:3:169:5 | Before m | | +| raise.rb:167:3:169:5 | After m | raise.rb:166:1:170:3 | After C | | +| raise.rb:167:3:169:5 | Before m | raise.rb:167:7:167:10 | self | | +| raise.rb:167:3:169:5 | Entry | raise.rb:168:5:168:12 | ... | | +| raise.rb:167:3:169:5 | Exceptional Exit | raise.rb:167:3:169:5 | Exit | | +| raise.rb:167:3:169:5 | m | raise.rb:167:3:169:5 | After m | | | raise.rb:167:7:167:10 | self | raise.rb:167:3:169:5 | m | | -| raise.rb:168:5:168:12 | call to raise | raise.rb:167:3:169:5 | exit m (abnormal) | exception | +| raise.rb:168:5:168:12 | ... | raise.rb:168:5:168:12 | Before call to raise | | +| raise.rb:168:5:168:12 | Before call to raise | raise.rb:168:5:168:12 | self | | +| raise.rb:168:5:168:12 | call to raise | raise.rb:167:3:169:5 | Exceptional Exit | exception | | raise.rb:168:5:168:12 | self | raise.rb:168:11:168:12 | "" | | | raise.rb:168:11:168:12 | "" | raise.rb:168:5:168:12 | call to raise | | -| raise.rb:172:1:182:3 | enter m16 | raise.rb:172:9:172:10 | b1 | | -| raise.rb:172:1:182:3 | exit m16 (abnormal) | raise.rb:172:1:182:3 | exit m16 | | -| raise.rb:172:1:182:3 | exit m16 (normal) | raise.rb:172:1:182:3 | exit m16 | | -| raise.rb:172:1:182:3 | m16 | raise.rb:1:1:182:4 | exit raise.rb (normal) | | +| raise.rb:172:1:182:3 | Entry | raise.rb:172:9:172:10 | b1 | | +| raise.rb:172:1:182:3 | Exceptional Exit | raise.rb:172:1:182:3 | Exit | | +| raise.rb:172:1:182:3 | Normal Exit | raise.rb:172:1:182:3 | Exit | | +| raise.rb:172:1:182:3 | m16 | raise.rb:1:1:182:4 | Normal Exit | | | raise.rb:172:9:172:10 | b1 | raise.rb:172:13:172:14 | b2 | | -| raise.rb:172:13:172:14 | b2 | raise.rb:174:8:174:9 | b1 | | -| raise.rb:174:8:174:9 | b1 | raise.rb:174:8:174:23 | [true] ... \|\| ... | true | -| raise.rb:174:8:174:9 | b1 | raise.rb:174:14:174:15 | b2 | false | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:177:14:177:14 | 2 | false | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:179:10:179:19 | ExceptionA | exception | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:175:14:175:14 | 1 | true | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:179:10:179:19 | ExceptionA | exception | +| raise.rb:172:13:172:14 | b2 | raise.rb:173:3:181:5 | ... | | +| raise.rb:173:3:181:5 | ... | raise.rb:173:3:181:5 | begin ... | | +| raise.rb:173:3:181:5 | begin ... | raise.rb:174:5:178:7 | if ... | | +| raise.rb:174:5:178:7 | if ... | raise.rb:174:8:174:23 | ... \|\| ... | | +| raise.rb:174:8:174:9 | After b1 [false] | raise.rb:174:14:174:23 | Before ... == ... | | +| raise.rb:174:8:174:9 | After b1 [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | true | +| raise.rb:174:8:174:9 | b1 | raise.rb:174:8:174:9 | After b1 [false] | false | +| raise.rb:174:8:174:9 | b1 | raise.rb:174:8:174:9 | After b1 [true] | true | +| raise.rb:174:8:174:23 | ... \|\| ... | raise.rb:174:8:174:9 | b1 | | +| raise.rb:174:8:174:23 | After ... \|\| ... [false] | raise.rb:176:5:177:14 | else ... | | +| raise.rb:174:8:174:23 | After ... \|\| ... [true] | raise.rb:174:24:175:14 | then ... | | | raise.rb:174:14:174:15 | b2 | raise.rb:174:20:174:23 | true | | -| raise.rb:174:14:174:23 | ... == ... | raise.rb:174:8:174:23 | [false] ... \|\| ... | false | -| raise.rb:174:14:174:23 | ... == ... | raise.rb:174:8:174:23 | [true] ... \|\| ... | true | -| raise.rb:174:14:174:23 | ... == ... | raise.rb:179:10:179:19 | ExceptionA | exception | +| raise.rb:174:14:174:23 | ... == ... | raise.rb:174:14:174:23 | After ... == ... [false] | false | +| raise.rb:174:14:174:23 | ... == ... | raise.rb:174:14:174:23 | After ... == ... [true] | true | +| raise.rb:174:14:174:23 | ... == ... | raise.rb:179:3:180:12 | rescue ... | exception | +| raise.rb:174:14:174:23 | After ... == ... [false] | raise.rb:174:8:174:23 | After ... \|\| ... [false] | false | +| raise.rb:174:14:174:23 | After ... == ... [true] | raise.rb:174:8:174:23 | After ... \|\| ... [true] | true | +| raise.rb:174:14:174:23 | Before ... == ... | raise.rb:174:14:174:15 | b2 | | | raise.rb:174:20:174:23 | true | raise.rb:174:14:174:23 | ... == ... | | -| raise.rb:175:7:175:14 | return | raise.rb:172:1:182:3 | exit m16 (normal) | return | +| raise.rb:174:24:175:14 | then ... | raise.rb:175:7:175:14 | Before return | | +| raise.rb:175:7:175:14 | Before return | raise.rb:175:14:175:14 | 1 | | +| raise.rb:175:7:175:14 | return | raise.rb:172:1:182:3 | Normal Exit | return | | raise.rb:175:14:175:14 | 1 | raise.rb:175:7:175:14 | return | | -| raise.rb:177:7:177:14 | return | raise.rb:172:1:182:3 | exit m16 (normal) | return | +| raise.rb:176:5:177:14 | else ... | raise.rb:177:7:177:14 | Before return | | +| raise.rb:177:7:177:14 | Before return | raise.rb:177:14:177:14 | 2 | | +| raise.rb:177:7:177:14 | return | raise.rb:172:1:182:3 | Normal Exit | return | | raise.rb:177:14:177:14 | 2 | raise.rb:177:7:177:14 | return | | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:172:1:182:3 | exit m16 (abnormal) | exception | -| raise.rb:179:10:179:19 | ExceptionA | raise.rb:180:12:180:12 | 3 | match | -| raise.rb:180:5:180:12 | return | raise.rb:172:1:182:3 | exit m16 (normal) | return | +| raise.rb:179:3:180:12 | After rescue ... [no-match] | raise.rb:172:1:182:3 | Exceptional Exit | exception | +| raise.rb:179:3:180:12 | rescue ... | raise.rb:179:10:179:19 | ExceptionA | | +| raise.rb:179:10:179:19 | After ExceptionA [match] | raise.rb:179:20:180:12 | then ... | | +| raise.rb:179:10:179:19 | After ExceptionA [no-match] | raise.rb:179:3:180:12 | After rescue ... [no-match] | no-match | +| raise.rb:179:10:179:19 | ExceptionA | raise.rb:179:10:179:19 | After ExceptionA [match] | match | +| raise.rb:179:10:179:19 | ExceptionA | raise.rb:179:10:179:19 | After ExceptionA [no-match] | no-match | +| raise.rb:179:20:180:12 | then ... | raise.rb:180:5:180:12 | Before return | | +| raise.rb:180:5:180:12 | Before return | raise.rb:180:12:180:12 | 3 | | +| raise.rb:180:5:180:12 | return | raise.rb:172:1:182:3 | Normal Exit | return | | raise.rb:180:12:180:12 | 3 | raise.rb:180:5:180:12 | return | | diff --git a/ruby/ql/test/library-tests/controlflow/graph/Cfg.ql b/ruby/ql/test/library-tests/controlflow/graph/Cfg.ql index 39d0627613e9..54fc30b8eec3 100644 --- a/ruby/ql/test/library-tests/controlflow/graph/Cfg.ql +++ b/ruby/ql/test/library-tests/controlflow/graph/Cfg.ql @@ -1,2 +1,2 @@ import codeql.ruby.CFG -import codeql.ruby.controlflow.internal.ControlFlowGraphImpl::TestOutput +import ControlFlow::TestOutput diff --git a/ruby/ql/test/library-tests/controlflow/graph/Nodes.expected b/ruby/ql/test/library-tests/controlflow/graph/Nodes.expected index 54cf1d085433..3d0f3d6db8a1 100644 --- a/ruby/ql/test/library-tests/controlflow/graph/Nodes.expected +++ b/ruby/ql/test/library-tests/controlflow/graph/Nodes.expected @@ -1,10 +1,6 @@ callsWithNoArguments -| break_ensure.rb:8:6:8:13 | [ensure: exception] call to elements | | break_ensure.rb:8:6:8:13 | call to elements | -| break_ensure.rb:8:6:8:18 | [ensure: exception] call to nil? | | break_ensure.rb:8:6:8:18 | call to nil? | -| break_ensure.rb:20:10:20:15 | [ensure: break] call to nil? | -| break_ensure.rb:20:10:20:15 | [ensure: exception] call to nil? | | break_ensure.rb:20:10:20:15 | call to nil? | | break_ensure.rb:29:8:29:13 | call to nil? | | case.rb:2:8:2:9 | call to x1 | @@ -26,8 +22,7 @@ callsWithNoArguments | cfg.rb:62:7:62:12 | * ... | | cfg.rb:62:17:62:27 | * ... | | cfg.rb:90:1:93:3 | call to each | -| cfg.rb:90:5:90:5 | [false] ! ... | -| cfg.rb:90:5:90:5 | [true] ! ... | +| cfg.rb:90:5:90:5 | ! ... | | cfg.rb:90:5:90:5 | defined? ... | | cfg.rb:98:10:98:15 | ** ... | | cfg.rb:98:30:98:35 | ** ... | @@ -61,10 +56,9 @@ callsWithNoArguments | desugar.rb:22:18:22:29 | * ... | | desugar.rb:26:6:26:11 | * ... | | desugar.rb:26:15:26:25 | * ... | -| ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:30:4:38 | [true] ! ... | +| ifs.rb:4:30:4:38 | ! ... | | ifs.rb:20:9:20:10 | - ... | -| ifs.rb:41:6:41:10 | [false] ! ... | +| ifs.rb:41:6:41:10 | ! ... | | loops.rb:25:3:27:5 | call to each | | raise.rb:155:3:155:50 | call to each | | raise.rb:155:37:155:48 | call to nil? | @@ -72,25 +66,17 @@ callsWithNoArguments positionalArguments | break_ensure.rb:2:9:2:13 | ... < ... | break_ensure.rb:2:13:2:13 | 0 | | break_ensure.rb:3:8:3:12 | ... > ... | break_ensure.rb:3:12:3:12 | 0 | -| break_ensure.rb:9:5:9:23 | [ensure: exception] call to puts | break_ensure.rb:9:10:9:23 | [ensure: exception] "elements nil" | | break_ensure.rb:9:5:9:23 | call to puts | break_ensure.rb:9:10:9:23 | "elements nil" | | break_ensure.rb:14:9:14:13 | ... < ... | break_ensure.rb:14:13:14:13 | 0 | | break_ensure.rb:16:10:16:14 | ... > ... | break_ensure.rb:16:14:16:14 | 0 | -| break_ensure.rb:21:9:21:20 | [ensure: break] call to puts | break_ensure.rb:21:14:21:20 | [ensure: break] "y nil" | -| break_ensure.rb:21:9:21:20 | [ensure: exception] call to puts | break_ensure.rb:21:14:21:20 | [ensure: exception] "y nil" | | break_ensure.rb:21:9:21:20 | call to puts | break_ensure.rb:21:14:21:20 | "y nil" | | break_ensure.rb:33:11:33:15 | ... < ... | break_ensure.rb:33:15:33:15 | 0 | -| break_ensure.rb:33:11:33:15 | [ensure: exception] ... < ... | break_ensure.rb:33:15:33:15 | [ensure: exception] 0 | -| break_ensure.rb:33:11:33:15 | [ensure: return] ... < ... | break_ensure.rb:33:15:33:15 | [ensure: return] 0 | | break_ensure.rb:35:12:35:16 | ... > ... | break_ensure.rb:35:16:35:16 | 0 | -| break_ensure.rb:35:12:35:16 | [ensure: exception] ... > ... | break_ensure.rb:35:16:35:16 | [ensure: exception] 0 | -| break_ensure.rb:35:12:35:16 | [ensure: return] ... > ... | break_ensure.rb:35:16:35:16 | [ensure: return] 0 | | break_ensure.rb:41:3:41:13 | call to puts | break_ensure.rb:41:8:41:13 | "Done" | | break_ensure.rb:45:9:45:13 | ... < ... | break_ensure.rb:45:13:45:13 | 0 | | break_ensure.rb:47:10:47:14 | ... > ... | break_ensure.rb:47:14:47:14 | 1 | | break_ensure.rb:48:9:48:16 | call to raise | break_ensure.rb:48:15:48:16 | "" | | break_ensure.rb:51:10:51:14 | ... > ... | break_ensure.rb:51:14:51:14 | 0 | -| break_ensure.rb:51:10:51:14 | [ensure: exception] ... > ... | break_ensure.rb:51:14:51:14 | [ensure: exception] 0 | | case.rb:3:29:3:37 | call to puts | case.rb:3:34:3:37 | "x2" | | case.rb:4:17:4:24 | call to puts | case.rb:4:22:4:24 | "2" | | case.rb:14:13:14:18 | ... == ... | case.rb:14:18:14:18 | 5 | @@ -121,6 +107,7 @@ positionalArguments | cfg.rb:9:1:9:21 | call to [] | cfg.rb:9:14:9:20 | "another" | | cfg.rb:12:3:12:8 | call to puts | cfg.rb:12:8:12:8 | 4 | | cfg.rb:16:3:16:14 | call to puts | cfg.rb:16:8:16:14 | "hello" | +| cfg.rb:20:3:20:14 | call to puts | cfg.rb:20:8:20:14 | "world" | | cfg.rb:23:1:23:6 | ... + ... | cfg.rb:23:6:23:6 | 1 | | cfg.rb:25:15:25:20 | call to puts | cfg.rb:25:20:25:20 | x | | cfg.rb:27:1:27:11 | call to puts | cfg.rb:27:6:27:11 | &... | @@ -263,10 +250,8 @@ positionalArguments | ifs.rb:2:6:2:10 | ... > ... | ifs.rb:2:10:2:10 | 2 | | ifs.rb:3:5:3:30 | call to puts | ifs.rb:3:10:3:30 | "x is greater than 2" | | ifs.rb:4:9:4:14 | ... <= ... | ifs.rb:4:14:4:14 | 2 | -| ifs.rb:4:9:4:24 | [false] ... and ... | ifs.rb:4:20:4:24 | ... > ... | -| ifs.rb:4:9:4:24 | [true] ... and ... | ifs.rb:4:20:4:24 | ... > ... | -| ifs.rb:4:9:4:38 | [false] ... and ... | ifs.rb:4:30:4:38 | [false] ! ... | -| ifs.rb:4:9:4:38 | [true] ... and ... | ifs.rb:4:30:4:38 | [true] ! ... | +| ifs.rb:4:9:4:24 | ... and ... | ifs.rb:4:20:4:24 | ... > ... | +| ifs.rb:4:9:4:38 | ... and ... | ifs.rb:4:30:4:38 | ! ... | | ifs.rb:4:20:4:24 | ... > ... | ifs.rb:4:24:4:24 | 0 | | ifs.rb:4:32:4:37 | ... == ... | ifs.rb:4:37:4:37 | 5 | | ifs.rb:5:5:5:17 | call to puts | ifs.rb:5:10:5:17 | "x is 1" | @@ -279,8 +264,7 @@ positionalArguments | ifs.rb:38:12:38:17 | ... == ... | ifs.rb:38:17:38:17 | 2 | | ifs.rb:48:5:48:15 | call to puts | ifs.rb:48:10:48:15 | "true" | | ifs.rb:51:3:51:13 | call to puts | ifs.rb:51:8:51:13 | "done" | -| ifs.rb:55:7:55:14 | [false] ... \|\| ... | ifs.rb:55:13:55:14 | b2 | -| ifs.rb:55:7:55:14 | [true] ... \|\| ... | ifs.rb:55:13:55:14 | b2 | +| ifs.rb:55:7:55:14 | ... \|\| ... | ifs.rb:55:13:55:14 | b2 | | ifs.rb:56:5:56:19 | call to puts | ifs.rb:56:10:56:19 | "b1 or b2" | | loops.rb:2:9:2:14 | ... >= ... | loops.rb:2:14:2:14 | 0 | | loops.rb:3:5:3:10 | call to puts | loops.rb:3:10:3:10 | x | @@ -319,16 +303,12 @@ positionalArguments | raise.rb:70:5:70:17 | call to raise | raise.rb:70:11:70:17 | "x > 2" | | raise.rb:71:9:71:13 | ... < ... | raise.rb:71:13:71:13 | 0 | | raise.rb:74:3:74:20 | call to puts | raise.rb:74:8:74:20 | "0 <= x <= 2" | -| raise.rb:76:3:76:15 | [ensure: exception] call to puts | raise.rb:76:8:76:15 | [ensure: exception] "ensure" | -| raise.rb:76:3:76:15 | [ensure: return] call to puts | raise.rb:76:8:76:15 | [ensure: return] "ensure" | | raise.rb:76:3:76:15 | call to puts | raise.rb:76:8:76:15 | "ensure" | | raise.rb:80:3:80:17 | call to puts | raise.rb:80:8:80:17 | "Begin m8" | | raise.rb:82:8:82:12 | ... > ... | raise.rb:82:12:82:12 | 2 | | raise.rb:83:7:83:19 | call to raise | raise.rb:83:13:83:19 | "x > 2" | | raise.rb:84:11:84:15 | ... < ... | raise.rb:84:15:84:15 | 0 | | raise.rb:87:5:87:22 | call to puts | raise.rb:87:10:87:22 | "0 <= x <= 2" | -| raise.rb:89:5:89:17 | [ensure: exception] call to puts | raise.rb:89:10:89:17 | [ensure: exception] "ensure" | -| raise.rb:89:5:89:17 | [ensure: return] call to puts | raise.rb:89:10:89:17 | [ensure: return] "ensure" | | raise.rb:89:5:89:17 | call to puts | raise.rb:89:10:89:17 | "ensure" | | raise.rb:91:3:91:15 | call to puts | raise.rb:91:8:91:15 | "End m8" | | raise.rb:95:3:95:17 | call to puts | raise.rb:95:8:95:17 | "Begin m9" | @@ -336,30 +316,16 @@ positionalArguments | raise.rb:98:7:98:19 | call to raise | raise.rb:98:13:98:19 | "x > 2" | | raise.rb:99:11:99:15 | ... < ... | raise.rb:99:15:99:15 | 0 | | raise.rb:102:5:102:22 | call to puts | raise.rb:102:10:102:22 | "0 <= x <= 2" | -| raise.rb:104:5:104:23 | [ensure: exception] call to puts | raise.rb:104:10:104:23 | [ensure: exception] "outer ensure" | -| raise.rb:104:5:104:23 | [ensure: return] call to puts | raise.rb:104:10:104:23 | [ensure: return] "outer ensure" | | raise.rb:104:5:104:23 | call to puts | raise.rb:104:10:104:23 | "outer ensure" | -| raise.rb:107:9:107:26 | [ensure: exception] call to raise | raise.rb:107:15:107:26 | [ensure: exception] "b1 is true" | -| raise.rb:107:9:107:26 | [ensure: return] call to raise | raise.rb:107:15:107:26 | [ensure: return] "b1 is true" | | raise.rb:107:9:107:26 | call to raise | raise.rb:107:15:107:26 | "b1 is true" | -| raise.rb:110:7:110:25 | [ensure(1): exception] call to puts | raise.rb:110:12:110:25 | [ensure(1): exception] "inner ensure" | -| raise.rb:110:7:110:25 | [ensure: exception, ensure(1): exception] call to puts | raise.rb:110:12:110:25 | [ensure: exception, ensure(1): exception] "inner ensure" | -| raise.rb:110:7:110:25 | [ensure: exception] call to puts | raise.rb:110:12:110:25 | [ensure: exception] "inner ensure" | -| raise.rb:110:7:110:25 | [ensure: return, ensure(1): exception] call to puts | raise.rb:110:12:110:25 | [ensure: return, ensure(1): exception] "inner ensure" | -| raise.rb:110:7:110:25 | [ensure: return] call to puts | raise.rb:110:12:110:25 | [ensure: return] "inner ensure" | | raise.rb:110:7:110:25 | call to puts | raise.rb:110:12:110:25 | "inner ensure" | | raise.rb:113:3:113:15 | call to puts | raise.rb:113:8:113:15 | "End m9" | -| raise.rb:115:3:115:22 | [ensure: exception] call to puts | raise.rb:115:8:115:22 | [ensure: exception] "method ensure" | -| raise.rb:115:3:115:22 | [ensure: return] call to puts | raise.rb:115:8:115:22 | [ensure: return] "method ensure" | | raise.rb:115:3:115:22 | call to puts | raise.rb:115:8:115:22 | "method ensure" | -| raise.rb:117:5:117:22 | [ensure: exception] call to raise | raise.rb:117:11:117:22 | [ensure: exception] "b2 is true" | -| raise.rb:117:5:117:22 | [ensure: return] call to raise | raise.rb:117:11:117:22 | [ensure: return] "b2 is true" | | raise.rb:117:5:117:22 | call to raise | raise.rb:117:11:117:22 | "b2 is true" | | raise.rb:121:14:121:30 | call to raise | raise.rb:121:20:121:30 | "Exception" | | raise.rb:125:3:125:51 | call to puts | raise.rb:125:8:125:51 | "Will not get executed if p is..." | | raise.rb:131:7:131:22 | call to raise | raise.rb:131:13:131:22 | ExceptionA | | raise.rb:135:5:135:21 | call to puts | raise.rb:135:10:135:21 | "ExceptionB" | -| raise.rb:137:5:137:17 | [ensure: exception] call to puts | raise.rb:137:10:137:17 | [ensure: exception] "Ensure" | | raise.rb:137:5:137:17 | call to puts | raise.rb:137:10:137:17 | "Ensure" | | raise.rb:139:3:139:16 | call to puts | raise.rb:139:8:139:16 | "End m11" | | raise.rb:144:5:144:12 | call to raise | raise.rb:144:11:144:12 | "" | @@ -367,8 +333,7 @@ positionalArguments | raise.rb:160:5:162:7 | call to bar | raise.rb:160:9:162:7 | -> { ... } | | raise.rb:161:7:161:14 | call to raise | raise.rb:161:13:161:14 | "" | | raise.rb:168:5:168:12 | call to raise | raise.rb:168:11:168:12 | "" | -| raise.rb:174:8:174:23 | [false] ... \|\| ... | raise.rb:174:14:174:23 | ... == ... | -| raise.rb:174:8:174:23 | [true] ... \|\| ... | raise.rb:174:14:174:23 | ... == ... | +| raise.rb:174:8:174:23 | ... \|\| ... | raise.rb:174:14:174:23 | ... == ... | | raise.rb:174:14:174:23 | ... == ... | raise.rb:174:20:174:23 | true | keywordArguments | cfg.html.erb:6:9:6:58 | call to stylesheet_link_tag | media | cfg.html.erb:6:54:6:58 | "all" | 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 1a70b535dc81..ff46e1293822 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 @@ -23,12 +23,10 @@ newStyleBarrierGuards | barrier-guards.rb:191:20:191:31 | [input] SSA phi read(foo) | | barrier-guards.rb:192:5:192:7 | foo | | barrier-guards.rb:195:4:195:15 | [input] SSA phi read(foo) | -| barrier-guards.rb:195:4:195:31 | [input] SSA phi read(foo) | | barrier-guards.rb:195:20:195:31 | [input] SSA phi read(foo) | | barrier-guards.rb:195:36:195:47 | [input] SSA phi read(foo) | | barrier-guards.rb:196:5:196:7 | foo | | barrier-guards.rb:199:4:199:15 | [input] SSA phi read(foo) | -| barrier-guards.rb:199:4:199:31 | [input] SSA phi read(foo) | | barrier-guards.rb:199:20:199:31 | [input] SSA phi read(foo) | | barrier-guards.rb:203:36:203:47 | [input] SSA phi read(foo) | | barrier-guards.rb:208:5:208:7 | foo | @@ -55,323 +53,255 @@ newStyleBarrierGuards | barrier_flow.rb:68:10:71:11 | [input] SSA phi read(x) | | barrier_flow.rb:72:5:75:11 | [input] SSA phi read(x) | controls -| barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:4:5:4:7 | foo | true | -| barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:6:5:6:7 | foo | false | -| barrier-guards.rb:9:4:9:24 | call to include? | barrier-guards.rb:10:5:10:7 | foo | true | -| barrier-guards.rb:9:4:9:24 | call to include? | barrier-guards.rb:12:5:12:7 | foo | false | -| barrier-guards.rb:15:4:15:15 | ... != ... | barrier-guards.rb:16:5:16:7 | foo | true | -| barrier-guards.rb:15:4:15:15 | ... != ... | barrier-guards.rb:18:5:18:7 | foo | false | -| barrier-guards.rb:21:8:21:19 | ... == ... | barrier-guards.rb:22:5:22:7 | foo | false | -| barrier-guards.rb:21:8:21:19 | ... == ... | barrier-guards.rb:24:5:24:7 | foo | true | -| barrier-guards.rb:27:8:27:19 | ... != ... | barrier-guards.rb:28:5:28:7 | foo | false | -| barrier-guards.rb:27:8:27:19 | ... != ... | barrier-guards.rb:30:5:30:7 | foo | true | -| barrier-guards.rb:37:4:37:20 | call to include? | barrier-guards.rb:38:5:38:7 | foo | true | -| barrier-guards.rb:37:4:37:20 | call to include? | barrier-guards.rb:40:5:40:7 | foo | false | -| barrier-guards.rb:43:4:43:15 | ... == ... | barrier-guards.rb:44:5:46:5 | self | true | -| barrier-guards.rb:49:4:49:15 | ... == ... | barrier-guards.rb:50:5:53:5 | self | true | -| barrier-guards.rb:56:4:56:15 | ... == ... | barrier-guards.rb:57:5:57:13 | my_lambda | true | -| barrier-guards.rb:70:4:70:21 | call to include? | barrier-guards.rb:71:5:71:7 | foo | true | -| barrier-guards.rb:70:4:70:21 | call to include? | barrier-guards.rb:73:5:73:7 | foo | false | -| barrier-guards.rb:76:4:76:21 | call to include? | barrier-guards.rb:77:5:77:7 | foo | true | -| barrier-guards.rb:76:4:76:21 | call to include? | barrier-guards.rb:79:5:79:7 | foo | false | -| barrier-guards.rb:82:4:82:25 | ... != ... | barrier-guards.rb:83:5:83:7 | foo | true | -| barrier-guards.rb:82:4:82:25 | ... != ... | barrier-guards.rb:85:5:85:7 | foo | false | -| barrier-guards.rb:88:4:88:25 | ... == ... | barrier-guards.rb:89:5:89:7 | foo | true | -| barrier-guards.rb:88:4:88:25 | ... == ... | barrier-guards.rb:91:5:91:7 | foo | false | -| barrier-guards.rb:96:4:96:12 | call to condition | barrier-guards.rb:97:5:97:8 | bars | true | -| barrier-guards.rb:100:4:100:21 | call to include? | barrier-guards.rb:101:5:101:7 | foo | true | -| barrier-guards.rb:100:4:100:21 | call to include? | barrier-guards.rb:103:5:103:7 | foo | false | -| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:4:106:9 | [false] ... or ... | false | -| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:9:106:9 | self | false | -| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:109:5:109:8 | bars | false | -| barrier-guards.rb:106:4:106:9 | [false] ... or ... | barrier-guards.rb:109:5:109:8 | bars | false | -| barrier-guards.rb:106:4:106:9 | [true] ... or ... | barrier-guards.rb:107:5:107:7 | foo | true | -| barrier-guards.rb:106:9:106:9 | call to y | barrier-guards.rb:106:4:106:9 | [false] ... or ... | false | -| barrier-guards.rb:106:9:106:9 | call to y | barrier-guards.rb:109:5:109:8 | bars | false | -| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:4:112:10 | [true] ... and ... | true | -| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:10:112:10 | self | true | -| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:113:5:113:7 | foo | true | -| barrier-guards.rb:112:4:112:10 | [false] ... and ... | barrier-guards.rb:115:5:115:8 | bars | false | -| barrier-guards.rb:112:4:112:10 | [true] ... and ... | barrier-guards.rb:113:5:113:7 | foo | true | -| barrier-guards.rb:112:10:112:10 | call to y | barrier-guards.rb:112:4:112:10 | [true] ... and ... | true | -| barrier-guards.rb:112:10:112:10 | call to y | barrier-guards.rb:113:5:113:7 | foo | true | -| barrier-guards.rb:118:4:118:8 | [false] not ... | barrier-guards.rb:121:5:121:8 | bars | false | -| barrier-guards.rb:118:4:118:8 | [true] not ... | barrier-guards.rb:119:5:119:7 | foo | true | -| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:118:4:118:8 | [false] not ... | true | -| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:118:4:118:8 | [true] not ... | false | -| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:119:5:119:7 | foo | false | -| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:121:5:121:8 | bars | true | -| barrier-guards.rb:125:1:126:19 | [match] when ... | barrier-guards.rb:126:5:126:7 | foo | match | -| barrier-guards.rb:125:1:126:19 | [no-match] when ... | barrier-guards.rb:128:5:128:7 | foo | no-match | -| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:125:1:126:19 | [match] when ... | match | -| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:125:1:126:19 | [no-match] when ... | no-match | -| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:126:5:126:7 | foo | match | -| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:128:5:128:7 | foo | no-match | -| barrier-guards.rb:132:1:133:19 | [match] when ... | barrier-guards.rb:133:5:133:7 | foo | match | -| barrier-guards.rb:132:1:133:19 | [no-match] when ... | barrier-guards.rb:134:1:135:19 | [match] when ... | no-match | -| barrier-guards.rb:132:1:133:19 | [no-match] when ... | barrier-guards.rb:134:1:135:19 | [no-match] when ... | no-match | -| barrier-guards.rb:132:1:133:19 | [no-match] when ... | barrier-guards.rb:134:7:134:9 | bar | no-match | -| barrier-guards.rb:132:1:133:19 | [no-match] when ... | barrier-guards.rb:135:5:135:7 | foo | no-match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:132:1:133:19 | [match] when ... | match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:132:1:133:19 | [no-match] when ... | no-match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:133:5:133:7 | foo | match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:134:1:135:19 | [match] when ... | no-match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:134:1:135:19 | [no-match] when ... | no-match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:134:7:134:9 | bar | no-match | -| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:135:5:135:7 | foo | no-match | -| barrier-guards.rb:134:1:135:19 | [match] when ... | barrier-guards.rb:135:5:135:7 | foo | match | -| barrier-guards.rb:134:6:134:10 | "bar" | barrier-guards.rb:134:1:135:19 | [match] when ... | match | -| barrier-guards.rb:134:6:134:10 | "bar" | barrier-guards.rb:134:1:135:19 | [no-match] when ... | no-match | -| barrier-guards.rb:134:6:134:10 | "bar" | barrier-guards.rb:135:5:135:7 | foo | match | -| barrier-guards.rb:139:1:140:19 | [match] when ... | barrier-guards.rb:140:5:140:7 | foo | match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:141:1:142:19 | [match] when ... | no-match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:141:1:142:19 | [no-match] when ... | no-match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:141:7:141:9 | baz | no-match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:141:14:141:17 | quux | no-match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:142:5:142:7 | foo | no-match | -| barrier-guards.rb:139:1:140:19 | [no-match] when ... | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:1:140:19 | [no-match] when ... | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:14:139:16 | bar | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:1:142:19 | [match] when ... | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:1:142:19 | [no-match] when ... | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:7:141:9 | baz | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:14:141:17 | quux | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:142:5:142:7 | foo | no-match | -| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:139:1:140:19 | [no-match] when ... | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:1:142:19 | [match] when ... | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:1:142:19 | [no-match] when ... | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:7:141:9 | baz | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:14:141:17 | quux | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:142:5:142:7 | foo | no-match | -| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:141:1:142:19 | [match] when ... | barrier-guards.rb:142:5:142:7 | foo | match | -| barrier-guards.rb:141:1:142:19 | [no-match] when ... | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:1:142:19 | [no-match] when ... | no-match | -| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:14:141:17 | quux | no-match | -| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:141:13:141:18 | "quux" | barrier-guards.rb:141:1:142:19 | [no-match] when ... | no-match | -| barrier-guards.rb:141:13:141:18 | "quux" | barrier-guards.rb:144:5:144:7 | foo | no-match | -| barrier-guards.rb:148:1:149:19 | [match] when ... | barrier-guards.rb:149:5:149:7 | foo | match | -| barrier-guards.rb:148:6:148:20 | * ... | barrier-guards.rb:148:1:149:19 | [match] when ... | match | -| barrier-guards.rb:148:6:148:20 | * ... | barrier-guards.rb:148:1:149:19 | [no-match] when ... | no-match | -| barrier-guards.rb:148:6:148:20 | * ... | barrier-guards.rb:149:5:149:7 | foo | match | -| barrier-guards.rb:153:1:154:19 | [match] when ... | barrier-guards.rb:154:5:154:7 | foo | match | -| barrier-guards.rb:153:6:153:17 | * ... | barrier-guards.rb:153:1:154:19 | [match] when ... | match | -| barrier-guards.rb:153:6:153:17 | * ... | barrier-guards.rb:153:1:154:19 | [no-match] when ... | no-match | -| barrier-guards.rb:153:6:153:17 | * ... | barrier-guards.rb:154:5:154:7 | foo | match | -| barrier-guards.rb:158:1:159:19 | [match] when ... | barrier-guards.rb:159:5:159:7 | foo | match | -| barrier-guards.rb:158:6:158:9 | * ... | barrier-guards.rb:158:1:159:19 | [match] when ... | match | -| barrier-guards.rb:158:6:158:9 | * ... | barrier-guards.rb:158:1:159:19 | [no-match] when ... | no-match | -| barrier-guards.rb:158:6:158:9 | * ... | barrier-guards.rb:159:5:159:7 | foo | match | -| barrier-guards.rb:163:1:164:19 | [match] when ... | barrier-guards.rb:164:5:164:7 | foo | match | -| barrier-guards.rb:163:6:163:10 | * ... | barrier-guards.rb:163:1:164:19 | [match] when ... | match | -| barrier-guards.rb:163:6:163:10 | * ... | barrier-guards.rb:163:1:164:19 | [no-match] when ... | no-match | -| barrier-guards.rb:163:6:163:10 | * ... | barrier-guards.rb:164:5:164:7 | foo | match | -| barrier-guards.rb:168:1:169:7 | [match] when ... | barrier-guards.rb:169:5:169:7 | foo | match | -| barrier-guards.rb:168:6:168:16 | * ... | barrier-guards.rb:168:1:169:7 | [match] when ... | match | -| barrier-guards.rb:168:6:168:16 | * ... | barrier-guards.rb:168:1:169:7 | [no-match] when ... | no-match | -| barrier-guards.rb:168:6:168:16 | * ... | barrier-guards.rb:169:5:169:7 | foo | match | -| barrier-guards.rb:173:1:174:7 | [match] when ... | barrier-guards.rb:174:5:174:7 | foo | match | -| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:1:174:7 | [no-match] when ... | no-match | -| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:13:173:13 | self | no-match | -| barrier-guards.rb:173:13:173:13 | call to x | barrier-guards.rb:173:1:174:7 | [no-match] when ... | no-match | -| barrier-guards.rb:180:1:181:7 | [match] when ... | barrier-guards.rb:181:5:181:7 | foo | match | -| barrier-guards.rb:180:6:180:15 | * ... | barrier-guards.rb:180:1:181:7 | [match] when ... | match | -| barrier-guards.rb:180:6:180:15 | * ... | barrier-guards.rb:180:1:181:7 | [no-match] when ... | no-match | -| barrier-guards.rb:180:6:180:15 | * ... | barrier-guards.rb:181:5:181:7 | foo | match | -| barrier-guards.rb:187:1:188:7 | [match] when ... | barrier-guards.rb:188:5:188:7 | foo | match | -| barrier-guards.rb:187:6:187:15 | * ... | barrier-guards.rb:187:1:188:7 | [match] when ... | match | -| barrier-guards.rb:187:6:187:15 | * ... | barrier-guards.rb:187:1:188:7 | [no-match] when ... | no-match | -| barrier-guards.rb:187:6:187:15 | * ... | barrier-guards.rb:188:5:188:7 | foo | match | -| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:4:191:31 | [false] ... or ... | false | -| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:20:191:22 | foo | false | -| barrier-guards.rb:191:4:191:31 | [true] ... or ... | barrier-guards.rb:192:5:192:7 | foo | true | -| barrier-guards.rb:191:20:191:31 | ... == ... | barrier-guards.rb:191:4:191:31 | [false] ... or ... | false | -| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:4:195:31 | [false] ... or ... | false | -| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:4:195:47 | [false] ... or ... | false | -| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:20:195:22 | foo | false | -| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:36:195:38 | foo | false | -| barrier-guards.rb:195:4:195:31 | [false] ... or ... | barrier-guards.rb:195:4:195:47 | [false] ... or ... | false | -| barrier-guards.rb:195:4:195:31 | [false] ... or ... | barrier-guards.rb:195:36:195:38 | foo | false | -| barrier-guards.rb:195:4:195:47 | [true] ... or ... | barrier-guards.rb:196:5:196:7 | foo | true | -| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:4:195:31 | [false] ... or ... | false | -| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:4:195:47 | [false] ... or ... | false | -| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:36:195:38 | foo | false | -| barrier-guards.rb:195:36:195:47 | ... == ... | barrier-guards.rb:195:4:195:47 | [false] ... or ... | false | -| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:4:199:31 | [false] ... or ... | false | -| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:4:199:43 | [false] ... or ... | false | -| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:20:199:22 | foo | false | -| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:36:199:38 | foo | false | -| barrier-guards.rb:199:4:199:31 | [false] ... or ... | barrier-guards.rb:199:4:199:43 | [false] ... or ... | false | -| barrier-guards.rb:199:4:199:31 | [false] ... or ... | barrier-guards.rb:199:36:199:38 | foo | false | -| barrier-guards.rb:199:4:199:43 | [true] ... or ... | barrier-guards.rb:200:5:200:7 | foo | true | -| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:4:199:31 | [false] ... or ... | false | -| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:4:199:43 | [false] ... or ... | false | -| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:36:199:38 | foo | false | -| barrier-guards.rb:199:36:199:43 | ... == ... | barrier-guards.rb:199:4:199:43 | [false] ... or ... | false | -| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:4:203:31 | [false] ... or ... | false | -| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:4:203:47 | [false] ... or ... | false | -| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:20:203:22 | self | false | -| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:36:203:38 | foo | false | -| barrier-guards.rb:203:4:203:31 | [false] ... or ... | barrier-guards.rb:203:4:203:47 | [false] ... or ... | false | -| barrier-guards.rb:203:4:203:31 | [false] ... or ... | barrier-guards.rb:203:36:203:38 | foo | false | -| barrier-guards.rb:203:4:203:47 | [true] ... or ... | barrier-guards.rb:204:5:204:7 | foo | true | -| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:4:203:31 | [false] ... or ... | false | -| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:4:203:47 | [false] ... or ... | false | -| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:36:203:38 | foo | false | -| barrier-guards.rb:203:36:203:47 | ... == ... | barrier-guards.rb:203:4:203:47 | [false] ... or ... | false | -| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:4:207:21 | [true] ... and ... | true | -| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:21:207:21 | self | true | -| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:208:5:208:7 | foo | true | -| barrier-guards.rb:207:4:207:21 | [true] ... and ... | barrier-guards.rb:208:5:208:7 | foo | true | -| barrier-guards.rb:207:21:207:21 | call to x | barrier-guards.rb:207:4:207:21 | [true] ... and ... | true | -| barrier-guards.rb:207:21:207:21 | call to x | barrier-guards.rb:208:5:208:7 | foo | true | -| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:4:211:21 | [true] ... and ... | true | -| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:10:211:12 | foo | true | -| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:212:5:212:7 | foo | true | -| barrier-guards.rb:211:4:211:21 | [true] ... and ... | barrier-guards.rb:212:5:212:7 | foo | true | -| barrier-guards.rb:211:10:211:21 | ... == ... | barrier-guards.rb:211:4:211:21 | [true] ... and ... | true | -| barrier-guards.rb:211:10:211:21 | ... == ... | barrier-guards.rb:212:5:212:7 | foo | true | -| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:4:215:10 | [true] ... and ... | true | -| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:4:215:27 | [true] ... and ... | true | -| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:10:215:10 | self | true | -| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:16:215:18 | foo | true | -| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:216:5:216:7 | foo | true | -| barrier-guards.rb:215:4:215:10 | [true] ... and ... | barrier-guards.rb:215:4:215:27 | [true] ... and ... | true | -| barrier-guards.rb:215:4:215:10 | [true] ... and ... | barrier-guards.rb:215:16:215:18 | foo | true | -| barrier-guards.rb:215:4:215:10 | [true] ... and ... | barrier-guards.rb:216:5:216:7 | foo | true | -| barrier-guards.rb:215:4:215:27 | [true] ... and ... | barrier-guards.rb:216:5:216:7 | foo | true | -| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:4:215:10 | [true] ... and ... | true | -| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:4:215:27 | [true] ... and ... | true | -| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:16:215:18 | foo | true | -| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:216:5:216:7 | foo | true | -| barrier-guards.rb:215:16:215:27 | ... == ... | barrier-guards.rb:215:4:215:27 | [true] ... and ... | true | -| barrier-guards.rb:215:16:215:27 | ... == ... | barrier-guards.rb:216:5:216:7 | foo | true | -| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:4:219:32 | [true] ... and ... | true | -| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:21:219:23 | foo | true | -| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:220:5:220:7 | foo | true | -| barrier-guards.rb:219:4:219:32 | [true] ... and ... | barrier-guards.rb:220:5:220:7 | foo | true | -| barrier-guards.rb:219:21:219:32 | ... == ... | barrier-guards.rb:219:4:219:32 | [true] ... and ... | true | -| barrier-guards.rb:219:21:219:32 | ... == ... | barrier-guards.rb:220:5:220:7 | foo | true | -| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:4:223:10 | [true] ... and ... | true | -| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:10:223:10 | self | true | -| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:224:5:224:7 | foo | true | -| barrier-guards.rb:223:4:223:10 | [true] ... and ... | barrier-guards.rb:224:5:224:7 | foo | true | -| barrier-guards.rb:223:10:223:10 | call to y | barrier-guards.rb:223:4:223:10 | [true] ... and ... | true | -| barrier-guards.rb:223:10:223:10 | call to y | barrier-guards.rb:224:5:224:7 | foo | true | -| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:4:227:21 | [true] ... and ... | true | -| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:21:227:21 | self | true | -| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:228:5:228:7 | self | true | -| barrier-guards.rb:227:4:227:21 | [true] ... and ... | barrier-guards.rb:228:5:228:7 | self | true | -| barrier-guards.rb:227:21:227:21 | call to y | barrier-guards.rb:227:4:227:21 | [true] ... and ... | true | -| barrier-guards.rb:227:21:227:21 | call to y | barrier-guards.rb:228:5:228:7 | self | true | -| barrier-guards.rb:232:1:233:19 | [match] when ... | barrier-guards.rb:233:5:233:7 | foo | match | -| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:1:233:19 | [match] when ... | match | -| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:1:233:19 | [no-match] when ... | no-match | -| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:233:5:233:7 | foo | match | -| barrier-guards.rb:237:1:237:38 | [match] when ... | barrier-guards.rb:237:24:237:26 | foo | match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:238:1:238:26 | [match] when ... | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:238:1:238:26 | [no-match] when ... | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:238:6:238:8 | self | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:238:24:238:26 | foo | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:239:1:239:22 | [match] when ... | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:239:1:239:22 | [no-match] when ... | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:239:6:239:8 | foo | no-match | -| barrier-guards.rb:237:1:237:38 | [no-match] when ... | barrier-guards.rb:239:20:239:22 | foo | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:1:237:38 | [match] when ... | match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:1:237:38 | [no-match] when ... | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:24:237:26 | foo | match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [match] when ... | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [no-match] when ... | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:6:238:8 | self | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:24:238:26 | foo | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [match] when ... | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [no-match] when ... | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:6:239:8 | foo | no-match | -| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | no-match | -| barrier-guards.rb:238:1:238:26 | [match] when ... | barrier-guards.rb:238:24:238:26 | foo | match | -| barrier-guards.rb:238:1:238:26 | [no-match] when ... | barrier-guards.rb:239:1:239:22 | [match] when ... | no-match | -| barrier-guards.rb:238:1:238:26 | [no-match] when ... | barrier-guards.rb:239:1:239:22 | [no-match] when ... | no-match | -| barrier-guards.rb:238:1:238:26 | [no-match] when ... | barrier-guards.rb:239:6:239:8 | foo | no-match | -| barrier-guards.rb:238:1:238:26 | [no-match] when ... | barrier-guards.rb:239:20:239:22 | foo | no-match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [match] when ... | match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [no-match] when ... | no-match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:24:238:26 | foo | match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [match] when ... | no-match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [no-match] when ... | no-match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:6:239:8 | foo | no-match | -| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | no-match | -| barrier-guards.rb:239:1:239:22 | [match] when ... | barrier-guards.rb:239:20:239:22 | foo | match | -| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:1:239:22 | [match] when ... | match | -| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:1:239:22 | [no-match] when ... | no-match | -| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | match | -| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:244:5:244:7 | foo | match | -| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:245:1:246:7 | in ... then ... | no-match | -| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:246:5:246:7 | foo | no-match | -| barrier-guards.rb:245:4:245:4 | x | barrier-guards.rb:246:5:246:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:251:5:251:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:254:1:256:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:255:5:255:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:259:1:261:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:260:5:260:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:264:1:266:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:265:5:265:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:268:1:270:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:269:5:269:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:272:1:272:19 | ... && ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:272:17:272:19 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:273:1:273:19 | ... && ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:273:8:273:10 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:275:1:277:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:276:5:276:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:281:1:283:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:282:5:282:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:286:1:288:3 | if ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:287:5:287:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:290:1:295:3 | case ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:291:1:292:19 | [match] when ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:291:1:292:19 | [no-match] when ... | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:292:5:292:7 | foo | match | -| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:294:5:294:7 | foo | match | -| barrier-guards.rb:254:4:254:28 | ... == ... | barrier-guards.rb:255:5:255:7 | foo | true | -| barrier-guards.rb:259:4:259:16 | ... == ... | barrier-guards.rb:260:5:260:7 | foo | true | -| barrier-guards.rb:264:4:264:16 | ... == ... | barrier-guards.rb:265:5:265:7 | foo | true | -| barrier-guards.rb:268:4:268:30 | ... == ... | barrier-guards.rb:269:5:269:7 | foo | true | -| barrier-guards.rb:272:1:272:12 | ... == ... | barrier-guards.rb:272:17:272:19 | foo | true | -| barrier-guards.rb:273:1:273:3 | foo | barrier-guards.rb:273:8:273:10 | foo | true | -| barrier-guards.rb:275:4:275:19 | call to include? | barrier-guards.rb:276:5:276:7 | foo | true | -| barrier-guards.rb:281:4:281:20 | call to include? | barrier-guards.rb:282:5:282:7 | foo | true | -| barrier-guards.rb:286:4:286:20 | call to include? | barrier-guards.rb:287:5:287:7 | foo | true | -| barrier-guards.rb:291:1:292:19 | [match] when ... | barrier-guards.rb:292:5:292:7 | foo | match | -| barrier-guards.rb:291:1:292:19 | [no-match] when ... | barrier-guards.rb:294:5:294:7 | foo | no-match | -| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:291:1:292:19 | [match] when ... | match | -| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:291:1:292:19 | [no-match] when ... | no-match | -| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:292:5:292:7 | foo | match | -| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:294:5:294:7 | foo | no-match | -| barrier_flow.rb:10:8:10:18 | ... != ... | barrier_flow.rb:11:9:11:14 | self | true | -| barrier_flow.rb:18:8:18:18 | ... == ... | barrier_flow.rb:19:9:19:14 | self | true | -| barrier_flow.rb:26:19:26:29 | ... == ... | barrier_flow.rb:26:5:26:10 | self | false | -| barrier_flow.rb:32:19:32:29 | ... != ... | barrier_flow.rb:32:5:32:10 | self | false | -| barrier_flow.rb:38:8:38:18 | ... != ... | barrier_flow.rb:39:9:39:9 | x | true | -| barrier_flow.rb:48:23:48:33 | ... == ... | barrier_flow.rb:48:5:48:5 | x | false | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:57:9:57:14 | return | true | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:57:9:57:34 | ... unless ... | true | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:57:23:57:23 | x | true | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:59:9:59:14 | return | false | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:59:9:59:34 | ... unless ... | false | -| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:59:23:59:23 | x | false | -| barrier_flow.rb:57:23:57:34 | ... == ... | barrier_flow.rb:57:9:57:14 | return | false | -| barrier_flow.rb:57:23:57:34 | ... == ... | barrier_flow.rb:57:9:57:34 | ... unless ... | true | -| barrier_flow.rb:59:23:59:34 | ... == ... | barrier_flow.rb:59:9:59:14 | return | false | -| barrier_flow.rb:59:23:59:34 | ... == ... | barrier_flow.rb:59:9:59:34 | ... unless ... | true | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:69:9:71:11 | if ... | true | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:69:12:69:12 | x | true | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:70:13:70:18 | return | true | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:73:9:75:11 | if ... | false | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:73:12:73:12 | x | false | -| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:74:13:74:18 | return | false | -| barrier_flow.rb:69:12:69:23 | ... != ... | barrier_flow.rb:69:9:71:11 | if ... | false | -| barrier_flow.rb:69:12:69:23 | ... != ... | barrier_flow.rb:70:13:70:18 | return | true | -| barrier_flow.rb:73:12:73:23 | ... != ... | barrier_flow.rb:73:9:75:11 | if ... | false | -| barrier_flow.rb:73:12:73:23 | ... != ... | barrier_flow.rb:74:13:74:18 | return | true | +| barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:3:4:3:15 | After ... == ... [false] | false | +| barrier-guards.rb:3:4:3:15 | ... == ... | barrier-guards.rb:3:4:3:15 | After ... == ... [true] | true | +| barrier-guards.rb:9:4:9:24 | call to include? | barrier-guards.rb:9:4:9:24 | After call to include? [false] | false | +| barrier-guards.rb:9:4:9:24 | call to include? | barrier-guards.rb:9:4:9:24 | After call to include? [true] | true | +| barrier-guards.rb:15:4:15:15 | ... != ... | barrier-guards.rb:15:4:15:15 | After ... != ... [false] | false | +| barrier-guards.rb:15:4:15:15 | ... != ... | barrier-guards.rb:15:4:15:15 | After ... != ... [true] | true | +| barrier-guards.rb:21:8:21:19 | ... == ... | barrier-guards.rb:21:8:21:19 | After ... == ... [false] | false | +| barrier-guards.rb:21:8:21:19 | ... == ... | barrier-guards.rb:21:8:21:19 | After ... == ... [true] | true | +| barrier-guards.rb:27:8:27:19 | ... != ... | barrier-guards.rb:27:8:27:19 | After ... != ... [false] | false | +| barrier-guards.rb:27:8:27:19 | ... != ... | barrier-guards.rb:27:8:27:19 | After ... != ... [true] | true | +| barrier-guards.rb:37:4:37:20 | call to include? | barrier-guards.rb:37:4:37:20 | After call to include? [false] | false | +| barrier-guards.rb:37:4:37:20 | call to include? | barrier-guards.rb:37:4:37:20 | After call to include? [true] | true | +| barrier-guards.rb:43:4:43:15 | ... == ... | barrier-guards.rb:43:4:43:15 | After ... == ... [false] | false | +| barrier-guards.rb:43:4:43:15 | ... == ... | barrier-guards.rb:43:4:43:15 | After ... == ... [true] | true | +| barrier-guards.rb:49:4:49:15 | ... == ... | barrier-guards.rb:49:4:49:15 | After ... == ... [false] | false | +| barrier-guards.rb:49:4:49:15 | ... == ... | barrier-guards.rb:49:4:49:15 | After ... == ... [true] | true | +| barrier-guards.rb:56:4:56:15 | ... == ... | barrier-guards.rb:56:4:56:15 | After ... == ... [false] | false | +| barrier-guards.rb:56:4:56:15 | ... == ... | barrier-guards.rb:56:4:56:15 | After ... == ... [true] | true | +| barrier-guards.rb:70:4:70:21 | call to include? | barrier-guards.rb:70:4:70:21 | After call to include? [false] | false | +| barrier-guards.rb:70:4:70:21 | call to include? | barrier-guards.rb:70:4:70:21 | After call to include? [true] | true | +| barrier-guards.rb:76:4:76:21 | call to include? | barrier-guards.rb:76:4:76:21 | After call to include? [false] | false | +| barrier-guards.rb:76:4:76:21 | call to include? | barrier-guards.rb:76:4:76:21 | After call to include? [true] | true | +| barrier-guards.rb:82:4:82:25 | ... != ... | barrier-guards.rb:82:4:82:25 | After ... != ... [false] | false | +| barrier-guards.rb:82:4:82:25 | ... != ... | barrier-guards.rb:82:4:82:25 | After ... != ... [true] | true | +| barrier-guards.rb:88:4:88:25 | ... == ... | barrier-guards.rb:88:4:88:25 | After ... == ... [false] | false | +| barrier-guards.rb:88:4:88:25 | ... == ... | barrier-guards.rb:88:4:88:25 | After ... == ... [true] | true | +| barrier-guards.rb:96:4:96:12 | call to condition | barrier-guards.rb:96:4:96:12 | After call to condition [false] | false | +| barrier-guards.rb:96:4:96:12 | call to condition | barrier-guards.rb:96:4:96:12 | After call to condition [true] | true | +| barrier-guards.rb:100:4:100:21 | call to include? | barrier-guards.rb:100:4:100:21 | After call to include? [false] | false | +| barrier-guards.rb:100:4:100:21 | call to include? | barrier-guards.rb:100:4:100:21 | After call to include? [true] | true | +| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:4:106:4 | After call to x [false] | false | +| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:4:106:4 | After call to x [true] | true | +| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:9:106:9 | After call to y [false] | false | +| barrier-guards.rb:106:4:106:4 | call to x | barrier-guards.rb:106:9:106:9 | After call to y [true] | false | +| barrier-guards.rb:106:9:106:9 | call to y | barrier-guards.rb:106:9:106:9 | After call to y [false] | false | +| barrier-guards.rb:106:9:106:9 | call to y | barrier-guards.rb:106:9:106:9 | After call to y [true] | true | +| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:4:112:4 | After call to x [false] | false | +| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:4:112:4 | After call to x [true] | true | +| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:10:112:10 | After call to y [false] | true | +| barrier-guards.rb:112:4:112:4 | call to x | barrier-guards.rb:112:10:112:10 | After call to y [true] | true | +| barrier-guards.rb:112:10:112:10 | call to y | barrier-guards.rb:112:10:112:10 | After call to y [false] | false | +| barrier-guards.rb:112:10:112:10 | call to y | barrier-guards.rb:112:10:112:10 | After call to y [true] | true | +| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:118:8:118:8 | After call to x [false] | false | +| barrier-guards.rb:118:8:118:8 | call to x | barrier-guards.rb:118:8:118:8 | After call to x [true] | true | +| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:125:6:125:10 | After "foo" [match] | match | +| barrier-guards.rb:125:6:125:10 | "foo" | barrier-guards.rb:125:6:125:10 | After "foo" [no-match] | no-match | +| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:132:6:132:10 | After "foo" [match] | match | +| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:132:6:132:10 | After "foo" [no-match] | no-match | +| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:134:6:134:10 | After "bar" [match] | no-match | +| barrier-guards.rb:132:6:132:10 | "foo" | barrier-guards.rb:134:6:134:10 | After "bar" [no-match] | no-match | +| barrier-guards.rb:134:6:134:10 | "bar" | barrier-guards.rb:134:6:134:10 | After "bar" [match] | match | +| barrier-guards.rb:134:6:134:10 | "bar" | barrier-guards.rb:134:6:134:10 | After "bar" [no-match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:6:139:10 | After "foo" [match] | match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:6:139:10 | After "foo" [no-match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:13:139:17 | After "bar" [match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:139:13:139:17 | After "bar" [no-match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:1:142:19 | After when ... [match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:6:141:10 | After "baz" [match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:6:141:10 | After "baz" [no-match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:13:141:18 | After "quux" [match] | no-match | +| barrier-guards.rb:139:6:139:10 | "foo" | barrier-guards.rb:141:13:141:18 | After "quux" [no-match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:139:13:139:17 | After "bar" [match] | match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:139:13:139:17 | After "bar" [no-match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:1:142:19 | After when ... [match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:6:141:10 | After "baz" [match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:6:141:10 | After "baz" [no-match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:13:141:18 | After "quux" [match] | no-match | +| barrier-guards.rb:139:13:139:17 | "bar" | barrier-guards.rb:141:13:141:18 | After "quux" [no-match] | no-match | +| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:6:141:10 | After "baz" [match] | match | +| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:6:141:10 | After "baz" [no-match] | no-match | +| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:13:141:18 | After "quux" [match] | no-match | +| barrier-guards.rb:141:6:141:10 | "baz" | barrier-guards.rb:141:13:141:18 | After "quux" [no-match] | no-match | +| barrier-guards.rb:141:13:141:18 | "quux" | barrier-guards.rb:141:13:141:18 | After "quux" [match] | match | +| barrier-guards.rb:141:13:141:18 | "quux" | barrier-guards.rb:141:13:141:18 | After "quux" [no-match] | no-match | +| barrier-guards.rb:148:6:148:20 | * ... | barrier-guards.rb:148:6:148:20 | After * ... [match] | match | +| barrier-guards.rb:148:6:148:20 | * ... | barrier-guards.rb:148:6:148:20 | After * ... [no-match] | no-match | +| barrier-guards.rb:153:6:153:17 | * ... | barrier-guards.rb:153:6:153:17 | After * ... [match] | match | +| barrier-guards.rb:153:6:153:17 | * ... | barrier-guards.rb:153:6:153:17 | After * ... [no-match] | no-match | +| barrier-guards.rb:158:6:158:9 | * ... | barrier-guards.rb:158:6:158:9 | After * ... [match] | match | +| barrier-guards.rb:158:6:158:9 | * ... | barrier-guards.rb:158:6:158:9 | After * ... [no-match] | no-match | +| barrier-guards.rb:163:6:163:10 | * ... | barrier-guards.rb:163:6:163:10 | After * ... [match] | match | +| barrier-guards.rb:163:6:163:10 | * ... | barrier-guards.rb:163:6:163:10 | After * ... [no-match] | no-match | +| barrier-guards.rb:168:6:168:16 | * ... | barrier-guards.rb:168:6:168:16 | After * ... [match] | match | +| barrier-guards.rb:168:6:168:16 | * ... | barrier-guards.rb:168:6:168:16 | After * ... [no-match] | no-match | +| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:6:173:10 | After "foo" [match] | match | +| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:6:173:10 | After "foo" [no-match] | no-match | +| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:13:173:13 | After call to x [match] | no-match | +| barrier-guards.rb:173:6:173:10 | "foo" | barrier-guards.rb:173:13:173:13 | After call to x [no-match] | no-match | +| barrier-guards.rb:173:13:173:13 | call to x | barrier-guards.rb:173:13:173:13 | After call to x [match] | match | +| barrier-guards.rb:173:13:173:13 | call to x | barrier-guards.rb:173:13:173:13 | After call to x [no-match] | no-match | +| barrier-guards.rb:180:6:180:15 | * ... | barrier-guards.rb:180:6:180:15 | After * ... [match] | match | +| barrier-guards.rb:180:6:180:15 | * ... | barrier-guards.rb:180:6:180:15 | After * ... [no-match] | no-match | +| barrier-guards.rb:187:6:187:15 | * ... | barrier-guards.rb:187:6:187:15 | After * ... [match] | match | +| barrier-guards.rb:187:6:187:15 | * ... | barrier-guards.rb:187:6:187:15 | After * ... [no-match] | no-match | +| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:4:191:15 | After ... == ... [false] | false | +| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:4:191:15 | After ... == ... [true] | true | +| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:20:191:31 | After ... == ... [false] | false | +| barrier-guards.rb:191:4:191:15 | ... == ... | barrier-guards.rb:191:20:191:31 | After ... == ... [true] | false | +| barrier-guards.rb:191:20:191:31 | ... == ... | barrier-guards.rb:191:20:191:31 | After ... == ... [false] | false | +| barrier-guards.rb:191:20:191:31 | ... == ... | barrier-guards.rb:191:20:191:31 | After ... == ... [true] | true | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:4:195:15 | After ... == ... [false] | false | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:4:195:15 | After ... == ... [true] | true | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:20:195:31 | After ... == ... [false] | false | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:20:195:31 | After ... == ... [true] | false | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [false] | false | +| barrier-guards.rb:195:4:195:15 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [true] | false | +| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:20:195:31 | After ... == ... [false] | false | +| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:20:195:31 | After ... == ... [true] | true | +| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [false] | false | +| barrier-guards.rb:195:20:195:31 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [true] | false | +| barrier-guards.rb:195:36:195:47 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [false] | false | +| barrier-guards.rb:195:36:195:47 | ... == ... | barrier-guards.rb:195:36:195:47 | After ... == ... [true] | true | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:4:199:15 | After ... == ... [false] | false | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:4:199:15 | After ... == ... [true] | true | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:20:199:31 | After ... == ... [false] | false | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:20:199:31 | After ... == ... [true] | false | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [false] | false | +| barrier-guards.rb:199:4:199:15 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [true] | false | +| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:20:199:31 | After ... == ... [false] | false | +| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:20:199:31 | After ... == ... [true] | true | +| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [false] | false | +| barrier-guards.rb:199:20:199:31 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [true] | false | +| barrier-guards.rb:199:36:199:43 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [false] | false | +| barrier-guards.rb:199:36:199:43 | ... == ... | barrier-guards.rb:199:36:199:43 | After ... == ... [true] | true | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:4:203:15 | After ... == ... [false] | false | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:4:203:15 | After ... == ... [true] | true | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:20:203:31 | After ... == ... [false] | false | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:20:203:31 | After ... == ... [true] | false | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [false] | false | +| barrier-guards.rb:203:4:203:15 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [true] | false | +| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:20:203:31 | After ... == ... [false] | false | +| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:20:203:31 | After ... == ... [true] | true | +| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [false] | false | +| barrier-guards.rb:203:20:203:31 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [true] | false | +| barrier-guards.rb:203:36:203:47 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [false] | false | +| barrier-guards.rb:203:36:203:47 | ... == ... | barrier-guards.rb:203:36:203:47 | After ... == ... [true] | true | +| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:4:207:15 | After ... == ... [false] | false | +| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:4:207:15 | After ... == ... [true] | true | +| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:21:207:21 | After call to x [false] | true | +| barrier-guards.rb:207:4:207:15 | ... == ... | barrier-guards.rb:207:21:207:21 | After call to x [true] | true | +| barrier-guards.rb:207:21:207:21 | call to x | barrier-guards.rb:207:21:207:21 | After call to x [false] | false | +| barrier-guards.rb:207:21:207:21 | call to x | barrier-guards.rb:207:21:207:21 | After call to x [true] | true | +| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:4:211:4 | After call to x [false] | false | +| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:4:211:4 | After call to x [true] | true | +| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:10:211:21 | After ... == ... [false] | true | +| barrier-guards.rb:211:4:211:4 | call to x | barrier-guards.rb:211:10:211:21 | After ... == ... [true] | true | +| barrier-guards.rb:211:10:211:21 | ... == ... | barrier-guards.rb:211:10:211:21 | After ... == ... [false] | false | +| barrier-guards.rb:211:10:211:21 | ... == ... | barrier-guards.rb:211:10:211:21 | After ... == ... [true] | true | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:4:215:4 | After call to x [false] | false | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:4:215:4 | After call to x [true] | true | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:10:215:10 | After call to y [false] | true | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:10:215:10 | After call to y [true] | true | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:16:215:27 | After ... == ... [false] | true | +| barrier-guards.rb:215:4:215:4 | call to x | barrier-guards.rb:215:16:215:27 | After ... == ... [true] | true | +| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:10:215:10 | After call to y [false] | false | +| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:10:215:10 | After call to y [true] | true | +| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:16:215:27 | After ... == ... [false] | true | +| barrier-guards.rb:215:10:215:10 | call to y | barrier-guards.rb:215:16:215:27 | After ... == ... [true] | true | +| barrier-guards.rb:215:16:215:27 | ... == ... | barrier-guards.rb:215:16:215:27 | After ... == ... [false] | false | +| barrier-guards.rb:215:16:215:27 | ... == ... | barrier-guards.rb:215:16:215:27 | After ... == ... [true] | true | +| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:4:219:15 | After ... == ... [false] | false | +| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:4:219:15 | After ... == ... [true] | true | +| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:21:219:32 | After ... == ... [false] | true | +| barrier-guards.rb:219:4:219:15 | ... == ... | barrier-guards.rb:219:21:219:32 | After ... == ... [true] | true | +| barrier-guards.rb:219:21:219:32 | ... == ... | barrier-guards.rb:219:21:219:32 | After ... == ... [false] | false | +| barrier-guards.rb:219:21:219:32 | ... == ... | barrier-guards.rb:219:21:219:32 | After ... == ... [true] | true | +| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:4:223:4 | After call to x [false] | false | +| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:4:223:4 | After call to x [true] | true | +| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:10:223:10 | After call to y [false] | true | +| barrier-guards.rb:223:4:223:4 | call to x | barrier-guards.rb:223:10:223:10 | After call to y [true] | true | +| barrier-guards.rb:223:10:223:10 | call to y | barrier-guards.rb:223:10:223:10 | After call to y [false] | false | +| barrier-guards.rb:223:10:223:10 | call to y | barrier-guards.rb:223:10:223:10 | After call to y [true] | true | +| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:4:227:15 | After ... == ... [false] | false | +| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:4:227:15 | After ... == ... [true] | true | +| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:21:227:21 | After call to y [false] | true | +| barrier-guards.rb:227:4:227:15 | ... == ... | barrier-guards.rb:227:21:227:21 | After call to y [true] | true | +| barrier-guards.rb:227:21:227:21 | call to y | barrier-guards.rb:227:21:227:21 | After call to y [false] | false | +| barrier-guards.rb:227:21:227:21 | call to y | barrier-guards.rb:227:21:227:21 | After call to y [true] | true | +| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:6:232:17 | After ... == ... [match] | match | +| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:6:232:17 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:6:237:17 | After ... == ... [match] | match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:6:237:17 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:6:238:17 | After ... == ... [match] | no-match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:6:238:17 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [match] | no-match | +| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:6:238:17 | After ... == ... [match] | match | +| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:6:238:17 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [match] | no-match | +| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [match] | match | +| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:6:239:13 | After ... == ... [no-match] | no-match | +| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:243:4:243:8 | After "foo" [match] | match | +| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:243:4:243:8 | After "foo" [no-match] | no-match | +| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:245:4:245:4 | After x [match] | no-match | +| barrier-guards.rb:243:4:243:8 | "foo" | barrier-guards.rb:245:4:245:4 | After x [no-match] | no-match | +| barrier-guards.rb:245:4:245:4 | x | barrier-guards.rb:245:4:245:4 | After x [match] | match | +| barrier-guards.rb:245:4:245:4 | x | barrier-guards.rb:245:4:245:4 | After x [no-match] | no-match | +| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:250:4:250:8 | After "foo" [match] | match | +| barrier-guards.rb:250:4:250:8 | "foo" | barrier-guards.rb:250:4:250:8 | After "foo" [no-match] | no-match | +| barrier-guards.rb:254:4:254:28 | ... == ... | barrier-guards.rb:254:4:254:28 | After ... == ... [false] | false | +| barrier-guards.rb:254:4:254:28 | ... == ... | barrier-guards.rb:254:4:254:28 | After ... == ... [true] | true | +| barrier-guards.rb:259:4:259:16 | ... == ... | barrier-guards.rb:259:4:259:16 | After ... == ... [false] | false | +| barrier-guards.rb:259:4:259:16 | ... == ... | barrier-guards.rb:259:4:259:16 | After ... == ... [true] | true | +| barrier-guards.rb:264:4:264:16 | ... == ... | barrier-guards.rb:264:4:264:16 | After ... == ... [false] | false | +| barrier-guards.rb:264:4:264:16 | ... == ... | barrier-guards.rb:264:4:264:16 | After ... == ... [true] | true | +| barrier-guards.rb:268:4:268:30 | ... == ... | barrier-guards.rb:268:4:268:30 | After ... == ... [false] | false | +| barrier-guards.rb:268:4:268:30 | ... == ... | barrier-guards.rb:268:4:268:30 | After ... == ... [true] | true | +| barrier-guards.rb:272:1:272:12 | ... == ... | barrier-guards.rb:272:1:272:12 | After ... == ... [false] | false | +| barrier-guards.rb:272:1:272:12 | ... == ... | barrier-guards.rb:272:1:272:12 | After ... == ... [true] | true | +| barrier-guards.rb:273:1:273:3 | foo | barrier-guards.rb:273:1:273:3 | After foo [false] | false | +| barrier-guards.rb:273:1:273:3 | foo | barrier-guards.rb:273:1:273:3 | After foo [true] | true | +| barrier-guards.rb:275:4:275:19 | call to include? | barrier-guards.rb:275:4:275:19 | After call to include? [false] | false | +| barrier-guards.rb:275:4:275:19 | call to include? | barrier-guards.rb:275:4:275:19 | After call to include? [true] | true | +| barrier-guards.rb:281:4:281:20 | call to include? | barrier-guards.rb:281:4:281:20 | After call to include? [false] | false | +| barrier-guards.rb:281:4:281:20 | call to include? | barrier-guards.rb:281:4:281:20 | After call to include? [true] | true | +| barrier-guards.rb:286:4:286:20 | call to include? | barrier-guards.rb:286:4:286:20 | After call to include? [false] | false | +| barrier-guards.rb:286:4:286:20 | call to include? | barrier-guards.rb:286:4:286:20 | After call to include? [true] | true | +| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:291:6:291:6 | After g [match] | match | +| barrier-guards.rb:291:6:291:6 | g | barrier-guards.rb:291:6:291:6 | After g [no-match] | no-match | +| barrier_flow.rb:10:8:10:18 | ... != ... | barrier_flow.rb:10:8:10:18 | After ... != ... [false] | false | +| barrier_flow.rb:10:8:10:18 | ... != ... | barrier_flow.rb:10:8:10:18 | After ... != ... [true] | true | +| barrier_flow.rb:18:8:18:18 | ... == ... | barrier_flow.rb:18:8:18:18 | After ... == ... [false] | false | +| barrier_flow.rb:18:8:18:18 | ... == ... | barrier_flow.rb:18:8:18:18 | After ... == ... [true] | true | +| barrier_flow.rb:26:19:26:29 | ... == ... | barrier_flow.rb:26:19:26:29 | After ... == ... [false] | false | +| barrier_flow.rb:26:19:26:29 | ... == ... | barrier_flow.rb:26:19:26:29 | After ... == ... [true] | true | +| barrier_flow.rb:32:19:32:29 | ... != ... | barrier_flow.rb:32:19:32:29 | After ... != ... [false] | false | +| barrier_flow.rb:32:19:32:29 | ... != ... | barrier_flow.rb:32:19:32:29 | After ... != ... [true] | true | +| barrier_flow.rb:38:8:38:18 | ... != ... | barrier_flow.rb:38:8:38:18 | After ... != ... [false] | false | +| barrier_flow.rb:38:8:38:18 | ... != ... | barrier_flow.rb:38:8:38:18 | After ... != ... [true] | true | +| barrier_flow.rb:48:23:48:33 | ... == ... | barrier_flow.rb:48:23:48:33 | After ... == ... [false] | false | +| barrier_flow.rb:48:23:48:33 | ... == ... | barrier_flow.rb:48:23:48:33 | After ... == ... [true] | true | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:56:8:56:8 | After b [false] | false | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:56:8:56:8 | After b [true] | true | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:57:23:57:34 | After ... == ... [false] | true | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:57:23:57:34 | After ... == ... [true] | true | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:59:23:59:34 | After ... == ... [false] | false | +| barrier_flow.rb:56:8:56:8 | b | barrier_flow.rb:59:23:59:34 | After ... == ... [true] | false | +| barrier_flow.rb:57:23:57:34 | ... == ... | barrier_flow.rb:57:23:57:34 | After ... == ... [false] | false | +| barrier_flow.rb:57:23:57:34 | ... == ... | barrier_flow.rb:57:23:57:34 | After ... == ... [true] | true | +| barrier_flow.rb:59:23:59:34 | ... == ... | barrier_flow.rb:59:23:59:34 | After ... == ... [false] | false | +| barrier_flow.rb:59:23:59:34 | ... == ... | barrier_flow.rb:59:23:59:34 | After ... == ... [true] | true | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:68:8:68:8 | After b [false] | false | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:68:8:68:8 | After b [true] | true | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:69:12:69:23 | After ... != ... [false] | true | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:69:12:69:23 | After ... != ... [true] | true | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:73:12:73:23 | After ... != ... [false] | false | +| barrier_flow.rb:68:8:68:8 | b | barrier_flow.rb:73:12:73:23 | After ... != ... [true] | false | +| barrier_flow.rb:69:12:69:23 | ... != ... | barrier_flow.rb:69:12:69:23 | After ... != ... [false] | false | +| barrier_flow.rb:69:12:69:23 | ... != ... | barrier_flow.rb:69:12:69:23 | After ... != ... [true] | true | +| barrier_flow.rb:73:12:73:23 | ... != ... | barrier_flow.rb:73:12:73:23 | After ... != ... [false] | false | +| barrier_flow.rb:73:12:73:23 | ... != ... | barrier_flow.rb:73:12:73:23 | After ... != ... [true] | true | diff --git a/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.ql b/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.ql index 86609a73909c..e4f35886dd70 100644 --- a/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.ql +++ b/ruby/ql/test/library-tests/dataflow/barrier-guards/barrier-guards.ql @@ -3,7 +3,6 @@ import codeql.ruby.dataflow.internal.DataFlowPublic import codeql.ruby.dataflow.BarrierGuards import codeql.ruby.controlflow.CfgNodes import codeql.ruby.controlflow.ControlFlowGraph -import codeql.ruby.controlflow.BasicBlocks import codeql.ruby.DataFlow import utils.test.InlineExpectationsTest @@ -13,7 +12,7 @@ query predicate newStyleBarrierGuards(DataFlow::Node n) { } query predicate controls(CfgNode condition, BasicBlock bb, ConditionalSuccessor s) { - exists(ConditionBlock cb | + exists(BasicBlock cb | cb.edgeDominates(bb, s) and condition = cb.getLastNode() ) diff --git a/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected b/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected index 7122b4c0ae2f..8eb34d37785f 100644 --- a/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected +++ b/ruby/ql/test/library-tests/dataflow/local/DataflowStep.expected @@ -207,800 +207,700 @@ | UseUseExplosion.rb:20:13:20:17 | [post] self | UseUseExplosion.rb:20:3691:20:3696 | self | | UseUseExplosion.rb:20:13:20:17 | self | UseUseExplosion.rb:20:35:20:39 | self | | UseUseExplosion.rb:20:13:20:17 | self | UseUseExplosion.rb:20:3691:20:3696 | self | -| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | [false] ( ... ) | -| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | [true] ( ... ) | +| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | ( ... ) | | UseUseExplosion.rb:20:26:20:3684 | then ... | UseUseExplosion.rb:20:9:20:3700 | if ... | | UseUseExplosion.rb:20:31:20:3684 | if ... | UseUseExplosion.rb:20:26:20:3684 | then ... | | UseUseExplosion.rb:20:35:20:39 | [post] self | UseUseExplosion.rb:20:56:20:60 | self | | UseUseExplosion.rb:20:35:20:39 | [post] self | UseUseExplosion.rb:20:3675:20:3680 | self | | UseUseExplosion.rb:20:35:20:39 | self | UseUseExplosion.rb:20:56:20:60 | self | | UseUseExplosion.rb:20:35:20:39 | self | UseUseExplosion.rb:20:3675:20:3680 | self | -| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | [false] ( ... ) | -| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | [true] ( ... ) | +| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | ( ... ) | | UseUseExplosion.rb:20:47:20:3668 | then ... | UseUseExplosion.rb:20:31:20:3684 | if ... | | UseUseExplosion.rb:20:52:20:3668 | if ... | UseUseExplosion.rb:20:47:20:3668 | then ... | | UseUseExplosion.rb:20:56:20:60 | [post] self | UseUseExplosion.rb:20:77:20:81 | self | | UseUseExplosion.rb:20:56:20:60 | [post] self | UseUseExplosion.rb:20:3659:20:3664 | self | | UseUseExplosion.rb:20:56:20:60 | self | UseUseExplosion.rb:20:77:20:81 | self | | UseUseExplosion.rb:20:56:20:60 | self | UseUseExplosion.rb:20:3659:20:3664 | self | -| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | [false] ( ... ) | -| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | [true] ( ... ) | +| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | ( ... ) | | UseUseExplosion.rb:20:68:20:3652 | then ... | UseUseExplosion.rb:20:52:20:3668 | if ... | | UseUseExplosion.rb:20:73:20:3652 | if ... | UseUseExplosion.rb:20:68:20:3652 | then ... | | UseUseExplosion.rb:20:77:20:81 | [post] self | UseUseExplosion.rb:20:98:20:102 | self | | UseUseExplosion.rb:20:77:20:81 | [post] self | UseUseExplosion.rb:20:3643:20:3648 | self | | UseUseExplosion.rb:20:77:20:81 | self | UseUseExplosion.rb:20:98:20:102 | self | | UseUseExplosion.rb:20:77:20:81 | self | UseUseExplosion.rb:20:3643:20:3648 | self | -| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | [false] ( ... ) | -| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | [true] ( ... ) | +| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | ( ... ) | | UseUseExplosion.rb:20:89:20:3636 | then ... | UseUseExplosion.rb:20:73:20:3652 | if ... | | UseUseExplosion.rb:20:94:20:3636 | if ... | UseUseExplosion.rb:20:89:20:3636 | then ... | | UseUseExplosion.rb:20:98:20:102 | [post] self | UseUseExplosion.rb:20:119:20:123 | self | | UseUseExplosion.rb:20:98:20:102 | [post] self | UseUseExplosion.rb:20:3627:20:3632 | self | | UseUseExplosion.rb:20:98:20:102 | self | UseUseExplosion.rb:20:119:20:123 | self | | UseUseExplosion.rb:20:98:20:102 | self | UseUseExplosion.rb:20:3627:20:3632 | self | -| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | [false] ( ... ) | -| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | [true] ( ... ) | +| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | ( ... ) | | UseUseExplosion.rb:20:110:20:3620 | then ... | UseUseExplosion.rb:20:94:20:3636 | if ... | | UseUseExplosion.rb:20:115:20:3620 | if ... | UseUseExplosion.rb:20:110:20:3620 | then ... | | UseUseExplosion.rb:20:119:20:123 | [post] self | UseUseExplosion.rb:20:140:20:144 | self | | UseUseExplosion.rb:20:119:20:123 | [post] self | UseUseExplosion.rb:20:3611:20:3616 | self | | UseUseExplosion.rb:20:119:20:123 | self | UseUseExplosion.rb:20:140:20:144 | self | | UseUseExplosion.rb:20:119:20:123 | self | UseUseExplosion.rb:20:3611:20:3616 | self | -| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | [false] ( ... ) | -| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | [true] ( ... ) | +| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | ( ... ) | | UseUseExplosion.rb:20:131:20:3604 | then ... | UseUseExplosion.rb:20:115:20:3620 | if ... | | UseUseExplosion.rb:20:136:20:3604 | if ... | UseUseExplosion.rb:20:131:20:3604 | then ... | | UseUseExplosion.rb:20:140:20:144 | [post] self | UseUseExplosion.rb:20:161:20:165 | self | | UseUseExplosion.rb:20:140:20:144 | [post] self | UseUseExplosion.rb:20:3595:20:3600 | self | | UseUseExplosion.rb:20:140:20:144 | self | UseUseExplosion.rb:20:161:20:165 | self | | UseUseExplosion.rb:20:140:20:144 | self | UseUseExplosion.rb:20:3595:20:3600 | self | -| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | [false] ( ... ) | -| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | [true] ( ... ) | +| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | ( ... ) | | UseUseExplosion.rb:20:152:20:3588 | then ... | UseUseExplosion.rb:20:136:20:3604 | if ... | | UseUseExplosion.rb:20:157:20:3588 | if ... | UseUseExplosion.rb:20:152:20:3588 | then ... | | UseUseExplosion.rb:20:161:20:165 | [post] self | UseUseExplosion.rb:20:182:20:186 | self | | UseUseExplosion.rb:20:161:20:165 | [post] self | UseUseExplosion.rb:20:3579:20:3584 | self | | UseUseExplosion.rb:20:161:20:165 | self | UseUseExplosion.rb:20:182:20:186 | self | | UseUseExplosion.rb:20:161:20:165 | self | UseUseExplosion.rb:20:3579:20:3584 | self | -| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | [false] ( ... ) | -| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | [true] ( ... ) | +| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | ( ... ) | | UseUseExplosion.rb:20:173:20:3572 | then ... | UseUseExplosion.rb:20:157:20:3588 | if ... | | UseUseExplosion.rb:20:178:20:3572 | if ... | UseUseExplosion.rb:20:173:20:3572 | then ... | | UseUseExplosion.rb:20:182:20:186 | [post] self | UseUseExplosion.rb:20:203:20:207 | self | | UseUseExplosion.rb:20:182:20:186 | [post] self | UseUseExplosion.rb:20:3563:20:3568 | self | | UseUseExplosion.rb:20:182:20:186 | self | UseUseExplosion.rb:20:203:20:207 | self | | UseUseExplosion.rb:20:182:20:186 | self | UseUseExplosion.rb:20:3563:20:3568 | self | -| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | [false] ( ... ) | -| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | [true] ( ... ) | +| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | ( ... ) | | UseUseExplosion.rb:20:194:20:3556 | then ... | UseUseExplosion.rb:20:178:20:3572 | if ... | | UseUseExplosion.rb:20:199:20:3556 | if ... | UseUseExplosion.rb:20:194:20:3556 | then ... | | UseUseExplosion.rb:20:203:20:207 | [post] self | UseUseExplosion.rb:20:224:20:228 | self | | UseUseExplosion.rb:20:203:20:207 | [post] self | UseUseExplosion.rb:20:3547:20:3552 | self | | UseUseExplosion.rb:20:203:20:207 | self | UseUseExplosion.rb:20:224:20:228 | self | | UseUseExplosion.rb:20:203:20:207 | self | UseUseExplosion.rb:20:3547:20:3552 | self | -| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | [false] ( ... ) | -| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | [true] ( ... ) | +| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | ( ... ) | | UseUseExplosion.rb:20:215:20:3540 | then ... | UseUseExplosion.rb:20:199:20:3556 | if ... | | UseUseExplosion.rb:20:220:20:3540 | if ... | UseUseExplosion.rb:20:215:20:3540 | then ... | | UseUseExplosion.rb:20:224:20:228 | [post] self | UseUseExplosion.rb:20:245:20:249 | self | | UseUseExplosion.rb:20:224:20:228 | [post] self | UseUseExplosion.rb:20:3531:20:3536 | self | | UseUseExplosion.rb:20:224:20:228 | self | UseUseExplosion.rb:20:245:20:249 | self | | UseUseExplosion.rb:20:224:20:228 | self | UseUseExplosion.rb:20:3531:20:3536 | self | -| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | [false] ( ... ) | -| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | [true] ( ... ) | +| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | ( ... ) | | UseUseExplosion.rb:20:236:20:3524 | then ... | UseUseExplosion.rb:20:220:20:3540 | if ... | | UseUseExplosion.rb:20:241:20:3524 | if ... | UseUseExplosion.rb:20:236:20:3524 | then ... | | UseUseExplosion.rb:20:245:20:249 | [post] self | UseUseExplosion.rb:20:266:20:270 | self | | UseUseExplosion.rb:20:245:20:249 | [post] self | UseUseExplosion.rb:20:3515:20:3520 | self | | UseUseExplosion.rb:20:245:20:249 | self | UseUseExplosion.rb:20:266:20:270 | self | | UseUseExplosion.rb:20:245:20:249 | self | UseUseExplosion.rb:20:3515:20:3520 | self | -| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | [false] ( ... ) | -| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | [true] ( ... ) | +| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | ( ... ) | | UseUseExplosion.rb:20:257:20:3508 | then ... | UseUseExplosion.rb:20:241:20:3524 | if ... | | UseUseExplosion.rb:20:262:20:3508 | if ... | UseUseExplosion.rb:20:257:20:3508 | then ... | | UseUseExplosion.rb:20:266:20:270 | [post] self | UseUseExplosion.rb:20:287:20:291 | self | | UseUseExplosion.rb:20:266:20:270 | [post] self | UseUseExplosion.rb:20:3499:20:3504 | self | | UseUseExplosion.rb:20:266:20:270 | self | UseUseExplosion.rb:20:287:20:291 | self | | UseUseExplosion.rb:20:266:20:270 | self | UseUseExplosion.rb:20:3499:20:3504 | self | -| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | [false] ( ... ) | -| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | [true] ( ... ) | +| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | ( ... ) | | UseUseExplosion.rb:20:278:20:3492 | then ... | UseUseExplosion.rb:20:262:20:3508 | if ... | | UseUseExplosion.rb:20:283:20:3492 | if ... | UseUseExplosion.rb:20:278:20:3492 | then ... | | UseUseExplosion.rb:20:287:20:291 | [post] self | UseUseExplosion.rb:20:308:20:312 | self | | UseUseExplosion.rb:20:287:20:291 | [post] self | UseUseExplosion.rb:20:3483:20:3488 | self | | UseUseExplosion.rb:20:287:20:291 | self | UseUseExplosion.rb:20:308:20:312 | self | | UseUseExplosion.rb:20:287:20:291 | self | UseUseExplosion.rb:20:3483:20:3488 | self | -| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | [false] ( ... ) | -| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | [true] ( ... ) | +| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | ( ... ) | | UseUseExplosion.rb:20:299:20:3476 | then ... | UseUseExplosion.rb:20:283:20:3492 | if ... | | UseUseExplosion.rb:20:304:20:3476 | if ... | UseUseExplosion.rb:20:299:20:3476 | then ... | | UseUseExplosion.rb:20:308:20:312 | [post] self | UseUseExplosion.rb:20:329:20:333 | self | | UseUseExplosion.rb:20:308:20:312 | [post] self | UseUseExplosion.rb:20:3467:20:3472 | self | | UseUseExplosion.rb:20:308:20:312 | self | UseUseExplosion.rb:20:329:20:333 | self | | UseUseExplosion.rb:20:308:20:312 | self | UseUseExplosion.rb:20:3467:20:3472 | self | -| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | [false] ( ... ) | -| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | [true] ( ... ) | +| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | ( ... ) | | UseUseExplosion.rb:20:320:20:3460 | then ... | UseUseExplosion.rb:20:304:20:3476 | if ... | | UseUseExplosion.rb:20:325:20:3460 | if ... | UseUseExplosion.rb:20:320:20:3460 | then ... | | UseUseExplosion.rb:20:329:20:333 | [post] self | UseUseExplosion.rb:20:350:20:354 | self | | UseUseExplosion.rb:20:329:20:333 | [post] self | UseUseExplosion.rb:20:3451:20:3456 | self | | UseUseExplosion.rb:20:329:20:333 | self | UseUseExplosion.rb:20:350:20:354 | self | | UseUseExplosion.rb:20:329:20:333 | self | UseUseExplosion.rb:20:3451:20:3456 | self | -| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | [false] ( ... ) | -| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | [true] ( ... ) | +| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | ( ... ) | | UseUseExplosion.rb:20:341:20:3444 | then ... | UseUseExplosion.rb:20:325:20:3460 | if ... | | UseUseExplosion.rb:20:346:20:3444 | if ... | UseUseExplosion.rb:20:341:20:3444 | then ... | | UseUseExplosion.rb:20:350:20:354 | [post] self | UseUseExplosion.rb:20:371:20:375 | self | | UseUseExplosion.rb:20:350:20:354 | [post] self | UseUseExplosion.rb:20:3435:20:3440 | self | | UseUseExplosion.rb:20:350:20:354 | self | UseUseExplosion.rb:20:371:20:375 | self | | UseUseExplosion.rb:20:350:20:354 | self | UseUseExplosion.rb:20:3435:20:3440 | self | -| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | [false] ( ... ) | -| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | [true] ( ... ) | +| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | ( ... ) | | UseUseExplosion.rb:20:362:20:3428 | then ... | UseUseExplosion.rb:20:346:20:3444 | if ... | | UseUseExplosion.rb:20:367:20:3428 | if ... | UseUseExplosion.rb:20:362:20:3428 | then ... | | UseUseExplosion.rb:20:371:20:375 | [post] self | UseUseExplosion.rb:20:392:20:396 | self | | UseUseExplosion.rb:20:371:20:375 | [post] self | UseUseExplosion.rb:20:3419:20:3424 | self | | UseUseExplosion.rb:20:371:20:375 | self | UseUseExplosion.rb:20:392:20:396 | self | | UseUseExplosion.rb:20:371:20:375 | self | UseUseExplosion.rb:20:3419:20:3424 | self | -| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | [false] ( ... ) | -| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | [true] ( ... ) | +| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | ( ... ) | | UseUseExplosion.rb:20:383:20:3412 | then ... | UseUseExplosion.rb:20:367:20:3428 | if ... | | UseUseExplosion.rb:20:388:20:3412 | if ... | UseUseExplosion.rb:20:383:20:3412 | then ... | | UseUseExplosion.rb:20:392:20:396 | [post] self | UseUseExplosion.rb:20:413:20:417 | self | | UseUseExplosion.rb:20:392:20:396 | [post] self | UseUseExplosion.rb:20:3403:20:3408 | self | | UseUseExplosion.rb:20:392:20:396 | self | UseUseExplosion.rb:20:413:20:417 | self | | UseUseExplosion.rb:20:392:20:396 | self | UseUseExplosion.rb:20:3403:20:3408 | self | -| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | [false] ( ... ) | -| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | [true] ( ... ) | +| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | ( ... ) | | UseUseExplosion.rb:20:404:20:3396 | then ... | UseUseExplosion.rb:20:388:20:3412 | if ... | | UseUseExplosion.rb:20:409:20:3396 | if ... | UseUseExplosion.rb:20:404:20:3396 | then ... | | UseUseExplosion.rb:20:413:20:417 | [post] self | UseUseExplosion.rb:20:434:20:438 | self | | UseUseExplosion.rb:20:413:20:417 | [post] self | UseUseExplosion.rb:20:3387:20:3392 | self | | UseUseExplosion.rb:20:413:20:417 | self | UseUseExplosion.rb:20:434:20:438 | self | | UseUseExplosion.rb:20:413:20:417 | self | UseUseExplosion.rb:20:3387:20:3392 | self | -| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | [false] ( ... ) | -| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | [true] ( ... ) | +| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | ( ... ) | | UseUseExplosion.rb:20:425:20:3380 | then ... | UseUseExplosion.rb:20:409:20:3396 | if ... | | UseUseExplosion.rb:20:430:20:3380 | if ... | UseUseExplosion.rb:20:425:20:3380 | then ... | | UseUseExplosion.rb:20:434:20:438 | [post] self | UseUseExplosion.rb:20:455:20:459 | self | | UseUseExplosion.rb:20:434:20:438 | [post] self | UseUseExplosion.rb:20:3371:20:3376 | self | | UseUseExplosion.rb:20:434:20:438 | self | UseUseExplosion.rb:20:455:20:459 | self | | UseUseExplosion.rb:20:434:20:438 | self | UseUseExplosion.rb:20:3371:20:3376 | self | -| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | [false] ( ... ) | -| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | [true] ( ... ) | +| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | ( ... ) | | UseUseExplosion.rb:20:446:20:3364 | then ... | UseUseExplosion.rb:20:430:20:3380 | if ... | | UseUseExplosion.rb:20:451:20:3364 | if ... | UseUseExplosion.rb:20:446:20:3364 | then ... | | UseUseExplosion.rb:20:455:20:459 | [post] self | UseUseExplosion.rb:20:476:20:480 | self | | UseUseExplosion.rb:20:455:20:459 | [post] self | UseUseExplosion.rb:20:3355:20:3360 | self | | UseUseExplosion.rb:20:455:20:459 | self | UseUseExplosion.rb:20:476:20:480 | self | | UseUseExplosion.rb:20:455:20:459 | self | UseUseExplosion.rb:20:3355:20:3360 | self | -| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | [false] ( ... ) | -| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | [true] ( ... ) | +| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | ( ... ) | | UseUseExplosion.rb:20:467:20:3348 | then ... | UseUseExplosion.rb:20:451:20:3364 | if ... | | UseUseExplosion.rb:20:472:20:3348 | if ... | UseUseExplosion.rb:20:467:20:3348 | then ... | | UseUseExplosion.rb:20:476:20:480 | [post] self | UseUseExplosion.rb:20:497:20:501 | self | | UseUseExplosion.rb:20:476:20:480 | [post] self | UseUseExplosion.rb:20:3339:20:3344 | self | | UseUseExplosion.rb:20:476:20:480 | self | UseUseExplosion.rb:20:497:20:501 | self | | UseUseExplosion.rb:20:476:20:480 | self | UseUseExplosion.rb:20:3339:20:3344 | self | -| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | [false] ( ... ) | -| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | [true] ( ... ) | +| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | ( ... ) | | UseUseExplosion.rb:20:488:20:3332 | then ... | UseUseExplosion.rb:20:472:20:3348 | if ... | | UseUseExplosion.rb:20:493:20:3332 | if ... | UseUseExplosion.rb:20:488:20:3332 | then ... | | UseUseExplosion.rb:20:497:20:501 | [post] self | UseUseExplosion.rb:20:518:20:522 | self | | UseUseExplosion.rb:20:497:20:501 | [post] self | UseUseExplosion.rb:20:3323:20:3328 | self | | UseUseExplosion.rb:20:497:20:501 | self | UseUseExplosion.rb:20:518:20:522 | self | | UseUseExplosion.rb:20:497:20:501 | self | UseUseExplosion.rb:20:3323:20:3328 | self | -| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | [false] ( ... ) | -| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | [true] ( ... ) | +| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | ( ... ) | | UseUseExplosion.rb:20:509:20:3316 | then ... | UseUseExplosion.rb:20:493:20:3332 | if ... | | UseUseExplosion.rb:20:514:20:3316 | if ... | UseUseExplosion.rb:20:509:20:3316 | then ... | | UseUseExplosion.rb:20:518:20:522 | [post] self | UseUseExplosion.rb:20:539:20:543 | self | | UseUseExplosion.rb:20:518:20:522 | [post] self | UseUseExplosion.rb:20:3307:20:3312 | self | | UseUseExplosion.rb:20:518:20:522 | self | UseUseExplosion.rb:20:539:20:543 | self | | UseUseExplosion.rb:20:518:20:522 | self | UseUseExplosion.rb:20:3307:20:3312 | self | -| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | [false] ( ... ) | -| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | [true] ( ... ) | +| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | ( ... ) | | UseUseExplosion.rb:20:530:20:3300 | then ... | UseUseExplosion.rb:20:514:20:3316 | if ... | | UseUseExplosion.rb:20:535:20:3300 | if ... | UseUseExplosion.rb:20:530:20:3300 | then ... | | UseUseExplosion.rb:20:539:20:543 | [post] self | UseUseExplosion.rb:20:560:20:564 | self | | UseUseExplosion.rb:20:539:20:543 | [post] self | UseUseExplosion.rb:20:3291:20:3296 | self | | UseUseExplosion.rb:20:539:20:543 | self | UseUseExplosion.rb:20:560:20:564 | self | | UseUseExplosion.rb:20:539:20:543 | self | UseUseExplosion.rb:20:3291:20:3296 | self | -| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | [false] ( ... ) | -| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | [true] ( ... ) | +| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | ( ... ) | | UseUseExplosion.rb:20:551:20:3284 | then ... | UseUseExplosion.rb:20:535:20:3300 | if ... | | UseUseExplosion.rb:20:556:20:3284 | if ... | UseUseExplosion.rb:20:551:20:3284 | then ... | | UseUseExplosion.rb:20:560:20:564 | [post] self | UseUseExplosion.rb:20:581:20:585 | self | | UseUseExplosion.rb:20:560:20:564 | [post] self | UseUseExplosion.rb:20:3275:20:3280 | self | | UseUseExplosion.rb:20:560:20:564 | self | UseUseExplosion.rb:20:581:20:585 | self | | UseUseExplosion.rb:20:560:20:564 | self | UseUseExplosion.rb:20:3275:20:3280 | self | -| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | [false] ( ... ) | -| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | [true] ( ... ) | +| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | ( ... ) | | UseUseExplosion.rb:20:572:20:3268 | then ... | UseUseExplosion.rb:20:556:20:3284 | if ... | | UseUseExplosion.rb:20:577:20:3268 | if ... | UseUseExplosion.rb:20:572:20:3268 | then ... | | UseUseExplosion.rb:20:581:20:585 | [post] self | UseUseExplosion.rb:20:602:20:606 | self | | UseUseExplosion.rb:20:581:20:585 | [post] self | UseUseExplosion.rb:20:3259:20:3264 | self | | UseUseExplosion.rb:20:581:20:585 | self | UseUseExplosion.rb:20:602:20:606 | self | | UseUseExplosion.rb:20:581:20:585 | self | UseUseExplosion.rb:20:3259:20:3264 | self | -| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | [false] ( ... ) | -| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | [true] ( ... ) | +| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | ( ... ) | | UseUseExplosion.rb:20:593:20:3252 | then ... | UseUseExplosion.rb:20:577:20:3268 | if ... | | UseUseExplosion.rb:20:598:20:3252 | if ... | UseUseExplosion.rb:20:593:20:3252 | then ... | | UseUseExplosion.rb:20:602:20:606 | [post] self | UseUseExplosion.rb:20:623:20:627 | self | | UseUseExplosion.rb:20:602:20:606 | [post] self | UseUseExplosion.rb:20:3243:20:3248 | self | | UseUseExplosion.rb:20:602:20:606 | self | UseUseExplosion.rb:20:623:20:627 | self | | UseUseExplosion.rb:20:602:20:606 | self | UseUseExplosion.rb:20:3243:20:3248 | self | -| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | [false] ( ... ) | -| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | [true] ( ... ) | +| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | ( ... ) | | UseUseExplosion.rb:20:614:20:3236 | then ... | UseUseExplosion.rb:20:598:20:3252 | if ... | | UseUseExplosion.rb:20:619:20:3236 | if ... | UseUseExplosion.rb:20:614:20:3236 | then ... | | UseUseExplosion.rb:20:623:20:627 | [post] self | UseUseExplosion.rb:20:644:20:648 | self | | UseUseExplosion.rb:20:623:20:627 | [post] self | UseUseExplosion.rb:20:3227:20:3232 | self | | UseUseExplosion.rb:20:623:20:627 | self | UseUseExplosion.rb:20:644:20:648 | self | | UseUseExplosion.rb:20:623:20:627 | self | UseUseExplosion.rb:20:3227:20:3232 | self | -| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | [false] ( ... ) | -| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | [true] ( ... ) | +| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | ( ... ) | | UseUseExplosion.rb:20:635:20:3220 | then ... | UseUseExplosion.rb:20:619:20:3236 | if ... | | UseUseExplosion.rb:20:640:20:3220 | if ... | UseUseExplosion.rb:20:635:20:3220 | then ... | | UseUseExplosion.rb:20:644:20:648 | [post] self | UseUseExplosion.rb:20:665:20:669 | self | | UseUseExplosion.rb:20:644:20:648 | [post] self | UseUseExplosion.rb:20:3211:20:3216 | self | | UseUseExplosion.rb:20:644:20:648 | self | UseUseExplosion.rb:20:665:20:669 | self | | UseUseExplosion.rb:20:644:20:648 | self | UseUseExplosion.rb:20:3211:20:3216 | self | -| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | [false] ( ... ) | -| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | [true] ( ... ) | +| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | ( ... ) | | UseUseExplosion.rb:20:656:20:3204 | then ... | UseUseExplosion.rb:20:640:20:3220 | if ... | | UseUseExplosion.rb:20:661:20:3204 | if ... | UseUseExplosion.rb:20:656:20:3204 | then ... | | UseUseExplosion.rb:20:665:20:669 | [post] self | UseUseExplosion.rb:20:686:20:690 | self | | UseUseExplosion.rb:20:665:20:669 | [post] self | UseUseExplosion.rb:20:3195:20:3200 | self | | UseUseExplosion.rb:20:665:20:669 | self | UseUseExplosion.rb:20:686:20:690 | self | | UseUseExplosion.rb:20:665:20:669 | self | UseUseExplosion.rb:20:3195:20:3200 | self | -| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | [false] ( ... ) | -| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | [true] ( ... ) | +| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | ( ... ) | | UseUseExplosion.rb:20:677:20:3188 | then ... | UseUseExplosion.rb:20:661:20:3204 | if ... | | UseUseExplosion.rb:20:682:20:3188 | if ... | UseUseExplosion.rb:20:677:20:3188 | then ... | | UseUseExplosion.rb:20:686:20:690 | [post] self | UseUseExplosion.rb:20:707:20:711 | self | | UseUseExplosion.rb:20:686:20:690 | [post] self | UseUseExplosion.rb:20:3179:20:3184 | self | | UseUseExplosion.rb:20:686:20:690 | self | UseUseExplosion.rb:20:707:20:711 | self | | UseUseExplosion.rb:20:686:20:690 | self | UseUseExplosion.rb:20:3179:20:3184 | self | -| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | [false] ( ... ) | -| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | [true] ( ... ) | +| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | ( ... ) | | UseUseExplosion.rb:20:698:20:3172 | then ... | UseUseExplosion.rb:20:682:20:3188 | if ... | | UseUseExplosion.rb:20:703:20:3172 | if ... | UseUseExplosion.rb:20:698:20:3172 | then ... | | UseUseExplosion.rb:20:707:20:711 | [post] self | UseUseExplosion.rb:20:728:20:732 | self | | UseUseExplosion.rb:20:707:20:711 | [post] self | UseUseExplosion.rb:20:3163:20:3168 | self | | UseUseExplosion.rb:20:707:20:711 | self | UseUseExplosion.rb:20:728:20:732 | self | | UseUseExplosion.rb:20:707:20:711 | self | UseUseExplosion.rb:20:3163:20:3168 | self | -| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | [false] ( ... ) | -| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | [true] ( ... ) | +| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | ( ... ) | | UseUseExplosion.rb:20:719:20:3156 | then ... | UseUseExplosion.rb:20:703:20:3172 | if ... | | UseUseExplosion.rb:20:724:20:3156 | if ... | UseUseExplosion.rb:20:719:20:3156 | then ... | | UseUseExplosion.rb:20:728:20:732 | [post] self | UseUseExplosion.rb:20:749:20:753 | self | | UseUseExplosion.rb:20:728:20:732 | [post] self | UseUseExplosion.rb:20:3147:20:3152 | self | | UseUseExplosion.rb:20:728:20:732 | self | UseUseExplosion.rb:20:749:20:753 | self | | UseUseExplosion.rb:20:728:20:732 | self | UseUseExplosion.rb:20:3147:20:3152 | self | -| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | [false] ( ... ) | -| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | [true] ( ... ) | +| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | ( ... ) | | UseUseExplosion.rb:20:740:20:3140 | then ... | UseUseExplosion.rb:20:724:20:3156 | if ... | | UseUseExplosion.rb:20:745:20:3140 | if ... | UseUseExplosion.rb:20:740:20:3140 | then ... | | UseUseExplosion.rb:20:749:20:753 | [post] self | UseUseExplosion.rb:20:770:20:774 | self | | UseUseExplosion.rb:20:749:20:753 | [post] self | UseUseExplosion.rb:20:3131:20:3136 | self | | UseUseExplosion.rb:20:749:20:753 | self | UseUseExplosion.rb:20:770:20:774 | self | | UseUseExplosion.rb:20:749:20:753 | self | UseUseExplosion.rb:20:3131:20:3136 | self | -| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | [false] ( ... ) | -| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | [true] ( ... ) | +| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | ( ... ) | | UseUseExplosion.rb:20:761:20:3124 | then ... | UseUseExplosion.rb:20:745:20:3140 | if ... | | UseUseExplosion.rb:20:766:20:3124 | if ... | UseUseExplosion.rb:20:761:20:3124 | then ... | | UseUseExplosion.rb:20:770:20:774 | [post] self | UseUseExplosion.rb:20:791:20:795 | self | | UseUseExplosion.rb:20:770:20:774 | [post] self | UseUseExplosion.rb:20:3115:20:3120 | self | | UseUseExplosion.rb:20:770:20:774 | self | UseUseExplosion.rb:20:791:20:795 | self | | UseUseExplosion.rb:20:770:20:774 | self | UseUseExplosion.rb:20:3115:20:3120 | self | -| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | [false] ( ... ) | -| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | [true] ( ... ) | +| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | ( ... ) | | UseUseExplosion.rb:20:782:20:3108 | then ... | UseUseExplosion.rb:20:766:20:3124 | if ... | | UseUseExplosion.rb:20:787:20:3108 | if ... | UseUseExplosion.rb:20:782:20:3108 | then ... | | UseUseExplosion.rb:20:791:20:795 | [post] self | UseUseExplosion.rb:20:812:20:816 | self | | UseUseExplosion.rb:20:791:20:795 | [post] self | UseUseExplosion.rb:20:3099:20:3104 | self | | UseUseExplosion.rb:20:791:20:795 | self | UseUseExplosion.rb:20:812:20:816 | self | | UseUseExplosion.rb:20:791:20:795 | self | UseUseExplosion.rb:20:3099:20:3104 | self | -| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | [false] ( ... ) | -| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | [true] ( ... ) | +| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | ( ... ) | | UseUseExplosion.rb:20:803:20:3092 | then ... | UseUseExplosion.rb:20:787:20:3108 | if ... | | UseUseExplosion.rb:20:808:20:3092 | if ... | UseUseExplosion.rb:20:803:20:3092 | then ... | | UseUseExplosion.rb:20:812:20:816 | [post] self | UseUseExplosion.rb:20:833:20:837 | self | | UseUseExplosion.rb:20:812:20:816 | [post] self | UseUseExplosion.rb:20:3083:20:3088 | self | | UseUseExplosion.rb:20:812:20:816 | self | UseUseExplosion.rb:20:833:20:837 | self | | UseUseExplosion.rb:20:812:20:816 | self | UseUseExplosion.rb:20:3083:20:3088 | self | -| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | [false] ( ... ) | -| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | [true] ( ... ) | +| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | ( ... ) | | UseUseExplosion.rb:20:824:20:3076 | then ... | UseUseExplosion.rb:20:808:20:3092 | if ... | | UseUseExplosion.rb:20:829:20:3076 | if ... | UseUseExplosion.rb:20:824:20:3076 | then ... | | UseUseExplosion.rb:20:833:20:837 | [post] self | UseUseExplosion.rb:20:854:20:858 | self | | UseUseExplosion.rb:20:833:20:837 | [post] self | UseUseExplosion.rb:20:3067:20:3072 | self | | UseUseExplosion.rb:20:833:20:837 | self | UseUseExplosion.rb:20:854:20:858 | self | | UseUseExplosion.rb:20:833:20:837 | self | UseUseExplosion.rb:20:3067:20:3072 | self | -| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | [false] ( ... ) | -| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | [true] ( ... ) | +| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | ( ... ) | | UseUseExplosion.rb:20:845:20:3060 | then ... | UseUseExplosion.rb:20:829:20:3076 | if ... | | UseUseExplosion.rb:20:850:20:3060 | if ... | UseUseExplosion.rb:20:845:20:3060 | then ... | | UseUseExplosion.rb:20:854:20:858 | [post] self | UseUseExplosion.rb:20:875:20:879 | self | | UseUseExplosion.rb:20:854:20:858 | [post] self | UseUseExplosion.rb:20:3051:20:3056 | self | | UseUseExplosion.rb:20:854:20:858 | self | UseUseExplosion.rb:20:875:20:879 | self | | UseUseExplosion.rb:20:854:20:858 | self | UseUseExplosion.rb:20:3051:20:3056 | self | -| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | [false] ( ... ) | -| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | [true] ( ... ) | +| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | ( ... ) | | UseUseExplosion.rb:20:866:20:3044 | then ... | UseUseExplosion.rb:20:850:20:3060 | if ... | | UseUseExplosion.rb:20:871:20:3044 | if ... | UseUseExplosion.rb:20:866:20:3044 | then ... | | UseUseExplosion.rb:20:875:20:879 | [post] self | UseUseExplosion.rb:20:896:20:900 | self | | UseUseExplosion.rb:20:875:20:879 | [post] self | UseUseExplosion.rb:20:3035:20:3040 | self | | UseUseExplosion.rb:20:875:20:879 | self | UseUseExplosion.rb:20:896:20:900 | self | | UseUseExplosion.rb:20:875:20:879 | self | UseUseExplosion.rb:20:3035:20:3040 | self | -| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | [false] ( ... ) | -| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | [true] ( ... ) | +| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | ( ... ) | | UseUseExplosion.rb:20:887:20:3028 | then ... | UseUseExplosion.rb:20:871:20:3044 | if ... | | UseUseExplosion.rb:20:892:20:3028 | if ... | UseUseExplosion.rb:20:887:20:3028 | then ... | | UseUseExplosion.rb:20:896:20:900 | [post] self | UseUseExplosion.rb:20:917:20:921 | self | | UseUseExplosion.rb:20:896:20:900 | [post] self | UseUseExplosion.rb:20:3019:20:3024 | self | | UseUseExplosion.rb:20:896:20:900 | self | UseUseExplosion.rb:20:917:20:921 | self | | UseUseExplosion.rb:20:896:20:900 | self | UseUseExplosion.rb:20:3019:20:3024 | self | -| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | [false] ( ... ) | -| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | [true] ( ... ) | +| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | ( ... ) | | UseUseExplosion.rb:20:908:20:3012 | then ... | UseUseExplosion.rb:20:892:20:3028 | if ... | | UseUseExplosion.rb:20:913:20:3012 | if ... | UseUseExplosion.rb:20:908:20:3012 | then ... | | UseUseExplosion.rb:20:917:20:921 | [post] self | UseUseExplosion.rb:20:938:20:942 | self | | UseUseExplosion.rb:20:917:20:921 | [post] self | UseUseExplosion.rb:20:3003:20:3008 | self | | UseUseExplosion.rb:20:917:20:921 | self | UseUseExplosion.rb:20:938:20:942 | self | | UseUseExplosion.rb:20:917:20:921 | self | UseUseExplosion.rb:20:3003:20:3008 | self | -| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | [false] ( ... ) | -| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | [true] ( ... ) | +| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | ( ... ) | | UseUseExplosion.rb:20:929:20:2996 | then ... | UseUseExplosion.rb:20:913:20:3012 | if ... | | UseUseExplosion.rb:20:934:20:2996 | if ... | UseUseExplosion.rb:20:929:20:2996 | then ... | | UseUseExplosion.rb:20:938:20:942 | [post] self | UseUseExplosion.rb:20:959:20:963 | self | | UseUseExplosion.rb:20:938:20:942 | [post] self | UseUseExplosion.rb:20:2987:20:2992 | self | | UseUseExplosion.rb:20:938:20:942 | self | UseUseExplosion.rb:20:959:20:963 | self | | UseUseExplosion.rb:20:938:20:942 | self | UseUseExplosion.rb:20:2987:20:2992 | self | -| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | [false] ( ... ) | -| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | [true] ( ... ) | +| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | ( ... ) | | UseUseExplosion.rb:20:950:20:2980 | then ... | UseUseExplosion.rb:20:934:20:2996 | if ... | | UseUseExplosion.rb:20:955:20:2980 | if ... | UseUseExplosion.rb:20:950:20:2980 | then ... | | UseUseExplosion.rb:20:959:20:963 | [post] self | UseUseExplosion.rb:20:980:20:984 | self | | UseUseExplosion.rb:20:959:20:963 | [post] self | UseUseExplosion.rb:20:2971:20:2976 | self | | UseUseExplosion.rb:20:959:20:963 | self | UseUseExplosion.rb:20:980:20:984 | self | | UseUseExplosion.rb:20:959:20:963 | self | UseUseExplosion.rb:20:2971:20:2976 | self | -| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | [false] ( ... ) | -| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | [true] ( ... ) | +| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | ( ... ) | | UseUseExplosion.rb:20:971:20:2964 | then ... | UseUseExplosion.rb:20:955:20:2980 | if ... | | UseUseExplosion.rb:20:976:20:2964 | if ... | UseUseExplosion.rb:20:971:20:2964 | then ... | | UseUseExplosion.rb:20:980:20:984 | [post] self | UseUseExplosion.rb:20:1001:20:1005 | self | | UseUseExplosion.rb:20:980:20:984 | [post] self | UseUseExplosion.rb:20:2955:20:2960 | self | | UseUseExplosion.rb:20:980:20:984 | self | UseUseExplosion.rb:20:1001:20:1005 | self | | UseUseExplosion.rb:20:980:20:984 | self | UseUseExplosion.rb:20:2955:20:2960 | self | -| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | [false] ( ... ) | -| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | [true] ( ... ) | +| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | ( ... ) | | UseUseExplosion.rb:20:992:20:2948 | then ... | UseUseExplosion.rb:20:976:20:2964 | if ... | | UseUseExplosion.rb:20:997:20:2948 | if ... | UseUseExplosion.rb:20:992:20:2948 | then ... | | UseUseExplosion.rb:20:1001:20:1005 | [post] self | UseUseExplosion.rb:20:1022:20:1026 | self | | UseUseExplosion.rb:20:1001:20:1005 | [post] self | UseUseExplosion.rb:20:2939:20:2944 | self | | UseUseExplosion.rb:20:1001:20:1005 | self | UseUseExplosion.rb:20:1022:20:1026 | self | | UseUseExplosion.rb:20:1001:20:1005 | self | UseUseExplosion.rb:20:2939:20:2944 | self | -| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | [false] ( ... ) | -| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | [true] ( ... ) | +| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | ( ... ) | | UseUseExplosion.rb:20:1013:20:2932 | then ... | UseUseExplosion.rb:20:997:20:2948 | if ... | | UseUseExplosion.rb:20:1018:20:2932 | if ... | UseUseExplosion.rb:20:1013:20:2932 | then ... | | UseUseExplosion.rb:20:1022:20:1026 | [post] self | UseUseExplosion.rb:20:1043:20:1047 | self | | UseUseExplosion.rb:20:1022:20:1026 | [post] self | UseUseExplosion.rb:20:2923:20:2928 | self | | UseUseExplosion.rb:20:1022:20:1026 | self | UseUseExplosion.rb:20:1043:20:1047 | self | | UseUseExplosion.rb:20:1022:20:1026 | self | UseUseExplosion.rb:20:2923:20:2928 | self | -| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | [false] ( ... ) | -| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | [true] ( ... ) | +| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | ( ... ) | | UseUseExplosion.rb:20:1034:20:2916 | then ... | UseUseExplosion.rb:20:1018:20:2932 | if ... | | UseUseExplosion.rb:20:1039:20:2916 | if ... | UseUseExplosion.rb:20:1034:20:2916 | then ... | | UseUseExplosion.rb:20:1043:20:1047 | [post] self | UseUseExplosion.rb:20:1064:20:1068 | self | | UseUseExplosion.rb:20:1043:20:1047 | [post] self | UseUseExplosion.rb:20:2907:20:2912 | self | | UseUseExplosion.rb:20:1043:20:1047 | self | UseUseExplosion.rb:20:1064:20:1068 | self | | UseUseExplosion.rb:20:1043:20:1047 | self | UseUseExplosion.rb:20:2907:20:2912 | self | -| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | [false] ( ... ) | -| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | [true] ( ... ) | +| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | ( ... ) | | UseUseExplosion.rb:20:1055:20:2900 | then ... | UseUseExplosion.rb:20:1039:20:2916 | if ... | | UseUseExplosion.rb:20:1060:20:2900 | if ... | UseUseExplosion.rb:20:1055:20:2900 | then ... | | UseUseExplosion.rb:20:1064:20:1068 | [post] self | UseUseExplosion.rb:20:1085:20:1089 | self | | UseUseExplosion.rb:20:1064:20:1068 | [post] self | UseUseExplosion.rb:20:2891:20:2896 | self | | UseUseExplosion.rb:20:1064:20:1068 | self | UseUseExplosion.rb:20:1085:20:1089 | self | | UseUseExplosion.rb:20:1064:20:1068 | self | UseUseExplosion.rb:20:2891:20:2896 | self | -| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | [false] ( ... ) | -| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | [true] ( ... ) | +| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | ( ... ) | | UseUseExplosion.rb:20:1076:20:2884 | then ... | UseUseExplosion.rb:20:1060:20:2900 | if ... | | UseUseExplosion.rb:20:1081:20:2884 | if ... | UseUseExplosion.rb:20:1076:20:2884 | then ... | | UseUseExplosion.rb:20:1085:20:1089 | [post] self | UseUseExplosion.rb:20:1106:20:1110 | self | | UseUseExplosion.rb:20:1085:20:1089 | [post] self | UseUseExplosion.rb:20:2875:20:2880 | self | | UseUseExplosion.rb:20:1085:20:1089 | self | UseUseExplosion.rb:20:1106:20:1110 | self | | UseUseExplosion.rb:20:1085:20:1089 | self | UseUseExplosion.rb:20:2875:20:2880 | self | -| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | [false] ( ... ) | -| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | [true] ( ... ) | +| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | ( ... ) | | UseUseExplosion.rb:20:1097:20:2868 | then ... | UseUseExplosion.rb:20:1081:20:2884 | if ... | | UseUseExplosion.rb:20:1102:20:2868 | if ... | UseUseExplosion.rb:20:1097:20:2868 | then ... | | UseUseExplosion.rb:20:1106:20:1110 | [post] self | UseUseExplosion.rb:20:1127:20:1131 | self | | UseUseExplosion.rb:20:1106:20:1110 | [post] self | UseUseExplosion.rb:20:2859:20:2864 | self | | UseUseExplosion.rb:20:1106:20:1110 | self | UseUseExplosion.rb:20:1127:20:1131 | self | | UseUseExplosion.rb:20:1106:20:1110 | self | UseUseExplosion.rb:20:2859:20:2864 | self | -| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | [false] ( ... ) | -| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | [true] ( ... ) | +| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | ( ... ) | | UseUseExplosion.rb:20:1118:20:2852 | then ... | UseUseExplosion.rb:20:1102:20:2868 | if ... | | UseUseExplosion.rb:20:1123:20:2852 | if ... | UseUseExplosion.rb:20:1118:20:2852 | then ... | | UseUseExplosion.rb:20:1127:20:1131 | [post] self | UseUseExplosion.rb:20:1148:20:1152 | self | | UseUseExplosion.rb:20:1127:20:1131 | [post] self | UseUseExplosion.rb:20:2843:20:2848 | self | | UseUseExplosion.rb:20:1127:20:1131 | self | UseUseExplosion.rb:20:1148:20:1152 | self | | UseUseExplosion.rb:20:1127:20:1131 | self | UseUseExplosion.rb:20:2843:20:2848 | self | -| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | [false] ( ... ) | -| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | [true] ( ... ) | +| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | ( ... ) | | UseUseExplosion.rb:20:1139:20:2836 | then ... | UseUseExplosion.rb:20:1123:20:2852 | if ... | | UseUseExplosion.rb:20:1144:20:2836 | if ... | UseUseExplosion.rb:20:1139:20:2836 | then ... | | UseUseExplosion.rb:20:1148:20:1152 | [post] self | UseUseExplosion.rb:20:1169:20:1173 | self | | UseUseExplosion.rb:20:1148:20:1152 | [post] self | UseUseExplosion.rb:20:2827:20:2832 | self | | UseUseExplosion.rb:20:1148:20:1152 | self | UseUseExplosion.rb:20:1169:20:1173 | self | | UseUseExplosion.rb:20:1148:20:1152 | self | UseUseExplosion.rb:20:2827:20:2832 | self | -| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | [false] ( ... ) | -| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | [true] ( ... ) | +| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | ( ... ) | | UseUseExplosion.rb:20:1160:20:2820 | then ... | UseUseExplosion.rb:20:1144:20:2836 | if ... | | UseUseExplosion.rb:20:1165:20:2820 | if ... | UseUseExplosion.rb:20:1160:20:2820 | then ... | | UseUseExplosion.rb:20:1169:20:1173 | [post] self | UseUseExplosion.rb:20:1190:20:1194 | self | | UseUseExplosion.rb:20:1169:20:1173 | [post] self | UseUseExplosion.rb:20:2811:20:2816 | self | | UseUseExplosion.rb:20:1169:20:1173 | self | UseUseExplosion.rb:20:1190:20:1194 | self | | UseUseExplosion.rb:20:1169:20:1173 | self | UseUseExplosion.rb:20:2811:20:2816 | self | -| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | [false] ( ... ) | -| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | [true] ( ... ) | +| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | ( ... ) | | UseUseExplosion.rb:20:1181:20:2804 | then ... | UseUseExplosion.rb:20:1165:20:2820 | if ... | | UseUseExplosion.rb:20:1186:20:2804 | if ... | UseUseExplosion.rb:20:1181:20:2804 | then ... | | UseUseExplosion.rb:20:1190:20:1194 | [post] self | UseUseExplosion.rb:20:1211:20:1215 | self | | UseUseExplosion.rb:20:1190:20:1194 | [post] self | UseUseExplosion.rb:20:2795:20:2800 | self | | UseUseExplosion.rb:20:1190:20:1194 | self | UseUseExplosion.rb:20:1211:20:1215 | self | | UseUseExplosion.rb:20:1190:20:1194 | self | UseUseExplosion.rb:20:2795:20:2800 | self | -| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | [false] ( ... ) | -| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | [true] ( ... ) | +| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | ( ... ) | | UseUseExplosion.rb:20:1202:20:2788 | then ... | UseUseExplosion.rb:20:1186:20:2804 | if ... | | UseUseExplosion.rb:20:1207:20:2788 | if ... | UseUseExplosion.rb:20:1202:20:2788 | then ... | | UseUseExplosion.rb:20:1211:20:1215 | [post] self | UseUseExplosion.rb:20:1232:20:1236 | self | | UseUseExplosion.rb:20:1211:20:1215 | [post] self | UseUseExplosion.rb:20:2779:20:2784 | self | | UseUseExplosion.rb:20:1211:20:1215 | self | UseUseExplosion.rb:20:1232:20:1236 | self | | UseUseExplosion.rb:20:1211:20:1215 | self | UseUseExplosion.rb:20:2779:20:2784 | self | -| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | [false] ( ... ) | -| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | [true] ( ... ) | +| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | ( ... ) | | UseUseExplosion.rb:20:1223:20:2772 | then ... | UseUseExplosion.rb:20:1207:20:2788 | if ... | | UseUseExplosion.rb:20:1228:20:2772 | if ... | UseUseExplosion.rb:20:1223:20:2772 | then ... | | UseUseExplosion.rb:20:1232:20:1236 | [post] self | UseUseExplosion.rb:20:1253:20:1257 | self | | UseUseExplosion.rb:20:1232:20:1236 | [post] self | UseUseExplosion.rb:20:2763:20:2768 | self | | UseUseExplosion.rb:20:1232:20:1236 | self | UseUseExplosion.rb:20:1253:20:1257 | self | | UseUseExplosion.rb:20:1232:20:1236 | self | UseUseExplosion.rb:20:2763:20:2768 | self | -| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | [false] ( ... ) | -| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | [true] ( ... ) | +| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | ( ... ) | | UseUseExplosion.rb:20:1244:20:2756 | then ... | UseUseExplosion.rb:20:1228:20:2772 | if ... | | UseUseExplosion.rb:20:1249:20:2756 | if ... | UseUseExplosion.rb:20:1244:20:2756 | then ... | | UseUseExplosion.rb:20:1253:20:1257 | [post] self | UseUseExplosion.rb:20:1274:20:1278 | self | | UseUseExplosion.rb:20:1253:20:1257 | [post] self | UseUseExplosion.rb:20:2747:20:2752 | self | | UseUseExplosion.rb:20:1253:20:1257 | self | UseUseExplosion.rb:20:1274:20:1278 | self | | UseUseExplosion.rb:20:1253:20:1257 | self | UseUseExplosion.rb:20:2747:20:2752 | self | -| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | [false] ( ... ) | -| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | [true] ( ... ) | +| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | ( ... ) | | UseUseExplosion.rb:20:1265:20:2740 | then ... | UseUseExplosion.rb:20:1249:20:2756 | if ... | | UseUseExplosion.rb:20:1270:20:2740 | if ... | UseUseExplosion.rb:20:1265:20:2740 | then ... | | UseUseExplosion.rb:20:1274:20:1278 | [post] self | UseUseExplosion.rb:20:1295:20:1299 | self | | UseUseExplosion.rb:20:1274:20:1278 | [post] self | UseUseExplosion.rb:20:2731:20:2736 | self | | UseUseExplosion.rb:20:1274:20:1278 | self | UseUseExplosion.rb:20:1295:20:1299 | self | | UseUseExplosion.rb:20:1274:20:1278 | self | UseUseExplosion.rb:20:2731:20:2736 | self | -| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | [false] ( ... ) | -| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | [true] ( ... ) | +| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | ( ... ) | | UseUseExplosion.rb:20:1286:20:2724 | then ... | UseUseExplosion.rb:20:1270:20:2740 | if ... | | UseUseExplosion.rb:20:1291:20:2724 | if ... | UseUseExplosion.rb:20:1286:20:2724 | then ... | | UseUseExplosion.rb:20:1295:20:1299 | [post] self | UseUseExplosion.rb:20:1316:20:1320 | self | | UseUseExplosion.rb:20:1295:20:1299 | [post] self | UseUseExplosion.rb:20:2715:20:2720 | self | | UseUseExplosion.rb:20:1295:20:1299 | self | UseUseExplosion.rb:20:1316:20:1320 | self | | UseUseExplosion.rb:20:1295:20:1299 | self | UseUseExplosion.rb:20:2715:20:2720 | self | -| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | [false] ( ... ) | -| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | [true] ( ... ) | +| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | ( ... ) | | UseUseExplosion.rb:20:1307:20:2708 | then ... | UseUseExplosion.rb:20:1291:20:2724 | if ... | | UseUseExplosion.rb:20:1312:20:2708 | if ... | UseUseExplosion.rb:20:1307:20:2708 | then ... | | UseUseExplosion.rb:20:1316:20:1320 | [post] self | UseUseExplosion.rb:20:1337:20:1341 | self | | UseUseExplosion.rb:20:1316:20:1320 | [post] self | UseUseExplosion.rb:20:2699:20:2704 | self | | UseUseExplosion.rb:20:1316:20:1320 | self | UseUseExplosion.rb:20:1337:20:1341 | self | | UseUseExplosion.rb:20:1316:20:1320 | self | UseUseExplosion.rb:20:2699:20:2704 | self | -| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | [false] ( ... ) | -| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | [true] ( ... ) | +| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | ( ... ) | | UseUseExplosion.rb:20:1328:20:2692 | then ... | UseUseExplosion.rb:20:1312:20:2708 | if ... | | UseUseExplosion.rb:20:1333:20:2692 | if ... | UseUseExplosion.rb:20:1328:20:2692 | then ... | | UseUseExplosion.rb:20:1337:20:1341 | [post] self | UseUseExplosion.rb:20:1358:20:1362 | self | | UseUseExplosion.rb:20:1337:20:1341 | [post] self | UseUseExplosion.rb:20:2683:20:2688 | self | | UseUseExplosion.rb:20:1337:20:1341 | self | UseUseExplosion.rb:20:1358:20:1362 | self | | UseUseExplosion.rb:20:1337:20:1341 | self | UseUseExplosion.rb:20:2683:20:2688 | self | -| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | [false] ( ... ) | -| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | [true] ( ... ) | +| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | ( ... ) | | UseUseExplosion.rb:20:1349:20:2676 | then ... | UseUseExplosion.rb:20:1333:20:2692 | if ... | | UseUseExplosion.rb:20:1354:20:2676 | if ... | UseUseExplosion.rb:20:1349:20:2676 | then ... | | UseUseExplosion.rb:20:1358:20:1362 | [post] self | UseUseExplosion.rb:20:1379:20:1383 | self | | UseUseExplosion.rb:20:1358:20:1362 | [post] self | UseUseExplosion.rb:20:2667:20:2672 | self | | UseUseExplosion.rb:20:1358:20:1362 | self | UseUseExplosion.rb:20:1379:20:1383 | self | | UseUseExplosion.rb:20:1358:20:1362 | self | UseUseExplosion.rb:20:2667:20:2672 | self | -| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | [false] ( ... ) | -| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | [true] ( ... ) | +| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | ( ... ) | | UseUseExplosion.rb:20:1370:20:2660 | then ... | UseUseExplosion.rb:20:1354:20:2676 | if ... | | UseUseExplosion.rb:20:1375:20:2660 | if ... | UseUseExplosion.rb:20:1370:20:2660 | then ... | | UseUseExplosion.rb:20:1379:20:1383 | [post] self | UseUseExplosion.rb:20:1400:20:1404 | self | | UseUseExplosion.rb:20:1379:20:1383 | [post] self | UseUseExplosion.rb:20:2651:20:2656 | self | | UseUseExplosion.rb:20:1379:20:1383 | self | UseUseExplosion.rb:20:1400:20:1404 | self | | UseUseExplosion.rb:20:1379:20:1383 | self | UseUseExplosion.rb:20:2651:20:2656 | self | -| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | [false] ( ... ) | -| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | [true] ( ... ) | +| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | ( ... ) | | UseUseExplosion.rb:20:1391:20:2644 | then ... | UseUseExplosion.rb:20:1375:20:2660 | if ... | | UseUseExplosion.rb:20:1396:20:2644 | if ... | UseUseExplosion.rb:20:1391:20:2644 | then ... | | UseUseExplosion.rb:20:1400:20:1404 | [post] self | UseUseExplosion.rb:20:1421:20:1425 | self | | UseUseExplosion.rb:20:1400:20:1404 | [post] self | UseUseExplosion.rb:20:2635:20:2640 | self | | UseUseExplosion.rb:20:1400:20:1404 | self | UseUseExplosion.rb:20:1421:20:1425 | self | | UseUseExplosion.rb:20:1400:20:1404 | self | UseUseExplosion.rb:20:2635:20:2640 | self | -| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | [false] ( ... ) | -| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | [true] ( ... ) | +| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | ( ... ) | | UseUseExplosion.rb:20:1412:20:2628 | then ... | UseUseExplosion.rb:20:1396:20:2644 | if ... | | UseUseExplosion.rb:20:1417:20:2628 | if ... | UseUseExplosion.rb:20:1412:20:2628 | then ... | | UseUseExplosion.rb:20:1421:20:1425 | [post] self | UseUseExplosion.rb:20:1442:20:1446 | self | | UseUseExplosion.rb:20:1421:20:1425 | [post] self | UseUseExplosion.rb:20:2619:20:2624 | self | | UseUseExplosion.rb:20:1421:20:1425 | self | UseUseExplosion.rb:20:1442:20:1446 | self | | UseUseExplosion.rb:20:1421:20:1425 | self | UseUseExplosion.rb:20:2619:20:2624 | self | -| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | [false] ( ... ) | -| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | [true] ( ... ) | +| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | ( ... ) | | UseUseExplosion.rb:20:1433:20:2612 | then ... | UseUseExplosion.rb:20:1417:20:2628 | if ... | | UseUseExplosion.rb:20:1438:20:2612 | if ... | UseUseExplosion.rb:20:1433:20:2612 | then ... | | UseUseExplosion.rb:20:1442:20:1446 | [post] self | UseUseExplosion.rb:20:1463:20:1467 | self | | UseUseExplosion.rb:20:1442:20:1446 | [post] self | UseUseExplosion.rb:20:2603:20:2608 | self | | UseUseExplosion.rb:20:1442:20:1446 | self | UseUseExplosion.rb:20:1463:20:1467 | self | | UseUseExplosion.rb:20:1442:20:1446 | self | UseUseExplosion.rb:20:2603:20:2608 | self | -| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | [false] ( ... ) | -| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | [true] ( ... ) | +| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | ( ... ) | | UseUseExplosion.rb:20:1454:20:2596 | then ... | UseUseExplosion.rb:20:1438:20:2612 | if ... | | UseUseExplosion.rb:20:1459:20:2596 | if ... | UseUseExplosion.rb:20:1454:20:2596 | then ... | | UseUseExplosion.rb:20:1463:20:1467 | [post] self | UseUseExplosion.rb:20:1484:20:1488 | self | | UseUseExplosion.rb:20:1463:20:1467 | [post] self | UseUseExplosion.rb:20:2587:20:2592 | self | | UseUseExplosion.rb:20:1463:20:1467 | self | UseUseExplosion.rb:20:1484:20:1488 | self | | UseUseExplosion.rb:20:1463:20:1467 | self | UseUseExplosion.rb:20:2587:20:2592 | self | -| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | [false] ( ... ) | -| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | [true] ( ... ) | +| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | ( ... ) | | UseUseExplosion.rb:20:1475:20:2580 | then ... | UseUseExplosion.rb:20:1459:20:2596 | if ... | | UseUseExplosion.rb:20:1480:20:2580 | if ... | UseUseExplosion.rb:20:1475:20:2580 | then ... | | UseUseExplosion.rb:20:1484:20:1488 | [post] self | UseUseExplosion.rb:20:1505:20:1509 | self | | UseUseExplosion.rb:20:1484:20:1488 | [post] self | UseUseExplosion.rb:20:2571:20:2576 | self | | UseUseExplosion.rb:20:1484:20:1488 | self | UseUseExplosion.rb:20:1505:20:1509 | self | | UseUseExplosion.rb:20:1484:20:1488 | self | UseUseExplosion.rb:20:2571:20:2576 | self | -| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | [false] ( ... ) | -| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | [true] ( ... ) | +| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | ( ... ) | | UseUseExplosion.rb:20:1496:20:2564 | then ... | UseUseExplosion.rb:20:1480:20:2580 | if ... | | UseUseExplosion.rb:20:1501:20:2564 | if ... | UseUseExplosion.rb:20:1496:20:2564 | then ... | | UseUseExplosion.rb:20:1505:20:1509 | [post] self | UseUseExplosion.rb:20:1526:20:1530 | self | | UseUseExplosion.rb:20:1505:20:1509 | [post] self | UseUseExplosion.rb:20:2555:20:2560 | self | | UseUseExplosion.rb:20:1505:20:1509 | self | UseUseExplosion.rb:20:1526:20:1530 | self | | UseUseExplosion.rb:20:1505:20:1509 | self | UseUseExplosion.rb:20:2555:20:2560 | self | -| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | [false] ( ... ) | -| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | [true] ( ... ) | +| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | ( ... ) | | UseUseExplosion.rb:20:1517:20:2548 | then ... | UseUseExplosion.rb:20:1501:20:2564 | if ... | | UseUseExplosion.rb:20:1522:20:2548 | if ... | UseUseExplosion.rb:20:1517:20:2548 | then ... | | UseUseExplosion.rb:20:1526:20:1530 | [post] self | UseUseExplosion.rb:20:1547:20:1551 | self | | UseUseExplosion.rb:20:1526:20:1530 | [post] self | UseUseExplosion.rb:20:2539:20:2544 | self | | UseUseExplosion.rb:20:1526:20:1530 | self | UseUseExplosion.rb:20:1547:20:1551 | self | | UseUseExplosion.rb:20:1526:20:1530 | self | UseUseExplosion.rb:20:2539:20:2544 | self | -| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | [false] ( ... ) | -| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | [true] ( ... ) | +| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | ( ... ) | | UseUseExplosion.rb:20:1538:20:2532 | then ... | UseUseExplosion.rb:20:1522:20:2548 | if ... | | UseUseExplosion.rb:20:1543:20:2532 | if ... | UseUseExplosion.rb:20:1538:20:2532 | then ... | | UseUseExplosion.rb:20:1547:20:1551 | [post] self | UseUseExplosion.rb:20:1568:20:1572 | self | | UseUseExplosion.rb:20:1547:20:1551 | [post] self | UseUseExplosion.rb:20:2523:20:2528 | self | | UseUseExplosion.rb:20:1547:20:1551 | self | UseUseExplosion.rb:20:1568:20:1572 | self | | UseUseExplosion.rb:20:1547:20:1551 | self | UseUseExplosion.rb:20:2523:20:2528 | self | -| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | [false] ( ... ) | -| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | [true] ( ... ) | +| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | ( ... ) | | UseUseExplosion.rb:20:1559:20:2516 | then ... | UseUseExplosion.rb:20:1543:20:2532 | if ... | | UseUseExplosion.rb:20:1564:20:2516 | if ... | UseUseExplosion.rb:20:1559:20:2516 | then ... | | UseUseExplosion.rb:20:1568:20:1572 | [post] self | UseUseExplosion.rb:20:1589:20:1593 | self | | UseUseExplosion.rb:20:1568:20:1572 | [post] self | UseUseExplosion.rb:20:2507:20:2512 | self | | UseUseExplosion.rb:20:1568:20:1572 | self | UseUseExplosion.rb:20:1589:20:1593 | self | | UseUseExplosion.rb:20:1568:20:1572 | self | UseUseExplosion.rb:20:2507:20:2512 | self | -| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | [false] ( ... ) | -| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | [true] ( ... ) | +| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | ( ... ) | | UseUseExplosion.rb:20:1580:20:2500 | then ... | UseUseExplosion.rb:20:1564:20:2516 | if ... | | UseUseExplosion.rb:20:1585:20:2500 | if ... | UseUseExplosion.rb:20:1580:20:2500 | then ... | | UseUseExplosion.rb:20:1589:20:1593 | [post] self | UseUseExplosion.rb:20:1610:20:1614 | self | | UseUseExplosion.rb:20:1589:20:1593 | [post] self | UseUseExplosion.rb:20:2491:20:2496 | self | | UseUseExplosion.rb:20:1589:20:1593 | self | UseUseExplosion.rb:20:1610:20:1614 | self | | UseUseExplosion.rb:20:1589:20:1593 | self | UseUseExplosion.rb:20:2491:20:2496 | self | -| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | [false] ( ... ) | -| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | [true] ( ... ) | +| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | ( ... ) | | UseUseExplosion.rb:20:1601:20:2484 | then ... | UseUseExplosion.rb:20:1585:20:2500 | if ... | | UseUseExplosion.rb:20:1606:20:2484 | if ... | UseUseExplosion.rb:20:1601:20:2484 | then ... | | UseUseExplosion.rb:20:1610:20:1614 | [post] self | UseUseExplosion.rb:20:1631:20:1635 | self | | UseUseExplosion.rb:20:1610:20:1614 | [post] self | UseUseExplosion.rb:20:2475:20:2480 | self | | UseUseExplosion.rb:20:1610:20:1614 | self | UseUseExplosion.rb:20:1631:20:1635 | self | | UseUseExplosion.rb:20:1610:20:1614 | self | UseUseExplosion.rb:20:2475:20:2480 | self | -| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | [false] ( ... ) | -| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | [true] ( ... ) | +| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | ( ... ) | | UseUseExplosion.rb:20:1622:20:2468 | then ... | UseUseExplosion.rb:20:1606:20:2484 | if ... | | UseUseExplosion.rb:20:1627:20:2468 | if ... | UseUseExplosion.rb:20:1622:20:2468 | then ... | | UseUseExplosion.rb:20:1631:20:1635 | [post] self | UseUseExplosion.rb:20:1652:20:1656 | self | | UseUseExplosion.rb:20:1631:20:1635 | [post] self | UseUseExplosion.rb:20:2459:20:2464 | self | | UseUseExplosion.rb:20:1631:20:1635 | self | UseUseExplosion.rb:20:1652:20:1656 | self | | UseUseExplosion.rb:20:1631:20:1635 | self | UseUseExplosion.rb:20:2459:20:2464 | self | -| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | [false] ( ... ) | -| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | [true] ( ... ) | +| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | ( ... ) | | UseUseExplosion.rb:20:1643:20:2452 | then ... | UseUseExplosion.rb:20:1627:20:2468 | if ... | | UseUseExplosion.rb:20:1648:20:2452 | if ... | UseUseExplosion.rb:20:1643:20:2452 | then ... | | UseUseExplosion.rb:20:1652:20:1656 | [post] self | UseUseExplosion.rb:20:1673:20:1677 | self | | UseUseExplosion.rb:20:1652:20:1656 | [post] self | UseUseExplosion.rb:20:2443:20:2448 | self | | UseUseExplosion.rb:20:1652:20:1656 | self | UseUseExplosion.rb:20:1673:20:1677 | self | | UseUseExplosion.rb:20:1652:20:1656 | self | UseUseExplosion.rb:20:2443:20:2448 | self | -| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | [false] ( ... ) | -| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | [true] ( ... ) | +| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | ( ... ) | | UseUseExplosion.rb:20:1664:20:2436 | then ... | UseUseExplosion.rb:20:1648:20:2452 | if ... | | UseUseExplosion.rb:20:1669:20:2436 | if ... | UseUseExplosion.rb:20:1664:20:2436 | then ... | | UseUseExplosion.rb:20:1673:20:1677 | [post] self | UseUseExplosion.rb:20:1694:20:1698 | self | | UseUseExplosion.rb:20:1673:20:1677 | [post] self | UseUseExplosion.rb:20:2427:20:2432 | self | | UseUseExplosion.rb:20:1673:20:1677 | self | UseUseExplosion.rb:20:1694:20:1698 | self | | UseUseExplosion.rb:20:1673:20:1677 | self | UseUseExplosion.rb:20:2427:20:2432 | self | -| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | [false] ( ... ) | -| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | [true] ( ... ) | +| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | ( ... ) | | UseUseExplosion.rb:20:1685:20:2420 | then ... | UseUseExplosion.rb:20:1669:20:2436 | if ... | | UseUseExplosion.rb:20:1690:20:2420 | if ... | UseUseExplosion.rb:20:1685:20:2420 | then ... | | UseUseExplosion.rb:20:1694:20:1698 | [post] self | UseUseExplosion.rb:20:1715:20:1719 | self | | UseUseExplosion.rb:20:1694:20:1698 | [post] self | UseUseExplosion.rb:20:2411:20:2416 | self | | UseUseExplosion.rb:20:1694:20:1698 | self | UseUseExplosion.rb:20:1715:20:1719 | self | | UseUseExplosion.rb:20:1694:20:1698 | self | UseUseExplosion.rb:20:2411:20:2416 | self | -| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | [false] ( ... ) | -| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | [true] ( ... ) | +| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | ( ... ) | | UseUseExplosion.rb:20:1706:20:2404 | then ... | UseUseExplosion.rb:20:1690:20:2420 | if ... | | UseUseExplosion.rb:20:1711:20:2404 | if ... | UseUseExplosion.rb:20:1706:20:2404 | then ... | | UseUseExplosion.rb:20:1715:20:1719 | [post] self | UseUseExplosion.rb:20:1736:20:1740 | self | | UseUseExplosion.rb:20:1715:20:1719 | [post] self | UseUseExplosion.rb:20:2395:20:2400 | self | | UseUseExplosion.rb:20:1715:20:1719 | self | UseUseExplosion.rb:20:1736:20:1740 | self | | UseUseExplosion.rb:20:1715:20:1719 | self | UseUseExplosion.rb:20:2395:20:2400 | self | -| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | [false] ( ... ) | -| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | [true] ( ... ) | +| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | ( ... ) | | UseUseExplosion.rb:20:1727:20:2388 | then ... | UseUseExplosion.rb:20:1711:20:2404 | if ... | | UseUseExplosion.rb:20:1732:20:2388 | if ... | UseUseExplosion.rb:20:1727:20:2388 | then ... | | UseUseExplosion.rb:20:1736:20:1740 | [post] self | UseUseExplosion.rb:20:1757:20:1761 | self | | UseUseExplosion.rb:20:1736:20:1740 | [post] self | UseUseExplosion.rb:20:2379:20:2384 | self | | UseUseExplosion.rb:20:1736:20:1740 | self | UseUseExplosion.rb:20:1757:20:1761 | self | | UseUseExplosion.rb:20:1736:20:1740 | self | UseUseExplosion.rb:20:2379:20:2384 | self | -| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | [false] ( ... ) | -| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | [true] ( ... ) | +| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | ( ... ) | | UseUseExplosion.rb:20:1748:20:2372 | then ... | UseUseExplosion.rb:20:1732:20:2388 | if ... | | UseUseExplosion.rb:20:1753:20:2372 | if ... | UseUseExplosion.rb:20:1748:20:2372 | then ... | | UseUseExplosion.rb:20:1757:20:1761 | [post] self | UseUseExplosion.rb:20:1778:20:1782 | self | | UseUseExplosion.rb:20:1757:20:1761 | [post] self | UseUseExplosion.rb:20:2363:20:2368 | self | | UseUseExplosion.rb:20:1757:20:1761 | self | UseUseExplosion.rb:20:1778:20:1782 | self | | UseUseExplosion.rb:20:1757:20:1761 | self | UseUseExplosion.rb:20:2363:20:2368 | self | -| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | [false] ( ... ) | -| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | [true] ( ... ) | +| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | ( ... ) | | UseUseExplosion.rb:20:1769:20:2356 | then ... | UseUseExplosion.rb:20:1753:20:2372 | if ... | | UseUseExplosion.rb:20:1774:20:2356 | if ... | UseUseExplosion.rb:20:1769:20:2356 | then ... | | UseUseExplosion.rb:20:1778:20:1782 | [post] self | UseUseExplosion.rb:20:1799:20:1803 | self | | UseUseExplosion.rb:20:1778:20:1782 | [post] self | UseUseExplosion.rb:20:2347:20:2352 | self | | UseUseExplosion.rb:20:1778:20:1782 | self | UseUseExplosion.rb:20:1799:20:1803 | self | | UseUseExplosion.rb:20:1778:20:1782 | self | UseUseExplosion.rb:20:2347:20:2352 | self | -| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | [false] ( ... ) | -| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | [true] ( ... ) | +| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | ( ... ) | | UseUseExplosion.rb:20:1790:20:2340 | then ... | UseUseExplosion.rb:20:1774:20:2356 | if ... | | UseUseExplosion.rb:20:1795:20:2340 | if ... | UseUseExplosion.rb:20:1790:20:2340 | then ... | | UseUseExplosion.rb:20:1799:20:1803 | [post] self | UseUseExplosion.rb:20:1820:20:1824 | self | | UseUseExplosion.rb:20:1799:20:1803 | [post] self | UseUseExplosion.rb:20:2331:20:2336 | self | | UseUseExplosion.rb:20:1799:20:1803 | self | UseUseExplosion.rb:20:1820:20:1824 | self | | UseUseExplosion.rb:20:1799:20:1803 | self | UseUseExplosion.rb:20:2331:20:2336 | self | -| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | [false] ( ... ) | -| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | [true] ( ... ) | +| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | ( ... ) | | UseUseExplosion.rb:20:1811:20:2324 | then ... | UseUseExplosion.rb:20:1795:20:2340 | if ... | | UseUseExplosion.rb:20:1816:20:2324 | if ... | UseUseExplosion.rb:20:1811:20:2324 | then ... | | UseUseExplosion.rb:20:1820:20:1824 | [post] self | UseUseExplosion.rb:20:1841:20:1845 | self | | UseUseExplosion.rb:20:1820:20:1824 | [post] self | UseUseExplosion.rb:20:2315:20:2320 | self | | UseUseExplosion.rb:20:1820:20:1824 | self | UseUseExplosion.rb:20:1841:20:1845 | self | | UseUseExplosion.rb:20:1820:20:1824 | self | UseUseExplosion.rb:20:2315:20:2320 | self | -| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | [false] ( ... ) | -| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | [true] ( ... ) | +| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | ( ... ) | | UseUseExplosion.rb:20:1832:20:2308 | then ... | UseUseExplosion.rb:20:1816:20:2324 | if ... | | UseUseExplosion.rb:20:1837:20:2308 | if ... | UseUseExplosion.rb:20:1832:20:2308 | then ... | | UseUseExplosion.rb:20:1841:20:1845 | [post] self | UseUseExplosion.rb:20:1862:20:1866 | self | | UseUseExplosion.rb:20:1841:20:1845 | [post] self | UseUseExplosion.rb:20:2299:20:2304 | self | | UseUseExplosion.rb:20:1841:20:1845 | self | UseUseExplosion.rb:20:1862:20:1866 | self | | UseUseExplosion.rb:20:1841:20:1845 | self | UseUseExplosion.rb:20:2299:20:2304 | self | -| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | [false] ( ... ) | -| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | [true] ( ... ) | +| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | ( ... ) | | UseUseExplosion.rb:20:1853:20:2292 | then ... | UseUseExplosion.rb:20:1837:20:2308 | if ... | | UseUseExplosion.rb:20:1858:20:2292 | if ... | UseUseExplosion.rb:20:1853:20:2292 | then ... | | UseUseExplosion.rb:20:1862:20:1866 | [post] self | UseUseExplosion.rb:20:1883:20:1887 | self | | UseUseExplosion.rb:20:1862:20:1866 | [post] self | UseUseExplosion.rb:20:2283:20:2288 | self | | UseUseExplosion.rb:20:1862:20:1866 | self | UseUseExplosion.rb:20:1883:20:1887 | self | | UseUseExplosion.rb:20:1862:20:1866 | self | UseUseExplosion.rb:20:2283:20:2288 | self | -| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | [false] ( ... ) | -| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | [true] ( ... ) | +| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | ( ... ) | | UseUseExplosion.rb:20:1874:20:2276 | then ... | UseUseExplosion.rb:20:1858:20:2292 | if ... | | UseUseExplosion.rb:20:1879:20:2276 | if ... | UseUseExplosion.rb:20:1874:20:2276 | then ... | | UseUseExplosion.rb:20:1883:20:1887 | [post] self | UseUseExplosion.rb:20:1904:20:1908 | self | | UseUseExplosion.rb:20:1883:20:1887 | [post] self | UseUseExplosion.rb:20:2267:20:2272 | self | | UseUseExplosion.rb:20:1883:20:1887 | self | UseUseExplosion.rb:20:1904:20:1908 | self | | UseUseExplosion.rb:20:1883:20:1887 | self | UseUseExplosion.rb:20:2267:20:2272 | self | -| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | [false] ( ... ) | -| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | [true] ( ... ) | +| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | ( ... ) | | UseUseExplosion.rb:20:1895:20:2260 | then ... | UseUseExplosion.rb:20:1879:20:2276 | if ... | | UseUseExplosion.rb:20:1900:20:2260 | if ... | UseUseExplosion.rb:20:1895:20:2260 | then ... | | UseUseExplosion.rb:20:1904:20:1908 | [post] self | UseUseExplosion.rb:20:1925:20:1929 | self | | UseUseExplosion.rb:20:1904:20:1908 | [post] self | UseUseExplosion.rb:20:2251:20:2256 | self | | UseUseExplosion.rb:20:1904:20:1908 | self | UseUseExplosion.rb:20:1925:20:1929 | self | | UseUseExplosion.rb:20:1904:20:1908 | self | UseUseExplosion.rb:20:2251:20:2256 | self | -| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | [false] ( ... ) | -| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | [true] ( ... ) | +| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | ( ... ) | | UseUseExplosion.rb:20:1916:20:2244 | then ... | UseUseExplosion.rb:20:1900:20:2260 | if ... | | UseUseExplosion.rb:20:1921:20:2244 | if ... | UseUseExplosion.rb:20:1916:20:2244 | then ... | | UseUseExplosion.rb:20:1925:20:1929 | [post] self | UseUseExplosion.rb:20:1945:20:1949 | self | | UseUseExplosion.rb:20:1925:20:1929 | [post] self | UseUseExplosion.rb:20:2235:20:2240 | self | | UseUseExplosion.rb:20:1925:20:1929 | self | UseUseExplosion.rb:20:1945:20:1949 | self | | UseUseExplosion.rb:20:1925:20:1929 | self | UseUseExplosion.rb:20:2235:20:2240 | self | -| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | [false] ( ... ) | -| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | [true] ( ... ) | +| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | ( ... ) | | UseUseExplosion.rb:20:1936:20:2228 | then ... | UseUseExplosion.rb:20:1921:20:2244 | if ... | | UseUseExplosion.rb:20:1941:20:2228 | if ... | UseUseExplosion.rb:20:1936:20:2228 | then ... | | UseUseExplosion.rb:20:1945:20:1949 | [post] self | UseUseExplosion.rb:20:1965:20:1969 | self | | UseUseExplosion.rb:20:1945:20:1949 | [post] self | UseUseExplosion.rb:20:2219:20:2224 | self | | UseUseExplosion.rb:20:1945:20:1949 | self | UseUseExplosion.rb:20:1965:20:1969 | self | | UseUseExplosion.rb:20:1945:20:1949 | self | UseUseExplosion.rb:20:2219:20:2224 | self | -| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | [false] ( ... ) | -| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | [true] ( ... ) | +| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | ( ... ) | | UseUseExplosion.rb:20:1956:20:2212 | then ... | UseUseExplosion.rb:20:1941:20:2228 | if ... | | UseUseExplosion.rb:20:1961:20:2212 | if ... | UseUseExplosion.rb:20:1956:20:2212 | then ... | | UseUseExplosion.rb:20:1965:20:1969 | [post] self | UseUseExplosion.rb:20:1985:20:1989 | self | | UseUseExplosion.rb:20:1965:20:1969 | [post] self | UseUseExplosion.rb:20:2203:20:2208 | self | | UseUseExplosion.rb:20:1965:20:1969 | self | UseUseExplosion.rb:20:1985:20:1989 | self | | UseUseExplosion.rb:20:1965:20:1969 | self | UseUseExplosion.rb:20:2203:20:2208 | self | -| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | [false] ( ... ) | -| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | [true] ( ... ) | +| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | ( ... ) | | UseUseExplosion.rb:20:1976:20:2196 | then ... | UseUseExplosion.rb:20:1961:20:2212 | if ... | | UseUseExplosion.rb:20:1981:20:2196 | if ... | UseUseExplosion.rb:20:1976:20:2196 | then ... | | UseUseExplosion.rb:20:1985:20:1989 | [post] self | UseUseExplosion.rb:20:2005:20:2009 | self | | UseUseExplosion.rb:20:1985:20:1989 | [post] self | UseUseExplosion.rb:20:2187:20:2192 | self | | UseUseExplosion.rb:20:1985:20:1989 | self | UseUseExplosion.rb:20:2005:20:2009 | self | | UseUseExplosion.rb:20:1985:20:1989 | self | UseUseExplosion.rb:20:2187:20:2192 | self | -| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | [false] ( ... ) | -| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | [true] ( ... ) | +| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | ( ... ) | | UseUseExplosion.rb:20:1996:20:2180 | then ... | UseUseExplosion.rb:20:1981:20:2196 | if ... | | UseUseExplosion.rb:20:2001:20:2180 | if ... | UseUseExplosion.rb:20:1996:20:2180 | then ... | | UseUseExplosion.rb:20:2005:20:2009 | [post] self | UseUseExplosion.rb:20:2025:20:2029 | self | | UseUseExplosion.rb:20:2005:20:2009 | [post] self | UseUseExplosion.rb:20:2171:20:2176 | self | | UseUseExplosion.rb:20:2005:20:2009 | self | UseUseExplosion.rb:20:2025:20:2029 | self | | UseUseExplosion.rb:20:2005:20:2009 | self | UseUseExplosion.rb:20:2171:20:2176 | self | -| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | [false] ( ... ) | -| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | [true] ( ... ) | +| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | ( ... ) | | UseUseExplosion.rb:20:2016:20:2164 | then ... | UseUseExplosion.rb:20:2001:20:2180 | if ... | | UseUseExplosion.rb:20:2021:20:2164 | if ... | UseUseExplosion.rb:20:2016:20:2164 | then ... | | UseUseExplosion.rb:20:2025:20:2029 | [post] self | UseUseExplosion.rb:20:2045:20:2049 | self | | UseUseExplosion.rb:20:2025:20:2029 | [post] self | UseUseExplosion.rb:20:2155:20:2160 | self | | UseUseExplosion.rb:20:2025:20:2029 | self | UseUseExplosion.rb:20:2045:20:2049 | self | | UseUseExplosion.rb:20:2025:20:2029 | self | UseUseExplosion.rb:20:2155:20:2160 | self | -| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | [false] ( ... ) | -| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | [true] ( ... ) | +| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | ( ... ) | | UseUseExplosion.rb:20:2036:20:2148 | then ... | UseUseExplosion.rb:20:2021:20:2164 | if ... | | UseUseExplosion.rb:20:2041:20:2148 | if ... | UseUseExplosion.rb:20:2036:20:2148 | then ... | | UseUseExplosion.rb:20:2045:20:2049 | [post] self | UseUseExplosion.rb:20:2065:20:2069 | self | | UseUseExplosion.rb:20:2045:20:2049 | [post] self | UseUseExplosion.rb:20:2139:20:2144 | self | | UseUseExplosion.rb:20:2045:20:2049 | self | UseUseExplosion.rb:20:2065:20:2069 | self | | UseUseExplosion.rb:20:2045:20:2049 | self | UseUseExplosion.rb:20:2139:20:2144 | self | -| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | [false] ( ... ) | -| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | [true] ( ... ) | +| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | ( ... ) | | UseUseExplosion.rb:20:2056:20:2132 | then ... | UseUseExplosion.rb:20:2041:20:2148 | if ... | | UseUseExplosion.rb:20:2061:20:2132 | if ... | UseUseExplosion.rb:20:2056:20:2132 | then ... | | UseUseExplosion.rb:20:2065:20:2069 | [post] self | UseUseExplosion.rb:20:2085:20:2089 | self | | UseUseExplosion.rb:20:2065:20:2069 | [post] self | UseUseExplosion.rb:20:2123:20:2128 | self | | UseUseExplosion.rb:20:2065:20:2069 | self | UseUseExplosion.rb:20:2085:20:2089 | self | | UseUseExplosion.rb:20:2065:20:2069 | self | UseUseExplosion.rb:20:2123:20:2128 | self | -| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | [false] ( ... ) | -| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | [true] ( ... ) | +| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | ( ... ) | | UseUseExplosion.rb:20:2076:20:2116 | then ... | UseUseExplosion.rb:20:2061:20:2132 | if ... | | UseUseExplosion.rb:20:2081:20:2116 | if ... | UseUseExplosion.rb:20:2076:20:2116 | then ... | | UseUseExplosion.rb:20:2085:20:2089 | [post] self | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(self) | | UseUseExplosion.rb:20:2085:20:2089 | [post] self | UseUseExplosion.rb:20:2107:20:2112 | self | | UseUseExplosion.rb:20:2085:20:2089 | self | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(self) | | UseUseExplosion.rb:20:2085:20:2089 | self | UseUseExplosion.rb:20:2107:20:2112 | self | -| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | [false] ( ... ) | -| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | [true] ( ... ) | +| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | ( ... ) | | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(self) | UseUseExplosion.rb:21:13:21:17 | self | | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(x) | UseUseExplosion.rb:20:9:20:3700 | SSA phi read(x) | | UseUseExplosion.rb:20:2096:20:2099 | then ... | UseUseExplosion.rb:20:2081:20:2116 | if ... | @@ -1504,802 +1404,703 @@ | UseUseExplosion.rb:20:3691:20:3696 | call to use | UseUseExplosion.rb:20:3686:20:3696 | else ... | | UseUseExplosion.rb:20:3691:20:3696 | self | UseUseExplosion.rb:21:13:21:17 | self | | UseUseExplosion.rb:20:3695:20:3695 | x | UseUseExplosion.rb:20:9:20:3700 | SSA phi read(x) | +| UseUseExplosion.rb:21:9:21:3700 | if ... | UseUseExplosion.rb:19:9:21:3700 | ... | | UseUseExplosion.rb:21:13:21:17 | [post] self | UseUseExplosion.rb:21:35:21:39 | self | | UseUseExplosion.rb:21:13:21:17 | [post] self | UseUseExplosion.rb:21:3691:21:3696 | self | | UseUseExplosion.rb:21:13:21:17 | self | UseUseExplosion.rb:21:35:21:39 | self | | UseUseExplosion.rb:21:13:21:17 | self | UseUseExplosion.rb:21:3691:21:3696 | self | -| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | [false] ( ... ) | -| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | [true] ( ... ) | +| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | ( ... ) | | UseUseExplosion.rb:21:26:21:3684 | then ... | UseUseExplosion.rb:21:9:21:3700 | if ... | | UseUseExplosion.rb:21:31:21:3684 | if ... | UseUseExplosion.rb:21:26:21:3684 | then ... | | UseUseExplosion.rb:21:35:21:39 | [post] self | UseUseExplosion.rb:21:56:21:60 | self | | UseUseExplosion.rb:21:35:21:39 | [post] self | UseUseExplosion.rb:21:3675:21:3680 | self | | UseUseExplosion.rb:21:35:21:39 | self | UseUseExplosion.rb:21:56:21:60 | self | | UseUseExplosion.rb:21:35:21:39 | self | UseUseExplosion.rb:21:3675:21:3680 | self | -| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | [false] ( ... ) | -| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | [true] ( ... ) | +| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | ( ... ) | | UseUseExplosion.rb:21:47:21:3668 | then ... | UseUseExplosion.rb:21:31:21:3684 | if ... | | UseUseExplosion.rb:21:52:21:3668 | if ... | UseUseExplosion.rb:21:47:21:3668 | then ... | | UseUseExplosion.rb:21:56:21:60 | [post] self | UseUseExplosion.rb:21:77:21:81 | self | | UseUseExplosion.rb:21:56:21:60 | [post] self | UseUseExplosion.rb:21:3659:21:3664 | self | | UseUseExplosion.rb:21:56:21:60 | self | UseUseExplosion.rb:21:77:21:81 | self | | UseUseExplosion.rb:21:56:21:60 | self | UseUseExplosion.rb:21:3659:21:3664 | self | -| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | [false] ( ... ) | -| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | [true] ( ... ) | +| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | ( ... ) | | UseUseExplosion.rb:21:68:21:3652 | then ... | UseUseExplosion.rb:21:52:21:3668 | if ... | | UseUseExplosion.rb:21:73:21:3652 | if ... | UseUseExplosion.rb:21:68:21:3652 | then ... | | UseUseExplosion.rb:21:77:21:81 | [post] self | UseUseExplosion.rb:21:98:21:102 | self | | UseUseExplosion.rb:21:77:21:81 | [post] self | UseUseExplosion.rb:21:3643:21:3648 | self | | UseUseExplosion.rb:21:77:21:81 | self | UseUseExplosion.rb:21:98:21:102 | self | | UseUseExplosion.rb:21:77:21:81 | self | UseUseExplosion.rb:21:3643:21:3648 | self | -| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | [false] ( ... ) | -| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | [true] ( ... ) | +| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | ( ... ) | | UseUseExplosion.rb:21:89:21:3636 | then ... | UseUseExplosion.rb:21:73:21:3652 | if ... | | UseUseExplosion.rb:21:94:21:3636 | if ... | UseUseExplosion.rb:21:89:21:3636 | then ... | | UseUseExplosion.rb:21:98:21:102 | [post] self | UseUseExplosion.rb:21:119:21:123 | self | | UseUseExplosion.rb:21:98:21:102 | [post] self | UseUseExplosion.rb:21:3627:21:3632 | self | | UseUseExplosion.rb:21:98:21:102 | self | UseUseExplosion.rb:21:119:21:123 | self | | UseUseExplosion.rb:21:98:21:102 | self | UseUseExplosion.rb:21:3627:21:3632 | self | -| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | [false] ( ... ) | -| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | [true] ( ... ) | +| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | ( ... ) | | UseUseExplosion.rb:21:110:21:3620 | then ... | UseUseExplosion.rb:21:94:21:3636 | if ... | | UseUseExplosion.rb:21:115:21:3620 | if ... | UseUseExplosion.rb:21:110:21:3620 | then ... | | UseUseExplosion.rb:21:119:21:123 | [post] self | UseUseExplosion.rb:21:140:21:144 | self | | UseUseExplosion.rb:21:119:21:123 | [post] self | UseUseExplosion.rb:21:3611:21:3616 | self | | UseUseExplosion.rb:21:119:21:123 | self | UseUseExplosion.rb:21:140:21:144 | self | | UseUseExplosion.rb:21:119:21:123 | self | UseUseExplosion.rb:21:3611:21:3616 | self | -| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | [false] ( ... ) | -| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | [true] ( ... ) | +| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | ( ... ) | | UseUseExplosion.rb:21:131:21:3604 | then ... | UseUseExplosion.rb:21:115:21:3620 | if ... | | UseUseExplosion.rb:21:136:21:3604 | if ... | UseUseExplosion.rb:21:131:21:3604 | then ... | | UseUseExplosion.rb:21:140:21:144 | [post] self | UseUseExplosion.rb:21:161:21:165 | self | | UseUseExplosion.rb:21:140:21:144 | [post] self | UseUseExplosion.rb:21:3595:21:3600 | self | | UseUseExplosion.rb:21:140:21:144 | self | UseUseExplosion.rb:21:161:21:165 | self | | UseUseExplosion.rb:21:140:21:144 | self | UseUseExplosion.rb:21:3595:21:3600 | self | -| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | [false] ( ... ) | -| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | [true] ( ... ) | +| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | ( ... ) | | UseUseExplosion.rb:21:152:21:3588 | then ... | UseUseExplosion.rb:21:136:21:3604 | if ... | | UseUseExplosion.rb:21:157:21:3588 | if ... | UseUseExplosion.rb:21:152:21:3588 | then ... | | UseUseExplosion.rb:21:161:21:165 | [post] self | UseUseExplosion.rb:21:182:21:186 | self | | UseUseExplosion.rb:21:161:21:165 | [post] self | UseUseExplosion.rb:21:3579:21:3584 | self | | UseUseExplosion.rb:21:161:21:165 | self | UseUseExplosion.rb:21:182:21:186 | self | | UseUseExplosion.rb:21:161:21:165 | self | UseUseExplosion.rb:21:3579:21:3584 | self | -| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | [false] ( ... ) | -| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | [true] ( ... ) | +| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | ( ... ) | | UseUseExplosion.rb:21:173:21:3572 | then ... | UseUseExplosion.rb:21:157:21:3588 | if ... | | UseUseExplosion.rb:21:178:21:3572 | if ... | UseUseExplosion.rb:21:173:21:3572 | then ... | | UseUseExplosion.rb:21:182:21:186 | [post] self | UseUseExplosion.rb:21:203:21:207 | self | | UseUseExplosion.rb:21:182:21:186 | [post] self | UseUseExplosion.rb:21:3563:21:3568 | self | | UseUseExplosion.rb:21:182:21:186 | self | UseUseExplosion.rb:21:203:21:207 | self | | UseUseExplosion.rb:21:182:21:186 | self | UseUseExplosion.rb:21:3563:21:3568 | self | -| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | [false] ( ... ) | -| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | [true] ( ... ) | +| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | ( ... ) | | UseUseExplosion.rb:21:194:21:3556 | then ... | UseUseExplosion.rb:21:178:21:3572 | if ... | | UseUseExplosion.rb:21:199:21:3556 | if ... | UseUseExplosion.rb:21:194:21:3556 | then ... | | UseUseExplosion.rb:21:203:21:207 | [post] self | UseUseExplosion.rb:21:224:21:228 | self | | UseUseExplosion.rb:21:203:21:207 | [post] self | UseUseExplosion.rb:21:3547:21:3552 | self | | UseUseExplosion.rb:21:203:21:207 | self | UseUseExplosion.rb:21:224:21:228 | self | | UseUseExplosion.rb:21:203:21:207 | self | UseUseExplosion.rb:21:3547:21:3552 | self | -| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | [false] ( ... ) | -| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | [true] ( ... ) | +| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | ( ... ) | | UseUseExplosion.rb:21:215:21:3540 | then ... | UseUseExplosion.rb:21:199:21:3556 | if ... | | UseUseExplosion.rb:21:220:21:3540 | if ... | UseUseExplosion.rb:21:215:21:3540 | then ... | | UseUseExplosion.rb:21:224:21:228 | [post] self | UseUseExplosion.rb:21:245:21:249 | self | | UseUseExplosion.rb:21:224:21:228 | [post] self | UseUseExplosion.rb:21:3531:21:3536 | self | | UseUseExplosion.rb:21:224:21:228 | self | UseUseExplosion.rb:21:245:21:249 | self | | UseUseExplosion.rb:21:224:21:228 | self | UseUseExplosion.rb:21:3531:21:3536 | self | -| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | [false] ( ... ) | -| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | [true] ( ... ) | +| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | ( ... ) | | UseUseExplosion.rb:21:236:21:3524 | then ... | UseUseExplosion.rb:21:220:21:3540 | if ... | | UseUseExplosion.rb:21:241:21:3524 | if ... | UseUseExplosion.rb:21:236:21:3524 | then ... | | UseUseExplosion.rb:21:245:21:249 | [post] self | UseUseExplosion.rb:21:266:21:270 | self | | UseUseExplosion.rb:21:245:21:249 | [post] self | UseUseExplosion.rb:21:3515:21:3520 | self | | UseUseExplosion.rb:21:245:21:249 | self | UseUseExplosion.rb:21:266:21:270 | self | | UseUseExplosion.rb:21:245:21:249 | self | UseUseExplosion.rb:21:3515:21:3520 | self | -| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | [false] ( ... ) | -| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | [true] ( ... ) | +| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | ( ... ) | | UseUseExplosion.rb:21:257:21:3508 | then ... | UseUseExplosion.rb:21:241:21:3524 | if ... | | UseUseExplosion.rb:21:262:21:3508 | if ... | UseUseExplosion.rb:21:257:21:3508 | then ... | | UseUseExplosion.rb:21:266:21:270 | [post] self | UseUseExplosion.rb:21:287:21:291 | self | | UseUseExplosion.rb:21:266:21:270 | [post] self | UseUseExplosion.rb:21:3499:21:3504 | self | | UseUseExplosion.rb:21:266:21:270 | self | UseUseExplosion.rb:21:287:21:291 | self | | UseUseExplosion.rb:21:266:21:270 | self | UseUseExplosion.rb:21:3499:21:3504 | self | -| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | [false] ( ... ) | -| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | [true] ( ... ) | +| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | ( ... ) | | UseUseExplosion.rb:21:278:21:3492 | then ... | UseUseExplosion.rb:21:262:21:3508 | if ... | | UseUseExplosion.rb:21:283:21:3492 | if ... | UseUseExplosion.rb:21:278:21:3492 | then ... | | UseUseExplosion.rb:21:287:21:291 | [post] self | UseUseExplosion.rb:21:308:21:312 | self | | UseUseExplosion.rb:21:287:21:291 | [post] self | UseUseExplosion.rb:21:3483:21:3488 | self | | UseUseExplosion.rb:21:287:21:291 | self | UseUseExplosion.rb:21:308:21:312 | self | | UseUseExplosion.rb:21:287:21:291 | self | UseUseExplosion.rb:21:3483:21:3488 | self | -| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | [false] ( ... ) | -| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | [true] ( ... ) | +| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | ( ... ) | | UseUseExplosion.rb:21:299:21:3476 | then ... | UseUseExplosion.rb:21:283:21:3492 | if ... | | UseUseExplosion.rb:21:304:21:3476 | if ... | UseUseExplosion.rb:21:299:21:3476 | then ... | | UseUseExplosion.rb:21:308:21:312 | [post] self | UseUseExplosion.rb:21:329:21:333 | self | | UseUseExplosion.rb:21:308:21:312 | [post] self | UseUseExplosion.rb:21:3467:21:3472 | self | | UseUseExplosion.rb:21:308:21:312 | self | UseUseExplosion.rb:21:329:21:333 | self | | UseUseExplosion.rb:21:308:21:312 | self | UseUseExplosion.rb:21:3467:21:3472 | self | -| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | [false] ( ... ) | -| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | [true] ( ... ) | +| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | ( ... ) | | UseUseExplosion.rb:21:320:21:3460 | then ... | UseUseExplosion.rb:21:304:21:3476 | if ... | | UseUseExplosion.rb:21:325:21:3460 | if ... | UseUseExplosion.rb:21:320:21:3460 | then ... | | UseUseExplosion.rb:21:329:21:333 | [post] self | UseUseExplosion.rb:21:350:21:354 | self | | UseUseExplosion.rb:21:329:21:333 | [post] self | UseUseExplosion.rb:21:3451:21:3456 | self | | UseUseExplosion.rb:21:329:21:333 | self | UseUseExplosion.rb:21:350:21:354 | self | | UseUseExplosion.rb:21:329:21:333 | self | UseUseExplosion.rb:21:3451:21:3456 | self | -| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | [false] ( ... ) | -| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | [true] ( ... ) | +| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | ( ... ) | | UseUseExplosion.rb:21:341:21:3444 | then ... | UseUseExplosion.rb:21:325:21:3460 | if ... | | UseUseExplosion.rb:21:346:21:3444 | if ... | UseUseExplosion.rb:21:341:21:3444 | then ... | | UseUseExplosion.rb:21:350:21:354 | [post] self | UseUseExplosion.rb:21:371:21:375 | self | | UseUseExplosion.rb:21:350:21:354 | [post] self | UseUseExplosion.rb:21:3435:21:3440 | self | | UseUseExplosion.rb:21:350:21:354 | self | UseUseExplosion.rb:21:371:21:375 | self | | UseUseExplosion.rb:21:350:21:354 | self | UseUseExplosion.rb:21:3435:21:3440 | self | -| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | [false] ( ... ) | -| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | [true] ( ... ) | +| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | ( ... ) | | UseUseExplosion.rb:21:362:21:3428 | then ... | UseUseExplosion.rb:21:346:21:3444 | if ... | | UseUseExplosion.rb:21:367:21:3428 | if ... | UseUseExplosion.rb:21:362:21:3428 | then ... | | UseUseExplosion.rb:21:371:21:375 | [post] self | UseUseExplosion.rb:21:392:21:396 | self | | UseUseExplosion.rb:21:371:21:375 | [post] self | UseUseExplosion.rb:21:3419:21:3424 | self | | UseUseExplosion.rb:21:371:21:375 | self | UseUseExplosion.rb:21:392:21:396 | self | | UseUseExplosion.rb:21:371:21:375 | self | UseUseExplosion.rb:21:3419:21:3424 | self | -| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | [false] ( ... ) | -| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | [true] ( ... ) | +| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | ( ... ) | | UseUseExplosion.rb:21:383:21:3412 | then ... | UseUseExplosion.rb:21:367:21:3428 | if ... | | UseUseExplosion.rb:21:388:21:3412 | if ... | UseUseExplosion.rb:21:383:21:3412 | then ... | | UseUseExplosion.rb:21:392:21:396 | [post] self | UseUseExplosion.rb:21:413:21:417 | self | | UseUseExplosion.rb:21:392:21:396 | [post] self | UseUseExplosion.rb:21:3403:21:3408 | self | | UseUseExplosion.rb:21:392:21:396 | self | UseUseExplosion.rb:21:413:21:417 | self | | UseUseExplosion.rb:21:392:21:396 | self | UseUseExplosion.rb:21:3403:21:3408 | self | -| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | [false] ( ... ) | -| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | [true] ( ... ) | +| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | ( ... ) | | UseUseExplosion.rb:21:404:21:3396 | then ... | UseUseExplosion.rb:21:388:21:3412 | if ... | | UseUseExplosion.rb:21:409:21:3396 | if ... | UseUseExplosion.rb:21:404:21:3396 | then ... | | UseUseExplosion.rb:21:413:21:417 | [post] self | UseUseExplosion.rb:21:434:21:438 | self | | UseUseExplosion.rb:21:413:21:417 | [post] self | UseUseExplosion.rb:21:3387:21:3392 | self | | UseUseExplosion.rb:21:413:21:417 | self | UseUseExplosion.rb:21:434:21:438 | self | | UseUseExplosion.rb:21:413:21:417 | self | UseUseExplosion.rb:21:3387:21:3392 | self | -| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | [false] ( ... ) | -| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | [true] ( ... ) | +| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | ( ... ) | | UseUseExplosion.rb:21:425:21:3380 | then ... | UseUseExplosion.rb:21:409:21:3396 | if ... | | UseUseExplosion.rb:21:430:21:3380 | if ... | UseUseExplosion.rb:21:425:21:3380 | then ... | | UseUseExplosion.rb:21:434:21:438 | [post] self | UseUseExplosion.rb:21:455:21:459 | self | | UseUseExplosion.rb:21:434:21:438 | [post] self | UseUseExplosion.rb:21:3371:21:3376 | self | | UseUseExplosion.rb:21:434:21:438 | self | UseUseExplosion.rb:21:455:21:459 | self | | UseUseExplosion.rb:21:434:21:438 | self | UseUseExplosion.rb:21:3371:21:3376 | self | -| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | [false] ( ... ) | -| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | [true] ( ... ) | +| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | ( ... ) | | UseUseExplosion.rb:21:446:21:3364 | then ... | UseUseExplosion.rb:21:430:21:3380 | if ... | | UseUseExplosion.rb:21:451:21:3364 | if ... | UseUseExplosion.rb:21:446:21:3364 | then ... | | UseUseExplosion.rb:21:455:21:459 | [post] self | UseUseExplosion.rb:21:476:21:480 | self | | UseUseExplosion.rb:21:455:21:459 | [post] self | UseUseExplosion.rb:21:3355:21:3360 | self | | UseUseExplosion.rb:21:455:21:459 | self | UseUseExplosion.rb:21:476:21:480 | self | | UseUseExplosion.rb:21:455:21:459 | self | UseUseExplosion.rb:21:3355:21:3360 | self | -| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | [false] ( ... ) | -| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | [true] ( ... ) | +| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | ( ... ) | | UseUseExplosion.rb:21:467:21:3348 | then ... | UseUseExplosion.rb:21:451:21:3364 | if ... | | UseUseExplosion.rb:21:472:21:3348 | if ... | UseUseExplosion.rb:21:467:21:3348 | then ... | | UseUseExplosion.rb:21:476:21:480 | [post] self | UseUseExplosion.rb:21:497:21:501 | self | | UseUseExplosion.rb:21:476:21:480 | [post] self | UseUseExplosion.rb:21:3339:21:3344 | self | | UseUseExplosion.rb:21:476:21:480 | self | UseUseExplosion.rb:21:497:21:501 | self | | UseUseExplosion.rb:21:476:21:480 | self | UseUseExplosion.rb:21:3339:21:3344 | self | -| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | [false] ( ... ) | -| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | [true] ( ... ) | +| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | ( ... ) | | UseUseExplosion.rb:21:488:21:3332 | then ... | UseUseExplosion.rb:21:472:21:3348 | if ... | | UseUseExplosion.rb:21:493:21:3332 | if ... | UseUseExplosion.rb:21:488:21:3332 | then ... | | UseUseExplosion.rb:21:497:21:501 | [post] self | UseUseExplosion.rb:21:518:21:522 | self | | UseUseExplosion.rb:21:497:21:501 | [post] self | UseUseExplosion.rb:21:3323:21:3328 | self | | UseUseExplosion.rb:21:497:21:501 | self | UseUseExplosion.rb:21:518:21:522 | self | | UseUseExplosion.rb:21:497:21:501 | self | UseUseExplosion.rb:21:3323:21:3328 | self | -| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | [false] ( ... ) | -| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | [true] ( ... ) | +| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | ( ... ) | | UseUseExplosion.rb:21:509:21:3316 | then ... | UseUseExplosion.rb:21:493:21:3332 | if ... | | UseUseExplosion.rb:21:514:21:3316 | if ... | UseUseExplosion.rb:21:509:21:3316 | then ... | | UseUseExplosion.rb:21:518:21:522 | [post] self | UseUseExplosion.rb:21:539:21:543 | self | | UseUseExplosion.rb:21:518:21:522 | [post] self | UseUseExplosion.rb:21:3307:21:3312 | self | | UseUseExplosion.rb:21:518:21:522 | self | UseUseExplosion.rb:21:539:21:543 | self | | UseUseExplosion.rb:21:518:21:522 | self | UseUseExplosion.rb:21:3307:21:3312 | self | -| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | [false] ( ... ) | -| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | [true] ( ... ) | +| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | ( ... ) | | UseUseExplosion.rb:21:530:21:3300 | then ... | UseUseExplosion.rb:21:514:21:3316 | if ... | | UseUseExplosion.rb:21:535:21:3300 | if ... | UseUseExplosion.rb:21:530:21:3300 | then ... | | UseUseExplosion.rb:21:539:21:543 | [post] self | UseUseExplosion.rb:21:560:21:564 | self | | UseUseExplosion.rb:21:539:21:543 | [post] self | UseUseExplosion.rb:21:3291:21:3296 | self | | UseUseExplosion.rb:21:539:21:543 | self | UseUseExplosion.rb:21:560:21:564 | self | | UseUseExplosion.rb:21:539:21:543 | self | UseUseExplosion.rb:21:3291:21:3296 | self | -| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | [false] ( ... ) | -| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | [true] ( ... ) | +| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | ( ... ) | | UseUseExplosion.rb:21:551:21:3284 | then ... | UseUseExplosion.rb:21:535:21:3300 | if ... | | UseUseExplosion.rb:21:556:21:3284 | if ... | UseUseExplosion.rb:21:551:21:3284 | then ... | | UseUseExplosion.rb:21:560:21:564 | [post] self | UseUseExplosion.rb:21:581:21:585 | self | | UseUseExplosion.rb:21:560:21:564 | [post] self | UseUseExplosion.rb:21:3275:21:3280 | self | | UseUseExplosion.rb:21:560:21:564 | self | UseUseExplosion.rb:21:581:21:585 | self | | UseUseExplosion.rb:21:560:21:564 | self | UseUseExplosion.rb:21:3275:21:3280 | self | -| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | [false] ( ... ) | -| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | [true] ( ... ) | +| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | ( ... ) | | UseUseExplosion.rb:21:572:21:3268 | then ... | UseUseExplosion.rb:21:556:21:3284 | if ... | | UseUseExplosion.rb:21:577:21:3268 | if ... | UseUseExplosion.rb:21:572:21:3268 | then ... | | UseUseExplosion.rb:21:581:21:585 | [post] self | UseUseExplosion.rb:21:602:21:606 | self | | UseUseExplosion.rb:21:581:21:585 | [post] self | UseUseExplosion.rb:21:3259:21:3264 | self | | UseUseExplosion.rb:21:581:21:585 | self | UseUseExplosion.rb:21:602:21:606 | self | | UseUseExplosion.rb:21:581:21:585 | self | UseUseExplosion.rb:21:3259:21:3264 | self | -| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | [false] ( ... ) | -| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | [true] ( ... ) | +| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | ( ... ) | | UseUseExplosion.rb:21:593:21:3252 | then ... | UseUseExplosion.rb:21:577:21:3268 | if ... | | UseUseExplosion.rb:21:598:21:3252 | if ... | UseUseExplosion.rb:21:593:21:3252 | then ... | | UseUseExplosion.rb:21:602:21:606 | [post] self | UseUseExplosion.rb:21:623:21:627 | self | | UseUseExplosion.rb:21:602:21:606 | [post] self | UseUseExplosion.rb:21:3243:21:3248 | self | | UseUseExplosion.rb:21:602:21:606 | self | UseUseExplosion.rb:21:623:21:627 | self | | UseUseExplosion.rb:21:602:21:606 | self | UseUseExplosion.rb:21:3243:21:3248 | self | -| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | [false] ( ... ) | -| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | [true] ( ... ) | +| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | ( ... ) | | UseUseExplosion.rb:21:614:21:3236 | then ... | UseUseExplosion.rb:21:598:21:3252 | if ... | | UseUseExplosion.rb:21:619:21:3236 | if ... | UseUseExplosion.rb:21:614:21:3236 | then ... | | UseUseExplosion.rb:21:623:21:627 | [post] self | UseUseExplosion.rb:21:644:21:648 | self | | UseUseExplosion.rb:21:623:21:627 | [post] self | UseUseExplosion.rb:21:3227:21:3232 | self | | UseUseExplosion.rb:21:623:21:627 | self | UseUseExplosion.rb:21:644:21:648 | self | | UseUseExplosion.rb:21:623:21:627 | self | UseUseExplosion.rb:21:3227:21:3232 | self | -| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | [false] ( ... ) | -| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | [true] ( ... ) | +| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | ( ... ) | | UseUseExplosion.rb:21:635:21:3220 | then ... | UseUseExplosion.rb:21:619:21:3236 | if ... | | UseUseExplosion.rb:21:640:21:3220 | if ... | UseUseExplosion.rb:21:635:21:3220 | then ... | | UseUseExplosion.rb:21:644:21:648 | [post] self | UseUseExplosion.rb:21:665:21:669 | self | | UseUseExplosion.rb:21:644:21:648 | [post] self | UseUseExplosion.rb:21:3211:21:3216 | self | | UseUseExplosion.rb:21:644:21:648 | self | UseUseExplosion.rb:21:665:21:669 | self | | UseUseExplosion.rb:21:644:21:648 | self | UseUseExplosion.rb:21:3211:21:3216 | self | -| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | [false] ( ... ) | -| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | [true] ( ... ) | +| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | ( ... ) | | UseUseExplosion.rb:21:656:21:3204 | then ... | UseUseExplosion.rb:21:640:21:3220 | if ... | | UseUseExplosion.rb:21:661:21:3204 | if ... | UseUseExplosion.rb:21:656:21:3204 | then ... | | UseUseExplosion.rb:21:665:21:669 | [post] self | UseUseExplosion.rb:21:686:21:690 | self | | UseUseExplosion.rb:21:665:21:669 | [post] self | UseUseExplosion.rb:21:3195:21:3200 | self | | UseUseExplosion.rb:21:665:21:669 | self | UseUseExplosion.rb:21:686:21:690 | self | | UseUseExplosion.rb:21:665:21:669 | self | UseUseExplosion.rb:21:3195:21:3200 | self | -| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | [false] ( ... ) | -| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | [true] ( ... ) | +| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | ( ... ) | | UseUseExplosion.rb:21:677:21:3188 | then ... | UseUseExplosion.rb:21:661:21:3204 | if ... | | UseUseExplosion.rb:21:682:21:3188 | if ... | UseUseExplosion.rb:21:677:21:3188 | then ... | | UseUseExplosion.rb:21:686:21:690 | [post] self | UseUseExplosion.rb:21:707:21:711 | self | | UseUseExplosion.rb:21:686:21:690 | [post] self | UseUseExplosion.rb:21:3179:21:3184 | self | | UseUseExplosion.rb:21:686:21:690 | self | UseUseExplosion.rb:21:707:21:711 | self | | UseUseExplosion.rb:21:686:21:690 | self | UseUseExplosion.rb:21:3179:21:3184 | self | -| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | [false] ( ... ) | -| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | [true] ( ... ) | +| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | ( ... ) | | UseUseExplosion.rb:21:698:21:3172 | then ... | UseUseExplosion.rb:21:682:21:3188 | if ... | | UseUseExplosion.rb:21:703:21:3172 | if ... | UseUseExplosion.rb:21:698:21:3172 | then ... | | UseUseExplosion.rb:21:707:21:711 | [post] self | UseUseExplosion.rb:21:728:21:732 | self | | UseUseExplosion.rb:21:707:21:711 | [post] self | UseUseExplosion.rb:21:3163:21:3168 | self | | UseUseExplosion.rb:21:707:21:711 | self | UseUseExplosion.rb:21:728:21:732 | self | | UseUseExplosion.rb:21:707:21:711 | self | UseUseExplosion.rb:21:3163:21:3168 | self | -| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | [false] ( ... ) | -| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | [true] ( ... ) | +| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | ( ... ) | | UseUseExplosion.rb:21:719:21:3156 | then ... | UseUseExplosion.rb:21:703:21:3172 | if ... | | UseUseExplosion.rb:21:724:21:3156 | if ... | UseUseExplosion.rb:21:719:21:3156 | then ... | | UseUseExplosion.rb:21:728:21:732 | [post] self | UseUseExplosion.rb:21:749:21:753 | self | | UseUseExplosion.rb:21:728:21:732 | [post] self | UseUseExplosion.rb:21:3147:21:3152 | self | | UseUseExplosion.rb:21:728:21:732 | self | UseUseExplosion.rb:21:749:21:753 | self | | UseUseExplosion.rb:21:728:21:732 | self | UseUseExplosion.rb:21:3147:21:3152 | self | -| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | [false] ( ... ) | -| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | [true] ( ... ) | +| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | ( ... ) | | UseUseExplosion.rb:21:740:21:3140 | then ... | UseUseExplosion.rb:21:724:21:3156 | if ... | | UseUseExplosion.rb:21:745:21:3140 | if ... | UseUseExplosion.rb:21:740:21:3140 | then ... | | UseUseExplosion.rb:21:749:21:753 | [post] self | UseUseExplosion.rb:21:770:21:774 | self | | UseUseExplosion.rb:21:749:21:753 | [post] self | UseUseExplosion.rb:21:3131:21:3136 | self | | UseUseExplosion.rb:21:749:21:753 | self | UseUseExplosion.rb:21:770:21:774 | self | | UseUseExplosion.rb:21:749:21:753 | self | UseUseExplosion.rb:21:3131:21:3136 | self | -| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | [false] ( ... ) | -| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | [true] ( ... ) | +| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | ( ... ) | | UseUseExplosion.rb:21:761:21:3124 | then ... | UseUseExplosion.rb:21:745:21:3140 | if ... | | UseUseExplosion.rb:21:766:21:3124 | if ... | UseUseExplosion.rb:21:761:21:3124 | then ... | | UseUseExplosion.rb:21:770:21:774 | [post] self | UseUseExplosion.rb:21:791:21:795 | self | | UseUseExplosion.rb:21:770:21:774 | [post] self | UseUseExplosion.rb:21:3115:21:3120 | self | | UseUseExplosion.rb:21:770:21:774 | self | UseUseExplosion.rb:21:791:21:795 | self | | UseUseExplosion.rb:21:770:21:774 | self | UseUseExplosion.rb:21:3115:21:3120 | self | -| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | [false] ( ... ) | -| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | [true] ( ... ) | +| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | ( ... ) | | UseUseExplosion.rb:21:782:21:3108 | then ... | UseUseExplosion.rb:21:766:21:3124 | if ... | | UseUseExplosion.rb:21:787:21:3108 | if ... | UseUseExplosion.rb:21:782:21:3108 | then ... | | UseUseExplosion.rb:21:791:21:795 | [post] self | UseUseExplosion.rb:21:812:21:816 | self | | UseUseExplosion.rb:21:791:21:795 | [post] self | UseUseExplosion.rb:21:3099:21:3104 | self | | UseUseExplosion.rb:21:791:21:795 | self | UseUseExplosion.rb:21:812:21:816 | self | | UseUseExplosion.rb:21:791:21:795 | self | UseUseExplosion.rb:21:3099:21:3104 | self | -| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | [false] ( ... ) | -| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | [true] ( ... ) | +| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | ( ... ) | | UseUseExplosion.rb:21:803:21:3092 | then ... | UseUseExplosion.rb:21:787:21:3108 | if ... | | UseUseExplosion.rb:21:808:21:3092 | if ... | UseUseExplosion.rb:21:803:21:3092 | then ... | | UseUseExplosion.rb:21:812:21:816 | [post] self | UseUseExplosion.rb:21:833:21:837 | self | | UseUseExplosion.rb:21:812:21:816 | [post] self | UseUseExplosion.rb:21:3083:21:3088 | self | | UseUseExplosion.rb:21:812:21:816 | self | UseUseExplosion.rb:21:833:21:837 | self | | UseUseExplosion.rb:21:812:21:816 | self | UseUseExplosion.rb:21:3083:21:3088 | self | -| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | [false] ( ... ) | -| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | [true] ( ... ) | +| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | ( ... ) | | UseUseExplosion.rb:21:824:21:3076 | then ... | UseUseExplosion.rb:21:808:21:3092 | if ... | | UseUseExplosion.rb:21:829:21:3076 | if ... | UseUseExplosion.rb:21:824:21:3076 | then ... | | UseUseExplosion.rb:21:833:21:837 | [post] self | UseUseExplosion.rb:21:854:21:858 | self | | UseUseExplosion.rb:21:833:21:837 | [post] self | UseUseExplosion.rb:21:3067:21:3072 | self | | UseUseExplosion.rb:21:833:21:837 | self | UseUseExplosion.rb:21:854:21:858 | self | | UseUseExplosion.rb:21:833:21:837 | self | UseUseExplosion.rb:21:3067:21:3072 | self | -| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | [false] ( ... ) | -| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | [true] ( ... ) | +| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | ( ... ) | | UseUseExplosion.rb:21:845:21:3060 | then ... | UseUseExplosion.rb:21:829:21:3076 | if ... | | UseUseExplosion.rb:21:850:21:3060 | if ... | UseUseExplosion.rb:21:845:21:3060 | then ... | | UseUseExplosion.rb:21:854:21:858 | [post] self | UseUseExplosion.rb:21:875:21:879 | self | | UseUseExplosion.rb:21:854:21:858 | [post] self | UseUseExplosion.rb:21:3051:21:3056 | self | | UseUseExplosion.rb:21:854:21:858 | self | UseUseExplosion.rb:21:875:21:879 | self | | UseUseExplosion.rb:21:854:21:858 | self | UseUseExplosion.rb:21:3051:21:3056 | self | -| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | [false] ( ... ) | -| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | [true] ( ... ) | +| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | ( ... ) | | UseUseExplosion.rb:21:866:21:3044 | then ... | UseUseExplosion.rb:21:850:21:3060 | if ... | | UseUseExplosion.rb:21:871:21:3044 | if ... | UseUseExplosion.rb:21:866:21:3044 | then ... | | UseUseExplosion.rb:21:875:21:879 | [post] self | UseUseExplosion.rb:21:896:21:900 | self | | UseUseExplosion.rb:21:875:21:879 | [post] self | UseUseExplosion.rb:21:3035:21:3040 | self | | UseUseExplosion.rb:21:875:21:879 | self | UseUseExplosion.rb:21:896:21:900 | self | | UseUseExplosion.rb:21:875:21:879 | self | UseUseExplosion.rb:21:3035:21:3040 | self | -| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | [false] ( ... ) | -| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | [true] ( ... ) | +| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | ( ... ) | | UseUseExplosion.rb:21:887:21:3028 | then ... | UseUseExplosion.rb:21:871:21:3044 | if ... | | UseUseExplosion.rb:21:892:21:3028 | if ... | UseUseExplosion.rb:21:887:21:3028 | then ... | | UseUseExplosion.rb:21:896:21:900 | [post] self | UseUseExplosion.rb:21:917:21:921 | self | | UseUseExplosion.rb:21:896:21:900 | [post] self | UseUseExplosion.rb:21:3019:21:3024 | self | | UseUseExplosion.rb:21:896:21:900 | self | UseUseExplosion.rb:21:917:21:921 | self | | UseUseExplosion.rb:21:896:21:900 | self | UseUseExplosion.rb:21:3019:21:3024 | self | -| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | [false] ( ... ) | -| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | [true] ( ... ) | +| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | ( ... ) | | UseUseExplosion.rb:21:908:21:3012 | then ... | UseUseExplosion.rb:21:892:21:3028 | if ... | | UseUseExplosion.rb:21:913:21:3012 | if ... | UseUseExplosion.rb:21:908:21:3012 | then ... | | UseUseExplosion.rb:21:917:21:921 | [post] self | UseUseExplosion.rb:21:938:21:942 | self | | UseUseExplosion.rb:21:917:21:921 | [post] self | UseUseExplosion.rb:21:3003:21:3008 | self | | UseUseExplosion.rb:21:917:21:921 | self | UseUseExplosion.rb:21:938:21:942 | self | | UseUseExplosion.rb:21:917:21:921 | self | UseUseExplosion.rb:21:3003:21:3008 | self | -| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | [false] ( ... ) | -| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | [true] ( ... ) | +| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | ( ... ) | | UseUseExplosion.rb:21:929:21:2996 | then ... | UseUseExplosion.rb:21:913:21:3012 | if ... | | UseUseExplosion.rb:21:934:21:2996 | if ... | UseUseExplosion.rb:21:929:21:2996 | then ... | | UseUseExplosion.rb:21:938:21:942 | [post] self | UseUseExplosion.rb:21:959:21:963 | self | | UseUseExplosion.rb:21:938:21:942 | [post] self | UseUseExplosion.rb:21:2987:21:2992 | self | | UseUseExplosion.rb:21:938:21:942 | self | UseUseExplosion.rb:21:959:21:963 | self | | UseUseExplosion.rb:21:938:21:942 | self | UseUseExplosion.rb:21:2987:21:2992 | self | -| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | [false] ( ... ) | -| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | [true] ( ... ) | +| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | ( ... ) | | UseUseExplosion.rb:21:950:21:2980 | then ... | UseUseExplosion.rb:21:934:21:2996 | if ... | | UseUseExplosion.rb:21:955:21:2980 | if ... | UseUseExplosion.rb:21:950:21:2980 | then ... | | UseUseExplosion.rb:21:959:21:963 | [post] self | UseUseExplosion.rb:21:980:21:984 | self | | UseUseExplosion.rb:21:959:21:963 | [post] self | UseUseExplosion.rb:21:2971:21:2976 | self | | UseUseExplosion.rb:21:959:21:963 | self | UseUseExplosion.rb:21:980:21:984 | self | | UseUseExplosion.rb:21:959:21:963 | self | UseUseExplosion.rb:21:2971:21:2976 | self | -| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | [false] ( ... ) | -| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | [true] ( ... ) | +| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | ( ... ) | | UseUseExplosion.rb:21:971:21:2964 | then ... | UseUseExplosion.rb:21:955:21:2980 | if ... | | UseUseExplosion.rb:21:976:21:2964 | if ... | UseUseExplosion.rb:21:971:21:2964 | then ... | | UseUseExplosion.rb:21:980:21:984 | [post] self | UseUseExplosion.rb:21:1001:21:1005 | self | | UseUseExplosion.rb:21:980:21:984 | [post] self | UseUseExplosion.rb:21:2955:21:2960 | self | | UseUseExplosion.rb:21:980:21:984 | self | UseUseExplosion.rb:21:1001:21:1005 | self | | UseUseExplosion.rb:21:980:21:984 | self | UseUseExplosion.rb:21:2955:21:2960 | self | -| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | [false] ( ... ) | -| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | [true] ( ... ) | +| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | ( ... ) | | UseUseExplosion.rb:21:992:21:2948 | then ... | UseUseExplosion.rb:21:976:21:2964 | if ... | | UseUseExplosion.rb:21:997:21:2948 | if ... | UseUseExplosion.rb:21:992:21:2948 | then ... | | UseUseExplosion.rb:21:1001:21:1005 | [post] self | UseUseExplosion.rb:21:1022:21:1026 | self | | UseUseExplosion.rb:21:1001:21:1005 | [post] self | UseUseExplosion.rb:21:2939:21:2944 | self | | UseUseExplosion.rb:21:1001:21:1005 | self | UseUseExplosion.rb:21:1022:21:1026 | self | | UseUseExplosion.rb:21:1001:21:1005 | self | UseUseExplosion.rb:21:2939:21:2944 | self | -| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | [false] ( ... ) | -| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | [true] ( ... ) | +| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | ( ... ) | | UseUseExplosion.rb:21:1013:21:2932 | then ... | UseUseExplosion.rb:21:997:21:2948 | if ... | | UseUseExplosion.rb:21:1018:21:2932 | if ... | UseUseExplosion.rb:21:1013:21:2932 | then ... | | UseUseExplosion.rb:21:1022:21:1026 | [post] self | UseUseExplosion.rb:21:1043:21:1047 | self | | UseUseExplosion.rb:21:1022:21:1026 | [post] self | UseUseExplosion.rb:21:2923:21:2928 | self | | UseUseExplosion.rb:21:1022:21:1026 | self | UseUseExplosion.rb:21:1043:21:1047 | self | | UseUseExplosion.rb:21:1022:21:1026 | self | UseUseExplosion.rb:21:2923:21:2928 | self | -| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | [false] ( ... ) | -| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | [true] ( ... ) | +| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | ( ... ) | | UseUseExplosion.rb:21:1034:21:2916 | then ... | UseUseExplosion.rb:21:1018:21:2932 | if ... | | UseUseExplosion.rb:21:1039:21:2916 | if ... | UseUseExplosion.rb:21:1034:21:2916 | then ... | | UseUseExplosion.rb:21:1043:21:1047 | [post] self | UseUseExplosion.rb:21:1064:21:1068 | self | | UseUseExplosion.rb:21:1043:21:1047 | [post] self | UseUseExplosion.rb:21:2907:21:2912 | self | | UseUseExplosion.rb:21:1043:21:1047 | self | UseUseExplosion.rb:21:1064:21:1068 | self | | UseUseExplosion.rb:21:1043:21:1047 | self | UseUseExplosion.rb:21:2907:21:2912 | self | -| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | [false] ( ... ) | -| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | [true] ( ... ) | +| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | ( ... ) | | UseUseExplosion.rb:21:1055:21:2900 | then ... | UseUseExplosion.rb:21:1039:21:2916 | if ... | | UseUseExplosion.rb:21:1060:21:2900 | if ... | UseUseExplosion.rb:21:1055:21:2900 | then ... | | UseUseExplosion.rb:21:1064:21:1068 | [post] self | UseUseExplosion.rb:21:1085:21:1089 | self | | UseUseExplosion.rb:21:1064:21:1068 | [post] self | UseUseExplosion.rb:21:2891:21:2896 | self | | UseUseExplosion.rb:21:1064:21:1068 | self | UseUseExplosion.rb:21:1085:21:1089 | self | | UseUseExplosion.rb:21:1064:21:1068 | self | UseUseExplosion.rb:21:2891:21:2896 | self | -| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | [false] ( ... ) | -| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | [true] ( ... ) | +| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | ( ... ) | | UseUseExplosion.rb:21:1076:21:2884 | then ... | UseUseExplosion.rb:21:1060:21:2900 | if ... | | UseUseExplosion.rb:21:1081:21:2884 | if ... | UseUseExplosion.rb:21:1076:21:2884 | then ... | | UseUseExplosion.rb:21:1085:21:1089 | [post] self | UseUseExplosion.rb:21:1106:21:1110 | self | | UseUseExplosion.rb:21:1085:21:1089 | [post] self | UseUseExplosion.rb:21:2875:21:2880 | self | | UseUseExplosion.rb:21:1085:21:1089 | self | UseUseExplosion.rb:21:1106:21:1110 | self | | UseUseExplosion.rb:21:1085:21:1089 | self | UseUseExplosion.rb:21:2875:21:2880 | self | -| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | [false] ( ... ) | -| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | [true] ( ... ) | +| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | ( ... ) | | UseUseExplosion.rb:21:1097:21:2868 | then ... | UseUseExplosion.rb:21:1081:21:2884 | if ... | | UseUseExplosion.rb:21:1102:21:2868 | if ... | UseUseExplosion.rb:21:1097:21:2868 | then ... | | UseUseExplosion.rb:21:1106:21:1110 | [post] self | UseUseExplosion.rb:21:1127:21:1131 | self | | UseUseExplosion.rb:21:1106:21:1110 | [post] self | UseUseExplosion.rb:21:2859:21:2864 | self | | UseUseExplosion.rb:21:1106:21:1110 | self | UseUseExplosion.rb:21:1127:21:1131 | self | | UseUseExplosion.rb:21:1106:21:1110 | self | UseUseExplosion.rb:21:2859:21:2864 | self | -| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | [false] ( ... ) | -| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | [true] ( ... ) | +| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | ( ... ) | | UseUseExplosion.rb:21:1118:21:2852 | then ... | UseUseExplosion.rb:21:1102:21:2868 | if ... | | UseUseExplosion.rb:21:1123:21:2852 | if ... | UseUseExplosion.rb:21:1118:21:2852 | then ... | | UseUseExplosion.rb:21:1127:21:1131 | [post] self | UseUseExplosion.rb:21:1148:21:1152 | self | | UseUseExplosion.rb:21:1127:21:1131 | [post] self | UseUseExplosion.rb:21:2843:21:2848 | self | | UseUseExplosion.rb:21:1127:21:1131 | self | UseUseExplosion.rb:21:1148:21:1152 | self | | UseUseExplosion.rb:21:1127:21:1131 | self | UseUseExplosion.rb:21:2843:21:2848 | self | -| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | [false] ( ... ) | -| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | [true] ( ... ) | +| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | ( ... ) | | UseUseExplosion.rb:21:1139:21:2836 | then ... | UseUseExplosion.rb:21:1123:21:2852 | if ... | | UseUseExplosion.rb:21:1144:21:2836 | if ... | UseUseExplosion.rb:21:1139:21:2836 | then ... | | UseUseExplosion.rb:21:1148:21:1152 | [post] self | UseUseExplosion.rb:21:1169:21:1173 | self | | UseUseExplosion.rb:21:1148:21:1152 | [post] self | UseUseExplosion.rb:21:2827:21:2832 | self | | UseUseExplosion.rb:21:1148:21:1152 | self | UseUseExplosion.rb:21:1169:21:1173 | self | | UseUseExplosion.rb:21:1148:21:1152 | self | UseUseExplosion.rb:21:2827:21:2832 | self | -| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | [false] ( ... ) | -| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | [true] ( ... ) | +| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | ( ... ) | | UseUseExplosion.rb:21:1160:21:2820 | then ... | UseUseExplosion.rb:21:1144:21:2836 | if ... | | UseUseExplosion.rb:21:1165:21:2820 | if ... | UseUseExplosion.rb:21:1160:21:2820 | then ... | | UseUseExplosion.rb:21:1169:21:1173 | [post] self | UseUseExplosion.rb:21:1190:21:1194 | self | | UseUseExplosion.rb:21:1169:21:1173 | [post] self | UseUseExplosion.rb:21:2811:21:2816 | self | | UseUseExplosion.rb:21:1169:21:1173 | self | UseUseExplosion.rb:21:1190:21:1194 | self | | UseUseExplosion.rb:21:1169:21:1173 | self | UseUseExplosion.rb:21:2811:21:2816 | self | -| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | [false] ( ... ) | -| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | [true] ( ... ) | +| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | ( ... ) | | UseUseExplosion.rb:21:1181:21:2804 | then ... | UseUseExplosion.rb:21:1165:21:2820 | if ... | | UseUseExplosion.rb:21:1186:21:2804 | if ... | UseUseExplosion.rb:21:1181:21:2804 | then ... | | UseUseExplosion.rb:21:1190:21:1194 | [post] self | UseUseExplosion.rb:21:1211:21:1215 | self | | UseUseExplosion.rb:21:1190:21:1194 | [post] self | UseUseExplosion.rb:21:2795:21:2800 | self | | UseUseExplosion.rb:21:1190:21:1194 | self | UseUseExplosion.rb:21:1211:21:1215 | self | | UseUseExplosion.rb:21:1190:21:1194 | self | UseUseExplosion.rb:21:2795:21:2800 | self | -| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | [false] ( ... ) | -| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | [true] ( ... ) | +| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | ( ... ) | | UseUseExplosion.rb:21:1202:21:2788 | then ... | UseUseExplosion.rb:21:1186:21:2804 | if ... | | UseUseExplosion.rb:21:1207:21:2788 | if ... | UseUseExplosion.rb:21:1202:21:2788 | then ... | | UseUseExplosion.rb:21:1211:21:1215 | [post] self | UseUseExplosion.rb:21:1232:21:1236 | self | | UseUseExplosion.rb:21:1211:21:1215 | [post] self | UseUseExplosion.rb:21:2779:21:2784 | self | | UseUseExplosion.rb:21:1211:21:1215 | self | UseUseExplosion.rb:21:1232:21:1236 | self | | UseUseExplosion.rb:21:1211:21:1215 | self | UseUseExplosion.rb:21:2779:21:2784 | self | -| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | [false] ( ... ) | -| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | [true] ( ... ) | +| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | ( ... ) | | UseUseExplosion.rb:21:1223:21:2772 | then ... | UseUseExplosion.rb:21:1207:21:2788 | if ... | | UseUseExplosion.rb:21:1228:21:2772 | if ... | UseUseExplosion.rb:21:1223:21:2772 | then ... | | UseUseExplosion.rb:21:1232:21:1236 | [post] self | UseUseExplosion.rb:21:1253:21:1257 | self | | UseUseExplosion.rb:21:1232:21:1236 | [post] self | UseUseExplosion.rb:21:2763:21:2768 | self | | UseUseExplosion.rb:21:1232:21:1236 | self | UseUseExplosion.rb:21:1253:21:1257 | self | | UseUseExplosion.rb:21:1232:21:1236 | self | UseUseExplosion.rb:21:2763:21:2768 | self | -| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | [false] ( ... ) | -| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | [true] ( ... ) | +| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | ( ... ) | | UseUseExplosion.rb:21:1244:21:2756 | then ... | UseUseExplosion.rb:21:1228:21:2772 | if ... | | UseUseExplosion.rb:21:1249:21:2756 | if ... | UseUseExplosion.rb:21:1244:21:2756 | then ... | | UseUseExplosion.rb:21:1253:21:1257 | [post] self | UseUseExplosion.rb:21:1274:21:1278 | self | | UseUseExplosion.rb:21:1253:21:1257 | [post] self | UseUseExplosion.rb:21:2747:21:2752 | self | | UseUseExplosion.rb:21:1253:21:1257 | self | UseUseExplosion.rb:21:1274:21:1278 | self | | UseUseExplosion.rb:21:1253:21:1257 | self | UseUseExplosion.rb:21:2747:21:2752 | self | -| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | [false] ( ... ) | -| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | [true] ( ... ) | +| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | ( ... ) | | UseUseExplosion.rb:21:1265:21:2740 | then ... | UseUseExplosion.rb:21:1249:21:2756 | if ... | | UseUseExplosion.rb:21:1270:21:2740 | if ... | UseUseExplosion.rb:21:1265:21:2740 | then ... | | UseUseExplosion.rb:21:1274:21:1278 | [post] self | UseUseExplosion.rb:21:1295:21:1299 | self | | UseUseExplosion.rb:21:1274:21:1278 | [post] self | UseUseExplosion.rb:21:2731:21:2736 | self | | UseUseExplosion.rb:21:1274:21:1278 | self | UseUseExplosion.rb:21:1295:21:1299 | self | | UseUseExplosion.rb:21:1274:21:1278 | self | UseUseExplosion.rb:21:2731:21:2736 | self | -| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | [false] ( ... ) | -| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | [true] ( ... ) | +| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | ( ... ) | | UseUseExplosion.rb:21:1286:21:2724 | then ... | UseUseExplosion.rb:21:1270:21:2740 | if ... | | UseUseExplosion.rb:21:1291:21:2724 | if ... | UseUseExplosion.rb:21:1286:21:2724 | then ... | | UseUseExplosion.rb:21:1295:21:1299 | [post] self | UseUseExplosion.rb:21:1316:21:1320 | self | | UseUseExplosion.rb:21:1295:21:1299 | [post] self | UseUseExplosion.rb:21:2715:21:2720 | self | | UseUseExplosion.rb:21:1295:21:1299 | self | UseUseExplosion.rb:21:1316:21:1320 | self | | UseUseExplosion.rb:21:1295:21:1299 | self | UseUseExplosion.rb:21:2715:21:2720 | self | -| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | [false] ( ... ) | -| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | [true] ( ... ) | +| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | ( ... ) | | UseUseExplosion.rb:21:1307:21:2708 | then ... | UseUseExplosion.rb:21:1291:21:2724 | if ... | | UseUseExplosion.rb:21:1312:21:2708 | if ... | UseUseExplosion.rb:21:1307:21:2708 | then ... | | UseUseExplosion.rb:21:1316:21:1320 | [post] self | UseUseExplosion.rb:21:1337:21:1341 | self | | UseUseExplosion.rb:21:1316:21:1320 | [post] self | UseUseExplosion.rb:21:2699:21:2704 | self | | UseUseExplosion.rb:21:1316:21:1320 | self | UseUseExplosion.rb:21:1337:21:1341 | self | | UseUseExplosion.rb:21:1316:21:1320 | self | UseUseExplosion.rb:21:2699:21:2704 | self | -| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | [false] ( ... ) | -| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | [true] ( ... ) | +| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | ( ... ) | | UseUseExplosion.rb:21:1328:21:2692 | then ... | UseUseExplosion.rb:21:1312:21:2708 | if ... | | UseUseExplosion.rb:21:1333:21:2692 | if ... | UseUseExplosion.rb:21:1328:21:2692 | then ... | | UseUseExplosion.rb:21:1337:21:1341 | [post] self | UseUseExplosion.rb:21:1358:21:1362 | self | | UseUseExplosion.rb:21:1337:21:1341 | [post] self | UseUseExplosion.rb:21:2683:21:2688 | self | | UseUseExplosion.rb:21:1337:21:1341 | self | UseUseExplosion.rb:21:1358:21:1362 | self | | UseUseExplosion.rb:21:1337:21:1341 | self | UseUseExplosion.rb:21:2683:21:2688 | self | -| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | [false] ( ... ) | -| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | [true] ( ... ) | +| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | ( ... ) | | UseUseExplosion.rb:21:1349:21:2676 | then ... | UseUseExplosion.rb:21:1333:21:2692 | if ... | | UseUseExplosion.rb:21:1354:21:2676 | if ... | UseUseExplosion.rb:21:1349:21:2676 | then ... | | UseUseExplosion.rb:21:1358:21:1362 | [post] self | UseUseExplosion.rb:21:1379:21:1383 | self | | UseUseExplosion.rb:21:1358:21:1362 | [post] self | UseUseExplosion.rb:21:2667:21:2672 | self | | UseUseExplosion.rb:21:1358:21:1362 | self | UseUseExplosion.rb:21:1379:21:1383 | self | | UseUseExplosion.rb:21:1358:21:1362 | self | UseUseExplosion.rb:21:2667:21:2672 | self | -| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | [false] ( ... ) | -| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | [true] ( ... ) | +| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | ( ... ) | | UseUseExplosion.rb:21:1370:21:2660 | then ... | UseUseExplosion.rb:21:1354:21:2676 | if ... | | UseUseExplosion.rb:21:1375:21:2660 | if ... | UseUseExplosion.rb:21:1370:21:2660 | then ... | | UseUseExplosion.rb:21:1379:21:1383 | [post] self | UseUseExplosion.rb:21:1400:21:1404 | self | | UseUseExplosion.rb:21:1379:21:1383 | [post] self | UseUseExplosion.rb:21:2651:21:2656 | self | | UseUseExplosion.rb:21:1379:21:1383 | self | UseUseExplosion.rb:21:1400:21:1404 | self | | UseUseExplosion.rb:21:1379:21:1383 | self | UseUseExplosion.rb:21:2651:21:2656 | self | -| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | [false] ( ... ) | -| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | [true] ( ... ) | +| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | ( ... ) | | UseUseExplosion.rb:21:1391:21:2644 | then ... | UseUseExplosion.rb:21:1375:21:2660 | if ... | | UseUseExplosion.rb:21:1396:21:2644 | if ... | UseUseExplosion.rb:21:1391:21:2644 | then ... | | UseUseExplosion.rb:21:1400:21:1404 | [post] self | UseUseExplosion.rb:21:1421:21:1425 | self | | UseUseExplosion.rb:21:1400:21:1404 | [post] self | UseUseExplosion.rb:21:2635:21:2640 | self | | UseUseExplosion.rb:21:1400:21:1404 | self | UseUseExplosion.rb:21:1421:21:1425 | self | | UseUseExplosion.rb:21:1400:21:1404 | self | UseUseExplosion.rb:21:2635:21:2640 | self | -| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | [false] ( ... ) | -| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | [true] ( ... ) | +| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | ( ... ) | | UseUseExplosion.rb:21:1412:21:2628 | then ... | UseUseExplosion.rb:21:1396:21:2644 | if ... | | UseUseExplosion.rb:21:1417:21:2628 | if ... | UseUseExplosion.rb:21:1412:21:2628 | then ... | | UseUseExplosion.rb:21:1421:21:1425 | [post] self | UseUseExplosion.rb:21:1442:21:1446 | self | | UseUseExplosion.rb:21:1421:21:1425 | [post] self | UseUseExplosion.rb:21:2619:21:2624 | self | | UseUseExplosion.rb:21:1421:21:1425 | self | UseUseExplosion.rb:21:1442:21:1446 | self | | UseUseExplosion.rb:21:1421:21:1425 | self | UseUseExplosion.rb:21:2619:21:2624 | self | -| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | [false] ( ... ) | -| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | [true] ( ... ) | +| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | ( ... ) | | UseUseExplosion.rb:21:1433:21:2612 | then ... | UseUseExplosion.rb:21:1417:21:2628 | if ... | | UseUseExplosion.rb:21:1438:21:2612 | if ... | UseUseExplosion.rb:21:1433:21:2612 | then ... | | UseUseExplosion.rb:21:1442:21:1446 | [post] self | UseUseExplosion.rb:21:1463:21:1467 | self | | UseUseExplosion.rb:21:1442:21:1446 | [post] self | UseUseExplosion.rb:21:2603:21:2608 | self | | UseUseExplosion.rb:21:1442:21:1446 | self | UseUseExplosion.rb:21:1463:21:1467 | self | | UseUseExplosion.rb:21:1442:21:1446 | self | UseUseExplosion.rb:21:2603:21:2608 | self | -| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | [false] ( ... ) | -| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | [true] ( ... ) | +| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | ( ... ) | | UseUseExplosion.rb:21:1454:21:2596 | then ... | UseUseExplosion.rb:21:1438:21:2612 | if ... | | UseUseExplosion.rb:21:1459:21:2596 | if ... | UseUseExplosion.rb:21:1454:21:2596 | then ... | | UseUseExplosion.rb:21:1463:21:1467 | [post] self | UseUseExplosion.rb:21:1484:21:1488 | self | | UseUseExplosion.rb:21:1463:21:1467 | [post] self | UseUseExplosion.rb:21:2587:21:2592 | self | | UseUseExplosion.rb:21:1463:21:1467 | self | UseUseExplosion.rb:21:1484:21:1488 | self | | UseUseExplosion.rb:21:1463:21:1467 | self | UseUseExplosion.rb:21:2587:21:2592 | self | -| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | [false] ( ... ) | -| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | [true] ( ... ) | +| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | ( ... ) | | UseUseExplosion.rb:21:1475:21:2580 | then ... | UseUseExplosion.rb:21:1459:21:2596 | if ... | | UseUseExplosion.rb:21:1480:21:2580 | if ... | UseUseExplosion.rb:21:1475:21:2580 | then ... | | UseUseExplosion.rb:21:1484:21:1488 | [post] self | UseUseExplosion.rb:21:1505:21:1509 | self | | UseUseExplosion.rb:21:1484:21:1488 | [post] self | UseUseExplosion.rb:21:2571:21:2576 | self | | UseUseExplosion.rb:21:1484:21:1488 | self | UseUseExplosion.rb:21:1505:21:1509 | self | | UseUseExplosion.rb:21:1484:21:1488 | self | UseUseExplosion.rb:21:2571:21:2576 | self | -| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | [false] ( ... ) | -| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | [true] ( ... ) | +| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | ( ... ) | | UseUseExplosion.rb:21:1496:21:2564 | then ... | UseUseExplosion.rb:21:1480:21:2580 | if ... | | UseUseExplosion.rb:21:1501:21:2564 | if ... | UseUseExplosion.rb:21:1496:21:2564 | then ... | | UseUseExplosion.rb:21:1505:21:1509 | [post] self | UseUseExplosion.rb:21:1526:21:1530 | self | | UseUseExplosion.rb:21:1505:21:1509 | [post] self | UseUseExplosion.rb:21:2555:21:2560 | self | | UseUseExplosion.rb:21:1505:21:1509 | self | UseUseExplosion.rb:21:1526:21:1530 | self | | UseUseExplosion.rb:21:1505:21:1509 | self | UseUseExplosion.rb:21:2555:21:2560 | self | -| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | [false] ( ... ) | -| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | [true] ( ... ) | +| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | ( ... ) | | UseUseExplosion.rb:21:1517:21:2548 | then ... | UseUseExplosion.rb:21:1501:21:2564 | if ... | | UseUseExplosion.rb:21:1522:21:2548 | if ... | UseUseExplosion.rb:21:1517:21:2548 | then ... | | UseUseExplosion.rb:21:1526:21:1530 | [post] self | UseUseExplosion.rb:21:1547:21:1551 | self | | UseUseExplosion.rb:21:1526:21:1530 | [post] self | UseUseExplosion.rb:21:2539:21:2544 | self | | UseUseExplosion.rb:21:1526:21:1530 | self | UseUseExplosion.rb:21:1547:21:1551 | self | | UseUseExplosion.rb:21:1526:21:1530 | self | UseUseExplosion.rb:21:2539:21:2544 | self | -| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | [false] ( ... ) | -| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | [true] ( ... ) | +| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | ( ... ) | | UseUseExplosion.rb:21:1538:21:2532 | then ... | UseUseExplosion.rb:21:1522:21:2548 | if ... | | UseUseExplosion.rb:21:1543:21:2532 | if ... | UseUseExplosion.rb:21:1538:21:2532 | then ... | | UseUseExplosion.rb:21:1547:21:1551 | [post] self | UseUseExplosion.rb:21:1568:21:1572 | self | | UseUseExplosion.rb:21:1547:21:1551 | [post] self | UseUseExplosion.rb:21:2523:21:2528 | self | | UseUseExplosion.rb:21:1547:21:1551 | self | UseUseExplosion.rb:21:1568:21:1572 | self | | UseUseExplosion.rb:21:1547:21:1551 | self | UseUseExplosion.rb:21:2523:21:2528 | self | -| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | [false] ( ... ) | -| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | [true] ( ... ) | +| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | ( ... ) | | UseUseExplosion.rb:21:1559:21:2516 | then ... | UseUseExplosion.rb:21:1543:21:2532 | if ... | | UseUseExplosion.rb:21:1564:21:2516 | if ... | UseUseExplosion.rb:21:1559:21:2516 | then ... | | UseUseExplosion.rb:21:1568:21:1572 | [post] self | UseUseExplosion.rb:21:1589:21:1593 | self | | UseUseExplosion.rb:21:1568:21:1572 | [post] self | UseUseExplosion.rb:21:2507:21:2512 | self | | UseUseExplosion.rb:21:1568:21:1572 | self | UseUseExplosion.rb:21:1589:21:1593 | self | | UseUseExplosion.rb:21:1568:21:1572 | self | UseUseExplosion.rb:21:2507:21:2512 | self | -| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | [false] ( ... ) | -| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | [true] ( ... ) | +| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | ( ... ) | | UseUseExplosion.rb:21:1580:21:2500 | then ... | UseUseExplosion.rb:21:1564:21:2516 | if ... | | UseUseExplosion.rb:21:1585:21:2500 | if ... | UseUseExplosion.rb:21:1580:21:2500 | then ... | | UseUseExplosion.rb:21:1589:21:1593 | [post] self | UseUseExplosion.rb:21:1610:21:1614 | self | | UseUseExplosion.rb:21:1589:21:1593 | [post] self | UseUseExplosion.rb:21:2491:21:2496 | self | | UseUseExplosion.rb:21:1589:21:1593 | self | UseUseExplosion.rb:21:1610:21:1614 | self | | UseUseExplosion.rb:21:1589:21:1593 | self | UseUseExplosion.rb:21:2491:21:2496 | self | -| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | [false] ( ... ) | -| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | [true] ( ... ) | +| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | ( ... ) | | UseUseExplosion.rb:21:1601:21:2484 | then ... | UseUseExplosion.rb:21:1585:21:2500 | if ... | | UseUseExplosion.rb:21:1606:21:2484 | if ... | UseUseExplosion.rb:21:1601:21:2484 | then ... | | UseUseExplosion.rb:21:1610:21:1614 | [post] self | UseUseExplosion.rb:21:1631:21:1635 | self | | UseUseExplosion.rb:21:1610:21:1614 | [post] self | UseUseExplosion.rb:21:2475:21:2480 | self | | UseUseExplosion.rb:21:1610:21:1614 | self | UseUseExplosion.rb:21:1631:21:1635 | self | | UseUseExplosion.rb:21:1610:21:1614 | self | UseUseExplosion.rb:21:2475:21:2480 | self | -| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | [false] ( ... ) | -| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | [true] ( ... ) | +| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | ( ... ) | | UseUseExplosion.rb:21:1622:21:2468 | then ... | UseUseExplosion.rb:21:1606:21:2484 | if ... | | UseUseExplosion.rb:21:1627:21:2468 | if ... | UseUseExplosion.rb:21:1622:21:2468 | then ... | | UseUseExplosion.rb:21:1631:21:1635 | [post] self | UseUseExplosion.rb:21:1652:21:1656 | self | | UseUseExplosion.rb:21:1631:21:1635 | [post] self | UseUseExplosion.rb:21:2459:21:2464 | self | | UseUseExplosion.rb:21:1631:21:1635 | self | UseUseExplosion.rb:21:1652:21:1656 | self | | UseUseExplosion.rb:21:1631:21:1635 | self | UseUseExplosion.rb:21:2459:21:2464 | self | -| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | [false] ( ... ) | -| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | [true] ( ... ) | +| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | ( ... ) | | UseUseExplosion.rb:21:1643:21:2452 | then ... | UseUseExplosion.rb:21:1627:21:2468 | if ... | | UseUseExplosion.rb:21:1648:21:2452 | if ... | UseUseExplosion.rb:21:1643:21:2452 | then ... | | UseUseExplosion.rb:21:1652:21:1656 | [post] self | UseUseExplosion.rb:21:1673:21:1677 | self | | UseUseExplosion.rb:21:1652:21:1656 | [post] self | UseUseExplosion.rb:21:2443:21:2448 | self | | UseUseExplosion.rb:21:1652:21:1656 | self | UseUseExplosion.rb:21:1673:21:1677 | self | | UseUseExplosion.rb:21:1652:21:1656 | self | UseUseExplosion.rb:21:2443:21:2448 | self | -| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | [false] ( ... ) | -| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | [true] ( ... ) | +| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | ( ... ) | | UseUseExplosion.rb:21:1664:21:2436 | then ... | UseUseExplosion.rb:21:1648:21:2452 | if ... | | UseUseExplosion.rb:21:1669:21:2436 | if ... | UseUseExplosion.rb:21:1664:21:2436 | then ... | | UseUseExplosion.rb:21:1673:21:1677 | [post] self | UseUseExplosion.rb:21:1694:21:1698 | self | | UseUseExplosion.rb:21:1673:21:1677 | [post] self | UseUseExplosion.rb:21:2427:21:2432 | self | | UseUseExplosion.rb:21:1673:21:1677 | self | UseUseExplosion.rb:21:1694:21:1698 | self | | UseUseExplosion.rb:21:1673:21:1677 | self | UseUseExplosion.rb:21:2427:21:2432 | self | -| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | [false] ( ... ) | -| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | [true] ( ... ) | +| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | ( ... ) | | UseUseExplosion.rb:21:1685:21:2420 | then ... | UseUseExplosion.rb:21:1669:21:2436 | if ... | | UseUseExplosion.rb:21:1690:21:2420 | if ... | UseUseExplosion.rb:21:1685:21:2420 | then ... | | UseUseExplosion.rb:21:1694:21:1698 | [post] self | UseUseExplosion.rb:21:1715:21:1719 | self | | UseUseExplosion.rb:21:1694:21:1698 | [post] self | UseUseExplosion.rb:21:2411:21:2416 | self | | UseUseExplosion.rb:21:1694:21:1698 | self | UseUseExplosion.rb:21:1715:21:1719 | self | | UseUseExplosion.rb:21:1694:21:1698 | self | UseUseExplosion.rb:21:2411:21:2416 | self | -| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | [false] ( ... ) | -| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | [true] ( ... ) | +| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | ( ... ) | | UseUseExplosion.rb:21:1706:21:2404 | then ... | UseUseExplosion.rb:21:1690:21:2420 | if ... | | UseUseExplosion.rb:21:1711:21:2404 | if ... | UseUseExplosion.rb:21:1706:21:2404 | then ... | | UseUseExplosion.rb:21:1715:21:1719 | [post] self | UseUseExplosion.rb:21:1736:21:1740 | self | | UseUseExplosion.rb:21:1715:21:1719 | [post] self | UseUseExplosion.rb:21:2395:21:2400 | self | | UseUseExplosion.rb:21:1715:21:1719 | self | UseUseExplosion.rb:21:1736:21:1740 | self | | UseUseExplosion.rb:21:1715:21:1719 | self | UseUseExplosion.rb:21:2395:21:2400 | self | -| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | [false] ( ... ) | -| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | [true] ( ... ) | +| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | ( ... ) | | UseUseExplosion.rb:21:1727:21:2388 | then ... | UseUseExplosion.rb:21:1711:21:2404 | if ... | | UseUseExplosion.rb:21:1732:21:2388 | if ... | UseUseExplosion.rb:21:1727:21:2388 | then ... | | UseUseExplosion.rb:21:1736:21:1740 | [post] self | UseUseExplosion.rb:21:1757:21:1761 | self | | UseUseExplosion.rb:21:1736:21:1740 | [post] self | UseUseExplosion.rb:21:2379:21:2384 | self | | UseUseExplosion.rb:21:1736:21:1740 | self | UseUseExplosion.rb:21:1757:21:1761 | self | | UseUseExplosion.rb:21:1736:21:1740 | self | UseUseExplosion.rb:21:2379:21:2384 | self | -| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | [false] ( ... ) | -| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | [true] ( ... ) | +| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | ( ... ) | | UseUseExplosion.rb:21:1748:21:2372 | then ... | UseUseExplosion.rb:21:1732:21:2388 | if ... | | UseUseExplosion.rb:21:1753:21:2372 | if ... | UseUseExplosion.rb:21:1748:21:2372 | then ... | | UseUseExplosion.rb:21:1757:21:1761 | [post] self | UseUseExplosion.rb:21:1778:21:1782 | self | | UseUseExplosion.rb:21:1757:21:1761 | [post] self | UseUseExplosion.rb:21:2363:21:2368 | self | | UseUseExplosion.rb:21:1757:21:1761 | self | UseUseExplosion.rb:21:1778:21:1782 | self | | UseUseExplosion.rb:21:1757:21:1761 | self | UseUseExplosion.rb:21:2363:21:2368 | self | -| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | [false] ( ... ) | -| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | [true] ( ... ) | +| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | ( ... ) | | UseUseExplosion.rb:21:1769:21:2356 | then ... | UseUseExplosion.rb:21:1753:21:2372 | if ... | | UseUseExplosion.rb:21:1774:21:2356 | if ... | UseUseExplosion.rb:21:1769:21:2356 | then ... | | UseUseExplosion.rb:21:1778:21:1782 | [post] self | UseUseExplosion.rb:21:1799:21:1803 | self | | UseUseExplosion.rb:21:1778:21:1782 | [post] self | UseUseExplosion.rb:21:2347:21:2352 | self | | UseUseExplosion.rb:21:1778:21:1782 | self | UseUseExplosion.rb:21:1799:21:1803 | self | | UseUseExplosion.rb:21:1778:21:1782 | self | UseUseExplosion.rb:21:2347:21:2352 | self | -| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | [false] ( ... ) | -| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | [true] ( ... ) | +| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | ( ... ) | | UseUseExplosion.rb:21:1790:21:2340 | then ... | UseUseExplosion.rb:21:1774:21:2356 | if ... | | UseUseExplosion.rb:21:1795:21:2340 | if ... | UseUseExplosion.rb:21:1790:21:2340 | then ... | | UseUseExplosion.rb:21:1799:21:1803 | [post] self | UseUseExplosion.rb:21:1820:21:1824 | self | | UseUseExplosion.rb:21:1799:21:1803 | [post] self | UseUseExplosion.rb:21:2331:21:2336 | self | | UseUseExplosion.rb:21:1799:21:1803 | self | UseUseExplosion.rb:21:1820:21:1824 | self | | UseUseExplosion.rb:21:1799:21:1803 | self | UseUseExplosion.rb:21:2331:21:2336 | self | -| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | [false] ( ... ) | -| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | [true] ( ... ) | +| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | ( ... ) | | UseUseExplosion.rb:21:1811:21:2324 | then ... | UseUseExplosion.rb:21:1795:21:2340 | if ... | | UseUseExplosion.rb:21:1816:21:2324 | if ... | UseUseExplosion.rb:21:1811:21:2324 | then ... | | UseUseExplosion.rb:21:1820:21:1824 | [post] self | UseUseExplosion.rb:21:1841:21:1845 | self | | UseUseExplosion.rb:21:1820:21:1824 | [post] self | UseUseExplosion.rb:21:2315:21:2320 | self | | UseUseExplosion.rb:21:1820:21:1824 | self | UseUseExplosion.rb:21:1841:21:1845 | self | | UseUseExplosion.rb:21:1820:21:1824 | self | UseUseExplosion.rb:21:2315:21:2320 | self | -| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | [false] ( ... ) | -| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | [true] ( ... ) | +| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | ( ... ) | | UseUseExplosion.rb:21:1832:21:2308 | then ... | UseUseExplosion.rb:21:1816:21:2324 | if ... | | UseUseExplosion.rb:21:1837:21:2308 | if ... | UseUseExplosion.rb:21:1832:21:2308 | then ... | | UseUseExplosion.rb:21:1841:21:1845 | [post] self | UseUseExplosion.rb:21:1862:21:1866 | self | | UseUseExplosion.rb:21:1841:21:1845 | [post] self | UseUseExplosion.rb:21:2299:21:2304 | self | | UseUseExplosion.rb:21:1841:21:1845 | self | UseUseExplosion.rb:21:1862:21:1866 | self | | UseUseExplosion.rb:21:1841:21:1845 | self | UseUseExplosion.rb:21:2299:21:2304 | self | -| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | [false] ( ... ) | -| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | [true] ( ... ) | +| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | ( ... ) | | UseUseExplosion.rb:21:1853:21:2292 | then ... | UseUseExplosion.rb:21:1837:21:2308 | if ... | | UseUseExplosion.rb:21:1858:21:2292 | if ... | UseUseExplosion.rb:21:1853:21:2292 | then ... | | UseUseExplosion.rb:21:1862:21:1866 | [post] self | UseUseExplosion.rb:21:1883:21:1887 | self | | UseUseExplosion.rb:21:1862:21:1866 | [post] self | UseUseExplosion.rb:21:2283:21:2288 | self | | UseUseExplosion.rb:21:1862:21:1866 | self | UseUseExplosion.rb:21:1883:21:1887 | self | | UseUseExplosion.rb:21:1862:21:1866 | self | UseUseExplosion.rb:21:2283:21:2288 | self | -| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | [false] ( ... ) | -| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | [true] ( ... ) | +| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | ( ... ) | | UseUseExplosion.rb:21:1874:21:2276 | then ... | UseUseExplosion.rb:21:1858:21:2292 | if ... | | UseUseExplosion.rb:21:1879:21:2276 | if ... | UseUseExplosion.rb:21:1874:21:2276 | then ... | | UseUseExplosion.rb:21:1883:21:1887 | [post] self | UseUseExplosion.rb:21:1904:21:1908 | self | | UseUseExplosion.rb:21:1883:21:1887 | [post] self | UseUseExplosion.rb:21:2267:21:2272 | self | | UseUseExplosion.rb:21:1883:21:1887 | self | UseUseExplosion.rb:21:1904:21:1908 | self | | UseUseExplosion.rb:21:1883:21:1887 | self | UseUseExplosion.rb:21:2267:21:2272 | self | -| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | [false] ( ... ) | -| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | [true] ( ... ) | +| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | ( ... ) | | UseUseExplosion.rb:21:1895:21:2260 | then ... | UseUseExplosion.rb:21:1879:21:2276 | if ... | | UseUseExplosion.rb:21:1900:21:2260 | if ... | UseUseExplosion.rb:21:1895:21:2260 | then ... | | UseUseExplosion.rb:21:1904:21:1908 | [post] self | UseUseExplosion.rb:21:1925:21:1929 | self | | UseUseExplosion.rb:21:1904:21:1908 | [post] self | UseUseExplosion.rb:21:2251:21:2256 | self | | UseUseExplosion.rb:21:1904:21:1908 | self | UseUseExplosion.rb:21:1925:21:1929 | self | | UseUseExplosion.rb:21:1904:21:1908 | self | UseUseExplosion.rb:21:2251:21:2256 | self | -| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | [false] ( ... ) | -| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | [true] ( ... ) | +| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | ( ... ) | | UseUseExplosion.rb:21:1916:21:2244 | then ... | UseUseExplosion.rb:21:1900:21:2260 | if ... | | UseUseExplosion.rb:21:1921:21:2244 | if ... | UseUseExplosion.rb:21:1916:21:2244 | then ... | | UseUseExplosion.rb:21:1925:21:1929 | [post] self | UseUseExplosion.rb:21:1945:21:1949 | self | | UseUseExplosion.rb:21:1925:21:1929 | [post] self | UseUseExplosion.rb:21:2235:21:2240 | self | | UseUseExplosion.rb:21:1925:21:1929 | self | UseUseExplosion.rb:21:1945:21:1949 | self | | UseUseExplosion.rb:21:1925:21:1929 | self | UseUseExplosion.rb:21:2235:21:2240 | self | -| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | [false] ( ... ) | -| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | [true] ( ... ) | +| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | ( ... ) | | UseUseExplosion.rb:21:1936:21:2228 | then ... | UseUseExplosion.rb:21:1921:21:2244 | if ... | | UseUseExplosion.rb:21:1941:21:2228 | if ... | UseUseExplosion.rb:21:1936:21:2228 | then ... | | UseUseExplosion.rb:21:1945:21:1949 | [post] self | UseUseExplosion.rb:21:1965:21:1969 | self | | UseUseExplosion.rb:21:1945:21:1949 | [post] self | UseUseExplosion.rb:21:2219:21:2224 | self | | UseUseExplosion.rb:21:1945:21:1949 | self | UseUseExplosion.rb:21:1965:21:1969 | self | | UseUseExplosion.rb:21:1945:21:1949 | self | UseUseExplosion.rb:21:2219:21:2224 | self | -| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | [false] ( ... ) | -| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | [true] ( ... ) | +| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | ( ... ) | | UseUseExplosion.rb:21:1956:21:2212 | then ... | UseUseExplosion.rb:21:1941:21:2228 | if ... | | UseUseExplosion.rb:21:1961:21:2212 | if ... | UseUseExplosion.rb:21:1956:21:2212 | then ... | | UseUseExplosion.rb:21:1965:21:1969 | [post] self | UseUseExplosion.rb:21:1985:21:1989 | self | | UseUseExplosion.rb:21:1965:21:1969 | [post] self | UseUseExplosion.rb:21:2203:21:2208 | self | | UseUseExplosion.rb:21:1965:21:1969 | self | UseUseExplosion.rb:21:1985:21:1989 | self | | UseUseExplosion.rb:21:1965:21:1969 | self | UseUseExplosion.rb:21:2203:21:2208 | self | -| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | [false] ( ... ) | -| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | [true] ( ... ) | +| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | ( ... ) | | UseUseExplosion.rb:21:1976:21:2196 | then ... | UseUseExplosion.rb:21:1961:21:2212 | if ... | | UseUseExplosion.rb:21:1981:21:2196 | if ... | UseUseExplosion.rb:21:1976:21:2196 | then ... | | UseUseExplosion.rb:21:1985:21:1989 | [post] self | UseUseExplosion.rb:21:2005:21:2009 | self | | UseUseExplosion.rb:21:1985:21:1989 | [post] self | UseUseExplosion.rb:21:2187:21:2192 | self | | UseUseExplosion.rb:21:1985:21:1989 | self | UseUseExplosion.rb:21:2005:21:2009 | self | | UseUseExplosion.rb:21:1985:21:1989 | self | UseUseExplosion.rb:21:2187:21:2192 | self | -| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | [false] ( ... ) | -| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | [true] ( ... ) | +| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | ( ... ) | | UseUseExplosion.rb:21:1996:21:2180 | then ... | UseUseExplosion.rb:21:1981:21:2196 | if ... | | UseUseExplosion.rb:21:2001:21:2180 | if ... | UseUseExplosion.rb:21:1996:21:2180 | then ... | | UseUseExplosion.rb:21:2005:21:2009 | [post] self | UseUseExplosion.rb:21:2025:21:2029 | self | | UseUseExplosion.rb:21:2005:21:2009 | [post] self | UseUseExplosion.rb:21:2171:21:2176 | self | | UseUseExplosion.rb:21:2005:21:2009 | self | UseUseExplosion.rb:21:2025:21:2029 | self | | UseUseExplosion.rb:21:2005:21:2009 | self | UseUseExplosion.rb:21:2171:21:2176 | self | -| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | [false] ( ... ) | -| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | [true] ( ... ) | +| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | ( ... ) | | UseUseExplosion.rb:21:2016:21:2164 | then ... | UseUseExplosion.rb:21:2001:21:2180 | if ... | | UseUseExplosion.rb:21:2021:21:2164 | if ... | UseUseExplosion.rb:21:2016:21:2164 | then ... | | UseUseExplosion.rb:21:2025:21:2029 | [post] self | UseUseExplosion.rb:21:2045:21:2049 | self | | UseUseExplosion.rb:21:2025:21:2029 | [post] self | UseUseExplosion.rb:21:2155:21:2160 | self | | UseUseExplosion.rb:21:2025:21:2029 | self | UseUseExplosion.rb:21:2045:21:2049 | self | | UseUseExplosion.rb:21:2025:21:2029 | self | UseUseExplosion.rb:21:2155:21:2160 | self | -| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | [false] ( ... ) | -| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | [true] ( ... ) | +| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | ( ... ) | | UseUseExplosion.rb:21:2036:21:2148 | then ... | UseUseExplosion.rb:21:2021:21:2164 | if ... | | UseUseExplosion.rb:21:2041:21:2148 | if ... | UseUseExplosion.rb:21:2036:21:2148 | then ... | | UseUseExplosion.rb:21:2045:21:2049 | [post] self | UseUseExplosion.rb:21:2065:21:2069 | self | | UseUseExplosion.rb:21:2045:21:2049 | [post] self | UseUseExplosion.rb:21:2139:21:2144 | self | | UseUseExplosion.rb:21:2045:21:2049 | self | UseUseExplosion.rb:21:2065:21:2069 | self | | UseUseExplosion.rb:21:2045:21:2049 | self | UseUseExplosion.rb:21:2139:21:2144 | self | -| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | [false] ( ... ) | -| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | [true] ( ... ) | +| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | ( ... ) | | UseUseExplosion.rb:21:2056:21:2132 | then ... | UseUseExplosion.rb:21:2041:21:2148 | if ... | | UseUseExplosion.rb:21:2061:21:2132 | if ... | UseUseExplosion.rb:21:2056:21:2132 | then ... | | UseUseExplosion.rb:21:2065:21:2069 | [post] self | UseUseExplosion.rb:21:2085:21:2089 | self | | UseUseExplosion.rb:21:2065:21:2069 | [post] self | UseUseExplosion.rb:21:2123:21:2128 | self | | UseUseExplosion.rb:21:2065:21:2069 | self | UseUseExplosion.rb:21:2085:21:2089 | self | | UseUseExplosion.rb:21:2065:21:2069 | self | UseUseExplosion.rb:21:2123:21:2128 | self | -| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | [false] ( ... ) | -| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | [true] ( ... ) | +| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | ( ... ) | | UseUseExplosion.rb:21:2076:21:2116 | then ... | UseUseExplosion.rb:21:2061:21:2132 | if ... | | UseUseExplosion.rb:21:2081:21:2116 | if ... | UseUseExplosion.rb:21:2076:21:2116 | then ... | | UseUseExplosion.rb:21:2085:21:2089 | [post] self | UseUseExplosion.rb:21:2107:21:2112 | self | | UseUseExplosion.rb:21:2085:21:2089 | self | UseUseExplosion.rb:21:2107:21:2112 | self | -| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | [false] ( ... ) | -| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | [true] ( ... ) | +| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | ( ... ) | | UseUseExplosion.rb:21:2096:21:2099 | then ... | UseUseExplosion.rb:21:2081:21:2116 | if ... | | UseUseExplosion.rb:21:2102:21:2112 | else ... | UseUseExplosion.rb:21:2081:21:2116 | if ... | | UseUseExplosion.rb:21:2107:21:2112 | call to use | UseUseExplosion.rb:21:2102:21:2112 | else ... | @@ -2525,6 +2326,7 @@ | local_dataflow.rb:5:8:5:12 | ... = ... | local_dataflow.rb:5:7:5:13 | ( ... ) | | local_dataflow.rb:5:12:5:12 | a | local_dataflow.rb:5:8:5:12 | ... = ... | | local_dataflow.rb:5:12:5:12 | a | local_dataflow.rb:6:8:6:8 | a | +| local_dataflow.rb:6:3:6:14 | ... = ... | local_dataflow.rb:2:3:6:14 | ... | | local_dataflow.rb:6:7:6:14 | ( ... ) | local_dataflow.rb:6:3:6:14 | ... = ... | | local_dataflow.rb:6:8:6:13 | ... = ... | local_dataflow.rb:6:7:6:14 | ( ... ) | | local_dataflow.rb:6:10:6:11 | ... + ... | local_dataflow.rb:6:8:6:13 | ... = ... | @@ -2552,6 +2354,7 @@ | local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:15:10:15:14 | array | | local_dataflow.rb:11:1:11:2 | [post] self | local_dataflow.rb:12:3:12:5 | self | | local_dataflow.rb:11:1:11:2 | self | local_dataflow.rb:12:3:12:5 | self | +| local_dataflow.rb:12:3:12:5 | call to p | local_dataflow.rb:10:5:13:3 | ... | | local_dataflow.rb:15:1:17:3 | x | local_dataflow.rb:19:5:19:5 | x | | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | ... = ... | | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | __synth__0__1 | @@ -2581,7 +2384,8 @@ | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | [input] phi | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | phi | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:20:6:20:6 | x | -| local_dataflow.rb:24:2:24:8 | break | local_dataflow.rb:23:1:25:3 | while ... | +| local_dataflow.rb:20:3:20:25 | if ... | local_dataflow.rb:19:1:21:3 | ... | +| local_dataflow.rb:20:12:20:21 | then ... | local_dataflow.rb:20:3:20:25 | if ... | | local_dataflow.rb:24:8:24:8 | 5 | local_dataflow.rb:24:2:24:8 | break | | local_dataflow.rb:28:5:28:26 | M | local_dataflow.rb:28:1:28:26 | ... = ... | | local_dataflow.rb:28:15:28:22 | "module" | local_dataflow.rb:28:5:28:26 | M | @@ -2589,11 +2393,15 @@ | 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:32:14:32:21 | "method" | local_dataflow.rb:32:14:32:21 | ... | | 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:12:36:13 | then ... | local_dataflow.rb:35:3:37:5 | if ... | | local_dataflow.rb:36:13:36:13 | 7 | local_dataflow.rb:36:6:36:13 | return | +| local_dataflow.rb:38:3:38:13 | "reachable" | local_dataflow.rb:35:3:38:13 | ... | | 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:12:43:13 | then ... | local_dataflow.rb:42:3:44:5 | if ... | | local_dataflow.rb:43:13:43:13 | 7 | local_dataflow.rb:43:6:43:13 | return | | local_dataflow.rb:45:10:45:10 | 6 | local_dataflow.rb:45:3:45:10 | return | | local_dataflow.rb:49:1:53:3 | [post] self | local_dataflow.rb:55:1:55:14 | self | @@ -2603,6 +2411,7 @@ | local_dataflow.rb:50:18:50:18 | [post] x | local_dataflow.rb:51:20:51:20 | x | | local_dataflow.rb:50:18:50:18 | x | local_dataflow.rb:51:20:51:20 | x | | local_dataflow.rb:51:9:51:15 | "break" | local_dataflow.rb:51:3:51:15 | break | +| local_dataflow.rb:52:3:52:10 | "normal" | local_dataflow.rb:50:3:52:10 | ... | | local_dataflow.rb:55:5:55:13 | synthetic splat argument | local_dataflow.rb:55:5:55:13 | call to [] | | 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) | @@ -2645,6 +2454,7 @@ | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:82:7:82:13 | self | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:85:22:85:28 | self | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:86:28:86:34 | self | +| local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:87:20:87:26 | self | | local_dataflow.rb:78:12:78:20 | call to source | local_dataflow.rb:79:13:79:13 | b | | local_dataflow.rb:78:12:78:20 | call to source | local_dataflow.rb:80:8:80:8 | a | @@ -2653,6 +2463,7 @@ | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:82:7:82:13 | self | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:85:22:85:28 | self | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:86:28:86:34 | self | +| local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:87:20:87:26 | self | | local_dataflow.rb:79:13:79:13 | b | local_dataflow.rb:79:25:79:25 | b | | local_dataflow.rb:79:15:79:45 | then ... | local_dataflow.rb:78:7:88:5 | case ... | @@ -2688,6 +2499,7 @@ | local_dataflow.rb:86:28:86:34 | [post] self | local_dataflow.rb:89:3:89:9 | self | | local_dataflow.rb:86:28:86:34 | call to sink | local_dataflow.rb:86:23:86:53 | then ... | | local_dataflow.rb:86:28:86:34 | self | local_dataflow.rb:89:3:89:9 | self | +| local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | local_dataflow.rb:89:3:89:9 | self | | local_dataflow.rb:87:10:87:10 | x | local_dataflow.rb:87:25:87:25 | x | | local_dataflow.rb:87:15:87:48 | then ... | local_dataflow.rb:78:7:88:5 | case ... | | local_dataflow.rb:87:20:87:26 | [post] self | local_dataflow.rb:89:3:89:9 | self | @@ -2695,6 +2507,7 @@ | local_dataflow.rb:87:25:87:25 | [post] x | local_dataflow.rb:87:29:87:29 | x | | local_dataflow.rb:87:25:87:25 | x | local_dataflow.rb:87:29:87:29 | x | | local_dataflow.rb:87:29:87:29 | x | local_dataflow.rb:87:15:87:48 | then ... | +| local_dataflow.rb:89:3:89:9 | call to sink | local_dataflow.rb:61:3:89:28 | ... | | local_dataflow.rb:92:1:109:3 | self (and_or) | local_dataflow.rb:93:7:93:15 | self | | local_dataflow.rb:92:1:109:3 | self in and_or | local_dataflow.rb:92:1:109:3 | self (and_or) | | local_dataflow.rb:93:3:93:3 | a | local_dataflow.rb:94:8:94:8 | a | @@ -2784,6 +2597,7 @@ | local_dataflow.rb:107:9:107:17 | [post] self | local_dataflow.rb:108:3:108:9 | self | | local_dataflow.rb:107:9:107:17 | call to source | local_dataflow.rb:107:5:107:7 | ... && ... | | local_dataflow.rb:107:9:107:17 | self | local_dataflow.rb:108:3:108:9 | self | +| local_dataflow.rb:108:3:108:9 | call to sink | local_dataflow.rb:93:3:108:28 | ... | | local_dataflow.rb:111:1:114:3 | self (object_dup) | local_dataflow.rb:112:3:112:21 | self | | local_dataflow.rb:111:1:114:3 | self in object_dup | local_dataflow.rb:111:1:114:3 | self (object_dup) | | local_dataflow.rb:112:3:112:21 | [post] self | local_dataflow.rb:112:8:112:16 | self | @@ -2792,6 +2606,7 @@ | local_dataflow.rb:112:8:112:16 | call to source | local_dataflow.rb:112:8:112:20 | call to dup | | local_dataflow.rb:112:8:112:16 | self | local_dataflow.rb:113:3:113:25 | self | | local_dataflow.rb:113:3:113:25 | [post] self | local_dataflow.rb:113:8:113:16 | self | +| local_dataflow.rb:113:3:113:25 | call to sink | local_dataflow.rb:112:3:113:44 | ... | | local_dataflow.rb:113:3:113:25 | self | local_dataflow.rb:113:8:113:16 | self | | local_dataflow.rb:113:8:113:16 | call to source | local_dataflow.rb:113:8:113:20 | call to dup | | local_dataflow.rb:113:8:113:20 | call to dup | local_dataflow.rb:113:8:113:24 | call to dup | @@ -2808,25 +2623,31 @@ | local_dataflow.rb:118:17:118:31 | self | local_dataflow.rb:118:23:118:29 | self | | 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:118:23:118:29 | call to sink | local_dataflow.rb:118:23:118:29 | ... | | local_dataflow.rb:119:3:119:31 | [post] self | local_dataflow.rb:119:8:119:16 | self | +| local_dataflow.rb:119:3:119:31 | call to sink | local_dataflow.rb:117:3:119:50 | ... | | local_dataflow.rb:119:3:119:31 | self | local_dataflow.rb:119:8:119:16 | self | | local_dataflow.rb:119:8:119:16 | call to source | local_dataflow.rb:119:8:119:23 | call to tap | | local_dataflow.rb:119:8:119:23 | call to tap | local_dataflow.rb:119:8:119:30 | call to tap | | local_dataflow.rb:122:1:124:3 | self (dup_tap) | local_dataflow.rb:123:3:123:50 | self | | local_dataflow.rb:122:1:124:3 | self in dup_tap | local_dataflow.rb:122:1:124:3 | self (dup_tap) | | local_dataflow.rb:123:3:123:50 | [post] self | local_dataflow.rb:123:8:123:16 | self | +| local_dataflow.rb:123:3:123:50 | call to sink | local_dataflow.rb:123:3:123:70 | ... | | local_dataflow.rb:123:3:123:50 | self | local_dataflow.rb:123:8:123:16 | self | | local_dataflow.rb:123:8:123:16 | call to source | local_dataflow.rb:123:8:123:20 | call to dup | | 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:32:123:43 | call to puts | local_dataflow.rb:123:32:123:43 | ... | | 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:127:3:127:8 | call to rand | local_dataflow.rb:127:3:127:8 | ... | | 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 | | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:3 | x | | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:8 | ... = ... | +| local_dataflow.rb:132:3:149:5 | if ... | local_dataflow.rb:131:3:149:5 | ... | | local_dataflow.rb:132:6:132:11 | [post] self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:6:132:11 | self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:10:132:10 | [post] x | local_dataflow.rb:133:12:133:12 | x | @@ -2836,8 +2657,7 @@ | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | | local_dataflow.rb:133:8:133:13 | [post] self | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(self) | | local_dataflow.rb:133:8:133:13 | [post] self | local_dataflow.rb:133:18:133:23 | self | -| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | -| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | +| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(self) | | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:18:133:23 | self | | local_dataflow.rb:133:12:133:12 | [post] x | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(x) | @@ -2848,8 +2668,7 @@ | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(self) | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:136:7:136:12 | self | -| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | -| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | +| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(self) | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:136:7:136:12 | self | | local_dataflow.rb:133:22:133:22 | [post] x | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(x) | @@ -2868,24 +2687,21 @@ | local_dataflow.rb:136:11:136:11 | [post] x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:136:11:136:11 | x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:137:7:138:9 | if ... | local_dataflow.rb:135:5:138:9 | else ... | -| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | -| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | +| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | +| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:10:137:15 | [post] self | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | | local_dataflow.rb:137:10:137:15 | [post] self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | -| local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | -| local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | | local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:25:137:25 | x | -| local_dataflow.rb:137:20:137:26 | [false] ! ... | local_dataflow.rb:137:10:137:26 | [false] ... && ... | -| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | -| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | -| local_dataflow.rb:137:20:137:26 | [true] ! ... | local_dataflow.rb:137:10:137:26 | [true] ... && ... | +| local_dataflow.rb:137:20:137:26 | ! ... | local_dataflow.rb:137:10:137:26 | ... && ... | +| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | +| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:21:137:26 | [post] self | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | | local_dataflow.rb:137:21:137:26 | [post] self | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | | local_dataflow.rb:137:21:137:26 | self | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | @@ -2894,11 +2710,9 @@ | local_dataflow.rb:137:25:137:25 | [post] x | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | | local_dataflow.rb:137:25:137:25 | x | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | | local_dataflow.rb:137:25:137:25 | x | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | -| local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | -| local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | -| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | -| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | -| local_dataflow.rb:141:8:141:14 | [true] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | +| local_dataflow.rb:141:8:141:14 | ! ... | local_dataflow.rb:141:8:141:37 | ... \|\| ... | +| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | +| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | | local_dataflow.rb:141:9:141:14 | [post] self | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | | local_dataflow.rb:141:9:141:14 | [post] self | local_dataflow.rb:141:20:141:25 | self | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | @@ -2907,28 +2721,24 @@ | local_dataflow.rb:141:13:141:13 | [post] x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:24:141:24 | x | -| local_dataflow.rb:141:19:141:37 | [false] ( ... ) | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | -| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | -| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | -| local_dataflow.rb:141:19:141:37 | [post] [false] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] [false] ... && ... | -| local_dataflow.rb:141:19:141:37 | [post] [true] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] [true] ... && ... | -| local_dataflow.rb:141:19:141:37 | [true] ( ... ) | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | +| local_dataflow.rb:141:19:141:37 | ( ... ) | local_dataflow.rb:141:8:141:37 | ... \|\| ... | +| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | +| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | +| local_dataflow.rb:141:19:141:37 | [post] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] ... && ... | | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | local_dataflow.rb:143:11:143:16 | self | | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | | local_dataflow.rb:141:20:141:25 | [post] self | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | | local_dataflow.rb:141:20:141:25 | [post] self | local_dataflow.rb:141:31:141:36 | self | | local_dataflow.rb:141:20:141:25 | self | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | | local_dataflow.rb:141:20:141:25 | self | local_dataflow.rb:141:31:141:36 | self | -| local_dataflow.rb:141:20:141:36 | [false] ... && ... | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | -| local_dataflow.rb:141:20:141:36 | [true] ... && ... | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | +| local_dataflow.rb:141:20:141:36 | ... && ... | local_dataflow.rb:141:19:141:37 | ( ... ) | | local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | | local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:35:141:35 | x | -| local_dataflow.rb:141:30:141:36 | [false] ! ... | local_dataflow.rb:141:20:141:36 | [false] ... && ... | +| local_dataflow.rb:141:30:141:36 | ! ... | local_dataflow.rb:141:20:141:36 | ... && ... | | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(self) | local_dataflow.rb:143:11:143:16 | self | | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | -| local_dataflow.rb:141:30:141:36 | [true] ! ... | local_dataflow.rb:141:20:141:36 | [true] ... && ... | | local_dataflow.rb:141:31:141:36 | [post] self | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | | local_dataflow.rb:141:31:141:36 | [post] self | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(self) | | local_dataflow.rb:141:31:141:36 | self | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | @@ -2937,8 +2747,6 @@ | local_dataflow.rb:141:35:141:35 | [post] x | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | | local_dataflow.rb:141:35:141:35 | x | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | | local_dataflow.rb:141:35:141:35 | x | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | -| local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | -| local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | | local_dataflow.rb:141:38:142:9 | then ... | local_dataflow.rb:141:5:145:7 | if ... | | local_dataflow.rb:142:7:142:9 | nil | local_dataflow.rb:141:38:142:9 | then ... | | local_dataflow.rb:143:5:144:16 | elsif ... | local_dataflow.rb:141:5:145:7 | if ... | @@ -2946,8 +2754,7 @@ | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | | local_dataflow.rb:143:11:143:16 | [post] self | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(self) | | local_dataflow.rb:143:11:143:16 | [post] self | local_dataflow.rb:143:21:143:26 | self | -| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | -| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | +| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(self) | | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:21:143:26 | self | | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | @@ -2960,8 +2767,7 @@ | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | | local_dataflow.rb:143:21:143:26 | [post] self | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:21:143:26 | [post] self | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(self) | -| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | -| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | +| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | | local_dataflow.rb:143:21:143:26 | self | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:21:143:26 | self | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:25:143:25 | [post] x | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(x) | diff --git a/ruby/ql/test/library-tests/dataflow/local/Nodes.expected b/ruby/ql/test/library-tests/dataflow/local/Nodes.expected index 2ce5b9c2f237..797c9852de73 100644 --- a/ruby/ql/test/library-tests/dataflow/local/Nodes.expected +++ b/ruby/ql/test/library-tests/dataflow/local/Nodes.expected @@ -1234,8 +1234,7 @@ arg | 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 | block | -| 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 | defined? ... | local_dataflow.rb:10:9:10:9 | ! ... | self | | 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 | self | local_dataflow.rb:11:1:11:2 | call to do | self | @@ -1243,13 +1242,11 @@ arg | 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 | block | -| 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 | defined? ... | local_dataflow.rb:15:5:15:5 | ! ... | self | | 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 | block | -| 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 | defined? ... | local_dataflow.rb:19:5:19:5 | ! ... | self | | 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 | @@ -1445,15 +1442,12 @@ arg | 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 | 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 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | 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: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:8:133:23 | synthetic splat argument | local_dataflow.rb:133:8:133:23 | ... \|\| ... | 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 | 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 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | 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 | @@ -1463,55 +1457,39 @@ arg | 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 | 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 | call to use | local_dataflow.rb:137:10:137:26 | ... && ... | 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: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:10:137:26 | synthetic splat argument | local_dataflow.rb:137:10:137:26 | ... && ... | 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 | [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 | 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:20:137:26 | ! ... | local_dataflow.rb:137:10:137:26 | ... && ... | position 0 | +| local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | ! ... | 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 | [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 | 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:8:141:14 | ! ... | local_dataflow.rb:141:8:141:37 | ... \|\| ... | self | +| local_dataflow.rb:141:8:141:37 | synthetic splat argument | local_dataflow.rb:141:8:141:37 | ... \|\| ... | synthetic * | +| local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | ! ... | 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 | 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:19:141:37 | ( ... ) | local_dataflow.rb:141:8:141:37 | ... \|\| ... | position 0 | +| local_dataflow.rb:141:20:141:25 | call to use | local_dataflow.rb:141:20:141:36 | ... && ... | 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: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:20:141:36 | synthetic splat argument | local_dataflow.rb:141:20:141:36 | ... && ... | 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 | [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 | 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:30:141:36 | ! ... | local_dataflow.rb:141:20:141:36 | ... && ... | position 0 | +| local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | ! ... | 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 | 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 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | 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: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:11:143:26 | synthetic splat argument | local_dataflow.rb:143:11:143:26 | ... \|\| ... | 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 | 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 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | 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 | diff --git a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected index 353edd203f95..04c59b9d7495 100644 --- a/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected +++ b/ruby/ql/test/library-tests/dataflow/local/TaintStep.expected @@ -208,8 +208,7 @@ | UseUseExplosion.rb:20:13:20:17 | [post] self | UseUseExplosion.rb:20:3691:20:3696 | self | | UseUseExplosion.rb:20:13:20:17 | self | UseUseExplosion.rb:20:35:20:39 | self | | UseUseExplosion.rb:20:13:20:17 | self | UseUseExplosion.rb:20:3691:20:3696 | self | -| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | [false] ( ... ) | -| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | [true] ( ... ) | +| UseUseExplosion.rb:20:13:20:23 | ... > ... | UseUseExplosion.rb:20:12:20:24 | ( ... ) | | UseUseExplosion.rb:20:21:20:23 | 100 | UseUseExplosion.rb:20:13:20:23 | ... > ... | | UseUseExplosion.rb:20:26:20:3684 | then ... | UseUseExplosion.rb:20:9:20:3700 | if ... | | UseUseExplosion.rb:20:31:20:3684 | if ... | UseUseExplosion.rb:20:26:20:3684 | then ... | @@ -218,8 +217,7 @@ | UseUseExplosion.rb:20:35:20:39 | [post] self | UseUseExplosion.rb:20:3675:20:3680 | self | | UseUseExplosion.rb:20:35:20:39 | self | UseUseExplosion.rb:20:56:20:60 | self | | UseUseExplosion.rb:20:35:20:39 | self | UseUseExplosion.rb:20:3675:20:3680 | self | -| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | [false] ( ... ) | -| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | [true] ( ... ) | +| UseUseExplosion.rb:20:35:20:44 | ... > ... | UseUseExplosion.rb:20:34:20:45 | ( ... ) | | UseUseExplosion.rb:20:43:20:44 | 99 | UseUseExplosion.rb:20:35:20:44 | ... > ... | | UseUseExplosion.rb:20:47:20:3668 | then ... | UseUseExplosion.rb:20:31:20:3684 | if ... | | UseUseExplosion.rb:20:52:20:3668 | if ... | UseUseExplosion.rb:20:47:20:3668 | then ... | @@ -228,8 +226,7 @@ | UseUseExplosion.rb:20:56:20:60 | [post] self | UseUseExplosion.rb:20:3659:20:3664 | self | | UseUseExplosion.rb:20:56:20:60 | self | UseUseExplosion.rb:20:77:20:81 | self | | UseUseExplosion.rb:20:56:20:60 | self | UseUseExplosion.rb:20:3659:20:3664 | self | -| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | [false] ( ... ) | -| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | [true] ( ... ) | +| UseUseExplosion.rb:20:56:20:65 | ... > ... | UseUseExplosion.rb:20:55:20:66 | ( ... ) | | UseUseExplosion.rb:20:64:20:65 | 98 | UseUseExplosion.rb:20:56:20:65 | ... > ... | | UseUseExplosion.rb:20:68:20:3652 | then ... | UseUseExplosion.rb:20:52:20:3668 | if ... | | UseUseExplosion.rb:20:73:20:3652 | if ... | UseUseExplosion.rb:20:68:20:3652 | then ... | @@ -238,8 +235,7 @@ | UseUseExplosion.rb:20:77:20:81 | [post] self | UseUseExplosion.rb:20:3643:20:3648 | self | | UseUseExplosion.rb:20:77:20:81 | self | UseUseExplosion.rb:20:98:20:102 | self | | UseUseExplosion.rb:20:77:20:81 | self | UseUseExplosion.rb:20:3643:20:3648 | self | -| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | [false] ( ... ) | -| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | [true] ( ... ) | +| UseUseExplosion.rb:20:77:20:86 | ... > ... | UseUseExplosion.rb:20:76:20:87 | ( ... ) | | UseUseExplosion.rb:20:85:20:86 | 97 | UseUseExplosion.rb:20:77:20:86 | ... > ... | | UseUseExplosion.rb:20:89:20:3636 | then ... | UseUseExplosion.rb:20:73:20:3652 | if ... | | UseUseExplosion.rb:20:94:20:3636 | if ... | UseUseExplosion.rb:20:89:20:3636 | then ... | @@ -248,8 +244,7 @@ | UseUseExplosion.rb:20:98:20:102 | [post] self | UseUseExplosion.rb:20:3627:20:3632 | self | | UseUseExplosion.rb:20:98:20:102 | self | UseUseExplosion.rb:20:119:20:123 | self | | UseUseExplosion.rb:20:98:20:102 | self | UseUseExplosion.rb:20:3627:20:3632 | self | -| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | [false] ( ... ) | -| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | [true] ( ... ) | +| UseUseExplosion.rb:20:98:20:107 | ... > ... | UseUseExplosion.rb:20:97:20:108 | ( ... ) | | UseUseExplosion.rb:20:106:20:107 | 96 | UseUseExplosion.rb:20:98:20:107 | ... > ... | | UseUseExplosion.rb:20:110:20:3620 | then ... | UseUseExplosion.rb:20:94:20:3636 | if ... | | UseUseExplosion.rb:20:115:20:3620 | if ... | UseUseExplosion.rb:20:110:20:3620 | then ... | @@ -258,8 +253,7 @@ | UseUseExplosion.rb:20:119:20:123 | [post] self | UseUseExplosion.rb:20:3611:20:3616 | self | | UseUseExplosion.rb:20:119:20:123 | self | UseUseExplosion.rb:20:140:20:144 | self | | UseUseExplosion.rb:20:119:20:123 | self | UseUseExplosion.rb:20:3611:20:3616 | self | -| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | [false] ( ... ) | -| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | [true] ( ... ) | +| UseUseExplosion.rb:20:119:20:128 | ... > ... | UseUseExplosion.rb:20:118:20:129 | ( ... ) | | UseUseExplosion.rb:20:127:20:128 | 95 | UseUseExplosion.rb:20:119:20:128 | ... > ... | | UseUseExplosion.rb:20:131:20:3604 | then ... | UseUseExplosion.rb:20:115:20:3620 | if ... | | UseUseExplosion.rb:20:136:20:3604 | if ... | UseUseExplosion.rb:20:131:20:3604 | then ... | @@ -268,8 +262,7 @@ | UseUseExplosion.rb:20:140:20:144 | [post] self | UseUseExplosion.rb:20:3595:20:3600 | self | | UseUseExplosion.rb:20:140:20:144 | self | UseUseExplosion.rb:20:161:20:165 | self | | UseUseExplosion.rb:20:140:20:144 | self | UseUseExplosion.rb:20:3595:20:3600 | self | -| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | [false] ( ... ) | -| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | [true] ( ... ) | +| UseUseExplosion.rb:20:140:20:149 | ... > ... | UseUseExplosion.rb:20:139:20:150 | ( ... ) | | UseUseExplosion.rb:20:148:20:149 | 94 | UseUseExplosion.rb:20:140:20:149 | ... > ... | | UseUseExplosion.rb:20:152:20:3588 | then ... | UseUseExplosion.rb:20:136:20:3604 | if ... | | UseUseExplosion.rb:20:157:20:3588 | if ... | UseUseExplosion.rb:20:152:20:3588 | then ... | @@ -278,8 +271,7 @@ | UseUseExplosion.rb:20:161:20:165 | [post] self | UseUseExplosion.rb:20:3579:20:3584 | self | | UseUseExplosion.rb:20:161:20:165 | self | UseUseExplosion.rb:20:182:20:186 | self | | UseUseExplosion.rb:20:161:20:165 | self | UseUseExplosion.rb:20:3579:20:3584 | self | -| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | [false] ( ... ) | -| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | [true] ( ... ) | +| UseUseExplosion.rb:20:161:20:170 | ... > ... | UseUseExplosion.rb:20:160:20:171 | ( ... ) | | UseUseExplosion.rb:20:169:20:170 | 93 | UseUseExplosion.rb:20:161:20:170 | ... > ... | | UseUseExplosion.rb:20:173:20:3572 | then ... | UseUseExplosion.rb:20:157:20:3588 | if ... | | UseUseExplosion.rb:20:178:20:3572 | if ... | UseUseExplosion.rb:20:173:20:3572 | then ... | @@ -288,8 +280,7 @@ | UseUseExplosion.rb:20:182:20:186 | [post] self | UseUseExplosion.rb:20:3563:20:3568 | self | | UseUseExplosion.rb:20:182:20:186 | self | UseUseExplosion.rb:20:203:20:207 | self | | UseUseExplosion.rb:20:182:20:186 | self | UseUseExplosion.rb:20:3563:20:3568 | self | -| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | [false] ( ... ) | -| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | [true] ( ... ) | +| UseUseExplosion.rb:20:182:20:191 | ... > ... | UseUseExplosion.rb:20:181:20:192 | ( ... ) | | UseUseExplosion.rb:20:190:20:191 | 92 | UseUseExplosion.rb:20:182:20:191 | ... > ... | | UseUseExplosion.rb:20:194:20:3556 | then ... | UseUseExplosion.rb:20:178:20:3572 | if ... | | UseUseExplosion.rb:20:199:20:3556 | if ... | UseUseExplosion.rb:20:194:20:3556 | then ... | @@ -298,8 +289,7 @@ | UseUseExplosion.rb:20:203:20:207 | [post] self | UseUseExplosion.rb:20:3547:20:3552 | self | | UseUseExplosion.rb:20:203:20:207 | self | UseUseExplosion.rb:20:224:20:228 | self | | UseUseExplosion.rb:20:203:20:207 | self | UseUseExplosion.rb:20:3547:20:3552 | self | -| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | [false] ( ... ) | -| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | [true] ( ... ) | +| UseUseExplosion.rb:20:203:20:212 | ... > ... | UseUseExplosion.rb:20:202:20:213 | ( ... ) | | UseUseExplosion.rb:20:211:20:212 | 91 | UseUseExplosion.rb:20:203:20:212 | ... > ... | | UseUseExplosion.rb:20:215:20:3540 | then ... | UseUseExplosion.rb:20:199:20:3556 | if ... | | UseUseExplosion.rb:20:220:20:3540 | if ... | UseUseExplosion.rb:20:215:20:3540 | then ... | @@ -308,8 +298,7 @@ | UseUseExplosion.rb:20:224:20:228 | [post] self | UseUseExplosion.rb:20:3531:20:3536 | self | | UseUseExplosion.rb:20:224:20:228 | self | UseUseExplosion.rb:20:245:20:249 | self | | UseUseExplosion.rb:20:224:20:228 | self | UseUseExplosion.rb:20:3531:20:3536 | self | -| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | [false] ( ... ) | -| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | [true] ( ... ) | +| UseUseExplosion.rb:20:224:20:233 | ... > ... | UseUseExplosion.rb:20:223:20:234 | ( ... ) | | UseUseExplosion.rb:20:232:20:233 | 90 | UseUseExplosion.rb:20:224:20:233 | ... > ... | | UseUseExplosion.rb:20:236:20:3524 | then ... | UseUseExplosion.rb:20:220:20:3540 | if ... | | UseUseExplosion.rb:20:241:20:3524 | if ... | UseUseExplosion.rb:20:236:20:3524 | then ... | @@ -318,8 +307,7 @@ | UseUseExplosion.rb:20:245:20:249 | [post] self | UseUseExplosion.rb:20:3515:20:3520 | self | | UseUseExplosion.rb:20:245:20:249 | self | UseUseExplosion.rb:20:266:20:270 | self | | UseUseExplosion.rb:20:245:20:249 | self | UseUseExplosion.rb:20:3515:20:3520 | self | -| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | [false] ( ... ) | -| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | [true] ( ... ) | +| UseUseExplosion.rb:20:245:20:254 | ... > ... | UseUseExplosion.rb:20:244:20:255 | ( ... ) | | UseUseExplosion.rb:20:253:20:254 | 89 | UseUseExplosion.rb:20:245:20:254 | ... > ... | | UseUseExplosion.rb:20:257:20:3508 | then ... | UseUseExplosion.rb:20:241:20:3524 | if ... | | UseUseExplosion.rb:20:262:20:3508 | if ... | UseUseExplosion.rb:20:257:20:3508 | then ... | @@ -328,8 +316,7 @@ | UseUseExplosion.rb:20:266:20:270 | [post] self | UseUseExplosion.rb:20:3499:20:3504 | self | | UseUseExplosion.rb:20:266:20:270 | self | UseUseExplosion.rb:20:287:20:291 | self | | UseUseExplosion.rb:20:266:20:270 | self | UseUseExplosion.rb:20:3499:20:3504 | self | -| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | [false] ( ... ) | -| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | [true] ( ... ) | +| UseUseExplosion.rb:20:266:20:275 | ... > ... | UseUseExplosion.rb:20:265:20:276 | ( ... ) | | UseUseExplosion.rb:20:274:20:275 | 88 | UseUseExplosion.rb:20:266:20:275 | ... > ... | | UseUseExplosion.rb:20:278:20:3492 | then ... | UseUseExplosion.rb:20:262:20:3508 | if ... | | UseUseExplosion.rb:20:283:20:3492 | if ... | UseUseExplosion.rb:20:278:20:3492 | then ... | @@ -338,8 +325,7 @@ | UseUseExplosion.rb:20:287:20:291 | [post] self | UseUseExplosion.rb:20:3483:20:3488 | self | | UseUseExplosion.rb:20:287:20:291 | self | UseUseExplosion.rb:20:308:20:312 | self | | UseUseExplosion.rb:20:287:20:291 | self | UseUseExplosion.rb:20:3483:20:3488 | self | -| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | [false] ( ... ) | -| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | [true] ( ... ) | +| UseUseExplosion.rb:20:287:20:296 | ... > ... | UseUseExplosion.rb:20:286:20:297 | ( ... ) | | UseUseExplosion.rb:20:295:20:296 | 87 | UseUseExplosion.rb:20:287:20:296 | ... > ... | | UseUseExplosion.rb:20:299:20:3476 | then ... | UseUseExplosion.rb:20:283:20:3492 | if ... | | UseUseExplosion.rb:20:304:20:3476 | if ... | UseUseExplosion.rb:20:299:20:3476 | then ... | @@ -348,8 +334,7 @@ | UseUseExplosion.rb:20:308:20:312 | [post] self | UseUseExplosion.rb:20:3467:20:3472 | self | | UseUseExplosion.rb:20:308:20:312 | self | UseUseExplosion.rb:20:329:20:333 | self | | UseUseExplosion.rb:20:308:20:312 | self | UseUseExplosion.rb:20:3467:20:3472 | self | -| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | [false] ( ... ) | -| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | [true] ( ... ) | +| UseUseExplosion.rb:20:308:20:317 | ... > ... | UseUseExplosion.rb:20:307:20:318 | ( ... ) | | UseUseExplosion.rb:20:316:20:317 | 86 | UseUseExplosion.rb:20:308:20:317 | ... > ... | | UseUseExplosion.rb:20:320:20:3460 | then ... | UseUseExplosion.rb:20:304:20:3476 | if ... | | UseUseExplosion.rb:20:325:20:3460 | if ... | UseUseExplosion.rb:20:320:20:3460 | then ... | @@ -358,8 +343,7 @@ | UseUseExplosion.rb:20:329:20:333 | [post] self | UseUseExplosion.rb:20:3451:20:3456 | self | | UseUseExplosion.rb:20:329:20:333 | self | UseUseExplosion.rb:20:350:20:354 | self | | UseUseExplosion.rb:20:329:20:333 | self | UseUseExplosion.rb:20:3451:20:3456 | self | -| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | [false] ( ... ) | -| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | [true] ( ... ) | +| UseUseExplosion.rb:20:329:20:338 | ... > ... | UseUseExplosion.rb:20:328:20:339 | ( ... ) | | UseUseExplosion.rb:20:337:20:338 | 85 | UseUseExplosion.rb:20:329:20:338 | ... > ... | | UseUseExplosion.rb:20:341:20:3444 | then ... | UseUseExplosion.rb:20:325:20:3460 | if ... | | UseUseExplosion.rb:20:346:20:3444 | if ... | UseUseExplosion.rb:20:341:20:3444 | then ... | @@ -368,8 +352,7 @@ | UseUseExplosion.rb:20:350:20:354 | [post] self | UseUseExplosion.rb:20:3435:20:3440 | self | | UseUseExplosion.rb:20:350:20:354 | self | UseUseExplosion.rb:20:371:20:375 | self | | UseUseExplosion.rb:20:350:20:354 | self | UseUseExplosion.rb:20:3435:20:3440 | self | -| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | [false] ( ... ) | -| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | [true] ( ... ) | +| UseUseExplosion.rb:20:350:20:359 | ... > ... | UseUseExplosion.rb:20:349:20:360 | ( ... ) | | UseUseExplosion.rb:20:358:20:359 | 84 | UseUseExplosion.rb:20:350:20:359 | ... > ... | | UseUseExplosion.rb:20:362:20:3428 | then ... | UseUseExplosion.rb:20:346:20:3444 | if ... | | UseUseExplosion.rb:20:367:20:3428 | if ... | UseUseExplosion.rb:20:362:20:3428 | then ... | @@ -378,8 +361,7 @@ | UseUseExplosion.rb:20:371:20:375 | [post] self | UseUseExplosion.rb:20:3419:20:3424 | self | | UseUseExplosion.rb:20:371:20:375 | self | UseUseExplosion.rb:20:392:20:396 | self | | UseUseExplosion.rb:20:371:20:375 | self | UseUseExplosion.rb:20:3419:20:3424 | self | -| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | [false] ( ... ) | -| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | [true] ( ... ) | +| UseUseExplosion.rb:20:371:20:380 | ... > ... | UseUseExplosion.rb:20:370:20:381 | ( ... ) | | UseUseExplosion.rb:20:379:20:380 | 83 | UseUseExplosion.rb:20:371:20:380 | ... > ... | | UseUseExplosion.rb:20:383:20:3412 | then ... | UseUseExplosion.rb:20:367:20:3428 | if ... | | UseUseExplosion.rb:20:388:20:3412 | if ... | UseUseExplosion.rb:20:383:20:3412 | then ... | @@ -388,8 +370,7 @@ | UseUseExplosion.rb:20:392:20:396 | [post] self | UseUseExplosion.rb:20:3403:20:3408 | self | | UseUseExplosion.rb:20:392:20:396 | self | UseUseExplosion.rb:20:413:20:417 | self | | UseUseExplosion.rb:20:392:20:396 | self | UseUseExplosion.rb:20:3403:20:3408 | self | -| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | [false] ( ... ) | -| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | [true] ( ... ) | +| UseUseExplosion.rb:20:392:20:401 | ... > ... | UseUseExplosion.rb:20:391:20:402 | ( ... ) | | UseUseExplosion.rb:20:400:20:401 | 82 | UseUseExplosion.rb:20:392:20:401 | ... > ... | | UseUseExplosion.rb:20:404:20:3396 | then ... | UseUseExplosion.rb:20:388:20:3412 | if ... | | UseUseExplosion.rb:20:409:20:3396 | if ... | UseUseExplosion.rb:20:404:20:3396 | then ... | @@ -398,8 +379,7 @@ | UseUseExplosion.rb:20:413:20:417 | [post] self | UseUseExplosion.rb:20:3387:20:3392 | self | | UseUseExplosion.rb:20:413:20:417 | self | UseUseExplosion.rb:20:434:20:438 | self | | UseUseExplosion.rb:20:413:20:417 | self | UseUseExplosion.rb:20:3387:20:3392 | self | -| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | [false] ( ... ) | -| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | [true] ( ... ) | +| UseUseExplosion.rb:20:413:20:422 | ... > ... | UseUseExplosion.rb:20:412:20:423 | ( ... ) | | UseUseExplosion.rb:20:421:20:422 | 81 | UseUseExplosion.rb:20:413:20:422 | ... > ... | | UseUseExplosion.rb:20:425:20:3380 | then ... | UseUseExplosion.rb:20:409:20:3396 | if ... | | UseUseExplosion.rb:20:430:20:3380 | if ... | UseUseExplosion.rb:20:425:20:3380 | then ... | @@ -408,8 +388,7 @@ | UseUseExplosion.rb:20:434:20:438 | [post] self | UseUseExplosion.rb:20:3371:20:3376 | self | | UseUseExplosion.rb:20:434:20:438 | self | UseUseExplosion.rb:20:455:20:459 | self | | UseUseExplosion.rb:20:434:20:438 | self | UseUseExplosion.rb:20:3371:20:3376 | self | -| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | [false] ( ... ) | -| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | [true] ( ... ) | +| UseUseExplosion.rb:20:434:20:443 | ... > ... | UseUseExplosion.rb:20:433:20:444 | ( ... ) | | UseUseExplosion.rb:20:442:20:443 | 80 | UseUseExplosion.rb:20:434:20:443 | ... > ... | | UseUseExplosion.rb:20:446:20:3364 | then ... | UseUseExplosion.rb:20:430:20:3380 | if ... | | UseUseExplosion.rb:20:451:20:3364 | if ... | UseUseExplosion.rb:20:446:20:3364 | then ... | @@ -418,8 +397,7 @@ | UseUseExplosion.rb:20:455:20:459 | [post] self | UseUseExplosion.rb:20:3355:20:3360 | self | | UseUseExplosion.rb:20:455:20:459 | self | UseUseExplosion.rb:20:476:20:480 | self | | UseUseExplosion.rb:20:455:20:459 | self | UseUseExplosion.rb:20:3355:20:3360 | self | -| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | [false] ( ... ) | -| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | [true] ( ... ) | +| UseUseExplosion.rb:20:455:20:464 | ... > ... | UseUseExplosion.rb:20:454:20:465 | ( ... ) | | UseUseExplosion.rb:20:463:20:464 | 79 | UseUseExplosion.rb:20:455:20:464 | ... > ... | | UseUseExplosion.rb:20:467:20:3348 | then ... | UseUseExplosion.rb:20:451:20:3364 | if ... | | UseUseExplosion.rb:20:472:20:3348 | if ... | UseUseExplosion.rb:20:467:20:3348 | then ... | @@ -428,8 +406,7 @@ | UseUseExplosion.rb:20:476:20:480 | [post] self | UseUseExplosion.rb:20:3339:20:3344 | self | | UseUseExplosion.rb:20:476:20:480 | self | UseUseExplosion.rb:20:497:20:501 | self | | UseUseExplosion.rb:20:476:20:480 | self | UseUseExplosion.rb:20:3339:20:3344 | self | -| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | [false] ( ... ) | -| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | [true] ( ... ) | +| UseUseExplosion.rb:20:476:20:485 | ... > ... | UseUseExplosion.rb:20:475:20:486 | ( ... ) | | UseUseExplosion.rb:20:484:20:485 | 78 | UseUseExplosion.rb:20:476:20:485 | ... > ... | | UseUseExplosion.rb:20:488:20:3332 | then ... | UseUseExplosion.rb:20:472:20:3348 | if ... | | UseUseExplosion.rb:20:493:20:3332 | if ... | UseUseExplosion.rb:20:488:20:3332 | then ... | @@ -438,8 +415,7 @@ | UseUseExplosion.rb:20:497:20:501 | [post] self | UseUseExplosion.rb:20:3323:20:3328 | self | | UseUseExplosion.rb:20:497:20:501 | self | UseUseExplosion.rb:20:518:20:522 | self | | UseUseExplosion.rb:20:497:20:501 | self | UseUseExplosion.rb:20:3323:20:3328 | self | -| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | [false] ( ... ) | -| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | [true] ( ... ) | +| UseUseExplosion.rb:20:497:20:506 | ... > ... | UseUseExplosion.rb:20:496:20:507 | ( ... ) | | UseUseExplosion.rb:20:505:20:506 | 77 | UseUseExplosion.rb:20:497:20:506 | ... > ... | | UseUseExplosion.rb:20:509:20:3316 | then ... | UseUseExplosion.rb:20:493:20:3332 | if ... | | UseUseExplosion.rb:20:514:20:3316 | if ... | UseUseExplosion.rb:20:509:20:3316 | then ... | @@ -448,8 +424,7 @@ | UseUseExplosion.rb:20:518:20:522 | [post] self | UseUseExplosion.rb:20:3307:20:3312 | self | | UseUseExplosion.rb:20:518:20:522 | self | UseUseExplosion.rb:20:539:20:543 | self | | UseUseExplosion.rb:20:518:20:522 | self | UseUseExplosion.rb:20:3307:20:3312 | self | -| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | [false] ( ... ) | -| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | [true] ( ... ) | +| UseUseExplosion.rb:20:518:20:527 | ... > ... | UseUseExplosion.rb:20:517:20:528 | ( ... ) | | UseUseExplosion.rb:20:526:20:527 | 76 | UseUseExplosion.rb:20:518:20:527 | ... > ... | | UseUseExplosion.rb:20:530:20:3300 | then ... | UseUseExplosion.rb:20:514:20:3316 | if ... | | UseUseExplosion.rb:20:535:20:3300 | if ... | UseUseExplosion.rb:20:530:20:3300 | then ... | @@ -458,8 +433,7 @@ | UseUseExplosion.rb:20:539:20:543 | [post] self | UseUseExplosion.rb:20:3291:20:3296 | self | | UseUseExplosion.rb:20:539:20:543 | self | UseUseExplosion.rb:20:560:20:564 | self | | UseUseExplosion.rb:20:539:20:543 | self | UseUseExplosion.rb:20:3291:20:3296 | self | -| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | [false] ( ... ) | -| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | [true] ( ... ) | +| UseUseExplosion.rb:20:539:20:548 | ... > ... | UseUseExplosion.rb:20:538:20:549 | ( ... ) | | UseUseExplosion.rb:20:547:20:548 | 75 | UseUseExplosion.rb:20:539:20:548 | ... > ... | | UseUseExplosion.rb:20:551:20:3284 | then ... | UseUseExplosion.rb:20:535:20:3300 | if ... | | UseUseExplosion.rb:20:556:20:3284 | if ... | UseUseExplosion.rb:20:551:20:3284 | then ... | @@ -468,8 +442,7 @@ | UseUseExplosion.rb:20:560:20:564 | [post] self | UseUseExplosion.rb:20:3275:20:3280 | self | | UseUseExplosion.rb:20:560:20:564 | self | UseUseExplosion.rb:20:581:20:585 | self | | UseUseExplosion.rb:20:560:20:564 | self | UseUseExplosion.rb:20:3275:20:3280 | self | -| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | [false] ( ... ) | -| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | [true] ( ... ) | +| UseUseExplosion.rb:20:560:20:569 | ... > ... | UseUseExplosion.rb:20:559:20:570 | ( ... ) | | UseUseExplosion.rb:20:568:20:569 | 74 | UseUseExplosion.rb:20:560:20:569 | ... > ... | | UseUseExplosion.rb:20:572:20:3268 | then ... | UseUseExplosion.rb:20:556:20:3284 | if ... | | UseUseExplosion.rb:20:577:20:3268 | if ... | UseUseExplosion.rb:20:572:20:3268 | then ... | @@ -478,8 +451,7 @@ | UseUseExplosion.rb:20:581:20:585 | [post] self | UseUseExplosion.rb:20:3259:20:3264 | self | | UseUseExplosion.rb:20:581:20:585 | self | UseUseExplosion.rb:20:602:20:606 | self | | UseUseExplosion.rb:20:581:20:585 | self | UseUseExplosion.rb:20:3259:20:3264 | self | -| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | [false] ( ... ) | -| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | [true] ( ... ) | +| UseUseExplosion.rb:20:581:20:590 | ... > ... | UseUseExplosion.rb:20:580:20:591 | ( ... ) | | UseUseExplosion.rb:20:589:20:590 | 73 | UseUseExplosion.rb:20:581:20:590 | ... > ... | | UseUseExplosion.rb:20:593:20:3252 | then ... | UseUseExplosion.rb:20:577:20:3268 | if ... | | UseUseExplosion.rb:20:598:20:3252 | if ... | UseUseExplosion.rb:20:593:20:3252 | then ... | @@ -488,8 +460,7 @@ | UseUseExplosion.rb:20:602:20:606 | [post] self | UseUseExplosion.rb:20:3243:20:3248 | self | | UseUseExplosion.rb:20:602:20:606 | self | UseUseExplosion.rb:20:623:20:627 | self | | UseUseExplosion.rb:20:602:20:606 | self | UseUseExplosion.rb:20:3243:20:3248 | self | -| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | [false] ( ... ) | -| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | [true] ( ... ) | +| UseUseExplosion.rb:20:602:20:611 | ... > ... | UseUseExplosion.rb:20:601:20:612 | ( ... ) | | UseUseExplosion.rb:20:610:20:611 | 72 | UseUseExplosion.rb:20:602:20:611 | ... > ... | | UseUseExplosion.rb:20:614:20:3236 | then ... | UseUseExplosion.rb:20:598:20:3252 | if ... | | UseUseExplosion.rb:20:619:20:3236 | if ... | UseUseExplosion.rb:20:614:20:3236 | then ... | @@ -498,8 +469,7 @@ | UseUseExplosion.rb:20:623:20:627 | [post] self | UseUseExplosion.rb:20:3227:20:3232 | self | | UseUseExplosion.rb:20:623:20:627 | self | UseUseExplosion.rb:20:644:20:648 | self | | UseUseExplosion.rb:20:623:20:627 | self | UseUseExplosion.rb:20:3227:20:3232 | self | -| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | [false] ( ... ) | -| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | [true] ( ... ) | +| UseUseExplosion.rb:20:623:20:632 | ... > ... | UseUseExplosion.rb:20:622:20:633 | ( ... ) | | UseUseExplosion.rb:20:631:20:632 | 71 | UseUseExplosion.rb:20:623:20:632 | ... > ... | | UseUseExplosion.rb:20:635:20:3220 | then ... | UseUseExplosion.rb:20:619:20:3236 | if ... | | UseUseExplosion.rb:20:640:20:3220 | if ... | UseUseExplosion.rb:20:635:20:3220 | then ... | @@ -508,8 +478,7 @@ | UseUseExplosion.rb:20:644:20:648 | [post] self | UseUseExplosion.rb:20:3211:20:3216 | self | | UseUseExplosion.rb:20:644:20:648 | self | UseUseExplosion.rb:20:665:20:669 | self | | UseUseExplosion.rb:20:644:20:648 | self | UseUseExplosion.rb:20:3211:20:3216 | self | -| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | [false] ( ... ) | -| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | [true] ( ... ) | +| UseUseExplosion.rb:20:644:20:653 | ... > ... | UseUseExplosion.rb:20:643:20:654 | ( ... ) | | UseUseExplosion.rb:20:652:20:653 | 70 | UseUseExplosion.rb:20:644:20:653 | ... > ... | | UseUseExplosion.rb:20:656:20:3204 | then ... | UseUseExplosion.rb:20:640:20:3220 | if ... | | UseUseExplosion.rb:20:661:20:3204 | if ... | UseUseExplosion.rb:20:656:20:3204 | then ... | @@ -518,8 +487,7 @@ | UseUseExplosion.rb:20:665:20:669 | [post] self | UseUseExplosion.rb:20:3195:20:3200 | self | | UseUseExplosion.rb:20:665:20:669 | self | UseUseExplosion.rb:20:686:20:690 | self | | UseUseExplosion.rb:20:665:20:669 | self | UseUseExplosion.rb:20:3195:20:3200 | self | -| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | [false] ( ... ) | -| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | [true] ( ... ) | +| UseUseExplosion.rb:20:665:20:674 | ... > ... | UseUseExplosion.rb:20:664:20:675 | ( ... ) | | UseUseExplosion.rb:20:673:20:674 | 69 | UseUseExplosion.rb:20:665:20:674 | ... > ... | | UseUseExplosion.rb:20:677:20:3188 | then ... | UseUseExplosion.rb:20:661:20:3204 | if ... | | UseUseExplosion.rb:20:682:20:3188 | if ... | UseUseExplosion.rb:20:677:20:3188 | then ... | @@ -528,8 +496,7 @@ | UseUseExplosion.rb:20:686:20:690 | [post] self | UseUseExplosion.rb:20:3179:20:3184 | self | | UseUseExplosion.rb:20:686:20:690 | self | UseUseExplosion.rb:20:707:20:711 | self | | UseUseExplosion.rb:20:686:20:690 | self | UseUseExplosion.rb:20:3179:20:3184 | self | -| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | [false] ( ... ) | -| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | [true] ( ... ) | +| UseUseExplosion.rb:20:686:20:695 | ... > ... | UseUseExplosion.rb:20:685:20:696 | ( ... ) | | UseUseExplosion.rb:20:694:20:695 | 68 | UseUseExplosion.rb:20:686:20:695 | ... > ... | | UseUseExplosion.rb:20:698:20:3172 | then ... | UseUseExplosion.rb:20:682:20:3188 | if ... | | UseUseExplosion.rb:20:703:20:3172 | if ... | UseUseExplosion.rb:20:698:20:3172 | then ... | @@ -538,8 +505,7 @@ | UseUseExplosion.rb:20:707:20:711 | [post] self | UseUseExplosion.rb:20:3163:20:3168 | self | | UseUseExplosion.rb:20:707:20:711 | self | UseUseExplosion.rb:20:728:20:732 | self | | UseUseExplosion.rb:20:707:20:711 | self | UseUseExplosion.rb:20:3163:20:3168 | self | -| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | [false] ( ... ) | -| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | [true] ( ... ) | +| UseUseExplosion.rb:20:707:20:716 | ... > ... | UseUseExplosion.rb:20:706:20:717 | ( ... ) | | UseUseExplosion.rb:20:715:20:716 | 67 | UseUseExplosion.rb:20:707:20:716 | ... > ... | | UseUseExplosion.rb:20:719:20:3156 | then ... | UseUseExplosion.rb:20:703:20:3172 | if ... | | UseUseExplosion.rb:20:724:20:3156 | if ... | UseUseExplosion.rb:20:719:20:3156 | then ... | @@ -548,8 +514,7 @@ | UseUseExplosion.rb:20:728:20:732 | [post] self | UseUseExplosion.rb:20:3147:20:3152 | self | | UseUseExplosion.rb:20:728:20:732 | self | UseUseExplosion.rb:20:749:20:753 | self | | UseUseExplosion.rb:20:728:20:732 | self | UseUseExplosion.rb:20:3147:20:3152 | self | -| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | [false] ( ... ) | -| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | [true] ( ... ) | +| UseUseExplosion.rb:20:728:20:737 | ... > ... | UseUseExplosion.rb:20:727:20:738 | ( ... ) | | UseUseExplosion.rb:20:736:20:737 | 66 | UseUseExplosion.rb:20:728:20:737 | ... > ... | | UseUseExplosion.rb:20:740:20:3140 | then ... | UseUseExplosion.rb:20:724:20:3156 | if ... | | UseUseExplosion.rb:20:745:20:3140 | if ... | UseUseExplosion.rb:20:740:20:3140 | then ... | @@ -558,8 +523,7 @@ | UseUseExplosion.rb:20:749:20:753 | [post] self | UseUseExplosion.rb:20:3131:20:3136 | self | | UseUseExplosion.rb:20:749:20:753 | self | UseUseExplosion.rb:20:770:20:774 | self | | UseUseExplosion.rb:20:749:20:753 | self | UseUseExplosion.rb:20:3131:20:3136 | self | -| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | [false] ( ... ) | -| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | [true] ( ... ) | +| UseUseExplosion.rb:20:749:20:758 | ... > ... | UseUseExplosion.rb:20:748:20:759 | ( ... ) | | UseUseExplosion.rb:20:757:20:758 | 65 | UseUseExplosion.rb:20:749:20:758 | ... > ... | | UseUseExplosion.rb:20:761:20:3124 | then ... | UseUseExplosion.rb:20:745:20:3140 | if ... | | UseUseExplosion.rb:20:766:20:3124 | if ... | UseUseExplosion.rb:20:761:20:3124 | then ... | @@ -568,8 +532,7 @@ | UseUseExplosion.rb:20:770:20:774 | [post] self | UseUseExplosion.rb:20:3115:20:3120 | self | | UseUseExplosion.rb:20:770:20:774 | self | UseUseExplosion.rb:20:791:20:795 | self | | UseUseExplosion.rb:20:770:20:774 | self | UseUseExplosion.rb:20:3115:20:3120 | self | -| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | [false] ( ... ) | -| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | [true] ( ... ) | +| UseUseExplosion.rb:20:770:20:779 | ... > ... | UseUseExplosion.rb:20:769:20:780 | ( ... ) | | UseUseExplosion.rb:20:778:20:779 | 64 | UseUseExplosion.rb:20:770:20:779 | ... > ... | | UseUseExplosion.rb:20:782:20:3108 | then ... | UseUseExplosion.rb:20:766:20:3124 | if ... | | UseUseExplosion.rb:20:787:20:3108 | if ... | UseUseExplosion.rb:20:782:20:3108 | then ... | @@ -578,8 +541,7 @@ | UseUseExplosion.rb:20:791:20:795 | [post] self | UseUseExplosion.rb:20:3099:20:3104 | self | | UseUseExplosion.rb:20:791:20:795 | self | UseUseExplosion.rb:20:812:20:816 | self | | UseUseExplosion.rb:20:791:20:795 | self | UseUseExplosion.rb:20:3099:20:3104 | self | -| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | [false] ( ... ) | -| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | [true] ( ... ) | +| UseUseExplosion.rb:20:791:20:800 | ... > ... | UseUseExplosion.rb:20:790:20:801 | ( ... ) | | UseUseExplosion.rb:20:799:20:800 | 63 | UseUseExplosion.rb:20:791:20:800 | ... > ... | | UseUseExplosion.rb:20:803:20:3092 | then ... | UseUseExplosion.rb:20:787:20:3108 | if ... | | UseUseExplosion.rb:20:808:20:3092 | if ... | UseUseExplosion.rb:20:803:20:3092 | then ... | @@ -588,8 +550,7 @@ | UseUseExplosion.rb:20:812:20:816 | [post] self | UseUseExplosion.rb:20:3083:20:3088 | self | | UseUseExplosion.rb:20:812:20:816 | self | UseUseExplosion.rb:20:833:20:837 | self | | UseUseExplosion.rb:20:812:20:816 | self | UseUseExplosion.rb:20:3083:20:3088 | self | -| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | [false] ( ... ) | -| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | [true] ( ... ) | +| UseUseExplosion.rb:20:812:20:821 | ... > ... | UseUseExplosion.rb:20:811:20:822 | ( ... ) | | UseUseExplosion.rb:20:820:20:821 | 62 | UseUseExplosion.rb:20:812:20:821 | ... > ... | | UseUseExplosion.rb:20:824:20:3076 | then ... | UseUseExplosion.rb:20:808:20:3092 | if ... | | UseUseExplosion.rb:20:829:20:3076 | if ... | UseUseExplosion.rb:20:824:20:3076 | then ... | @@ -598,8 +559,7 @@ | UseUseExplosion.rb:20:833:20:837 | [post] self | UseUseExplosion.rb:20:3067:20:3072 | self | | UseUseExplosion.rb:20:833:20:837 | self | UseUseExplosion.rb:20:854:20:858 | self | | UseUseExplosion.rb:20:833:20:837 | self | UseUseExplosion.rb:20:3067:20:3072 | self | -| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | [false] ( ... ) | -| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | [true] ( ... ) | +| UseUseExplosion.rb:20:833:20:842 | ... > ... | UseUseExplosion.rb:20:832:20:843 | ( ... ) | | UseUseExplosion.rb:20:841:20:842 | 61 | UseUseExplosion.rb:20:833:20:842 | ... > ... | | UseUseExplosion.rb:20:845:20:3060 | then ... | UseUseExplosion.rb:20:829:20:3076 | if ... | | UseUseExplosion.rb:20:850:20:3060 | if ... | UseUseExplosion.rb:20:845:20:3060 | then ... | @@ -608,8 +568,7 @@ | UseUseExplosion.rb:20:854:20:858 | [post] self | UseUseExplosion.rb:20:3051:20:3056 | self | | UseUseExplosion.rb:20:854:20:858 | self | UseUseExplosion.rb:20:875:20:879 | self | | UseUseExplosion.rb:20:854:20:858 | self | UseUseExplosion.rb:20:3051:20:3056 | self | -| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | [false] ( ... ) | -| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | [true] ( ... ) | +| UseUseExplosion.rb:20:854:20:863 | ... > ... | UseUseExplosion.rb:20:853:20:864 | ( ... ) | | UseUseExplosion.rb:20:862:20:863 | 60 | UseUseExplosion.rb:20:854:20:863 | ... > ... | | UseUseExplosion.rb:20:866:20:3044 | then ... | UseUseExplosion.rb:20:850:20:3060 | if ... | | UseUseExplosion.rb:20:871:20:3044 | if ... | UseUseExplosion.rb:20:866:20:3044 | then ... | @@ -618,8 +577,7 @@ | UseUseExplosion.rb:20:875:20:879 | [post] self | UseUseExplosion.rb:20:3035:20:3040 | self | | UseUseExplosion.rb:20:875:20:879 | self | UseUseExplosion.rb:20:896:20:900 | self | | UseUseExplosion.rb:20:875:20:879 | self | UseUseExplosion.rb:20:3035:20:3040 | self | -| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | [false] ( ... ) | -| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | [true] ( ... ) | +| UseUseExplosion.rb:20:875:20:884 | ... > ... | UseUseExplosion.rb:20:874:20:885 | ( ... ) | | UseUseExplosion.rb:20:883:20:884 | 59 | UseUseExplosion.rb:20:875:20:884 | ... > ... | | UseUseExplosion.rb:20:887:20:3028 | then ... | UseUseExplosion.rb:20:871:20:3044 | if ... | | UseUseExplosion.rb:20:892:20:3028 | if ... | UseUseExplosion.rb:20:887:20:3028 | then ... | @@ -628,8 +586,7 @@ | UseUseExplosion.rb:20:896:20:900 | [post] self | UseUseExplosion.rb:20:3019:20:3024 | self | | UseUseExplosion.rb:20:896:20:900 | self | UseUseExplosion.rb:20:917:20:921 | self | | UseUseExplosion.rb:20:896:20:900 | self | UseUseExplosion.rb:20:3019:20:3024 | self | -| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | [false] ( ... ) | -| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | [true] ( ... ) | +| UseUseExplosion.rb:20:896:20:905 | ... > ... | UseUseExplosion.rb:20:895:20:906 | ( ... ) | | UseUseExplosion.rb:20:904:20:905 | 58 | UseUseExplosion.rb:20:896:20:905 | ... > ... | | UseUseExplosion.rb:20:908:20:3012 | then ... | UseUseExplosion.rb:20:892:20:3028 | if ... | | UseUseExplosion.rb:20:913:20:3012 | if ... | UseUseExplosion.rb:20:908:20:3012 | then ... | @@ -638,8 +595,7 @@ | UseUseExplosion.rb:20:917:20:921 | [post] self | UseUseExplosion.rb:20:3003:20:3008 | self | | UseUseExplosion.rb:20:917:20:921 | self | UseUseExplosion.rb:20:938:20:942 | self | | UseUseExplosion.rb:20:917:20:921 | self | UseUseExplosion.rb:20:3003:20:3008 | self | -| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | [false] ( ... ) | -| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | [true] ( ... ) | +| UseUseExplosion.rb:20:917:20:926 | ... > ... | UseUseExplosion.rb:20:916:20:927 | ( ... ) | | UseUseExplosion.rb:20:925:20:926 | 57 | UseUseExplosion.rb:20:917:20:926 | ... > ... | | UseUseExplosion.rb:20:929:20:2996 | then ... | UseUseExplosion.rb:20:913:20:3012 | if ... | | UseUseExplosion.rb:20:934:20:2996 | if ... | UseUseExplosion.rb:20:929:20:2996 | then ... | @@ -648,8 +604,7 @@ | UseUseExplosion.rb:20:938:20:942 | [post] self | UseUseExplosion.rb:20:2987:20:2992 | self | | UseUseExplosion.rb:20:938:20:942 | self | UseUseExplosion.rb:20:959:20:963 | self | | UseUseExplosion.rb:20:938:20:942 | self | UseUseExplosion.rb:20:2987:20:2992 | self | -| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | [false] ( ... ) | -| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | [true] ( ... ) | +| UseUseExplosion.rb:20:938:20:947 | ... > ... | UseUseExplosion.rb:20:937:20:948 | ( ... ) | | UseUseExplosion.rb:20:946:20:947 | 56 | UseUseExplosion.rb:20:938:20:947 | ... > ... | | UseUseExplosion.rb:20:950:20:2980 | then ... | UseUseExplosion.rb:20:934:20:2996 | if ... | | UseUseExplosion.rb:20:955:20:2980 | if ... | UseUseExplosion.rb:20:950:20:2980 | then ... | @@ -658,8 +613,7 @@ | UseUseExplosion.rb:20:959:20:963 | [post] self | UseUseExplosion.rb:20:2971:20:2976 | self | | UseUseExplosion.rb:20:959:20:963 | self | UseUseExplosion.rb:20:980:20:984 | self | | UseUseExplosion.rb:20:959:20:963 | self | UseUseExplosion.rb:20:2971:20:2976 | self | -| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | [false] ( ... ) | -| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | [true] ( ... ) | +| UseUseExplosion.rb:20:959:20:968 | ... > ... | UseUseExplosion.rb:20:958:20:969 | ( ... ) | | UseUseExplosion.rb:20:967:20:968 | 55 | UseUseExplosion.rb:20:959:20:968 | ... > ... | | UseUseExplosion.rb:20:971:20:2964 | then ... | UseUseExplosion.rb:20:955:20:2980 | if ... | | UseUseExplosion.rb:20:976:20:2964 | if ... | UseUseExplosion.rb:20:971:20:2964 | then ... | @@ -668,8 +622,7 @@ | UseUseExplosion.rb:20:980:20:984 | [post] self | UseUseExplosion.rb:20:2955:20:2960 | self | | UseUseExplosion.rb:20:980:20:984 | self | UseUseExplosion.rb:20:1001:20:1005 | self | | UseUseExplosion.rb:20:980:20:984 | self | UseUseExplosion.rb:20:2955:20:2960 | self | -| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | [false] ( ... ) | -| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | [true] ( ... ) | +| UseUseExplosion.rb:20:980:20:989 | ... > ... | UseUseExplosion.rb:20:979:20:990 | ( ... ) | | UseUseExplosion.rb:20:988:20:989 | 54 | UseUseExplosion.rb:20:980:20:989 | ... > ... | | UseUseExplosion.rb:20:992:20:2948 | then ... | UseUseExplosion.rb:20:976:20:2964 | if ... | | UseUseExplosion.rb:20:997:20:2948 | if ... | UseUseExplosion.rb:20:992:20:2948 | then ... | @@ -678,8 +631,7 @@ | UseUseExplosion.rb:20:1001:20:1005 | [post] self | UseUseExplosion.rb:20:2939:20:2944 | self | | UseUseExplosion.rb:20:1001:20:1005 | self | UseUseExplosion.rb:20:1022:20:1026 | self | | UseUseExplosion.rb:20:1001:20:1005 | self | UseUseExplosion.rb:20:2939:20:2944 | self | -| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | [false] ( ... ) | -| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | [true] ( ... ) | +| UseUseExplosion.rb:20:1001:20:1010 | ... > ... | UseUseExplosion.rb:20:1000:20:1011 | ( ... ) | | UseUseExplosion.rb:20:1009:20:1010 | 53 | UseUseExplosion.rb:20:1001:20:1010 | ... > ... | | UseUseExplosion.rb:20:1013:20:2932 | then ... | UseUseExplosion.rb:20:997:20:2948 | if ... | | UseUseExplosion.rb:20:1018:20:2932 | if ... | UseUseExplosion.rb:20:1013:20:2932 | then ... | @@ -688,8 +640,7 @@ | UseUseExplosion.rb:20:1022:20:1026 | [post] self | UseUseExplosion.rb:20:2923:20:2928 | self | | UseUseExplosion.rb:20:1022:20:1026 | self | UseUseExplosion.rb:20:1043:20:1047 | self | | UseUseExplosion.rb:20:1022:20:1026 | self | UseUseExplosion.rb:20:2923:20:2928 | self | -| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | [false] ( ... ) | -| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | [true] ( ... ) | +| UseUseExplosion.rb:20:1022:20:1031 | ... > ... | UseUseExplosion.rb:20:1021:20:1032 | ( ... ) | | UseUseExplosion.rb:20:1030:20:1031 | 52 | UseUseExplosion.rb:20:1022:20:1031 | ... > ... | | UseUseExplosion.rb:20:1034:20:2916 | then ... | UseUseExplosion.rb:20:1018:20:2932 | if ... | | UseUseExplosion.rb:20:1039:20:2916 | if ... | UseUseExplosion.rb:20:1034:20:2916 | then ... | @@ -698,8 +649,7 @@ | UseUseExplosion.rb:20:1043:20:1047 | [post] self | UseUseExplosion.rb:20:2907:20:2912 | self | | UseUseExplosion.rb:20:1043:20:1047 | self | UseUseExplosion.rb:20:1064:20:1068 | self | | UseUseExplosion.rb:20:1043:20:1047 | self | UseUseExplosion.rb:20:2907:20:2912 | self | -| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | [false] ( ... ) | -| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | [true] ( ... ) | +| UseUseExplosion.rb:20:1043:20:1052 | ... > ... | UseUseExplosion.rb:20:1042:20:1053 | ( ... ) | | UseUseExplosion.rb:20:1051:20:1052 | 51 | UseUseExplosion.rb:20:1043:20:1052 | ... > ... | | UseUseExplosion.rb:20:1055:20:2900 | then ... | UseUseExplosion.rb:20:1039:20:2916 | if ... | | UseUseExplosion.rb:20:1060:20:2900 | if ... | UseUseExplosion.rb:20:1055:20:2900 | then ... | @@ -708,8 +658,7 @@ | UseUseExplosion.rb:20:1064:20:1068 | [post] self | UseUseExplosion.rb:20:2891:20:2896 | self | | UseUseExplosion.rb:20:1064:20:1068 | self | UseUseExplosion.rb:20:1085:20:1089 | self | | UseUseExplosion.rb:20:1064:20:1068 | self | UseUseExplosion.rb:20:2891:20:2896 | self | -| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | [false] ( ... ) | -| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | [true] ( ... ) | +| UseUseExplosion.rb:20:1064:20:1073 | ... > ... | UseUseExplosion.rb:20:1063:20:1074 | ( ... ) | | UseUseExplosion.rb:20:1072:20:1073 | 50 | UseUseExplosion.rb:20:1064:20:1073 | ... > ... | | UseUseExplosion.rb:20:1076:20:2884 | then ... | UseUseExplosion.rb:20:1060:20:2900 | if ... | | UseUseExplosion.rb:20:1081:20:2884 | if ... | UseUseExplosion.rb:20:1076:20:2884 | then ... | @@ -718,8 +667,7 @@ | UseUseExplosion.rb:20:1085:20:1089 | [post] self | UseUseExplosion.rb:20:2875:20:2880 | self | | UseUseExplosion.rb:20:1085:20:1089 | self | UseUseExplosion.rb:20:1106:20:1110 | self | | UseUseExplosion.rb:20:1085:20:1089 | self | UseUseExplosion.rb:20:2875:20:2880 | self | -| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | [false] ( ... ) | -| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | [true] ( ... ) | +| UseUseExplosion.rb:20:1085:20:1094 | ... > ... | UseUseExplosion.rb:20:1084:20:1095 | ( ... ) | | UseUseExplosion.rb:20:1093:20:1094 | 49 | UseUseExplosion.rb:20:1085:20:1094 | ... > ... | | UseUseExplosion.rb:20:1097:20:2868 | then ... | UseUseExplosion.rb:20:1081:20:2884 | if ... | | UseUseExplosion.rb:20:1102:20:2868 | if ... | UseUseExplosion.rb:20:1097:20:2868 | then ... | @@ -728,8 +676,7 @@ | UseUseExplosion.rb:20:1106:20:1110 | [post] self | UseUseExplosion.rb:20:2859:20:2864 | self | | UseUseExplosion.rb:20:1106:20:1110 | self | UseUseExplosion.rb:20:1127:20:1131 | self | | UseUseExplosion.rb:20:1106:20:1110 | self | UseUseExplosion.rb:20:2859:20:2864 | self | -| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | [false] ( ... ) | -| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | [true] ( ... ) | +| UseUseExplosion.rb:20:1106:20:1115 | ... > ... | UseUseExplosion.rb:20:1105:20:1116 | ( ... ) | | UseUseExplosion.rb:20:1114:20:1115 | 48 | UseUseExplosion.rb:20:1106:20:1115 | ... > ... | | UseUseExplosion.rb:20:1118:20:2852 | then ... | UseUseExplosion.rb:20:1102:20:2868 | if ... | | UseUseExplosion.rb:20:1123:20:2852 | if ... | UseUseExplosion.rb:20:1118:20:2852 | then ... | @@ -738,8 +685,7 @@ | UseUseExplosion.rb:20:1127:20:1131 | [post] self | UseUseExplosion.rb:20:2843:20:2848 | self | | UseUseExplosion.rb:20:1127:20:1131 | self | UseUseExplosion.rb:20:1148:20:1152 | self | | UseUseExplosion.rb:20:1127:20:1131 | self | UseUseExplosion.rb:20:2843:20:2848 | self | -| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | [false] ( ... ) | -| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | [true] ( ... ) | +| UseUseExplosion.rb:20:1127:20:1136 | ... > ... | UseUseExplosion.rb:20:1126:20:1137 | ( ... ) | | UseUseExplosion.rb:20:1135:20:1136 | 47 | UseUseExplosion.rb:20:1127:20:1136 | ... > ... | | UseUseExplosion.rb:20:1139:20:2836 | then ... | UseUseExplosion.rb:20:1123:20:2852 | if ... | | UseUseExplosion.rb:20:1144:20:2836 | if ... | UseUseExplosion.rb:20:1139:20:2836 | then ... | @@ -748,8 +694,7 @@ | UseUseExplosion.rb:20:1148:20:1152 | [post] self | UseUseExplosion.rb:20:2827:20:2832 | self | | UseUseExplosion.rb:20:1148:20:1152 | self | UseUseExplosion.rb:20:1169:20:1173 | self | | UseUseExplosion.rb:20:1148:20:1152 | self | UseUseExplosion.rb:20:2827:20:2832 | self | -| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | [false] ( ... ) | -| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | [true] ( ... ) | +| UseUseExplosion.rb:20:1148:20:1157 | ... > ... | UseUseExplosion.rb:20:1147:20:1158 | ( ... ) | | UseUseExplosion.rb:20:1156:20:1157 | 46 | UseUseExplosion.rb:20:1148:20:1157 | ... > ... | | UseUseExplosion.rb:20:1160:20:2820 | then ... | UseUseExplosion.rb:20:1144:20:2836 | if ... | | UseUseExplosion.rb:20:1165:20:2820 | if ... | UseUseExplosion.rb:20:1160:20:2820 | then ... | @@ -758,8 +703,7 @@ | UseUseExplosion.rb:20:1169:20:1173 | [post] self | UseUseExplosion.rb:20:2811:20:2816 | self | | UseUseExplosion.rb:20:1169:20:1173 | self | UseUseExplosion.rb:20:1190:20:1194 | self | | UseUseExplosion.rb:20:1169:20:1173 | self | UseUseExplosion.rb:20:2811:20:2816 | self | -| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | [false] ( ... ) | -| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | [true] ( ... ) | +| UseUseExplosion.rb:20:1169:20:1178 | ... > ... | UseUseExplosion.rb:20:1168:20:1179 | ( ... ) | | UseUseExplosion.rb:20:1177:20:1178 | 45 | UseUseExplosion.rb:20:1169:20:1178 | ... > ... | | UseUseExplosion.rb:20:1181:20:2804 | then ... | UseUseExplosion.rb:20:1165:20:2820 | if ... | | UseUseExplosion.rb:20:1186:20:2804 | if ... | UseUseExplosion.rb:20:1181:20:2804 | then ... | @@ -768,8 +712,7 @@ | UseUseExplosion.rb:20:1190:20:1194 | [post] self | UseUseExplosion.rb:20:2795:20:2800 | self | | UseUseExplosion.rb:20:1190:20:1194 | self | UseUseExplosion.rb:20:1211:20:1215 | self | | UseUseExplosion.rb:20:1190:20:1194 | self | UseUseExplosion.rb:20:2795:20:2800 | self | -| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | [false] ( ... ) | -| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | [true] ( ... ) | +| UseUseExplosion.rb:20:1190:20:1199 | ... > ... | UseUseExplosion.rb:20:1189:20:1200 | ( ... ) | | UseUseExplosion.rb:20:1198:20:1199 | 44 | UseUseExplosion.rb:20:1190:20:1199 | ... > ... | | UseUseExplosion.rb:20:1202:20:2788 | then ... | UseUseExplosion.rb:20:1186:20:2804 | if ... | | UseUseExplosion.rb:20:1207:20:2788 | if ... | UseUseExplosion.rb:20:1202:20:2788 | then ... | @@ -778,8 +721,7 @@ | UseUseExplosion.rb:20:1211:20:1215 | [post] self | UseUseExplosion.rb:20:2779:20:2784 | self | | UseUseExplosion.rb:20:1211:20:1215 | self | UseUseExplosion.rb:20:1232:20:1236 | self | | UseUseExplosion.rb:20:1211:20:1215 | self | UseUseExplosion.rb:20:2779:20:2784 | self | -| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | [false] ( ... ) | -| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | [true] ( ... ) | +| UseUseExplosion.rb:20:1211:20:1220 | ... > ... | UseUseExplosion.rb:20:1210:20:1221 | ( ... ) | | UseUseExplosion.rb:20:1219:20:1220 | 43 | UseUseExplosion.rb:20:1211:20:1220 | ... > ... | | UseUseExplosion.rb:20:1223:20:2772 | then ... | UseUseExplosion.rb:20:1207:20:2788 | if ... | | UseUseExplosion.rb:20:1228:20:2772 | if ... | UseUseExplosion.rb:20:1223:20:2772 | then ... | @@ -788,8 +730,7 @@ | UseUseExplosion.rb:20:1232:20:1236 | [post] self | UseUseExplosion.rb:20:2763:20:2768 | self | | UseUseExplosion.rb:20:1232:20:1236 | self | UseUseExplosion.rb:20:1253:20:1257 | self | | UseUseExplosion.rb:20:1232:20:1236 | self | UseUseExplosion.rb:20:2763:20:2768 | self | -| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | [false] ( ... ) | -| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | [true] ( ... ) | +| UseUseExplosion.rb:20:1232:20:1241 | ... > ... | UseUseExplosion.rb:20:1231:20:1242 | ( ... ) | | UseUseExplosion.rb:20:1240:20:1241 | 42 | UseUseExplosion.rb:20:1232:20:1241 | ... > ... | | UseUseExplosion.rb:20:1244:20:2756 | then ... | UseUseExplosion.rb:20:1228:20:2772 | if ... | | UseUseExplosion.rb:20:1249:20:2756 | if ... | UseUseExplosion.rb:20:1244:20:2756 | then ... | @@ -798,8 +739,7 @@ | UseUseExplosion.rb:20:1253:20:1257 | [post] self | UseUseExplosion.rb:20:2747:20:2752 | self | | UseUseExplosion.rb:20:1253:20:1257 | self | UseUseExplosion.rb:20:1274:20:1278 | self | | UseUseExplosion.rb:20:1253:20:1257 | self | UseUseExplosion.rb:20:2747:20:2752 | self | -| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | [false] ( ... ) | -| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | [true] ( ... ) | +| UseUseExplosion.rb:20:1253:20:1262 | ... > ... | UseUseExplosion.rb:20:1252:20:1263 | ( ... ) | | UseUseExplosion.rb:20:1261:20:1262 | 41 | UseUseExplosion.rb:20:1253:20:1262 | ... > ... | | UseUseExplosion.rb:20:1265:20:2740 | then ... | UseUseExplosion.rb:20:1249:20:2756 | if ... | | UseUseExplosion.rb:20:1270:20:2740 | if ... | UseUseExplosion.rb:20:1265:20:2740 | then ... | @@ -808,8 +748,7 @@ | UseUseExplosion.rb:20:1274:20:1278 | [post] self | UseUseExplosion.rb:20:2731:20:2736 | self | | UseUseExplosion.rb:20:1274:20:1278 | self | UseUseExplosion.rb:20:1295:20:1299 | self | | UseUseExplosion.rb:20:1274:20:1278 | self | UseUseExplosion.rb:20:2731:20:2736 | self | -| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | [false] ( ... ) | -| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | [true] ( ... ) | +| UseUseExplosion.rb:20:1274:20:1283 | ... > ... | UseUseExplosion.rb:20:1273:20:1284 | ( ... ) | | UseUseExplosion.rb:20:1282:20:1283 | 40 | UseUseExplosion.rb:20:1274:20:1283 | ... > ... | | UseUseExplosion.rb:20:1286:20:2724 | then ... | UseUseExplosion.rb:20:1270:20:2740 | if ... | | UseUseExplosion.rb:20:1291:20:2724 | if ... | UseUseExplosion.rb:20:1286:20:2724 | then ... | @@ -818,8 +757,7 @@ | UseUseExplosion.rb:20:1295:20:1299 | [post] self | UseUseExplosion.rb:20:2715:20:2720 | self | | UseUseExplosion.rb:20:1295:20:1299 | self | UseUseExplosion.rb:20:1316:20:1320 | self | | UseUseExplosion.rb:20:1295:20:1299 | self | UseUseExplosion.rb:20:2715:20:2720 | self | -| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | [false] ( ... ) | -| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | [true] ( ... ) | +| UseUseExplosion.rb:20:1295:20:1304 | ... > ... | UseUseExplosion.rb:20:1294:20:1305 | ( ... ) | | UseUseExplosion.rb:20:1303:20:1304 | 39 | UseUseExplosion.rb:20:1295:20:1304 | ... > ... | | UseUseExplosion.rb:20:1307:20:2708 | then ... | UseUseExplosion.rb:20:1291:20:2724 | if ... | | UseUseExplosion.rb:20:1312:20:2708 | if ... | UseUseExplosion.rb:20:1307:20:2708 | then ... | @@ -828,8 +766,7 @@ | UseUseExplosion.rb:20:1316:20:1320 | [post] self | UseUseExplosion.rb:20:2699:20:2704 | self | | UseUseExplosion.rb:20:1316:20:1320 | self | UseUseExplosion.rb:20:1337:20:1341 | self | | UseUseExplosion.rb:20:1316:20:1320 | self | UseUseExplosion.rb:20:2699:20:2704 | self | -| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | [false] ( ... ) | -| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | [true] ( ... ) | +| UseUseExplosion.rb:20:1316:20:1325 | ... > ... | UseUseExplosion.rb:20:1315:20:1326 | ( ... ) | | UseUseExplosion.rb:20:1324:20:1325 | 38 | UseUseExplosion.rb:20:1316:20:1325 | ... > ... | | UseUseExplosion.rb:20:1328:20:2692 | then ... | UseUseExplosion.rb:20:1312:20:2708 | if ... | | UseUseExplosion.rb:20:1333:20:2692 | if ... | UseUseExplosion.rb:20:1328:20:2692 | then ... | @@ -838,8 +775,7 @@ | UseUseExplosion.rb:20:1337:20:1341 | [post] self | UseUseExplosion.rb:20:2683:20:2688 | self | | UseUseExplosion.rb:20:1337:20:1341 | self | UseUseExplosion.rb:20:1358:20:1362 | self | | UseUseExplosion.rb:20:1337:20:1341 | self | UseUseExplosion.rb:20:2683:20:2688 | self | -| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | [false] ( ... ) | -| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | [true] ( ... ) | +| UseUseExplosion.rb:20:1337:20:1346 | ... > ... | UseUseExplosion.rb:20:1336:20:1347 | ( ... ) | | UseUseExplosion.rb:20:1345:20:1346 | 37 | UseUseExplosion.rb:20:1337:20:1346 | ... > ... | | UseUseExplosion.rb:20:1349:20:2676 | then ... | UseUseExplosion.rb:20:1333:20:2692 | if ... | | UseUseExplosion.rb:20:1354:20:2676 | if ... | UseUseExplosion.rb:20:1349:20:2676 | then ... | @@ -848,8 +784,7 @@ | UseUseExplosion.rb:20:1358:20:1362 | [post] self | UseUseExplosion.rb:20:2667:20:2672 | self | | UseUseExplosion.rb:20:1358:20:1362 | self | UseUseExplosion.rb:20:1379:20:1383 | self | | UseUseExplosion.rb:20:1358:20:1362 | self | UseUseExplosion.rb:20:2667:20:2672 | self | -| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | [false] ( ... ) | -| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | [true] ( ... ) | +| UseUseExplosion.rb:20:1358:20:1367 | ... > ... | UseUseExplosion.rb:20:1357:20:1368 | ( ... ) | | UseUseExplosion.rb:20:1366:20:1367 | 36 | UseUseExplosion.rb:20:1358:20:1367 | ... > ... | | UseUseExplosion.rb:20:1370:20:2660 | then ... | UseUseExplosion.rb:20:1354:20:2676 | if ... | | UseUseExplosion.rb:20:1375:20:2660 | if ... | UseUseExplosion.rb:20:1370:20:2660 | then ... | @@ -858,8 +793,7 @@ | UseUseExplosion.rb:20:1379:20:1383 | [post] self | UseUseExplosion.rb:20:2651:20:2656 | self | | UseUseExplosion.rb:20:1379:20:1383 | self | UseUseExplosion.rb:20:1400:20:1404 | self | | UseUseExplosion.rb:20:1379:20:1383 | self | UseUseExplosion.rb:20:2651:20:2656 | self | -| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | [false] ( ... ) | -| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | [true] ( ... ) | +| UseUseExplosion.rb:20:1379:20:1388 | ... > ... | UseUseExplosion.rb:20:1378:20:1389 | ( ... ) | | UseUseExplosion.rb:20:1387:20:1388 | 35 | UseUseExplosion.rb:20:1379:20:1388 | ... > ... | | UseUseExplosion.rb:20:1391:20:2644 | then ... | UseUseExplosion.rb:20:1375:20:2660 | if ... | | UseUseExplosion.rb:20:1396:20:2644 | if ... | UseUseExplosion.rb:20:1391:20:2644 | then ... | @@ -868,8 +802,7 @@ | UseUseExplosion.rb:20:1400:20:1404 | [post] self | UseUseExplosion.rb:20:2635:20:2640 | self | | UseUseExplosion.rb:20:1400:20:1404 | self | UseUseExplosion.rb:20:1421:20:1425 | self | | UseUseExplosion.rb:20:1400:20:1404 | self | UseUseExplosion.rb:20:2635:20:2640 | self | -| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | [false] ( ... ) | -| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | [true] ( ... ) | +| UseUseExplosion.rb:20:1400:20:1409 | ... > ... | UseUseExplosion.rb:20:1399:20:1410 | ( ... ) | | UseUseExplosion.rb:20:1408:20:1409 | 34 | UseUseExplosion.rb:20:1400:20:1409 | ... > ... | | UseUseExplosion.rb:20:1412:20:2628 | then ... | UseUseExplosion.rb:20:1396:20:2644 | if ... | | UseUseExplosion.rb:20:1417:20:2628 | if ... | UseUseExplosion.rb:20:1412:20:2628 | then ... | @@ -878,8 +811,7 @@ | UseUseExplosion.rb:20:1421:20:1425 | [post] self | UseUseExplosion.rb:20:2619:20:2624 | self | | UseUseExplosion.rb:20:1421:20:1425 | self | UseUseExplosion.rb:20:1442:20:1446 | self | | UseUseExplosion.rb:20:1421:20:1425 | self | UseUseExplosion.rb:20:2619:20:2624 | self | -| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | [false] ( ... ) | -| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | [true] ( ... ) | +| UseUseExplosion.rb:20:1421:20:1430 | ... > ... | UseUseExplosion.rb:20:1420:20:1431 | ( ... ) | | UseUseExplosion.rb:20:1429:20:1430 | 33 | UseUseExplosion.rb:20:1421:20:1430 | ... > ... | | UseUseExplosion.rb:20:1433:20:2612 | then ... | UseUseExplosion.rb:20:1417:20:2628 | if ... | | UseUseExplosion.rb:20:1438:20:2612 | if ... | UseUseExplosion.rb:20:1433:20:2612 | then ... | @@ -888,8 +820,7 @@ | UseUseExplosion.rb:20:1442:20:1446 | [post] self | UseUseExplosion.rb:20:2603:20:2608 | self | | UseUseExplosion.rb:20:1442:20:1446 | self | UseUseExplosion.rb:20:1463:20:1467 | self | | UseUseExplosion.rb:20:1442:20:1446 | self | UseUseExplosion.rb:20:2603:20:2608 | self | -| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | [false] ( ... ) | -| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | [true] ( ... ) | +| UseUseExplosion.rb:20:1442:20:1451 | ... > ... | UseUseExplosion.rb:20:1441:20:1452 | ( ... ) | | UseUseExplosion.rb:20:1450:20:1451 | 32 | UseUseExplosion.rb:20:1442:20:1451 | ... > ... | | UseUseExplosion.rb:20:1454:20:2596 | then ... | UseUseExplosion.rb:20:1438:20:2612 | if ... | | UseUseExplosion.rb:20:1459:20:2596 | if ... | UseUseExplosion.rb:20:1454:20:2596 | then ... | @@ -898,8 +829,7 @@ | UseUseExplosion.rb:20:1463:20:1467 | [post] self | UseUseExplosion.rb:20:2587:20:2592 | self | | UseUseExplosion.rb:20:1463:20:1467 | self | UseUseExplosion.rb:20:1484:20:1488 | self | | UseUseExplosion.rb:20:1463:20:1467 | self | UseUseExplosion.rb:20:2587:20:2592 | self | -| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | [false] ( ... ) | -| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | [true] ( ... ) | +| UseUseExplosion.rb:20:1463:20:1472 | ... > ... | UseUseExplosion.rb:20:1462:20:1473 | ( ... ) | | UseUseExplosion.rb:20:1471:20:1472 | 31 | UseUseExplosion.rb:20:1463:20:1472 | ... > ... | | UseUseExplosion.rb:20:1475:20:2580 | then ... | UseUseExplosion.rb:20:1459:20:2596 | if ... | | UseUseExplosion.rb:20:1480:20:2580 | if ... | UseUseExplosion.rb:20:1475:20:2580 | then ... | @@ -908,8 +838,7 @@ | UseUseExplosion.rb:20:1484:20:1488 | [post] self | UseUseExplosion.rb:20:2571:20:2576 | self | | UseUseExplosion.rb:20:1484:20:1488 | self | UseUseExplosion.rb:20:1505:20:1509 | self | | UseUseExplosion.rb:20:1484:20:1488 | self | UseUseExplosion.rb:20:2571:20:2576 | self | -| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | [false] ( ... ) | -| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | [true] ( ... ) | +| UseUseExplosion.rb:20:1484:20:1493 | ... > ... | UseUseExplosion.rb:20:1483:20:1494 | ( ... ) | | UseUseExplosion.rb:20:1492:20:1493 | 30 | UseUseExplosion.rb:20:1484:20:1493 | ... > ... | | UseUseExplosion.rb:20:1496:20:2564 | then ... | UseUseExplosion.rb:20:1480:20:2580 | if ... | | UseUseExplosion.rb:20:1501:20:2564 | if ... | UseUseExplosion.rb:20:1496:20:2564 | then ... | @@ -918,8 +847,7 @@ | UseUseExplosion.rb:20:1505:20:1509 | [post] self | UseUseExplosion.rb:20:2555:20:2560 | self | | UseUseExplosion.rb:20:1505:20:1509 | self | UseUseExplosion.rb:20:1526:20:1530 | self | | UseUseExplosion.rb:20:1505:20:1509 | self | UseUseExplosion.rb:20:2555:20:2560 | self | -| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | [false] ( ... ) | -| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | [true] ( ... ) | +| UseUseExplosion.rb:20:1505:20:1514 | ... > ... | UseUseExplosion.rb:20:1504:20:1515 | ( ... ) | | UseUseExplosion.rb:20:1513:20:1514 | 29 | UseUseExplosion.rb:20:1505:20:1514 | ... > ... | | UseUseExplosion.rb:20:1517:20:2548 | then ... | UseUseExplosion.rb:20:1501:20:2564 | if ... | | UseUseExplosion.rb:20:1522:20:2548 | if ... | UseUseExplosion.rb:20:1517:20:2548 | then ... | @@ -928,8 +856,7 @@ | UseUseExplosion.rb:20:1526:20:1530 | [post] self | UseUseExplosion.rb:20:2539:20:2544 | self | | UseUseExplosion.rb:20:1526:20:1530 | self | UseUseExplosion.rb:20:1547:20:1551 | self | | UseUseExplosion.rb:20:1526:20:1530 | self | UseUseExplosion.rb:20:2539:20:2544 | self | -| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | [false] ( ... ) | -| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | [true] ( ... ) | +| UseUseExplosion.rb:20:1526:20:1535 | ... > ... | UseUseExplosion.rb:20:1525:20:1536 | ( ... ) | | UseUseExplosion.rb:20:1534:20:1535 | 28 | UseUseExplosion.rb:20:1526:20:1535 | ... > ... | | UseUseExplosion.rb:20:1538:20:2532 | then ... | UseUseExplosion.rb:20:1522:20:2548 | if ... | | UseUseExplosion.rb:20:1543:20:2532 | if ... | UseUseExplosion.rb:20:1538:20:2532 | then ... | @@ -938,8 +865,7 @@ | UseUseExplosion.rb:20:1547:20:1551 | [post] self | UseUseExplosion.rb:20:2523:20:2528 | self | | UseUseExplosion.rb:20:1547:20:1551 | self | UseUseExplosion.rb:20:1568:20:1572 | self | | UseUseExplosion.rb:20:1547:20:1551 | self | UseUseExplosion.rb:20:2523:20:2528 | self | -| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | [false] ( ... ) | -| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | [true] ( ... ) | +| UseUseExplosion.rb:20:1547:20:1556 | ... > ... | UseUseExplosion.rb:20:1546:20:1557 | ( ... ) | | UseUseExplosion.rb:20:1555:20:1556 | 27 | UseUseExplosion.rb:20:1547:20:1556 | ... > ... | | UseUseExplosion.rb:20:1559:20:2516 | then ... | UseUseExplosion.rb:20:1543:20:2532 | if ... | | UseUseExplosion.rb:20:1564:20:2516 | if ... | UseUseExplosion.rb:20:1559:20:2516 | then ... | @@ -948,8 +874,7 @@ | UseUseExplosion.rb:20:1568:20:1572 | [post] self | UseUseExplosion.rb:20:2507:20:2512 | self | | UseUseExplosion.rb:20:1568:20:1572 | self | UseUseExplosion.rb:20:1589:20:1593 | self | | UseUseExplosion.rb:20:1568:20:1572 | self | UseUseExplosion.rb:20:2507:20:2512 | self | -| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | [false] ( ... ) | -| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | [true] ( ... ) | +| UseUseExplosion.rb:20:1568:20:1577 | ... > ... | UseUseExplosion.rb:20:1567:20:1578 | ( ... ) | | UseUseExplosion.rb:20:1576:20:1577 | 26 | UseUseExplosion.rb:20:1568:20:1577 | ... > ... | | UseUseExplosion.rb:20:1580:20:2500 | then ... | UseUseExplosion.rb:20:1564:20:2516 | if ... | | UseUseExplosion.rb:20:1585:20:2500 | if ... | UseUseExplosion.rb:20:1580:20:2500 | then ... | @@ -958,8 +883,7 @@ | UseUseExplosion.rb:20:1589:20:1593 | [post] self | UseUseExplosion.rb:20:2491:20:2496 | self | | UseUseExplosion.rb:20:1589:20:1593 | self | UseUseExplosion.rb:20:1610:20:1614 | self | | UseUseExplosion.rb:20:1589:20:1593 | self | UseUseExplosion.rb:20:2491:20:2496 | self | -| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | [false] ( ... ) | -| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | [true] ( ... ) | +| UseUseExplosion.rb:20:1589:20:1598 | ... > ... | UseUseExplosion.rb:20:1588:20:1599 | ( ... ) | | UseUseExplosion.rb:20:1597:20:1598 | 25 | UseUseExplosion.rb:20:1589:20:1598 | ... > ... | | UseUseExplosion.rb:20:1601:20:2484 | then ... | UseUseExplosion.rb:20:1585:20:2500 | if ... | | UseUseExplosion.rb:20:1606:20:2484 | if ... | UseUseExplosion.rb:20:1601:20:2484 | then ... | @@ -968,8 +892,7 @@ | UseUseExplosion.rb:20:1610:20:1614 | [post] self | UseUseExplosion.rb:20:2475:20:2480 | self | | UseUseExplosion.rb:20:1610:20:1614 | self | UseUseExplosion.rb:20:1631:20:1635 | self | | UseUseExplosion.rb:20:1610:20:1614 | self | UseUseExplosion.rb:20:2475:20:2480 | self | -| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | [false] ( ... ) | -| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | [true] ( ... ) | +| UseUseExplosion.rb:20:1610:20:1619 | ... > ... | UseUseExplosion.rb:20:1609:20:1620 | ( ... ) | | UseUseExplosion.rb:20:1618:20:1619 | 24 | UseUseExplosion.rb:20:1610:20:1619 | ... > ... | | UseUseExplosion.rb:20:1622:20:2468 | then ... | UseUseExplosion.rb:20:1606:20:2484 | if ... | | UseUseExplosion.rb:20:1627:20:2468 | if ... | UseUseExplosion.rb:20:1622:20:2468 | then ... | @@ -978,8 +901,7 @@ | UseUseExplosion.rb:20:1631:20:1635 | [post] self | UseUseExplosion.rb:20:2459:20:2464 | self | | UseUseExplosion.rb:20:1631:20:1635 | self | UseUseExplosion.rb:20:1652:20:1656 | self | | UseUseExplosion.rb:20:1631:20:1635 | self | UseUseExplosion.rb:20:2459:20:2464 | self | -| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | [false] ( ... ) | -| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | [true] ( ... ) | +| UseUseExplosion.rb:20:1631:20:1640 | ... > ... | UseUseExplosion.rb:20:1630:20:1641 | ( ... ) | | UseUseExplosion.rb:20:1639:20:1640 | 23 | UseUseExplosion.rb:20:1631:20:1640 | ... > ... | | UseUseExplosion.rb:20:1643:20:2452 | then ... | UseUseExplosion.rb:20:1627:20:2468 | if ... | | UseUseExplosion.rb:20:1648:20:2452 | if ... | UseUseExplosion.rb:20:1643:20:2452 | then ... | @@ -988,8 +910,7 @@ | UseUseExplosion.rb:20:1652:20:1656 | [post] self | UseUseExplosion.rb:20:2443:20:2448 | self | | UseUseExplosion.rb:20:1652:20:1656 | self | UseUseExplosion.rb:20:1673:20:1677 | self | | UseUseExplosion.rb:20:1652:20:1656 | self | UseUseExplosion.rb:20:2443:20:2448 | self | -| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | [false] ( ... ) | -| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | [true] ( ... ) | +| UseUseExplosion.rb:20:1652:20:1661 | ... > ... | UseUseExplosion.rb:20:1651:20:1662 | ( ... ) | | UseUseExplosion.rb:20:1660:20:1661 | 22 | UseUseExplosion.rb:20:1652:20:1661 | ... > ... | | UseUseExplosion.rb:20:1664:20:2436 | then ... | UseUseExplosion.rb:20:1648:20:2452 | if ... | | UseUseExplosion.rb:20:1669:20:2436 | if ... | UseUseExplosion.rb:20:1664:20:2436 | then ... | @@ -998,8 +919,7 @@ | UseUseExplosion.rb:20:1673:20:1677 | [post] self | UseUseExplosion.rb:20:2427:20:2432 | self | | UseUseExplosion.rb:20:1673:20:1677 | self | UseUseExplosion.rb:20:1694:20:1698 | self | | UseUseExplosion.rb:20:1673:20:1677 | self | UseUseExplosion.rb:20:2427:20:2432 | self | -| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | [false] ( ... ) | -| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | [true] ( ... ) | +| UseUseExplosion.rb:20:1673:20:1682 | ... > ... | UseUseExplosion.rb:20:1672:20:1683 | ( ... ) | | UseUseExplosion.rb:20:1681:20:1682 | 21 | UseUseExplosion.rb:20:1673:20:1682 | ... > ... | | UseUseExplosion.rb:20:1685:20:2420 | then ... | UseUseExplosion.rb:20:1669:20:2436 | if ... | | UseUseExplosion.rb:20:1690:20:2420 | if ... | UseUseExplosion.rb:20:1685:20:2420 | then ... | @@ -1008,8 +928,7 @@ | UseUseExplosion.rb:20:1694:20:1698 | [post] self | UseUseExplosion.rb:20:2411:20:2416 | self | | UseUseExplosion.rb:20:1694:20:1698 | self | UseUseExplosion.rb:20:1715:20:1719 | self | | UseUseExplosion.rb:20:1694:20:1698 | self | UseUseExplosion.rb:20:2411:20:2416 | self | -| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | [false] ( ... ) | -| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | [true] ( ... ) | +| UseUseExplosion.rb:20:1694:20:1703 | ... > ... | UseUseExplosion.rb:20:1693:20:1704 | ( ... ) | | UseUseExplosion.rb:20:1702:20:1703 | 20 | UseUseExplosion.rb:20:1694:20:1703 | ... > ... | | UseUseExplosion.rb:20:1706:20:2404 | then ... | UseUseExplosion.rb:20:1690:20:2420 | if ... | | UseUseExplosion.rb:20:1711:20:2404 | if ... | UseUseExplosion.rb:20:1706:20:2404 | then ... | @@ -1018,8 +937,7 @@ | UseUseExplosion.rb:20:1715:20:1719 | [post] self | UseUseExplosion.rb:20:2395:20:2400 | self | | UseUseExplosion.rb:20:1715:20:1719 | self | UseUseExplosion.rb:20:1736:20:1740 | self | | UseUseExplosion.rb:20:1715:20:1719 | self | UseUseExplosion.rb:20:2395:20:2400 | self | -| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | [false] ( ... ) | -| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | [true] ( ... ) | +| UseUseExplosion.rb:20:1715:20:1724 | ... > ... | UseUseExplosion.rb:20:1714:20:1725 | ( ... ) | | UseUseExplosion.rb:20:1723:20:1724 | 19 | UseUseExplosion.rb:20:1715:20:1724 | ... > ... | | UseUseExplosion.rb:20:1727:20:2388 | then ... | UseUseExplosion.rb:20:1711:20:2404 | if ... | | UseUseExplosion.rb:20:1732:20:2388 | if ... | UseUseExplosion.rb:20:1727:20:2388 | then ... | @@ -1028,8 +946,7 @@ | UseUseExplosion.rb:20:1736:20:1740 | [post] self | UseUseExplosion.rb:20:2379:20:2384 | self | | UseUseExplosion.rb:20:1736:20:1740 | self | UseUseExplosion.rb:20:1757:20:1761 | self | | UseUseExplosion.rb:20:1736:20:1740 | self | UseUseExplosion.rb:20:2379:20:2384 | self | -| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | [false] ( ... ) | -| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | [true] ( ... ) | +| UseUseExplosion.rb:20:1736:20:1745 | ... > ... | UseUseExplosion.rb:20:1735:20:1746 | ( ... ) | | UseUseExplosion.rb:20:1744:20:1745 | 18 | UseUseExplosion.rb:20:1736:20:1745 | ... > ... | | UseUseExplosion.rb:20:1748:20:2372 | then ... | UseUseExplosion.rb:20:1732:20:2388 | if ... | | UseUseExplosion.rb:20:1753:20:2372 | if ... | UseUseExplosion.rb:20:1748:20:2372 | then ... | @@ -1038,8 +955,7 @@ | UseUseExplosion.rb:20:1757:20:1761 | [post] self | UseUseExplosion.rb:20:2363:20:2368 | self | | UseUseExplosion.rb:20:1757:20:1761 | self | UseUseExplosion.rb:20:1778:20:1782 | self | | UseUseExplosion.rb:20:1757:20:1761 | self | UseUseExplosion.rb:20:2363:20:2368 | self | -| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | [false] ( ... ) | -| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | [true] ( ... ) | +| UseUseExplosion.rb:20:1757:20:1766 | ... > ... | UseUseExplosion.rb:20:1756:20:1767 | ( ... ) | | UseUseExplosion.rb:20:1765:20:1766 | 17 | UseUseExplosion.rb:20:1757:20:1766 | ... > ... | | UseUseExplosion.rb:20:1769:20:2356 | then ... | UseUseExplosion.rb:20:1753:20:2372 | if ... | | UseUseExplosion.rb:20:1774:20:2356 | if ... | UseUseExplosion.rb:20:1769:20:2356 | then ... | @@ -1048,8 +964,7 @@ | UseUseExplosion.rb:20:1778:20:1782 | [post] self | UseUseExplosion.rb:20:2347:20:2352 | self | | UseUseExplosion.rb:20:1778:20:1782 | self | UseUseExplosion.rb:20:1799:20:1803 | self | | UseUseExplosion.rb:20:1778:20:1782 | self | UseUseExplosion.rb:20:2347:20:2352 | self | -| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | [false] ( ... ) | -| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | [true] ( ... ) | +| UseUseExplosion.rb:20:1778:20:1787 | ... > ... | UseUseExplosion.rb:20:1777:20:1788 | ( ... ) | | UseUseExplosion.rb:20:1786:20:1787 | 16 | UseUseExplosion.rb:20:1778:20:1787 | ... > ... | | UseUseExplosion.rb:20:1790:20:2340 | then ... | UseUseExplosion.rb:20:1774:20:2356 | if ... | | UseUseExplosion.rb:20:1795:20:2340 | if ... | UseUseExplosion.rb:20:1790:20:2340 | then ... | @@ -1058,8 +973,7 @@ | UseUseExplosion.rb:20:1799:20:1803 | [post] self | UseUseExplosion.rb:20:2331:20:2336 | self | | UseUseExplosion.rb:20:1799:20:1803 | self | UseUseExplosion.rb:20:1820:20:1824 | self | | UseUseExplosion.rb:20:1799:20:1803 | self | UseUseExplosion.rb:20:2331:20:2336 | self | -| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | [false] ( ... ) | -| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | [true] ( ... ) | +| UseUseExplosion.rb:20:1799:20:1808 | ... > ... | UseUseExplosion.rb:20:1798:20:1809 | ( ... ) | | UseUseExplosion.rb:20:1807:20:1808 | 15 | UseUseExplosion.rb:20:1799:20:1808 | ... > ... | | UseUseExplosion.rb:20:1811:20:2324 | then ... | UseUseExplosion.rb:20:1795:20:2340 | if ... | | UseUseExplosion.rb:20:1816:20:2324 | if ... | UseUseExplosion.rb:20:1811:20:2324 | then ... | @@ -1068,8 +982,7 @@ | UseUseExplosion.rb:20:1820:20:1824 | [post] self | UseUseExplosion.rb:20:2315:20:2320 | self | | UseUseExplosion.rb:20:1820:20:1824 | self | UseUseExplosion.rb:20:1841:20:1845 | self | | UseUseExplosion.rb:20:1820:20:1824 | self | UseUseExplosion.rb:20:2315:20:2320 | self | -| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | [false] ( ... ) | -| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | [true] ( ... ) | +| UseUseExplosion.rb:20:1820:20:1829 | ... > ... | UseUseExplosion.rb:20:1819:20:1830 | ( ... ) | | UseUseExplosion.rb:20:1828:20:1829 | 14 | UseUseExplosion.rb:20:1820:20:1829 | ... > ... | | UseUseExplosion.rb:20:1832:20:2308 | then ... | UseUseExplosion.rb:20:1816:20:2324 | if ... | | UseUseExplosion.rb:20:1837:20:2308 | if ... | UseUseExplosion.rb:20:1832:20:2308 | then ... | @@ -1078,8 +991,7 @@ | UseUseExplosion.rb:20:1841:20:1845 | [post] self | UseUseExplosion.rb:20:2299:20:2304 | self | | UseUseExplosion.rb:20:1841:20:1845 | self | UseUseExplosion.rb:20:1862:20:1866 | self | | UseUseExplosion.rb:20:1841:20:1845 | self | UseUseExplosion.rb:20:2299:20:2304 | self | -| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | [false] ( ... ) | -| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | [true] ( ... ) | +| UseUseExplosion.rb:20:1841:20:1850 | ... > ... | UseUseExplosion.rb:20:1840:20:1851 | ( ... ) | | UseUseExplosion.rb:20:1849:20:1850 | 13 | UseUseExplosion.rb:20:1841:20:1850 | ... > ... | | UseUseExplosion.rb:20:1853:20:2292 | then ... | UseUseExplosion.rb:20:1837:20:2308 | if ... | | UseUseExplosion.rb:20:1858:20:2292 | if ... | UseUseExplosion.rb:20:1853:20:2292 | then ... | @@ -1088,8 +1000,7 @@ | UseUseExplosion.rb:20:1862:20:1866 | [post] self | UseUseExplosion.rb:20:2283:20:2288 | self | | UseUseExplosion.rb:20:1862:20:1866 | self | UseUseExplosion.rb:20:1883:20:1887 | self | | UseUseExplosion.rb:20:1862:20:1866 | self | UseUseExplosion.rb:20:2283:20:2288 | self | -| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | [false] ( ... ) | -| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | [true] ( ... ) | +| UseUseExplosion.rb:20:1862:20:1871 | ... > ... | UseUseExplosion.rb:20:1861:20:1872 | ( ... ) | | UseUseExplosion.rb:20:1870:20:1871 | 12 | UseUseExplosion.rb:20:1862:20:1871 | ... > ... | | UseUseExplosion.rb:20:1874:20:2276 | then ... | UseUseExplosion.rb:20:1858:20:2292 | if ... | | UseUseExplosion.rb:20:1879:20:2276 | if ... | UseUseExplosion.rb:20:1874:20:2276 | then ... | @@ -1098,8 +1009,7 @@ | UseUseExplosion.rb:20:1883:20:1887 | [post] self | UseUseExplosion.rb:20:2267:20:2272 | self | | UseUseExplosion.rb:20:1883:20:1887 | self | UseUseExplosion.rb:20:1904:20:1908 | self | | UseUseExplosion.rb:20:1883:20:1887 | self | UseUseExplosion.rb:20:2267:20:2272 | self | -| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | [false] ( ... ) | -| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | [true] ( ... ) | +| UseUseExplosion.rb:20:1883:20:1892 | ... > ... | UseUseExplosion.rb:20:1882:20:1893 | ( ... ) | | UseUseExplosion.rb:20:1891:20:1892 | 11 | UseUseExplosion.rb:20:1883:20:1892 | ... > ... | | UseUseExplosion.rb:20:1895:20:2260 | then ... | UseUseExplosion.rb:20:1879:20:2276 | if ... | | UseUseExplosion.rb:20:1900:20:2260 | if ... | UseUseExplosion.rb:20:1895:20:2260 | then ... | @@ -1108,8 +1018,7 @@ | UseUseExplosion.rb:20:1904:20:1908 | [post] self | UseUseExplosion.rb:20:2251:20:2256 | self | | UseUseExplosion.rb:20:1904:20:1908 | self | UseUseExplosion.rb:20:1925:20:1929 | self | | UseUseExplosion.rb:20:1904:20:1908 | self | UseUseExplosion.rb:20:2251:20:2256 | self | -| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | [false] ( ... ) | -| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | [true] ( ... ) | +| UseUseExplosion.rb:20:1904:20:1913 | ... > ... | UseUseExplosion.rb:20:1903:20:1914 | ( ... ) | | UseUseExplosion.rb:20:1912:20:1913 | 10 | UseUseExplosion.rb:20:1904:20:1913 | ... > ... | | UseUseExplosion.rb:20:1916:20:2244 | then ... | UseUseExplosion.rb:20:1900:20:2260 | if ... | | UseUseExplosion.rb:20:1921:20:2244 | if ... | UseUseExplosion.rb:20:1916:20:2244 | then ... | @@ -1118,8 +1027,7 @@ | UseUseExplosion.rb:20:1925:20:1929 | [post] self | UseUseExplosion.rb:20:2235:20:2240 | self | | UseUseExplosion.rb:20:1925:20:1929 | self | UseUseExplosion.rb:20:1945:20:1949 | self | | UseUseExplosion.rb:20:1925:20:1929 | self | UseUseExplosion.rb:20:2235:20:2240 | self | -| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | [false] ( ... ) | -| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | [true] ( ... ) | +| UseUseExplosion.rb:20:1925:20:1933 | ... > ... | UseUseExplosion.rb:20:1924:20:1934 | ( ... ) | | UseUseExplosion.rb:20:1933:20:1933 | 9 | UseUseExplosion.rb:20:1925:20:1933 | ... > ... | | UseUseExplosion.rb:20:1936:20:2228 | then ... | UseUseExplosion.rb:20:1921:20:2244 | if ... | | UseUseExplosion.rb:20:1941:20:2228 | if ... | UseUseExplosion.rb:20:1936:20:2228 | then ... | @@ -1128,8 +1036,7 @@ | UseUseExplosion.rb:20:1945:20:1949 | [post] self | UseUseExplosion.rb:20:2219:20:2224 | self | | UseUseExplosion.rb:20:1945:20:1949 | self | UseUseExplosion.rb:20:1965:20:1969 | self | | UseUseExplosion.rb:20:1945:20:1949 | self | UseUseExplosion.rb:20:2219:20:2224 | self | -| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | [false] ( ... ) | -| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | [true] ( ... ) | +| UseUseExplosion.rb:20:1945:20:1953 | ... > ... | UseUseExplosion.rb:20:1944:20:1954 | ( ... ) | | UseUseExplosion.rb:20:1953:20:1953 | 8 | UseUseExplosion.rb:20:1945:20:1953 | ... > ... | | UseUseExplosion.rb:20:1956:20:2212 | then ... | UseUseExplosion.rb:20:1941:20:2228 | if ... | | UseUseExplosion.rb:20:1961:20:2212 | if ... | UseUseExplosion.rb:20:1956:20:2212 | then ... | @@ -1138,8 +1045,7 @@ | UseUseExplosion.rb:20:1965:20:1969 | [post] self | UseUseExplosion.rb:20:2203:20:2208 | self | | UseUseExplosion.rb:20:1965:20:1969 | self | UseUseExplosion.rb:20:1985:20:1989 | self | | UseUseExplosion.rb:20:1965:20:1969 | self | UseUseExplosion.rb:20:2203:20:2208 | self | -| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | [false] ( ... ) | -| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | [true] ( ... ) | +| UseUseExplosion.rb:20:1965:20:1973 | ... > ... | UseUseExplosion.rb:20:1964:20:1974 | ( ... ) | | UseUseExplosion.rb:20:1973:20:1973 | 7 | UseUseExplosion.rb:20:1965:20:1973 | ... > ... | | UseUseExplosion.rb:20:1976:20:2196 | then ... | UseUseExplosion.rb:20:1961:20:2212 | if ... | | UseUseExplosion.rb:20:1981:20:2196 | if ... | UseUseExplosion.rb:20:1976:20:2196 | then ... | @@ -1148,8 +1054,7 @@ | UseUseExplosion.rb:20:1985:20:1989 | [post] self | UseUseExplosion.rb:20:2187:20:2192 | self | | UseUseExplosion.rb:20:1985:20:1989 | self | UseUseExplosion.rb:20:2005:20:2009 | self | | UseUseExplosion.rb:20:1985:20:1989 | self | UseUseExplosion.rb:20:2187:20:2192 | self | -| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | [false] ( ... ) | -| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | [true] ( ... ) | +| UseUseExplosion.rb:20:1985:20:1993 | ... > ... | UseUseExplosion.rb:20:1984:20:1994 | ( ... ) | | UseUseExplosion.rb:20:1993:20:1993 | 6 | UseUseExplosion.rb:20:1985:20:1993 | ... > ... | | UseUseExplosion.rb:20:1996:20:2180 | then ... | UseUseExplosion.rb:20:1981:20:2196 | if ... | | UseUseExplosion.rb:20:2001:20:2180 | if ... | UseUseExplosion.rb:20:1996:20:2180 | then ... | @@ -1158,8 +1063,7 @@ | UseUseExplosion.rb:20:2005:20:2009 | [post] self | UseUseExplosion.rb:20:2171:20:2176 | self | | UseUseExplosion.rb:20:2005:20:2009 | self | UseUseExplosion.rb:20:2025:20:2029 | self | | UseUseExplosion.rb:20:2005:20:2009 | self | UseUseExplosion.rb:20:2171:20:2176 | self | -| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | [false] ( ... ) | -| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | [true] ( ... ) | +| UseUseExplosion.rb:20:2005:20:2013 | ... > ... | UseUseExplosion.rb:20:2004:20:2014 | ( ... ) | | UseUseExplosion.rb:20:2013:20:2013 | 5 | UseUseExplosion.rb:20:2005:20:2013 | ... > ... | | UseUseExplosion.rb:20:2016:20:2164 | then ... | UseUseExplosion.rb:20:2001:20:2180 | if ... | | UseUseExplosion.rb:20:2021:20:2164 | if ... | UseUseExplosion.rb:20:2016:20:2164 | then ... | @@ -1168,8 +1072,7 @@ | UseUseExplosion.rb:20:2025:20:2029 | [post] self | UseUseExplosion.rb:20:2155:20:2160 | self | | UseUseExplosion.rb:20:2025:20:2029 | self | UseUseExplosion.rb:20:2045:20:2049 | self | | UseUseExplosion.rb:20:2025:20:2029 | self | UseUseExplosion.rb:20:2155:20:2160 | self | -| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | [false] ( ... ) | -| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | [true] ( ... ) | +| UseUseExplosion.rb:20:2025:20:2033 | ... > ... | UseUseExplosion.rb:20:2024:20:2034 | ( ... ) | | UseUseExplosion.rb:20:2033:20:2033 | 4 | UseUseExplosion.rb:20:2025:20:2033 | ... > ... | | UseUseExplosion.rb:20:2036:20:2148 | then ... | UseUseExplosion.rb:20:2021:20:2164 | if ... | | UseUseExplosion.rb:20:2041:20:2148 | if ... | UseUseExplosion.rb:20:2036:20:2148 | then ... | @@ -1178,8 +1081,7 @@ | UseUseExplosion.rb:20:2045:20:2049 | [post] self | UseUseExplosion.rb:20:2139:20:2144 | self | | UseUseExplosion.rb:20:2045:20:2049 | self | UseUseExplosion.rb:20:2065:20:2069 | self | | UseUseExplosion.rb:20:2045:20:2049 | self | UseUseExplosion.rb:20:2139:20:2144 | self | -| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | [false] ( ... ) | -| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | [true] ( ... ) | +| UseUseExplosion.rb:20:2045:20:2053 | ... > ... | UseUseExplosion.rb:20:2044:20:2054 | ( ... ) | | UseUseExplosion.rb:20:2053:20:2053 | 3 | UseUseExplosion.rb:20:2045:20:2053 | ... > ... | | UseUseExplosion.rb:20:2056:20:2132 | then ... | UseUseExplosion.rb:20:2041:20:2148 | if ... | | UseUseExplosion.rb:20:2061:20:2132 | if ... | UseUseExplosion.rb:20:2056:20:2132 | then ... | @@ -1188,8 +1090,7 @@ | UseUseExplosion.rb:20:2065:20:2069 | [post] self | UseUseExplosion.rb:20:2123:20:2128 | self | | UseUseExplosion.rb:20:2065:20:2069 | self | UseUseExplosion.rb:20:2085:20:2089 | self | | UseUseExplosion.rb:20:2065:20:2069 | self | UseUseExplosion.rb:20:2123:20:2128 | self | -| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | [false] ( ... ) | -| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | [true] ( ... ) | +| UseUseExplosion.rb:20:2065:20:2073 | ... > ... | UseUseExplosion.rb:20:2064:20:2074 | ( ... ) | | UseUseExplosion.rb:20:2073:20:2073 | 2 | UseUseExplosion.rb:20:2065:20:2073 | ... > ... | | UseUseExplosion.rb:20:2076:20:2116 | then ... | UseUseExplosion.rb:20:2061:20:2132 | if ... | | UseUseExplosion.rb:20:2081:20:2116 | if ... | UseUseExplosion.rb:20:2076:20:2116 | then ... | @@ -1198,8 +1099,7 @@ | UseUseExplosion.rb:20:2085:20:2089 | [post] self | UseUseExplosion.rb:20:2107:20:2112 | self | | UseUseExplosion.rb:20:2085:20:2089 | self | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(self) | | UseUseExplosion.rb:20:2085:20:2089 | self | UseUseExplosion.rb:20:2107:20:2112 | self | -| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | [false] ( ... ) | -| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | [true] ( ... ) | +| UseUseExplosion.rb:20:2085:20:2093 | ... > ... | UseUseExplosion.rb:20:2084:20:2094 | ( ... ) | | UseUseExplosion.rb:20:2093:20:2093 | 1 | UseUseExplosion.rb:20:2085:20:2093 | ... > ... | | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(self) | UseUseExplosion.rb:21:13:21:17 | self | | UseUseExplosion.rb:20:2096:20:2099 | [input] SSA phi read(x) | UseUseExplosion.rb:20:9:20:3700 | SSA phi read(x) | @@ -1704,13 +1604,13 @@ | UseUseExplosion.rb:20:3691:20:3696 | call to use | UseUseExplosion.rb:20:3686:20:3696 | else ... | | UseUseExplosion.rb:20:3691:20:3696 | self | UseUseExplosion.rb:21:13:21:17 | self | | UseUseExplosion.rb:20:3695:20:3695 | x | UseUseExplosion.rb:20:9:20:3700 | SSA phi read(x) | +| UseUseExplosion.rb:21:9:21:3700 | if ... | UseUseExplosion.rb:19:9:21:3700 | ... | | UseUseExplosion.rb:21:13:21:17 | @prop | UseUseExplosion.rb:21:13:21:23 | ... > ... | | UseUseExplosion.rb:21:13:21:17 | [post] self | UseUseExplosion.rb:21:35:21:39 | self | | UseUseExplosion.rb:21:13:21:17 | [post] self | UseUseExplosion.rb:21:3691:21:3696 | self | | UseUseExplosion.rb:21:13:21:17 | self | UseUseExplosion.rb:21:35:21:39 | self | | UseUseExplosion.rb:21:13:21:17 | self | UseUseExplosion.rb:21:3691:21:3696 | self | -| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | [false] ( ... ) | -| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | [true] ( ... ) | +| UseUseExplosion.rb:21:13:21:23 | ... > ... | UseUseExplosion.rb:21:12:21:24 | ( ... ) | | UseUseExplosion.rb:21:21:21:23 | 100 | UseUseExplosion.rb:21:13:21:23 | ... > ... | | UseUseExplosion.rb:21:26:21:3684 | then ... | UseUseExplosion.rb:21:9:21:3700 | if ... | | UseUseExplosion.rb:21:31:21:3684 | if ... | UseUseExplosion.rb:21:26:21:3684 | then ... | @@ -1719,8 +1619,7 @@ | UseUseExplosion.rb:21:35:21:39 | [post] self | UseUseExplosion.rb:21:3675:21:3680 | self | | UseUseExplosion.rb:21:35:21:39 | self | UseUseExplosion.rb:21:56:21:60 | self | | UseUseExplosion.rb:21:35:21:39 | self | UseUseExplosion.rb:21:3675:21:3680 | self | -| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | [false] ( ... ) | -| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | [true] ( ... ) | +| UseUseExplosion.rb:21:35:21:44 | ... > ... | UseUseExplosion.rb:21:34:21:45 | ( ... ) | | UseUseExplosion.rb:21:43:21:44 | 99 | UseUseExplosion.rb:21:35:21:44 | ... > ... | | UseUseExplosion.rb:21:47:21:3668 | then ... | UseUseExplosion.rb:21:31:21:3684 | if ... | | UseUseExplosion.rb:21:52:21:3668 | if ... | UseUseExplosion.rb:21:47:21:3668 | then ... | @@ -1729,8 +1628,7 @@ | UseUseExplosion.rb:21:56:21:60 | [post] self | UseUseExplosion.rb:21:3659:21:3664 | self | | UseUseExplosion.rb:21:56:21:60 | self | UseUseExplosion.rb:21:77:21:81 | self | | UseUseExplosion.rb:21:56:21:60 | self | UseUseExplosion.rb:21:3659:21:3664 | self | -| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | [false] ( ... ) | -| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | [true] ( ... ) | +| UseUseExplosion.rb:21:56:21:65 | ... > ... | UseUseExplosion.rb:21:55:21:66 | ( ... ) | | UseUseExplosion.rb:21:64:21:65 | 98 | UseUseExplosion.rb:21:56:21:65 | ... > ... | | UseUseExplosion.rb:21:68:21:3652 | then ... | UseUseExplosion.rb:21:52:21:3668 | if ... | | UseUseExplosion.rb:21:73:21:3652 | if ... | UseUseExplosion.rb:21:68:21:3652 | then ... | @@ -1739,8 +1637,7 @@ | UseUseExplosion.rb:21:77:21:81 | [post] self | UseUseExplosion.rb:21:3643:21:3648 | self | | UseUseExplosion.rb:21:77:21:81 | self | UseUseExplosion.rb:21:98:21:102 | self | | UseUseExplosion.rb:21:77:21:81 | self | UseUseExplosion.rb:21:3643:21:3648 | self | -| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | [false] ( ... ) | -| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | [true] ( ... ) | +| UseUseExplosion.rb:21:77:21:86 | ... > ... | UseUseExplosion.rb:21:76:21:87 | ( ... ) | | UseUseExplosion.rb:21:85:21:86 | 97 | UseUseExplosion.rb:21:77:21:86 | ... > ... | | UseUseExplosion.rb:21:89:21:3636 | then ... | UseUseExplosion.rb:21:73:21:3652 | if ... | | UseUseExplosion.rb:21:94:21:3636 | if ... | UseUseExplosion.rb:21:89:21:3636 | then ... | @@ -1749,8 +1646,7 @@ | UseUseExplosion.rb:21:98:21:102 | [post] self | UseUseExplosion.rb:21:3627:21:3632 | self | | UseUseExplosion.rb:21:98:21:102 | self | UseUseExplosion.rb:21:119:21:123 | self | | UseUseExplosion.rb:21:98:21:102 | self | UseUseExplosion.rb:21:3627:21:3632 | self | -| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | [false] ( ... ) | -| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | [true] ( ... ) | +| UseUseExplosion.rb:21:98:21:107 | ... > ... | UseUseExplosion.rb:21:97:21:108 | ( ... ) | | UseUseExplosion.rb:21:106:21:107 | 96 | UseUseExplosion.rb:21:98:21:107 | ... > ... | | UseUseExplosion.rb:21:110:21:3620 | then ... | UseUseExplosion.rb:21:94:21:3636 | if ... | | UseUseExplosion.rb:21:115:21:3620 | if ... | UseUseExplosion.rb:21:110:21:3620 | then ... | @@ -1759,8 +1655,7 @@ | UseUseExplosion.rb:21:119:21:123 | [post] self | UseUseExplosion.rb:21:3611:21:3616 | self | | UseUseExplosion.rb:21:119:21:123 | self | UseUseExplosion.rb:21:140:21:144 | self | | UseUseExplosion.rb:21:119:21:123 | self | UseUseExplosion.rb:21:3611:21:3616 | self | -| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | [false] ( ... ) | -| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | [true] ( ... ) | +| UseUseExplosion.rb:21:119:21:128 | ... > ... | UseUseExplosion.rb:21:118:21:129 | ( ... ) | | UseUseExplosion.rb:21:127:21:128 | 95 | UseUseExplosion.rb:21:119:21:128 | ... > ... | | UseUseExplosion.rb:21:131:21:3604 | then ... | UseUseExplosion.rb:21:115:21:3620 | if ... | | UseUseExplosion.rb:21:136:21:3604 | if ... | UseUseExplosion.rb:21:131:21:3604 | then ... | @@ -1769,8 +1664,7 @@ | UseUseExplosion.rb:21:140:21:144 | [post] self | UseUseExplosion.rb:21:3595:21:3600 | self | | UseUseExplosion.rb:21:140:21:144 | self | UseUseExplosion.rb:21:161:21:165 | self | | UseUseExplosion.rb:21:140:21:144 | self | UseUseExplosion.rb:21:3595:21:3600 | self | -| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | [false] ( ... ) | -| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | [true] ( ... ) | +| UseUseExplosion.rb:21:140:21:149 | ... > ... | UseUseExplosion.rb:21:139:21:150 | ( ... ) | | UseUseExplosion.rb:21:148:21:149 | 94 | UseUseExplosion.rb:21:140:21:149 | ... > ... | | UseUseExplosion.rb:21:152:21:3588 | then ... | UseUseExplosion.rb:21:136:21:3604 | if ... | | UseUseExplosion.rb:21:157:21:3588 | if ... | UseUseExplosion.rb:21:152:21:3588 | then ... | @@ -1779,8 +1673,7 @@ | UseUseExplosion.rb:21:161:21:165 | [post] self | UseUseExplosion.rb:21:3579:21:3584 | self | | UseUseExplosion.rb:21:161:21:165 | self | UseUseExplosion.rb:21:182:21:186 | self | | UseUseExplosion.rb:21:161:21:165 | self | UseUseExplosion.rb:21:3579:21:3584 | self | -| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | [false] ( ... ) | -| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | [true] ( ... ) | +| UseUseExplosion.rb:21:161:21:170 | ... > ... | UseUseExplosion.rb:21:160:21:171 | ( ... ) | | UseUseExplosion.rb:21:169:21:170 | 93 | UseUseExplosion.rb:21:161:21:170 | ... > ... | | UseUseExplosion.rb:21:173:21:3572 | then ... | UseUseExplosion.rb:21:157:21:3588 | if ... | | UseUseExplosion.rb:21:178:21:3572 | if ... | UseUseExplosion.rb:21:173:21:3572 | then ... | @@ -1789,8 +1682,7 @@ | UseUseExplosion.rb:21:182:21:186 | [post] self | UseUseExplosion.rb:21:3563:21:3568 | self | | UseUseExplosion.rb:21:182:21:186 | self | UseUseExplosion.rb:21:203:21:207 | self | | UseUseExplosion.rb:21:182:21:186 | self | UseUseExplosion.rb:21:3563:21:3568 | self | -| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | [false] ( ... ) | -| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | [true] ( ... ) | +| UseUseExplosion.rb:21:182:21:191 | ... > ... | UseUseExplosion.rb:21:181:21:192 | ( ... ) | | UseUseExplosion.rb:21:190:21:191 | 92 | UseUseExplosion.rb:21:182:21:191 | ... > ... | | UseUseExplosion.rb:21:194:21:3556 | then ... | UseUseExplosion.rb:21:178:21:3572 | if ... | | UseUseExplosion.rb:21:199:21:3556 | if ... | UseUseExplosion.rb:21:194:21:3556 | then ... | @@ -1799,8 +1691,7 @@ | UseUseExplosion.rb:21:203:21:207 | [post] self | UseUseExplosion.rb:21:3547:21:3552 | self | | UseUseExplosion.rb:21:203:21:207 | self | UseUseExplosion.rb:21:224:21:228 | self | | UseUseExplosion.rb:21:203:21:207 | self | UseUseExplosion.rb:21:3547:21:3552 | self | -| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | [false] ( ... ) | -| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | [true] ( ... ) | +| UseUseExplosion.rb:21:203:21:212 | ... > ... | UseUseExplosion.rb:21:202:21:213 | ( ... ) | | UseUseExplosion.rb:21:211:21:212 | 91 | UseUseExplosion.rb:21:203:21:212 | ... > ... | | UseUseExplosion.rb:21:215:21:3540 | then ... | UseUseExplosion.rb:21:199:21:3556 | if ... | | UseUseExplosion.rb:21:220:21:3540 | if ... | UseUseExplosion.rb:21:215:21:3540 | then ... | @@ -1809,8 +1700,7 @@ | UseUseExplosion.rb:21:224:21:228 | [post] self | UseUseExplosion.rb:21:3531:21:3536 | self | | UseUseExplosion.rb:21:224:21:228 | self | UseUseExplosion.rb:21:245:21:249 | self | | UseUseExplosion.rb:21:224:21:228 | self | UseUseExplosion.rb:21:3531:21:3536 | self | -| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | [false] ( ... ) | -| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | [true] ( ... ) | +| UseUseExplosion.rb:21:224:21:233 | ... > ... | UseUseExplosion.rb:21:223:21:234 | ( ... ) | | UseUseExplosion.rb:21:232:21:233 | 90 | UseUseExplosion.rb:21:224:21:233 | ... > ... | | UseUseExplosion.rb:21:236:21:3524 | then ... | UseUseExplosion.rb:21:220:21:3540 | if ... | | UseUseExplosion.rb:21:241:21:3524 | if ... | UseUseExplosion.rb:21:236:21:3524 | then ... | @@ -1819,8 +1709,7 @@ | UseUseExplosion.rb:21:245:21:249 | [post] self | UseUseExplosion.rb:21:3515:21:3520 | self | | UseUseExplosion.rb:21:245:21:249 | self | UseUseExplosion.rb:21:266:21:270 | self | | UseUseExplosion.rb:21:245:21:249 | self | UseUseExplosion.rb:21:3515:21:3520 | self | -| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | [false] ( ... ) | -| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | [true] ( ... ) | +| UseUseExplosion.rb:21:245:21:254 | ... > ... | UseUseExplosion.rb:21:244:21:255 | ( ... ) | | UseUseExplosion.rb:21:253:21:254 | 89 | UseUseExplosion.rb:21:245:21:254 | ... > ... | | UseUseExplosion.rb:21:257:21:3508 | then ... | UseUseExplosion.rb:21:241:21:3524 | if ... | | UseUseExplosion.rb:21:262:21:3508 | if ... | UseUseExplosion.rb:21:257:21:3508 | then ... | @@ -1829,8 +1718,7 @@ | UseUseExplosion.rb:21:266:21:270 | [post] self | UseUseExplosion.rb:21:3499:21:3504 | self | | UseUseExplosion.rb:21:266:21:270 | self | UseUseExplosion.rb:21:287:21:291 | self | | UseUseExplosion.rb:21:266:21:270 | self | UseUseExplosion.rb:21:3499:21:3504 | self | -| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | [false] ( ... ) | -| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | [true] ( ... ) | +| UseUseExplosion.rb:21:266:21:275 | ... > ... | UseUseExplosion.rb:21:265:21:276 | ( ... ) | | UseUseExplosion.rb:21:274:21:275 | 88 | UseUseExplosion.rb:21:266:21:275 | ... > ... | | UseUseExplosion.rb:21:278:21:3492 | then ... | UseUseExplosion.rb:21:262:21:3508 | if ... | | UseUseExplosion.rb:21:283:21:3492 | if ... | UseUseExplosion.rb:21:278:21:3492 | then ... | @@ -1839,8 +1727,7 @@ | UseUseExplosion.rb:21:287:21:291 | [post] self | UseUseExplosion.rb:21:3483:21:3488 | self | | UseUseExplosion.rb:21:287:21:291 | self | UseUseExplosion.rb:21:308:21:312 | self | | UseUseExplosion.rb:21:287:21:291 | self | UseUseExplosion.rb:21:3483:21:3488 | self | -| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | [false] ( ... ) | -| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | [true] ( ... ) | +| UseUseExplosion.rb:21:287:21:296 | ... > ... | UseUseExplosion.rb:21:286:21:297 | ( ... ) | | UseUseExplosion.rb:21:295:21:296 | 87 | UseUseExplosion.rb:21:287:21:296 | ... > ... | | UseUseExplosion.rb:21:299:21:3476 | then ... | UseUseExplosion.rb:21:283:21:3492 | if ... | | UseUseExplosion.rb:21:304:21:3476 | if ... | UseUseExplosion.rb:21:299:21:3476 | then ... | @@ -1849,8 +1736,7 @@ | UseUseExplosion.rb:21:308:21:312 | [post] self | UseUseExplosion.rb:21:3467:21:3472 | self | | UseUseExplosion.rb:21:308:21:312 | self | UseUseExplosion.rb:21:329:21:333 | self | | UseUseExplosion.rb:21:308:21:312 | self | UseUseExplosion.rb:21:3467:21:3472 | self | -| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | [false] ( ... ) | -| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | [true] ( ... ) | +| UseUseExplosion.rb:21:308:21:317 | ... > ... | UseUseExplosion.rb:21:307:21:318 | ( ... ) | | UseUseExplosion.rb:21:316:21:317 | 86 | UseUseExplosion.rb:21:308:21:317 | ... > ... | | UseUseExplosion.rb:21:320:21:3460 | then ... | UseUseExplosion.rb:21:304:21:3476 | if ... | | UseUseExplosion.rb:21:325:21:3460 | if ... | UseUseExplosion.rb:21:320:21:3460 | then ... | @@ -1859,8 +1745,7 @@ | UseUseExplosion.rb:21:329:21:333 | [post] self | UseUseExplosion.rb:21:3451:21:3456 | self | | UseUseExplosion.rb:21:329:21:333 | self | UseUseExplosion.rb:21:350:21:354 | self | | UseUseExplosion.rb:21:329:21:333 | self | UseUseExplosion.rb:21:3451:21:3456 | self | -| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | [false] ( ... ) | -| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | [true] ( ... ) | +| UseUseExplosion.rb:21:329:21:338 | ... > ... | UseUseExplosion.rb:21:328:21:339 | ( ... ) | | UseUseExplosion.rb:21:337:21:338 | 85 | UseUseExplosion.rb:21:329:21:338 | ... > ... | | UseUseExplosion.rb:21:341:21:3444 | then ... | UseUseExplosion.rb:21:325:21:3460 | if ... | | UseUseExplosion.rb:21:346:21:3444 | if ... | UseUseExplosion.rb:21:341:21:3444 | then ... | @@ -1869,8 +1754,7 @@ | UseUseExplosion.rb:21:350:21:354 | [post] self | UseUseExplosion.rb:21:3435:21:3440 | self | | UseUseExplosion.rb:21:350:21:354 | self | UseUseExplosion.rb:21:371:21:375 | self | | UseUseExplosion.rb:21:350:21:354 | self | UseUseExplosion.rb:21:3435:21:3440 | self | -| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | [false] ( ... ) | -| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | [true] ( ... ) | +| UseUseExplosion.rb:21:350:21:359 | ... > ... | UseUseExplosion.rb:21:349:21:360 | ( ... ) | | UseUseExplosion.rb:21:358:21:359 | 84 | UseUseExplosion.rb:21:350:21:359 | ... > ... | | UseUseExplosion.rb:21:362:21:3428 | then ... | UseUseExplosion.rb:21:346:21:3444 | if ... | | UseUseExplosion.rb:21:367:21:3428 | if ... | UseUseExplosion.rb:21:362:21:3428 | then ... | @@ -1879,8 +1763,7 @@ | UseUseExplosion.rb:21:371:21:375 | [post] self | UseUseExplosion.rb:21:3419:21:3424 | self | | UseUseExplosion.rb:21:371:21:375 | self | UseUseExplosion.rb:21:392:21:396 | self | | UseUseExplosion.rb:21:371:21:375 | self | UseUseExplosion.rb:21:3419:21:3424 | self | -| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | [false] ( ... ) | -| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | [true] ( ... ) | +| UseUseExplosion.rb:21:371:21:380 | ... > ... | UseUseExplosion.rb:21:370:21:381 | ( ... ) | | UseUseExplosion.rb:21:379:21:380 | 83 | UseUseExplosion.rb:21:371:21:380 | ... > ... | | UseUseExplosion.rb:21:383:21:3412 | then ... | UseUseExplosion.rb:21:367:21:3428 | if ... | | UseUseExplosion.rb:21:388:21:3412 | if ... | UseUseExplosion.rb:21:383:21:3412 | then ... | @@ -1889,8 +1772,7 @@ | UseUseExplosion.rb:21:392:21:396 | [post] self | UseUseExplosion.rb:21:3403:21:3408 | self | | UseUseExplosion.rb:21:392:21:396 | self | UseUseExplosion.rb:21:413:21:417 | self | | UseUseExplosion.rb:21:392:21:396 | self | UseUseExplosion.rb:21:3403:21:3408 | self | -| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | [false] ( ... ) | -| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | [true] ( ... ) | +| UseUseExplosion.rb:21:392:21:401 | ... > ... | UseUseExplosion.rb:21:391:21:402 | ( ... ) | | UseUseExplosion.rb:21:400:21:401 | 82 | UseUseExplosion.rb:21:392:21:401 | ... > ... | | UseUseExplosion.rb:21:404:21:3396 | then ... | UseUseExplosion.rb:21:388:21:3412 | if ... | | UseUseExplosion.rb:21:409:21:3396 | if ... | UseUseExplosion.rb:21:404:21:3396 | then ... | @@ -1899,8 +1781,7 @@ | UseUseExplosion.rb:21:413:21:417 | [post] self | UseUseExplosion.rb:21:3387:21:3392 | self | | UseUseExplosion.rb:21:413:21:417 | self | UseUseExplosion.rb:21:434:21:438 | self | | UseUseExplosion.rb:21:413:21:417 | self | UseUseExplosion.rb:21:3387:21:3392 | self | -| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | [false] ( ... ) | -| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | [true] ( ... ) | +| UseUseExplosion.rb:21:413:21:422 | ... > ... | UseUseExplosion.rb:21:412:21:423 | ( ... ) | | UseUseExplosion.rb:21:421:21:422 | 81 | UseUseExplosion.rb:21:413:21:422 | ... > ... | | UseUseExplosion.rb:21:425:21:3380 | then ... | UseUseExplosion.rb:21:409:21:3396 | if ... | | UseUseExplosion.rb:21:430:21:3380 | if ... | UseUseExplosion.rb:21:425:21:3380 | then ... | @@ -1909,8 +1790,7 @@ | UseUseExplosion.rb:21:434:21:438 | [post] self | UseUseExplosion.rb:21:3371:21:3376 | self | | UseUseExplosion.rb:21:434:21:438 | self | UseUseExplosion.rb:21:455:21:459 | self | | UseUseExplosion.rb:21:434:21:438 | self | UseUseExplosion.rb:21:3371:21:3376 | self | -| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | [false] ( ... ) | -| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | [true] ( ... ) | +| UseUseExplosion.rb:21:434:21:443 | ... > ... | UseUseExplosion.rb:21:433:21:444 | ( ... ) | | UseUseExplosion.rb:21:442:21:443 | 80 | UseUseExplosion.rb:21:434:21:443 | ... > ... | | UseUseExplosion.rb:21:446:21:3364 | then ... | UseUseExplosion.rb:21:430:21:3380 | if ... | | UseUseExplosion.rb:21:451:21:3364 | if ... | UseUseExplosion.rb:21:446:21:3364 | then ... | @@ -1919,8 +1799,7 @@ | UseUseExplosion.rb:21:455:21:459 | [post] self | UseUseExplosion.rb:21:3355:21:3360 | self | | UseUseExplosion.rb:21:455:21:459 | self | UseUseExplosion.rb:21:476:21:480 | self | | UseUseExplosion.rb:21:455:21:459 | self | UseUseExplosion.rb:21:3355:21:3360 | self | -| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | [false] ( ... ) | -| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | [true] ( ... ) | +| UseUseExplosion.rb:21:455:21:464 | ... > ... | UseUseExplosion.rb:21:454:21:465 | ( ... ) | | UseUseExplosion.rb:21:463:21:464 | 79 | UseUseExplosion.rb:21:455:21:464 | ... > ... | | UseUseExplosion.rb:21:467:21:3348 | then ... | UseUseExplosion.rb:21:451:21:3364 | if ... | | UseUseExplosion.rb:21:472:21:3348 | if ... | UseUseExplosion.rb:21:467:21:3348 | then ... | @@ -1929,8 +1808,7 @@ | UseUseExplosion.rb:21:476:21:480 | [post] self | UseUseExplosion.rb:21:3339:21:3344 | self | | UseUseExplosion.rb:21:476:21:480 | self | UseUseExplosion.rb:21:497:21:501 | self | | UseUseExplosion.rb:21:476:21:480 | self | UseUseExplosion.rb:21:3339:21:3344 | self | -| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | [false] ( ... ) | -| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | [true] ( ... ) | +| UseUseExplosion.rb:21:476:21:485 | ... > ... | UseUseExplosion.rb:21:475:21:486 | ( ... ) | | UseUseExplosion.rb:21:484:21:485 | 78 | UseUseExplosion.rb:21:476:21:485 | ... > ... | | UseUseExplosion.rb:21:488:21:3332 | then ... | UseUseExplosion.rb:21:472:21:3348 | if ... | | UseUseExplosion.rb:21:493:21:3332 | if ... | UseUseExplosion.rb:21:488:21:3332 | then ... | @@ -1939,8 +1817,7 @@ | UseUseExplosion.rb:21:497:21:501 | [post] self | UseUseExplosion.rb:21:3323:21:3328 | self | | UseUseExplosion.rb:21:497:21:501 | self | UseUseExplosion.rb:21:518:21:522 | self | | UseUseExplosion.rb:21:497:21:501 | self | UseUseExplosion.rb:21:3323:21:3328 | self | -| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | [false] ( ... ) | -| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | [true] ( ... ) | +| UseUseExplosion.rb:21:497:21:506 | ... > ... | UseUseExplosion.rb:21:496:21:507 | ( ... ) | | UseUseExplosion.rb:21:505:21:506 | 77 | UseUseExplosion.rb:21:497:21:506 | ... > ... | | UseUseExplosion.rb:21:509:21:3316 | then ... | UseUseExplosion.rb:21:493:21:3332 | if ... | | UseUseExplosion.rb:21:514:21:3316 | if ... | UseUseExplosion.rb:21:509:21:3316 | then ... | @@ -1949,8 +1826,7 @@ | UseUseExplosion.rb:21:518:21:522 | [post] self | UseUseExplosion.rb:21:3307:21:3312 | self | | UseUseExplosion.rb:21:518:21:522 | self | UseUseExplosion.rb:21:539:21:543 | self | | UseUseExplosion.rb:21:518:21:522 | self | UseUseExplosion.rb:21:3307:21:3312 | self | -| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | [false] ( ... ) | -| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | [true] ( ... ) | +| UseUseExplosion.rb:21:518:21:527 | ... > ... | UseUseExplosion.rb:21:517:21:528 | ( ... ) | | UseUseExplosion.rb:21:526:21:527 | 76 | UseUseExplosion.rb:21:518:21:527 | ... > ... | | UseUseExplosion.rb:21:530:21:3300 | then ... | UseUseExplosion.rb:21:514:21:3316 | if ... | | UseUseExplosion.rb:21:535:21:3300 | if ... | UseUseExplosion.rb:21:530:21:3300 | then ... | @@ -1959,8 +1835,7 @@ | UseUseExplosion.rb:21:539:21:543 | [post] self | UseUseExplosion.rb:21:3291:21:3296 | self | | UseUseExplosion.rb:21:539:21:543 | self | UseUseExplosion.rb:21:560:21:564 | self | | UseUseExplosion.rb:21:539:21:543 | self | UseUseExplosion.rb:21:3291:21:3296 | self | -| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | [false] ( ... ) | -| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | [true] ( ... ) | +| UseUseExplosion.rb:21:539:21:548 | ... > ... | UseUseExplosion.rb:21:538:21:549 | ( ... ) | | UseUseExplosion.rb:21:547:21:548 | 75 | UseUseExplosion.rb:21:539:21:548 | ... > ... | | UseUseExplosion.rb:21:551:21:3284 | then ... | UseUseExplosion.rb:21:535:21:3300 | if ... | | UseUseExplosion.rb:21:556:21:3284 | if ... | UseUseExplosion.rb:21:551:21:3284 | then ... | @@ -1969,8 +1844,7 @@ | UseUseExplosion.rb:21:560:21:564 | [post] self | UseUseExplosion.rb:21:3275:21:3280 | self | | UseUseExplosion.rb:21:560:21:564 | self | UseUseExplosion.rb:21:581:21:585 | self | | UseUseExplosion.rb:21:560:21:564 | self | UseUseExplosion.rb:21:3275:21:3280 | self | -| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | [false] ( ... ) | -| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | [true] ( ... ) | +| UseUseExplosion.rb:21:560:21:569 | ... > ... | UseUseExplosion.rb:21:559:21:570 | ( ... ) | | UseUseExplosion.rb:21:568:21:569 | 74 | UseUseExplosion.rb:21:560:21:569 | ... > ... | | UseUseExplosion.rb:21:572:21:3268 | then ... | UseUseExplosion.rb:21:556:21:3284 | if ... | | UseUseExplosion.rb:21:577:21:3268 | if ... | UseUseExplosion.rb:21:572:21:3268 | then ... | @@ -1979,8 +1853,7 @@ | UseUseExplosion.rb:21:581:21:585 | [post] self | UseUseExplosion.rb:21:3259:21:3264 | self | | UseUseExplosion.rb:21:581:21:585 | self | UseUseExplosion.rb:21:602:21:606 | self | | UseUseExplosion.rb:21:581:21:585 | self | UseUseExplosion.rb:21:3259:21:3264 | self | -| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | [false] ( ... ) | -| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | [true] ( ... ) | +| UseUseExplosion.rb:21:581:21:590 | ... > ... | UseUseExplosion.rb:21:580:21:591 | ( ... ) | | UseUseExplosion.rb:21:589:21:590 | 73 | UseUseExplosion.rb:21:581:21:590 | ... > ... | | UseUseExplosion.rb:21:593:21:3252 | then ... | UseUseExplosion.rb:21:577:21:3268 | if ... | | UseUseExplosion.rb:21:598:21:3252 | if ... | UseUseExplosion.rb:21:593:21:3252 | then ... | @@ -1989,8 +1862,7 @@ | UseUseExplosion.rb:21:602:21:606 | [post] self | UseUseExplosion.rb:21:3243:21:3248 | self | | UseUseExplosion.rb:21:602:21:606 | self | UseUseExplosion.rb:21:623:21:627 | self | | UseUseExplosion.rb:21:602:21:606 | self | UseUseExplosion.rb:21:3243:21:3248 | self | -| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | [false] ( ... ) | -| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | [true] ( ... ) | +| UseUseExplosion.rb:21:602:21:611 | ... > ... | UseUseExplosion.rb:21:601:21:612 | ( ... ) | | UseUseExplosion.rb:21:610:21:611 | 72 | UseUseExplosion.rb:21:602:21:611 | ... > ... | | UseUseExplosion.rb:21:614:21:3236 | then ... | UseUseExplosion.rb:21:598:21:3252 | if ... | | UseUseExplosion.rb:21:619:21:3236 | if ... | UseUseExplosion.rb:21:614:21:3236 | then ... | @@ -1999,8 +1871,7 @@ | UseUseExplosion.rb:21:623:21:627 | [post] self | UseUseExplosion.rb:21:3227:21:3232 | self | | UseUseExplosion.rb:21:623:21:627 | self | UseUseExplosion.rb:21:644:21:648 | self | | UseUseExplosion.rb:21:623:21:627 | self | UseUseExplosion.rb:21:3227:21:3232 | self | -| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | [false] ( ... ) | -| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | [true] ( ... ) | +| UseUseExplosion.rb:21:623:21:632 | ... > ... | UseUseExplosion.rb:21:622:21:633 | ( ... ) | | UseUseExplosion.rb:21:631:21:632 | 71 | UseUseExplosion.rb:21:623:21:632 | ... > ... | | UseUseExplosion.rb:21:635:21:3220 | then ... | UseUseExplosion.rb:21:619:21:3236 | if ... | | UseUseExplosion.rb:21:640:21:3220 | if ... | UseUseExplosion.rb:21:635:21:3220 | then ... | @@ -2009,8 +1880,7 @@ | UseUseExplosion.rb:21:644:21:648 | [post] self | UseUseExplosion.rb:21:3211:21:3216 | self | | UseUseExplosion.rb:21:644:21:648 | self | UseUseExplosion.rb:21:665:21:669 | self | | UseUseExplosion.rb:21:644:21:648 | self | UseUseExplosion.rb:21:3211:21:3216 | self | -| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | [false] ( ... ) | -| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | [true] ( ... ) | +| UseUseExplosion.rb:21:644:21:653 | ... > ... | UseUseExplosion.rb:21:643:21:654 | ( ... ) | | UseUseExplosion.rb:21:652:21:653 | 70 | UseUseExplosion.rb:21:644:21:653 | ... > ... | | UseUseExplosion.rb:21:656:21:3204 | then ... | UseUseExplosion.rb:21:640:21:3220 | if ... | | UseUseExplosion.rb:21:661:21:3204 | if ... | UseUseExplosion.rb:21:656:21:3204 | then ... | @@ -2019,8 +1889,7 @@ | UseUseExplosion.rb:21:665:21:669 | [post] self | UseUseExplosion.rb:21:3195:21:3200 | self | | UseUseExplosion.rb:21:665:21:669 | self | UseUseExplosion.rb:21:686:21:690 | self | | UseUseExplosion.rb:21:665:21:669 | self | UseUseExplosion.rb:21:3195:21:3200 | self | -| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | [false] ( ... ) | -| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | [true] ( ... ) | +| UseUseExplosion.rb:21:665:21:674 | ... > ... | UseUseExplosion.rb:21:664:21:675 | ( ... ) | | UseUseExplosion.rb:21:673:21:674 | 69 | UseUseExplosion.rb:21:665:21:674 | ... > ... | | UseUseExplosion.rb:21:677:21:3188 | then ... | UseUseExplosion.rb:21:661:21:3204 | if ... | | UseUseExplosion.rb:21:682:21:3188 | if ... | UseUseExplosion.rb:21:677:21:3188 | then ... | @@ -2029,8 +1898,7 @@ | UseUseExplosion.rb:21:686:21:690 | [post] self | UseUseExplosion.rb:21:3179:21:3184 | self | | UseUseExplosion.rb:21:686:21:690 | self | UseUseExplosion.rb:21:707:21:711 | self | | UseUseExplosion.rb:21:686:21:690 | self | UseUseExplosion.rb:21:3179:21:3184 | self | -| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | [false] ( ... ) | -| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | [true] ( ... ) | +| UseUseExplosion.rb:21:686:21:695 | ... > ... | UseUseExplosion.rb:21:685:21:696 | ( ... ) | | UseUseExplosion.rb:21:694:21:695 | 68 | UseUseExplosion.rb:21:686:21:695 | ... > ... | | UseUseExplosion.rb:21:698:21:3172 | then ... | UseUseExplosion.rb:21:682:21:3188 | if ... | | UseUseExplosion.rb:21:703:21:3172 | if ... | UseUseExplosion.rb:21:698:21:3172 | then ... | @@ -2039,8 +1907,7 @@ | UseUseExplosion.rb:21:707:21:711 | [post] self | UseUseExplosion.rb:21:3163:21:3168 | self | | UseUseExplosion.rb:21:707:21:711 | self | UseUseExplosion.rb:21:728:21:732 | self | | UseUseExplosion.rb:21:707:21:711 | self | UseUseExplosion.rb:21:3163:21:3168 | self | -| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | [false] ( ... ) | -| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | [true] ( ... ) | +| UseUseExplosion.rb:21:707:21:716 | ... > ... | UseUseExplosion.rb:21:706:21:717 | ( ... ) | | UseUseExplosion.rb:21:715:21:716 | 67 | UseUseExplosion.rb:21:707:21:716 | ... > ... | | UseUseExplosion.rb:21:719:21:3156 | then ... | UseUseExplosion.rb:21:703:21:3172 | if ... | | UseUseExplosion.rb:21:724:21:3156 | if ... | UseUseExplosion.rb:21:719:21:3156 | then ... | @@ -2049,8 +1916,7 @@ | UseUseExplosion.rb:21:728:21:732 | [post] self | UseUseExplosion.rb:21:3147:21:3152 | self | | UseUseExplosion.rb:21:728:21:732 | self | UseUseExplosion.rb:21:749:21:753 | self | | UseUseExplosion.rb:21:728:21:732 | self | UseUseExplosion.rb:21:3147:21:3152 | self | -| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | [false] ( ... ) | -| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | [true] ( ... ) | +| UseUseExplosion.rb:21:728:21:737 | ... > ... | UseUseExplosion.rb:21:727:21:738 | ( ... ) | | UseUseExplosion.rb:21:736:21:737 | 66 | UseUseExplosion.rb:21:728:21:737 | ... > ... | | UseUseExplosion.rb:21:740:21:3140 | then ... | UseUseExplosion.rb:21:724:21:3156 | if ... | | UseUseExplosion.rb:21:745:21:3140 | if ... | UseUseExplosion.rb:21:740:21:3140 | then ... | @@ -2059,8 +1925,7 @@ | UseUseExplosion.rb:21:749:21:753 | [post] self | UseUseExplosion.rb:21:3131:21:3136 | self | | UseUseExplosion.rb:21:749:21:753 | self | UseUseExplosion.rb:21:770:21:774 | self | | UseUseExplosion.rb:21:749:21:753 | self | UseUseExplosion.rb:21:3131:21:3136 | self | -| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | [false] ( ... ) | -| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | [true] ( ... ) | +| UseUseExplosion.rb:21:749:21:758 | ... > ... | UseUseExplosion.rb:21:748:21:759 | ( ... ) | | UseUseExplosion.rb:21:757:21:758 | 65 | UseUseExplosion.rb:21:749:21:758 | ... > ... | | UseUseExplosion.rb:21:761:21:3124 | then ... | UseUseExplosion.rb:21:745:21:3140 | if ... | | UseUseExplosion.rb:21:766:21:3124 | if ... | UseUseExplosion.rb:21:761:21:3124 | then ... | @@ -2069,8 +1934,7 @@ | UseUseExplosion.rb:21:770:21:774 | [post] self | UseUseExplosion.rb:21:3115:21:3120 | self | | UseUseExplosion.rb:21:770:21:774 | self | UseUseExplosion.rb:21:791:21:795 | self | | UseUseExplosion.rb:21:770:21:774 | self | UseUseExplosion.rb:21:3115:21:3120 | self | -| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | [false] ( ... ) | -| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | [true] ( ... ) | +| UseUseExplosion.rb:21:770:21:779 | ... > ... | UseUseExplosion.rb:21:769:21:780 | ( ... ) | | UseUseExplosion.rb:21:778:21:779 | 64 | UseUseExplosion.rb:21:770:21:779 | ... > ... | | UseUseExplosion.rb:21:782:21:3108 | then ... | UseUseExplosion.rb:21:766:21:3124 | if ... | | UseUseExplosion.rb:21:787:21:3108 | if ... | UseUseExplosion.rb:21:782:21:3108 | then ... | @@ -2079,8 +1943,7 @@ | UseUseExplosion.rb:21:791:21:795 | [post] self | UseUseExplosion.rb:21:3099:21:3104 | self | | UseUseExplosion.rb:21:791:21:795 | self | UseUseExplosion.rb:21:812:21:816 | self | | UseUseExplosion.rb:21:791:21:795 | self | UseUseExplosion.rb:21:3099:21:3104 | self | -| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | [false] ( ... ) | -| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | [true] ( ... ) | +| UseUseExplosion.rb:21:791:21:800 | ... > ... | UseUseExplosion.rb:21:790:21:801 | ( ... ) | | UseUseExplosion.rb:21:799:21:800 | 63 | UseUseExplosion.rb:21:791:21:800 | ... > ... | | UseUseExplosion.rb:21:803:21:3092 | then ... | UseUseExplosion.rb:21:787:21:3108 | if ... | | UseUseExplosion.rb:21:808:21:3092 | if ... | UseUseExplosion.rb:21:803:21:3092 | then ... | @@ -2089,8 +1952,7 @@ | UseUseExplosion.rb:21:812:21:816 | [post] self | UseUseExplosion.rb:21:3083:21:3088 | self | | UseUseExplosion.rb:21:812:21:816 | self | UseUseExplosion.rb:21:833:21:837 | self | | UseUseExplosion.rb:21:812:21:816 | self | UseUseExplosion.rb:21:3083:21:3088 | self | -| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | [false] ( ... ) | -| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | [true] ( ... ) | +| UseUseExplosion.rb:21:812:21:821 | ... > ... | UseUseExplosion.rb:21:811:21:822 | ( ... ) | | UseUseExplosion.rb:21:820:21:821 | 62 | UseUseExplosion.rb:21:812:21:821 | ... > ... | | UseUseExplosion.rb:21:824:21:3076 | then ... | UseUseExplosion.rb:21:808:21:3092 | if ... | | UseUseExplosion.rb:21:829:21:3076 | if ... | UseUseExplosion.rb:21:824:21:3076 | then ... | @@ -2099,8 +1961,7 @@ | UseUseExplosion.rb:21:833:21:837 | [post] self | UseUseExplosion.rb:21:3067:21:3072 | self | | UseUseExplosion.rb:21:833:21:837 | self | UseUseExplosion.rb:21:854:21:858 | self | | UseUseExplosion.rb:21:833:21:837 | self | UseUseExplosion.rb:21:3067:21:3072 | self | -| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | [false] ( ... ) | -| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | [true] ( ... ) | +| UseUseExplosion.rb:21:833:21:842 | ... > ... | UseUseExplosion.rb:21:832:21:843 | ( ... ) | | UseUseExplosion.rb:21:841:21:842 | 61 | UseUseExplosion.rb:21:833:21:842 | ... > ... | | UseUseExplosion.rb:21:845:21:3060 | then ... | UseUseExplosion.rb:21:829:21:3076 | if ... | | UseUseExplosion.rb:21:850:21:3060 | if ... | UseUseExplosion.rb:21:845:21:3060 | then ... | @@ -2109,8 +1970,7 @@ | UseUseExplosion.rb:21:854:21:858 | [post] self | UseUseExplosion.rb:21:3051:21:3056 | self | | UseUseExplosion.rb:21:854:21:858 | self | UseUseExplosion.rb:21:875:21:879 | self | | UseUseExplosion.rb:21:854:21:858 | self | UseUseExplosion.rb:21:3051:21:3056 | self | -| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | [false] ( ... ) | -| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | [true] ( ... ) | +| UseUseExplosion.rb:21:854:21:863 | ... > ... | UseUseExplosion.rb:21:853:21:864 | ( ... ) | | UseUseExplosion.rb:21:862:21:863 | 60 | UseUseExplosion.rb:21:854:21:863 | ... > ... | | UseUseExplosion.rb:21:866:21:3044 | then ... | UseUseExplosion.rb:21:850:21:3060 | if ... | | UseUseExplosion.rb:21:871:21:3044 | if ... | UseUseExplosion.rb:21:866:21:3044 | then ... | @@ -2119,8 +1979,7 @@ | UseUseExplosion.rb:21:875:21:879 | [post] self | UseUseExplosion.rb:21:3035:21:3040 | self | | UseUseExplosion.rb:21:875:21:879 | self | UseUseExplosion.rb:21:896:21:900 | self | | UseUseExplosion.rb:21:875:21:879 | self | UseUseExplosion.rb:21:3035:21:3040 | self | -| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | [false] ( ... ) | -| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | [true] ( ... ) | +| UseUseExplosion.rb:21:875:21:884 | ... > ... | UseUseExplosion.rb:21:874:21:885 | ( ... ) | | UseUseExplosion.rb:21:883:21:884 | 59 | UseUseExplosion.rb:21:875:21:884 | ... > ... | | UseUseExplosion.rb:21:887:21:3028 | then ... | UseUseExplosion.rb:21:871:21:3044 | if ... | | UseUseExplosion.rb:21:892:21:3028 | if ... | UseUseExplosion.rb:21:887:21:3028 | then ... | @@ -2129,8 +1988,7 @@ | UseUseExplosion.rb:21:896:21:900 | [post] self | UseUseExplosion.rb:21:3019:21:3024 | self | | UseUseExplosion.rb:21:896:21:900 | self | UseUseExplosion.rb:21:917:21:921 | self | | UseUseExplosion.rb:21:896:21:900 | self | UseUseExplosion.rb:21:3019:21:3024 | self | -| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | [false] ( ... ) | -| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | [true] ( ... ) | +| UseUseExplosion.rb:21:896:21:905 | ... > ... | UseUseExplosion.rb:21:895:21:906 | ( ... ) | | UseUseExplosion.rb:21:904:21:905 | 58 | UseUseExplosion.rb:21:896:21:905 | ... > ... | | UseUseExplosion.rb:21:908:21:3012 | then ... | UseUseExplosion.rb:21:892:21:3028 | if ... | | UseUseExplosion.rb:21:913:21:3012 | if ... | UseUseExplosion.rb:21:908:21:3012 | then ... | @@ -2139,8 +1997,7 @@ | UseUseExplosion.rb:21:917:21:921 | [post] self | UseUseExplosion.rb:21:3003:21:3008 | self | | UseUseExplosion.rb:21:917:21:921 | self | UseUseExplosion.rb:21:938:21:942 | self | | UseUseExplosion.rb:21:917:21:921 | self | UseUseExplosion.rb:21:3003:21:3008 | self | -| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | [false] ( ... ) | -| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | [true] ( ... ) | +| UseUseExplosion.rb:21:917:21:926 | ... > ... | UseUseExplosion.rb:21:916:21:927 | ( ... ) | | UseUseExplosion.rb:21:925:21:926 | 57 | UseUseExplosion.rb:21:917:21:926 | ... > ... | | UseUseExplosion.rb:21:929:21:2996 | then ... | UseUseExplosion.rb:21:913:21:3012 | if ... | | UseUseExplosion.rb:21:934:21:2996 | if ... | UseUseExplosion.rb:21:929:21:2996 | then ... | @@ -2149,8 +2006,7 @@ | UseUseExplosion.rb:21:938:21:942 | [post] self | UseUseExplosion.rb:21:2987:21:2992 | self | | UseUseExplosion.rb:21:938:21:942 | self | UseUseExplosion.rb:21:959:21:963 | self | | UseUseExplosion.rb:21:938:21:942 | self | UseUseExplosion.rb:21:2987:21:2992 | self | -| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | [false] ( ... ) | -| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | [true] ( ... ) | +| UseUseExplosion.rb:21:938:21:947 | ... > ... | UseUseExplosion.rb:21:937:21:948 | ( ... ) | | UseUseExplosion.rb:21:946:21:947 | 56 | UseUseExplosion.rb:21:938:21:947 | ... > ... | | UseUseExplosion.rb:21:950:21:2980 | then ... | UseUseExplosion.rb:21:934:21:2996 | if ... | | UseUseExplosion.rb:21:955:21:2980 | if ... | UseUseExplosion.rb:21:950:21:2980 | then ... | @@ -2159,8 +2015,7 @@ | UseUseExplosion.rb:21:959:21:963 | [post] self | UseUseExplosion.rb:21:2971:21:2976 | self | | UseUseExplosion.rb:21:959:21:963 | self | UseUseExplosion.rb:21:980:21:984 | self | | UseUseExplosion.rb:21:959:21:963 | self | UseUseExplosion.rb:21:2971:21:2976 | self | -| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | [false] ( ... ) | -| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | [true] ( ... ) | +| UseUseExplosion.rb:21:959:21:968 | ... > ... | UseUseExplosion.rb:21:958:21:969 | ( ... ) | | UseUseExplosion.rb:21:967:21:968 | 55 | UseUseExplosion.rb:21:959:21:968 | ... > ... | | UseUseExplosion.rb:21:971:21:2964 | then ... | UseUseExplosion.rb:21:955:21:2980 | if ... | | UseUseExplosion.rb:21:976:21:2964 | if ... | UseUseExplosion.rb:21:971:21:2964 | then ... | @@ -2169,8 +2024,7 @@ | UseUseExplosion.rb:21:980:21:984 | [post] self | UseUseExplosion.rb:21:2955:21:2960 | self | | UseUseExplosion.rb:21:980:21:984 | self | UseUseExplosion.rb:21:1001:21:1005 | self | | UseUseExplosion.rb:21:980:21:984 | self | UseUseExplosion.rb:21:2955:21:2960 | self | -| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | [false] ( ... ) | -| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | [true] ( ... ) | +| UseUseExplosion.rb:21:980:21:989 | ... > ... | UseUseExplosion.rb:21:979:21:990 | ( ... ) | | UseUseExplosion.rb:21:988:21:989 | 54 | UseUseExplosion.rb:21:980:21:989 | ... > ... | | UseUseExplosion.rb:21:992:21:2948 | then ... | UseUseExplosion.rb:21:976:21:2964 | if ... | | UseUseExplosion.rb:21:997:21:2948 | if ... | UseUseExplosion.rb:21:992:21:2948 | then ... | @@ -2179,8 +2033,7 @@ | UseUseExplosion.rb:21:1001:21:1005 | [post] self | UseUseExplosion.rb:21:2939:21:2944 | self | | UseUseExplosion.rb:21:1001:21:1005 | self | UseUseExplosion.rb:21:1022:21:1026 | self | | UseUseExplosion.rb:21:1001:21:1005 | self | UseUseExplosion.rb:21:2939:21:2944 | self | -| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | [false] ( ... ) | -| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | [true] ( ... ) | +| UseUseExplosion.rb:21:1001:21:1010 | ... > ... | UseUseExplosion.rb:21:1000:21:1011 | ( ... ) | | UseUseExplosion.rb:21:1009:21:1010 | 53 | UseUseExplosion.rb:21:1001:21:1010 | ... > ... | | UseUseExplosion.rb:21:1013:21:2932 | then ... | UseUseExplosion.rb:21:997:21:2948 | if ... | | UseUseExplosion.rb:21:1018:21:2932 | if ... | UseUseExplosion.rb:21:1013:21:2932 | then ... | @@ -2189,8 +2042,7 @@ | UseUseExplosion.rb:21:1022:21:1026 | [post] self | UseUseExplosion.rb:21:2923:21:2928 | self | | UseUseExplosion.rb:21:1022:21:1026 | self | UseUseExplosion.rb:21:1043:21:1047 | self | | UseUseExplosion.rb:21:1022:21:1026 | self | UseUseExplosion.rb:21:2923:21:2928 | self | -| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | [false] ( ... ) | -| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | [true] ( ... ) | +| UseUseExplosion.rb:21:1022:21:1031 | ... > ... | UseUseExplosion.rb:21:1021:21:1032 | ( ... ) | | UseUseExplosion.rb:21:1030:21:1031 | 52 | UseUseExplosion.rb:21:1022:21:1031 | ... > ... | | UseUseExplosion.rb:21:1034:21:2916 | then ... | UseUseExplosion.rb:21:1018:21:2932 | if ... | | UseUseExplosion.rb:21:1039:21:2916 | if ... | UseUseExplosion.rb:21:1034:21:2916 | then ... | @@ -2199,8 +2051,7 @@ | UseUseExplosion.rb:21:1043:21:1047 | [post] self | UseUseExplosion.rb:21:2907:21:2912 | self | | UseUseExplosion.rb:21:1043:21:1047 | self | UseUseExplosion.rb:21:1064:21:1068 | self | | UseUseExplosion.rb:21:1043:21:1047 | self | UseUseExplosion.rb:21:2907:21:2912 | self | -| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | [false] ( ... ) | -| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | [true] ( ... ) | +| UseUseExplosion.rb:21:1043:21:1052 | ... > ... | UseUseExplosion.rb:21:1042:21:1053 | ( ... ) | | UseUseExplosion.rb:21:1051:21:1052 | 51 | UseUseExplosion.rb:21:1043:21:1052 | ... > ... | | UseUseExplosion.rb:21:1055:21:2900 | then ... | UseUseExplosion.rb:21:1039:21:2916 | if ... | | UseUseExplosion.rb:21:1060:21:2900 | if ... | UseUseExplosion.rb:21:1055:21:2900 | then ... | @@ -2209,8 +2060,7 @@ | UseUseExplosion.rb:21:1064:21:1068 | [post] self | UseUseExplosion.rb:21:2891:21:2896 | self | | UseUseExplosion.rb:21:1064:21:1068 | self | UseUseExplosion.rb:21:1085:21:1089 | self | | UseUseExplosion.rb:21:1064:21:1068 | self | UseUseExplosion.rb:21:2891:21:2896 | self | -| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | [false] ( ... ) | -| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | [true] ( ... ) | +| UseUseExplosion.rb:21:1064:21:1073 | ... > ... | UseUseExplosion.rb:21:1063:21:1074 | ( ... ) | | UseUseExplosion.rb:21:1072:21:1073 | 50 | UseUseExplosion.rb:21:1064:21:1073 | ... > ... | | UseUseExplosion.rb:21:1076:21:2884 | then ... | UseUseExplosion.rb:21:1060:21:2900 | if ... | | UseUseExplosion.rb:21:1081:21:2884 | if ... | UseUseExplosion.rb:21:1076:21:2884 | then ... | @@ -2219,8 +2069,7 @@ | UseUseExplosion.rb:21:1085:21:1089 | [post] self | UseUseExplosion.rb:21:2875:21:2880 | self | | UseUseExplosion.rb:21:1085:21:1089 | self | UseUseExplosion.rb:21:1106:21:1110 | self | | UseUseExplosion.rb:21:1085:21:1089 | self | UseUseExplosion.rb:21:2875:21:2880 | self | -| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | [false] ( ... ) | -| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | [true] ( ... ) | +| UseUseExplosion.rb:21:1085:21:1094 | ... > ... | UseUseExplosion.rb:21:1084:21:1095 | ( ... ) | | UseUseExplosion.rb:21:1093:21:1094 | 49 | UseUseExplosion.rb:21:1085:21:1094 | ... > ... | | UseUseExplosion.rb:21:1097:21:2868 | then ... | UseUseExplosion.rb:21:1081:21:2884 | if ... | | UseUseExplosion.rb:21:1102:21:2868 | if ... | UseUseExplosion.rb:21:1097:21:2868 | then ... | @@ -2229,8 +2078,7 @@ | UseUseExplosion.rb:21:1106:21:1110 | [post] self | UseUseExplosion.rb:21:2859:21:2864 | self | | UseUseExplosion.rb:21:1106:21:1110 | self | UseUseExplosion.rb:21:1127:21:1131 | self | | UseUseExplosion.rb:21:1106:21:1110 | self | UseUseExplosion.rb:21:2859:21:2864 | self | -| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | [false] ( ... ) | -| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | [true] ( ... ) | +| UseUseExplosion.rb:21:1106:21:1115 | ... > ... | UseUseExplosion.rb:21:1105:21:1116 | ( ... ) | | UseUseExplosion.rb:21:1114:21:1115 | 48 | UseUseExplosion.rb:21:1106:21:1115 | ... > ... | | UseUseExplosion.rb:21:1118:21:2852 | then ... | UseUseExplosion.rb:21:1102:21:2868 | if ... | | UseUseExplosion.rb:21:1123:21:2852 | if ... | UseUseExplosion.rb:21:1118:21:2852 | then ... | @@ -2239,8 +2087,7 @@ | UseUseExplosion.rb:21:1127:21:1131 | [post] self | UseUseExplosion.rb:21:2843:21:2848 | self | | UseUseExplosion.rb:21:1127:21:1131 | self | UseUseExplosion.rb:21:1148:21:1152 | self | | UseUseExplosion.rb:21:1127:21:1131 | self | UseUseExplosion.rb:21:2843:21:2848 | self | -| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | [false] ( ... ) | -| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | [true] ( ... ) | +| UseUseExplosion.rb:21:1127:21:1136 | ... > ... | UseUseExplosion.rb:21:1126:21:1137 | ( ... ) | | UseUseExplosion.rb:21:1135:21:1136 | 47 | UseUseExplosion.rb:21:1127:21:1136 | ... > ... | | UseUseExplosion.rb:21:1139:21:2836 | then ... | UseUseExplosion.rb:21:1123:21:2852 | if ... | | UseUseExplosion.rb:21:1144:21:2836 | if ... | UseUseExplosion.rb:21:1139:21:2836 | then ... | @@ -2249,8 +2096,7 @@ | UseUseExplosion.rb:21:1148:21:1152 | [post] self | UseUseExplosion.rb:21:2827:21:2832 | self | | UseUseExplosion.rb:21:1148:21:1152 | self | UseUseExplosion.rb:21:1169:21:1173 | self | | UseUseExplosion.rb:21:1148:21:1152 | self | UseUseExplosion.rb:21:2827:21:2832 | self | -| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | [false] ( ... ) | -| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | [true] ( ... ) | +| UseUseExplosion.rb:21:1148:21:1157 | ... > ... | UseUseExplosion.rb:21:1147:21:1158 | ( ... ) | | UseUseExplosion.rb:21:1156:21:1157 | 46 | UseUseExplosion.rb:21:1148:21:1157 | ... > ... | | UseUseExplosion.rb:21:1160:21:2820 | then ... | UseUseExplosion.rb:21:1144:21:2836 | if ... | | UseUseExplosion.rb:21:1165:21:2820 | if ... | UseUseExplosion.rb:21:1160:21:2820 | then ... | @@ -2259,8 +2105,7 @@ | UseUseExplosion.rb:21:1169:21:1173 | [post] self | UseUseExplosion.rb:21:2811:21:2816 | self | | UseUseExplosion.rb:21:1169:21:1173 | self | UseUseExplosion.rb:21:1190:21:1194 | self | | UseUseExplosion.rb:21:1169:21:1173 | self | UseUseExplosion.rb:21:2811:21:2816 | self | -| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | [false] ( ... ) | -| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | [true] ( ... ) | +| UseUseExplosion.rb:21:1169:21:1178 | ... > ... | UseUseExplosion.rb:21:1168:21:1179 | ( ... ) | | UseUseExplosion.rb:21:1177:21:1178 | 45 | UseUseExplosion.rb:21:1169:21:1178 | ... > ... | | UseUseExplosion.rb:21:1181:21:2804 | then ... | UseUseExplosion.rb:21:1165:21:2820 | if ... | | UseUseExplosion.rb:21:1186:21:2804 | if ... | UseUseExplosion.rb:21:1181:21:2804 | then ... | @@ -2269,8 +2114,7 @@ | UseUseExplosion.rb:21:1190:21:1194 | [post] self | UseUseExplosion.rb:21:2795:21:2800 | self | | UseUseExplosion.rb:21:1190:21:1194 | self | UseUseExplosion.rb:21:1211:21:1215 | self | | UseUseExplosion.rb:21:1190:21:1194 | self | UseUseExplosion.rb:21:2795:21:2800 | self | -| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | [false] ( ... ) | -| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | [true] ( ... ) | +| UseUseExplosion.rb:21:1190:21:1199 | ... > ... | UseUseExplosion.rb:21:1189:21:1200 | ( ... ) | | UseUseExplosion.rb:21:1198:21:1199 | 44 | UseUseExplosion.rb:21:1190:21:1199 | ... > ... | | UseUseExplosion.rb:21:1202:21:2788 | then ... | UseUseExplosion.rb:21:1186:21:2804 | if ... | | UseUseExplosion.rb:21:1207:21:2788 | if ... | UseUseExplosion.rb:21:1202:21:2788 | then ... | @@ -2279,8 +2123,7 @@ | UseUseExplosion.rb:21:1211:21:1215 | [post] self | UseUseExplosion.rb:21:2779:21:2784 | self | | UseUseExplosion.rb:21:1211:21:1215 | self | UseUseExplosion.rb:21:1232:21:1236 | self | | UseUseExplosion.rb:21:1211:21:1215 | self | UseUseExplosion.rb:21:2779:21:2784 | self | -| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | [false] ( ... ) | -| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | [true] ( ... ) | +| UseUseExplosion.rb:21:1211:21:1220 | ... > ... | UseUseExplosion.rb:21:1210:21:1221 | ( ... ) | | UseUseExplosion.rb:21:1219:21:1220 | 43 | UseUseExplosion.rb:21:1211:21:1220 | ... > ... | | UseUseExplosion.rb:21:1223:21:2772 | then ... | UseUseExplosion.rb:21:1207:21:2788 | if ... | | UseUseExplosion.rb:21:1228:21:2772 | if ... | UseUseExplosion.rb:21:1223:21:2772 | then ... | @@ -2289,8 +2132,7 @@ | UseUseExplosion.rb:21:1232:21:1236 | [post] self | UseUseExplosion.rb:21:2763:21:2768 | self | | UseUseExplosion.rb:21:1232:21:1236 | self | UseUseExplosion.rb:21:1253:21:1257 | self | | UseUseExplosion.rb:21:1232:21:1236 | self | UseUseExplosion.rb:21:2763:21:2768 | self | -| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | [false] ( ... ) | -| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | [true] ( ... ) | +| UseUseExplosion.rb:21:1232:21:1241 | ... > ... | UseUseExplosion.rb:21:1231:21:1242 | ( ... ) | | UseUseExplosion.rb:21:1240:21:1241 | 42 | UseUseExplosion.rb:21:1232:21:1241 | ... > ... | | UseUseExplosion.rb:21:1244:21:2756 | then ... | UseUseExplosion.rb:21:1228:21:2772 | if ... | | UseUseExplosion.rb:21:1249:21:2756 | if ... | UseUseExplosion.rb:21:1244:21:2756 | then ... | @@ -2299,8 +2141,7 @@ | UseUseExplosion.rb:21:1253:21:1257 | [post] self | UseUseExplosion.rb:21:2747:21:2752 | self | | UseUseExplosion.rb:21:1253:21:1257 | self | UseUseExplosion.rb:21:1274:21:1278 | self | | UseUseExplosion.rb:21:1253:21:1257 | self | UseUseExplosion.rb:21:2747:21:2752 | self | -| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | [false] ( ... ) | -| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | [true] ( ... ) | +| UseUseExplosion.rb:21:1253:21:1262 | ... > ... | UseUseExplosion.rb:21:1252:21:1263 | ( ... ) | | UseUseExplosion.rb:21:1261:21:1262 | 41 | UseUseExplosion.rb:21:1253:21:1262 | ... > ... | | UseUseExplosion.rb:21:1265:21:2740 | then ... | UseUseExplosion.rb:21:1249:21:2756 | if ... | | UseUseExplosion.rb:21:1270:21:2740 | if ... | UseUseExplosion.rb:21:1265:21:2740 | then ... | @@ -2309,8 +2150,7 @@ | UseUseExplosion.rb:21:1274:21:1278 | [post] self | UseUseExplosion.rb:21:2731:21:2736 | self | | UseUseExplosion.rb:21:1274:21:1278 | self | UseUseExplosion.rb:21:1295:21:1299 | self | | UseUseExplosion.rb:21:1274:21:1278 | self | UseUseExplosion.rb:21:2731:21:2736 | self | -| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | [false] ( ... ) | -| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | [true] ( ... ) | +| UseUseExplosion.rb:21:1274:21:1283 | ... > ... | UseUseExplosion.rb:21:1273:21:1284 | ( ... ) | | UseUseExplosion.rb:21:1282:21:1283 | 40 | UseUseExplosion.rb:21:1274:21:1283 | ... > ... | | UseUseExplosion.rb:21:1286:21:2724 | then ... | UseUseExplosion.rb:21:1270:21:2740 | if ... | | UseUseExplosion.rb:21:1291:21:2724 | if ... | UseUseExplosion.rb:21:1286:21:2724 | then ... | @@ -2319,8 +2159,7 @@ | UseUseExplosion.rb:21:1295:21:1299 | [post] self | UseUseExplosion.rb:21:2715:21:2720 | self | | UseUseExplosion.rb:21:1295:21:1299 | self | UseUseExplosion.rb:21:1316:21:1320 | self | | UseUseExplosion.rb:21:1295:21:1299 | self | UseUseExplosion.rb:21:2715:21:2720 | self | -| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | [false] ( ... ) | -| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | [true] ( ... ) | +| UseUseExplosion.rb:21:1295:21:1304 | ... > ... | UseUseExplosion.rb:21:1294:21:1305 | ( ... ) | | UseUseExplosion.rb:21:1303:21:1304 | 39 | UseUseExplosion.rb:21:1295:21:1304 | ... > ... | | UseUseExplosion.rb:21:1307:21:2708 | then ... | UseUseExplosion.rb:21:1291:21:2724 | if ... | | UseUseExplosion.rb:21:1312:21:2708 | if ... | UseUseExplosion.rb:21:1307:21:2708 | then ... | @@ -2329,8 +2168,7 @@ | UseUseExplosion.rb:21:1316:21:1320 | [post] self | UseUseExplosion.rb:21:2699:21:2704 | self | | UseUseExplosion.rb:21:1316:21:1320 | self | UseUseExplosion.rb:21:1337:21:1341 | self | | UseUseExplosion.rb:21:1316:21:1320 | self | UseUseExplosion.rb:21:2699:21:2704 | self | -| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | [false] ( ... ) | -| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | [true] ( ... ) | +| UseUseExplosion.rb:21:1316:21:1325 | ... > ... | UseUseExplosion.rb:21:1315:21:1326 | ( ... ) | | UseUseExplosion.rb:21:1324:21:1325 | 38 | UseUseExplosion.rb:21:1316:21:1325 | ... > ... | | UseUseExplosion.rb:21:1328:21:2692 | then ... | UseUseExplosion.rb:21:1312:21:2708 | if ... | | UseUseExplosion.rb:21:1333:21:2692 | if ... | UseUseExplosion.rb:21:1328:21:2692 | then ... | @@ -2339,8 +2177,7 @@ | UseUseExplosion.rb:21:1337:21:1341 | [post] self | UseUseExplosion.rb:21:2683:21:2688 | self | | UseUseExplosion.rb:21:1337:21:1341 | self | UseUseExplosion.rb:21:1358:21:1362 | self | | UseUseExplosion.rb:21:1337:21:1341 | self | UseUseExplosion.rb:21:2683:21:2688 | self | -| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | [false] ( ... ) | -| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | [true] ( ... ) | +| UseUseExplosion.rb:21:1337:21:1346 | ... > ... | UseUseExplosion.rb:21:1336:21:1347 | ( ... ) | | UseUseExplosion.rb:21:1345:21:1346 | 37 | UseUseExplosion.rb:21:1337:21:1346 | ... > ... | | UseUseExplosion.rb:21:1349:21:2676 | then ... | UseUseExplosion.rb:21:1333:21:2692 | if ... | | UseUseExplosion.rb:21:1354:21:2676 | if ... | UseUseExplosion.rb:21:1349:21:2676 | then ... | @@ -2349,8 +2186,7 @@ | UseUseExplosion.rb:21:1358:21:1362 | [post] self | UseUseExplosion.rb:21:2667:21:2672 | self | | UseUseExplosion.rb:21:1358:21:1362 | self | UseUseExplosion.rb:21:1379:21:1383 | self | | UseUseExplosion.rb:21:1358:21:1362 | self | UseUseExplosion.rb:21:2667:21:2672 | self | -| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | [false] ( ... ) | -| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | [true] ( ... ) | +| UseUseExplosion.rb:21:1358:21:1367 | ... > ... | UseUseExplosion.rb:21:1357:21:1368 | ( ... ) | | UseUseExplosion.rb:21:1366:21:1367 | 36 | UseUseExplosion.rb:21:1358:21:1367 | ... > ... | | UseUseExplosion.rb:21:1370:21:2660 | then ... | UseUseExplosion.rb:21:1354:21:2676 | if ... | | UseUseExplosion.rb:21:1375:21:2660 | if ... | UseUseExplosion.rb:21:1370:21:2660 | then ... | @@ -2359,8 +2195,7 @@ | UseUseExplosion.rb:21:1379:21:1383 | [post] self | UseUseExplosion.rb:21:2651:21:2656 | self | | UseUseExplosion.rb:21:1379:21:1383 | self | UseUseExplosion.rb:21:1400:21:1404 | self | | UseUseExplosion.rb:21:1379:21:1383 | self | UseUseExplosion.rb:21:2651:21:2656 | self | -| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | [false] ( ... ) | -| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | [true] ( ... ) | +| UseUseExplosion.rb:21:1379:21:1388 | ... > ... | UseUseExplosion.rb:21:1378:21:1389 | ( ... ) | | UseUseExplosion.rb:21:1387:21:1388 | 35 | UseUseExplosion.rb:21:1379:21:1388 | ... > ... | | UseUseExplosion.rb:21:1391:21:2644 | then ... | UseUseExplosion.rb:21:1375:21:2660 | if ... | | UseUseExplosion.rb:21:1396:21:2644 | if ... | UseUseExplosion.rb:21:1391:21:2644 | then ... | @@ -2369,8 +2204,7 @@ | UseUseExplosion.rb:21:1400:21:1404 | [post] self | UseUseExplosion.rb:21:2635:21:2640 | self | | UseUseExplosion.rb:21:1400:21:1404 | self | UseUseExplosion.rb:21:1421:21:1425 | self | | UseUseExplosion.rb:21:1400:21:1404 | self | UseUseExplosion.rb:21:2635:21:2640 | self | -| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | [false] ( ... ) | -| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | [true] ( ... ) | +| UseUseExplosion.rb:21:1400:21:1409 | ... > ... | UseUseExplosion.rb:21:1399:21:1410 | ( ... ) | | UseUseExplosion.rb:21:1408:21:1409 | 34 | UseUseExplosion.rb:21:1400:21:1409 | ... > ... | | UseUseExplosion.rb:21:1412:21:2628 | then ... | UseUseExplosion.rb:21:1396:21:2644 | if ... | | UseUseExplosion.rb:21:1417:21:2628 | if ... | UseUseExplosion.rb:21:1412:21:2628 | then ... | @@ -2379,8 +2213,7 @@ | UseUseExplosion.rb:21:1421:21:1425 | [post] self | UseUseExplosion.rb:21:2619:21:2624 | self | | UseUseExplosion.rb:21:1421:21:1425 | self | UseUseExplosion.rb:21:1442:21:1446 | self | | UseUseExplosion.rb:21:1421:21:1425 | self | UseUseExplosion.rb:21:2619:21:2624 | self | -| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | [false] ( ... ) | -| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | [true] ( ... ) | +| UseUseExplosion.rb:21:1421:21:1430 | ... > ... | UseUseExplosion.rb:21:1420:21:1431 | ( ... ) | | UseUseExplosion.rb:21:1429:21:1430 | 33 | UseUseExplosion.rb:21:1421:21:1430 | ... > ... | | UseUseExplosion.rb:21:1433:21:2612 | then ... | UseUseExplosion.rb:21:1417:21:2628 | if ... | | UseUseExplosion.rb:21:1438:21:2612 | if ... | UseUseExplosion.rb:21:1433:21:2612 | then ... | @@ -2389,8 +2222,7 @@ | UseUseExplosion.rb:21:1442:21:1446 | [post] self | UseUseExplosion.rb:21:2603:21:2608 | self | | UseUseExplosion.rb:21:1442:21:1446 | self | UseUseExplosion.rb:21:1463:21:1467 | self | | UseUseExplosion.rb:21:1442:21:1446 | self | UseUseExplosion.rb:21:2603:21:2608 | self | -| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | [false] ( ... ) | -| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | [true] ( ... ) | +| UseUseExplosion.rb:21:1442:21:1451 | ... > ... | UseUseExplosion.rb:21:1441:21:1452 | ( ... ) | | UseUseExplosion.rb:21:1450:21:1451 | 32 | UseUseExplosion.rb:21:1442:21:1451 | ... > ... | | UseUseExplosion.rb:21:1454:21:2596 | then ... | UseUseExplosion.rb:21:1438:21:2612 | if ... | | UseUseExplosion.rb:21:1459:21:2596 | if ... | UseUseExplosion.rb:21:1454:21:2596 | then ... | @@ -2399,8 +2231,7 @@ | UseUseExplosion.rb:21:1463:21:1467 | [post] self | UseUseExplosion.rb:21:2587:21:2592 | self | | UseUseExplosion.rb:21:1463:21:1467 | self | UseUseExplosion.rb:21:1484:21:1488 | self | | UseUseExplosion.rb:21:1463:21:1467 | self | UseUseExplosion.rb:21:2587:21:2592 | self | -| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | [false] ( ... ) | -| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | [true] ( ... ) | +| UseUseExplosion.rb:21:1463:21:1472 | ... > ... | UseUseExplosion.rb:21:1462:21:1473 | ( ... ) | | UseUseExplosion.rb:21:1471:21:1472 | 31 | UseUseExplosion.rb:21:1463:21:1472 | ... > ... | | UseUseExplosion.rb:21:1475:21:2580 | then ... | UseUseExplosion.rb:21:1459:21:2596 | if ... | | UseUseExplosion.rb:21:1480:21:2580 | if ... | UseUseExplosion.rb:21:1475:21:2580 | then ... | @@ -2409,8 +2240,7 @@ | UseUseExplosion.rb:21:1484:21:1488 | [post] self | UseUseExplosion.rb:21:2571:21:2576 | self | | UseUseExplosion.rb:21:1484:21:1488 | self | UseUseExplosion.rb:21:1505:21:1509 | self | | UseUseExplosion.rb:21:1484:21:1488 | self | UseUseExplosion.rb:21:2571:21:2576 | self | -| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | [false] ( ... ) | -| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | [true] ( ... ) | +| UseUseExplosion.rb:21:1484:21:1493 | ... > ... | UseUseExplosion.rb:21:1483:21:1494 | ( ... ) | | UseUseExplosion.rb:21:1492:21:1493 | 30 | UseUseExplosion.rb:21:1484:21:1493 | ... > ... | | UseUseExplosion.rb:21:1496:21:2564 | then ... | UseUseExplosion.rb:21:1480:21:2580 | if ... | | UseUseExplosion.rb:21:1501:21:2564 | if ... | UseUseExplosion.rb:21:1496:21:2564 | then ... | @@ -2419,8 +2249,7 @@ | UseUseExplosion.rb:21:1505:21:1509 | [post] self | UseUseExplosion.rb:21:2555:21:2560 | self | | UseUseExplosion.rb:21:1505:21:1509 | self | UseUseExplosion.rb:21:1526:21:1530 | self | | UseUseExplosion.rb:21:1505:21:1509 | self | UseUseExplosion.rb:21:2555:21:2560 | self | -| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | [false] ( ... ) | -| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | [true] ( ... ) | +| UseUseExplosion.rb:21:1505:21:1514 | ... > ... | UseUseExplosion.rb:21:1504:21:1515 | ( ... ) | | UseUseExplosion.rb:21:1513:21:1514 | 29 | UseUseExplosion.rb:21:1505:21:1514 | ... > ... | | UseUseExplosion.rb:21:1517:21:2548 | then ... | UseUseExplosion.rb:21:1501:21:2564 | if ... | | UseUseExplosion.rb:21:1522:21:2548 | if ... | UseUseExplosion.rb:21:1517:21:2548 | then ... | @@ -2429,8 +2258,7 @@ | UseUseExplosion.rb:21:1526:21:1530 | [post] self | UseUseExplosion.rb:21:2539:21:2544 | self | | UseUseExplosion.rb:21:1526:21:1530 | self | UseUseExplosion.rb:21:1547:21:1551 | self | | UseUseExplosion.rb:21:1526:21:1530 | self | UseUseExplosion.rb:21:2539:21:2544 | self | -| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | [false] ( ... ) | -| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | [true] ( ... ) | +| UseUseExplosion.rb:21:1526:21:1535 | ... > ... | UseUseExplosion.rb:21:1525:21:1536 | ( ... ) | | UseUseExplosion.rb:21:1534:21:1535 | 28 | UseUseExplosion.rb:21:1526:21:1535 | ... > ... | | UseUseExplosion.rb:21:1538:21:2532 | then ... | UseUseExplosion.rb:21:1522:21:2548 | if ... | | UseUseExplosion.rb:21:1543:21:2532 | if ... | UseUseExplosion.rb:21:1538:21:2532 | then ... | @@ -2439,8 +2267,7 @@ | UseUseExplosion.rb:21:1547:21:1551 | [post] self | UseUseExplosion.rb:21:2523:21:2528 | self | | UseUseExplosion.rb:21:1547:21:1551 | self | UseUseExplosion.rb:21:1568:21:1572 | self | | UseUseExplosion.rb:21:1547:21:1551 | self | UseUseExplosion.rb:21:2523:21:2528 | self | -| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | [false] ( ... ) | -| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | [true] ( ... ) | +| UseUseExplosion.rb:21:1547:21:1556 | ... > ... | UseUseExplosion.rb:21:1546:21:1557 | ( ... ) | | UseUseExplosion.rb:21:1555:21:1556 | 27 | UseUseExplosion.rb:21:1547:21:1556 | ... > ... | | UseUseExplosion.rb:21:1559:21:2516 | then ... | UseUseExplosion.rb:21:1543:21:2532 | if ... | | UseUseExplosion.rb:21:1564:21:2516 | if ... | UseUseExplosion.rb:21:1559:21:2516 | then ... | @@ -2449,8 +2276,7 @@ | UseUseExplosion.rb:21:1568:21:1572 | [post] self | UseUseExplosion.rb:21:2507:21:2512 | self | | UseUseExplosion.rb:21:1568:21:1572 | self | UseUseExplosion.rb:21:1589:21:1593 | self | | UseUseExplosion.rb:21:1568:21:1572 | self | UseUseExplosion.rb:21:2507:21:2512 | self | -| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | [false] ( ... ) | -| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | [true] ( ... ) | +| UseUseExplosion.rb:21:1568:21:1577 | ... > ... | UseUseExplosion.rb:21:1567:21:1578 | ( ... ) | | UseUseExplosion.rb:21:1576:21:1577 | 26 | UseUseExplosion.rb:21:1568:21:1577 | ... > ... | | UseUseExplosion.rb:21:1580:21:2500 | then ... | UseUseExplosion.rb:21:1564:21:2516 | if ... | | UseUseExplosion.rb:21:1585:21:2500 | if ... | UseUseExplosion.rb:21:1580:21:2500 | then ... | @@ -2459,8 +2285,7 @@ | UseUseExplosion.rb:21:1589:21:1593 | [post] self | UseUseExplosion.rb:21:2491:21:2496 | self | | UseUseExplosion.rb:21:1589:21:1593 | self | UseUseExplosion.rb:21:1610:21:1614 | self | | UseUseExplosion.rb:21:1589:21:1593 | self | UseUseExplosion.rb:21:2491:21:2496 | self | -| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | [false] ( ... ) | -| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | [true] ( ... ) | +| UseUseExplosion.rb:21:1589:21:1598 | ... > ... | UseUseExplosion.rb:21:1588:21:1599 | ( ... ) | | UseUseExplosion.rb:21:1597:21:1598 | 25 | UseUseExplosion.rb:21:1589:21:1598 | ... > ... | | UseUseExplosion.rb:21:1601:21:2484 | then ... | UseUseExplosion.rb:21:1585:21:2500 | if ... | | UseUseExplosion.rb:21:1606:21:2484 | if ... | UseUseExplosion.rb:21:1601:21:2484 | then ... | @@ -2469,8 +2294,7 @@ | UseUseExplosion.rb:21:1610:21:1614 | [post] self | UseUseExplosion.rb:21:2475:21:2480 | self | | UseUseExplosion.rb:21:1610:21:1614 | self | UseUseExplosion.rb:21:1631:21:1635 | self | | UseUseExplosion.rb:21:1610:21:1614 | self | UseUseExplosion.rb:21:2475:21:2480 | self | -| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | [false] ( ... ) | -| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | [true] ( ... ) | +| UseUseExplosion.rb:21:1610:21:1619 | ... > ... | UseUseExplosion.rb:21:1609:21:1620 | ( ... ) | | UseUseExplosion.rb:21:1618:21:1619 | 24 | UseUseExplosion.rb:21:1610:21:1619 | ... > ... | | UseUseExplosion.rb:21:1622:21:2468 | then ... | UseUseExplosion.rb:21:1606:21:2484 | if ... | | UseUseExplosion.rb:21:1627:21:2468 | if ... | UseUseExplosion.rb:21:1622:21:2468 | then ... | @@ -2479,8 +2303,7 @@ | UseUseExplosion.rb:21:1631:21:1635 | [post] self | UseUseExplosion.rb:21:2459:21:2464 | self | | UseUseExplosion.rb:21:1631:21:1635 | self | UseUseExplosion.rb:21:1652:21:1656 | self | | UseUseExplosion.rb:21:1631:21:1635 | self | UseUseExplosion.rb:21:2459:21:2464 | self | -| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | [false] ( ... ) | -| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | [true] ( ... ) | +| UseUseExplosion.rb:21:1631:21:1640 | ... > ... | UseUseExplosion.rb:21:1630:21:1641 | ( ... ) | | UseUseExplosion.rb:21:1639:21:1640 | 23 | UseUseExplosion.rb:21:1631:21:1640 | ... > ... | | UseUseExplosion.rb:21:1643:21:2452 | then ... | UseUseExplosion.rb:21:1627:21:2468 | if ... | | UseUseExplosion.rb:21:1648:21:2452 | if ... | UseUseExplosion.rb:21:1643:21:2452 | then ... | @@ -2489,8 +2312,7 @@ | UseUseExplosion.rb:21:1652:21:1656 | [post] self | UseUseExplosion.rb:21:2443:21:2448 | self | | UseUseExplosion.rb:21:1652:21:1656 | self | UseUseExplosion.rb:21:1673:21:1677 | self | | UseUseExplosion.rb:21:1652:21:1656 | self | UseUseExplosion.rb:21:2443:21:2448 | self | -| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | [false] ( ... ) | -| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | [true] ( ... ) | +| UseUseExplosion.rb:21:1652:21:1661 | ... > ... | UseUseExplosion.rb:21:1651:21:1662 | ( ... ) | | UseUseExplosion.rb:21:1660:21:1661 | 22 | UseUseExplosion.rb:21:1652:21:1661 | ... > ... | | UseUseExplosion.rb:21:1664:21:2436 | then ... | UseUseExplosion.rb:21:1648:21:2452 | if ... | | UseUseExplosion.rb:21:1669:21:2436 | if ... | UseUseExplosion.rb:21:1664:21:2436 | then ... | @@ -2499,8 +2321,7 @@ | UseUseExplosion.rb:21:1673:21:1677 | [post] self | UseUseExplosion.rb:21:2427:21:2432 | self | | UseUseExplosion.rb:21:1673:21:1677 | self | UseUseExplosion.rb:21:1694:21:1698 | self | | UseUseExplosion.rb:21:1673:21:1677 | self | UseUseExplosion.rb:21:2427:21:2432 | self | -| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | [false] ( ... ) | -| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | [true] ( ... ) | +| UseUseExplosion.rb:21:1673:21:1682 | ... > ... | UseUseExplosion.rb:21:1672:21:1683 | ( ... ) | | UseUseExplosion.rb:21:1681:21:1682 | 21 | UseUseExplosion.rb:21:1673:21:1682 | ... > ... | | UseUseExplosion.rb:21:1685:21:2420 | then ... | UseUseExplosion.rb:21:1669:21:2436 | if ... | | UseUseExplosion.rb:21:1690:21:2420 | if ... | UseUseExplosion.rb:21:1685:21:2420 | then ... | @@ -2509,8 +2330,7 @@ | UseUseExplosion.rb:21:1694:21:1698 | [post] self | UseUseExplosion.rb:21:2411:21:2416 | self | | UseUseExplosion.rb:21:1694:21:1698 | self | UseUseExplosion.rb:21:1715:21:1719 | self | | UseUseExplosion.rb:21:1694:21:1698 | self | UseUseExplosion.rb:21:2411:21:2416 | self | -| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | [false] ( ... ) | -| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | [true] ( ... ) | +| UseUseExplosion.rb:21:1694:21:1703 | ... > ... | UseUseExplosion.rb:21:1693:21:1704 | ( ... ) | | UseUseExplosion.rb:21:1702:21:1703 | 20 | UseUseExplosion.rb:21:1694:21:1703 | ... > ... | | UseUseExplosion.rb:21:1706:21:2404 | then ... | UseUseExplosion.rb:21:1690:21:2420 | if ... | | UseUseExplosion.rb:21:1711:21:2404 | if ... | UseUseExplosion.rb:21:1706:21:2404 | then ... | @@ -2519,8 +2339,7 @@ | UseUseExplosion.rb:21:1715:21:1719 | [post] self | UseUseExplosion.rb:21:2395:21:2400 | self | | UseUseExplosion.rb:21:1715:21:1719 | self | UseUseExplosion.rb:21:1736:21:1740 | self | | UseUseExplosion.rb:21:1715:21:1719 | self | UseUseExplosion.rb:21:2395:21:2400 | self | -| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | [false] ( ... ) | -| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | [true] ( ... ) | +| UseUseExplosion.rb:21:1715:21:1724 | ... > ... | UseUseExplosion.rb:21:1714:21:1725 | ( ... ) | | UseUseExplosion.rb:21:1723:21:1724 | 19 | UseUseExplosion.rb:21:1715:21:1724 | ... > ... | | UseUseExplosion.rb:21:1727:21:2388 | then ... | UseUseExplosion.rb:21:1711:21:2404 | if ... | | UseUseExplosion.rb:21:1732:21:2388 | if ... | UseUseExplosion.rb:21:1727:21:2388 | then ... | @@ -2529,8 +2348,7 @@ | UseUseExplosion.rb:21:1736:21:1740 | [post] self | UseUseExplosion.rb:21:2379:21:2384 | self | | UseUseExplosion.rb:21:1736:21:1740 | self | UseUseExplosion.rb:21:1757:21:1761 | self | | UseUseExplosion.rb:21:1736:21:1740 | self | UseUseExplosion.rb:21:2379:21:2384 | self | -| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | [false] ( ... ) | -| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | [true] ( ... ) | +| UseUseExplosion.rb:21:1736:21:1745 | ... > ... | UseUseExplosion.rb:21:1735:21:1746 | ( ... ) | | UseUseExplosion.rb:21:1744:21:1745 | 18 | UseUseExplosion.rb:21:1736:21:1745 | ... > ... | | UseUseExplosion.rb:21:1748:21:2372 | then ... | UseUseExplosion.rb:21:1732:21:2388 | if ... | | UseUseExplosion.rb:21:1753:21:2372 | if ... | UseUseExplosion.rb:21:1748:21:2372 | then ... | @@ -2539,8 +2357,7 @@ | UseUseExplosion.rb:21:1757:21:1761 | [post] self | UseUseExplosion.rb:21:2363:21:2368 | self | | UseUseExplosion.rb:21:1757:21:1761 | self | UseUseExplosion.rb:21:1778:21:1782 | self | | UseUseExplosion.rb:21:1757:21:1761 | self | UseUseExplosion.rb:21:2363:21:2368 | self | -| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | [false] ( ... ) | -| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | [true] ( ... ) | +| UseUseExplosion.rb:21:1757:21:1766 | ... > ... | UseUseExplosion.rb:21:1756:21:1767 | ( ... ) | | UseUseExplosion.rb:21:1765:21:1766 | 17 | UseUseExplosion.rb:21:1757:21:1766 | ... > ... | | UseUseExplosion.rb:21:1769:21:2356 | then ... | UseUseExplosion.rb:21:1753:21:2372 | if ... | | UseUseExplosion.rb:21:1774:21:2356 | if ... | UseUseExplosion.rb:21:1769:21:2356 | then ... | @@ -2549,8 +2366,7 @@ | UseUseExplosion.rb:21:1778:21:1782 | [post] self | UseUseExplosion.rb:21:2347:21:2352 | self | | UseUseExplosion.rb:21:1778:21:1782 | self | UseUseExplosion.rb:21:1799:21:1803 | self | | UseUseExplosion.rb:21:1778:21:1782 | self | UseUseExplosion.rb:21:2347:21:2352 | self | -| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | [false] ( ... ) | -| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | [true] ( ... ) | +| UseUseExplosion.rb:21:1778:21:1787 | ... > ... | UseUseExplosion.rb:21:1777:21:1788 | ( ... ) | | UseUseExplosion.rb:21:1786:21:1787 | 16 | UseUseExplosion.rb:21:1778:21:1787 | ... > ... | | UseUseExplosion.rb:21:1790:21:2340 | then ... | UseUseExplosion.rb:21:1774:21:2356 | if ... | | UseUseExplosion.rb:21:1795:21:2340 | if ... | UseUseExplosion.rb:21:1790:21:2340 | then ... | @@ -2559,8 +2375,7 @@ | UseUseExplosion.rb:21:1799:21:1803 | [post] self | UseUseExplosion.rb:21:2331:21:2336 | self | | UseUseExplosion.rb:21:1799:21:1803 | self | UseUseExplosion.rb:21:1820:21:1824 | self | | UseUseExplosion.rb:21:1799:21:1803 | self | UseUseExplosion.rb:21:2331:21:2336 | self | -| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | [false] ( ... ) | -| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | [true] ( ... ) | +| UseUseExplosion.rb:21:1799:21:1808 | ... > ... | UseUseExplosion.rb:21:1798:21:1809 | ( ... ) | | UseUseExplosion.rb:21:1807:21:1808 | 15 | UseUseExplosion.rb:21:1799:21:1808 | ... > ... | | UseUseExplosion.rb:21:1811:21:2324 | then ... | UseUseExplosion.rb:21:1795:21:2340 | if ... | | UseUseExplosion.rb:21:1816:21:2324 | if ... | UseUseExplosion.rb:21:1811:21:2324 | then ... | @@ -2569,8 +2384,7 @@ | UseUseExplosion.rb:21:1820:21:1824 | [post] self | UseUseExplosion.rb:21:2315:21:2320 | self | | UseUseExplosion.rb:21:1820:21:1824 | self | UseUseExplosion.rb:21:1841:21:1845 | self | | UseUseExplosion.rb:21:1820:21:1824 | self | UseUseExplosion.rb:21:2315:21:2320 | self | -| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | [false] ( ... ) | -| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | [true] ( ... ) | +| UseUseExplosion.rb:21:1820:21:1829 | ... > ... | UseUseExplosion.rb:21:1819:21:1830 | ( ... ) | | UseUseExplosion.rb:21:1828:21:1829 | 14 | UseUseExplosion.rb:21:1820:21:1829 | ... > ... | | UseUseExplosion.rb:21:1832:21:2308 | then ... | UseUseExplosion.rb:21:1816:21:2324 | if ... | | UseUseExplosion.rb:21:1837:21:2308 | if ... | UseUseExplosion.rb:21:1832:21:2308 | then ... | @@ -2579,8 +2393,7 @@ | UseUseExplosion.rb:21:1841:21:1845 | [post] self | UseUseExplosion.rb:21:2299:21:2304 | self | | UseUseExplosion.rb:21:1841:21:1845 | self | UseUseExplosion.rb:21:1862:21:1866 | self | | UseUseExplosion.rb:21:1841:21:1845 | self | UseUseExplosion.rb:21:2299:21:2304 | self | -| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | [false] ( ... ) | -| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | [true] ( ... ) | +| UseUseExplosion.rb:21:1841:21:1850 | ... > ... | UseUseExplosion.rb:21:1840:21:1851 | ( ... ) | | UseUseExplosion.rb:21:1849:21:1850 | 13 | UseUseExplosion.rb:21:1841:21:1850 | ... > ... | | UseUseExplosion.rb:21:1853:21:2292 | then ... | UseUseExplosion.rb:21:1837:21:2308 | if ... | | UseUseExplosion.rb:21:1858:21:2292 | if ... | UseUseExplosion.rb:21:1853:21:2292 | then ... | @@ -2589,8 +2402,7 @@ | UseUseExplosion.rb:21:1862:21:1866 | [post] self | UseUseExplosion.rb:21:2283:21:2288 | self | | UseUseExplosion.rb:21:1862:21:1866 | self | UseUseExplosion.rb:21:1883:21:1887 | self | | UseUseExplosion.rb:21:1862:21:1866 | self | UseUseExplosion.rb:21:2283:21:2288 | self | -| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | [false] ( ... ) | -| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | [true] ( ... ) | +| UseUseExplosion.rb:21:1862:21:1871 | ... > ... | UseUseExplosion.rb:21:1861:21:1872 | ( ... ) | | UseUseExplosion.rb:21:1870:21:1871 | 12 | UseUseExplosion.rb:21:1862:21:1871 | ... > ... | | UseUseExplosion.rb:21:1874:21:2276 | then ... | UseUseExplosion.rb:21:1858:21:2292 | if ... | | UseUseExplosion.rb:21:1879:21:2276 | if ... | UseUseExplosion.rb:21:1874:21:2276 | then ... | @@ -2599,8 +2411,7 @@ | UseUseExplosion.rb:21:1883:21:1887 | [post] self | UseUseExplosion.rb:21:2267:21:2272 | self | | UseUseExplosion.rb:21:1883:21:1887 | self | UseUseExplosion.rb:21:1904:21:1908 | self | | UseUseExplosion.rb:21:1883:21:1887 | self | UseUseExplosion.rb:21:2267:21:2272 | self | -| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | [false] ( ... ) | -| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | [true] ( ... ) | +| UseUseExplosion.rb:21:1883:21:1892 | ... > ... | UseUseExplosion.rb:21:1882:21:1893 | ( ... ) | | UseUseExplosion.rb:21:1891:21:1892 | 11 | UseUseExplosion.rb:21:1883:21:1892 | ... > ... | | UseUseExplosion.rb:21:1895:21:2260 | then ... | UseUseExplosion.rb:21:1879:21:2276 | if ... | | UseUseExplosion.rb:21:1900:21:2260 | if ... | UseUseExplosion.rb:21:1895:21:2260 | then ... | @@ -2609,8 +2420,7 @@ | UseUseExplosion.rb:21:1904:21:1908 | [post] self | UseUseExplosion.rb:21:2251:21:2256 | self | | UseUseExplosion.rb:21:1904:21:1908 | self | UseUseExplosion.rb:21:1925:21:1929 | self | | UseUseExplosion.rb:21:1904:21:1908 | self | UseUseExplosion.rb:21:2251:21:2256 | self | -| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | [false] ( ... ) | -| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | [true] ( ... ) | +| UseUseExplosion.rb:21:1904:21:1913 | ... > ... | UseUseExplosion.rb:21:1903:21:1914 | ( ... ) | | UseUseExplosion.rb:21:1912:21:1913 | 10 | UseUseExplosion.rb:21:1904:21:1913 | ... > ... | | UseUseExplosion.rb:21:1916:21:2244 | then ... | UseUseExplosion.rb:21:1900:21:2260 | if ... | | UseUseExplosion.rb:21:1921:21:2244 | if ... | UseUseExplosion.rb:21:1916:21:2244 | then ... | @@ -2619,8 +2429,7 @@ | UseUseExplosion.rb:21:1925:21:1929 | [post] self | UseUseExplosion.rb:21:2235:21:2240 | self | | UseUseExplosion.rb:21:1925:21:1929 | self | UseUseExplosion.rb:21:1945:21:1949 | self | | UseUseExplosion.rb:21:1925:21:1929 | self | UseUseExplosion.rb:21:2235:21:2240 | self | -| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | [false] ( ... ) | -| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | [true] ( ... ) | +| UseUseExplosion.rb:21:1925:21:1933 | ... > ... | UseUseExplosion.rb:21:1924:21:1934 | ( ... ) | | UseUseExplosion.rb:21:1933:21:1933 | 9 | UseUseExplosion.rb:21:1925:21:1933 | ... > ... | | UseUseExplosion.rb:21:1936:21:2228 | then ... | UseUseExplosion.rb:21:1921:21:2244 | if ... | | UseUseExplosion.rb:21:1941:21:2228 | if ... | UseUseExplosion.rb:21:1936:21:2228 | then ... | @@ -2629,8 +2438,7 @@ | UseUseExplosion.rb:21:1945:21:1949 | [post] self | UseUseExplosion.rb:21:2219:21:2224 | self | | UseUseExplosion.rb:21:1945:21:1949 | self | UseUseExplosion.rb:21:1965:21:1969 | self | | UseUseExplosion.rb:21:1945:21:1949 | self | UseUseExplosion.rb:21:2219:21:2224 | self | -| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | [false] ( ... ) | -| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | [true] ( ... ) | +| UseUseExplosion.rb:21:1945:21:1953 | ... > ... | UseUseExplosion.rb:21:1944:21:1954 | ( ... ) | | UseUseExplosion.rb:21:1953:21:1953 | 8 | UseUseExplosion.rb:21:1945:21:1953 | ... > ... | | UseUseExplosion.rb:21:1956:21:2212 | then ... | UseUseExplosion.rb:21:1941:21:2228 | if ... | | UseUseExplosion.rb:21:1961:21:2212 | if ... | UseUseExplosion.rb:21:1956:21:2212 | then ... | @@ -2639,8 +2447,7 @@ | UseUseExplosion.rb:21:1965:21:1969 | [post] self | UseUseExplosion.rb:21:2203:21:2208 | self | | UseUseExplosion.rb:21:1965:21:1969 | self | UseUseExplosion.rb:21:1985:21:1989 | self | | UseUseExplosion.rb:21:1965:21:1969 | self | UseUseExplosion.rb:21:2203:21:2208 | self | -| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | [false] ( ... ) | -| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | [true] ( ... ) | +| UseUseExplosion.rb:21:1965:21:1973 | ... > ... | UseUseExplosion.rb:21:1964:21:1974 | ( ... ) | | UseUseExplosion.rb:21:1973:21:1973 | 7 | UseUseExplosion.rb:21:1965:21:1973 | ... > ... | | UseUseExplosion.rb:21:1976:21:2196 | then ... | UseUseExplosion.rb:21:1961:21:2212 | if ... | | UseUseExplosion.rb:21:1981:21:2196 | if ... | UseUseExplosion.rb:21:1976:21:2196 | then ... | @@ -2649,8 +2456,7 @@ | UseUseExplosion.rb:21:1985:21:1989 | [post] self | UseUseExplosion.rb:21:2187:21:2192 | self | | UseUseExplosion.rb:21:1985:21:1989 | self | UseUseExplosion.rb:21:2005:21:2009 | self | | UseUseExplosion.rb:21:1985:21:1989 | self | UseUseExplosion.rb:21:2187:21:2192 | self | -| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | [false] ( ... ) | -| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | [true] ( ... ) | +| UseUseExplosion.rb:21:1985:21:1993 | ... > ... | UseUseExplosion.rb:21:1984:21:1994 | ( ... ) | | UseUseExplosion.rb:21:1993:21:1993 | 6 | UseUseExplosion.rb:21:1985:21:1993 | ... > ... | | UseUseExplosion.rb:21:1996:21:2180 | then ... | UseUseExplosion.rb:21:1981:21:2196 | if ... | | UseUseExplosion.rb:21:2001:21:2180 | if ... | UseUseExplosion.rb:21:1996:21:2180 | then ... | @@ -2659,8 +2465,7 @@ | UseUseExplosion.rb:21:2005:21:2009 | [post] self | UseUseExplosion.rb:21:2171:21:2176 | self | | UseUseExplosion.rb:21:2005:21:2009 | self | UseUseExplosion.rb:21:2025:21:2029 | self | | UseUseExplosion.rb:21:2005:21:2009 | self | UseUseExplosion.rb:21:2171:21:2176 | self | -| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | [false] ( ... ) | -| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | [true] ( ... ) | +| UseUseExplosion.rb:21:2005:21:2013 | ... > ... | UseUseExplosion.rb:21:2004:21:2014 | ( ... ) | | UseUseExplosion.rb:21:2013:21:2013 | 5 | UseUseExplosion.rb:21:2005:21:2013 | ... > ... | | UseUseExplosion.rb:21:2016:21:2164 | then ... | UseUseExplosion.rb:21:2001:21:2180 | if ... | | UseUseExplosion.rb:21:2021:21:2164 | if ... | UseUseExplosion.rb:21:2016:21:2164 | then ... | @@ -2669,8 +2474,7 @@ | UseUseExplosion.rb:21:2025:21:2029 | [post] self | UseUseExplosion.rb:21:2155:21:2160 | self | | UseUseExplosion.rb:21:2025:21:2029 | self | UseUseExplosion.rb:21:2045:21:2049 | self | | UseUseExplosion.rb:21:2025:21:2029 | self | UseUseExplosion.rb:21:2155:21:2160 | self | -| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | [false] ( ... ) | -| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | [true] ( ... ) | +| UseUseExplosion.rb:21:2025:21:2033 | ... > ... | UseUseExplosion.rb:21:2024:21:2034 | ( ... ) | | UseUseExplosion.rb:21:2033:21:2033 | 4 | UseUseExplosion.rb:21:2025:21:2033 | ... > ... | | UseUseExplosion.rb:21:2036:21:2148 | then ... | UseUseExplosion.rb:21:2021:21:2164 | if ... | | UseUseExplosion.rb:21:2041:21:2148 | if ... | UseUseExplosion.rb:21:2036:21:2148 | then ... | @@ -2679,8 +2483,7 @@ | UseUseExplosion.rb:21:2045:21:2049 | [post] self | UseUseExplosion.rb:21:2139:21:2144 | self | | UseUseExplosion.rb:21:2045:21:2049 | self | UseUseExplosion.rb:21:2065:21:2069 | self | | UseUseExplosion.rb:21:2045:21:2049 | self | UseUseExplosion.rb:21:2139:21:2144 | self | -| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | [false] ( ... ) | -| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | [true] ( ... ) | +| UseUseExplosion.rb:21:2045:21:2053 | ... > ... | UseUseExplosion.rb:21:2044:21:2054 | ( ... ) | | UseUseExplosion.rb:21:2053:21:2053 | 3 | UseUseExplosion.rb:21:2045:21:2053 | ... > ... | | UseUseExplosion.rb:21:2056:21:2132 | then ... | UseUseExplosion.rb:21:2041:21:2148 | if ... | | UseUseExplosion.rb:21:2061:21:2132 | if ... | UseUseExplosion.rb:21:2056:21:2132 | then ... | @@ -2689,16 +2492,14 @@ | UseUseExplosion.rb:21:2065:21:2069 | [post] self | UseUseExplosion.rb:21:2123:21:2128 | self | | UseUseExplosion.rb:21:2065:21:2069 | self | UseUseExplosion.rb:21:2085:21:2089 | self | | UseUseExplosion.rb:21:2065:21:2069 | self | UseUseExplosion.rb:21:2123:21:2128 | self | -| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | [false] ( ... ) | -| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | [true] ( ... ) | +| UseUseExplosion.rb:21:2065:21:2073 | ... > ... | UseUseExplosion.rb:21:2064:21:2074 | ( ... ) | | UseUseExplosion.rb:21:2073:21:2073 | 2 | UseUseExplosion.rb:21:2065:21:2073 | ... > ... | | UseUseExplosion.rb:21:2076:21:2116 | then ... | UseUseExplosion.rb:21:2061:21:2132 | if ... | | UseUseExplosion.rb:21:2081:21:2116 | if ... | UseUseExplosion.rb:21:2076:21:2116 | then ... | | UseUseExplosion.rb:21:2085:21:2089 | @prop | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | | UseUseExplosion.rb:21:2085:21:2089 | [post] self | UseUseExplosion.rb:21:2107:21:2112 | self | | UseUseExplosion.rb:21:2085:21:2089 | self | UseUseExplosion.rb:21:2107:21:2112 | self | -| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | [false] ( ... ) | -| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | [true] ( ... ) | +| UseUseExplosion.rb:21:2085:21:2093 | ... > ... | UseUseExplosion.rb:21:2084:21:2094 | ( ... ) | | UseUseExplosion.rb:21:2093:21:2093 | 1 | UseUseExplosion.rb:21:2085:21:2093 | ... > ... | | UseUseExplosion.rb:21:2096:21:2099 | then ... | UseUseExplosion.rb:21:2081:21:2116 | if ... | | UseUseExplosion.rb:21:2102:21:2112 | else ... | UseUseExplosion.rb:21:2081:21:2116 | if ... | @@ -2972,6 +2773,7 @@ | local_dataflow.rb:5:8:5:12 | ... = ... | local_dataflow.rb:5:7:5:13 | ( ... ) | | local_dataflow.rb:5:12:5:12 | a | local_dataflow.rb:5:8:5:12 | ... = ... | | local_dataflow.rb:5:12:5:12 | a | local_dataflow.rb:6:8:6:8 | a | +| local_dataflow.rb:6:3:6:14 | ... = ... | local_dataflow.rb:2:3:6:14 | ... | | local_dataflow.rb:6:7:6:14 | ( ... ) | local_dataflow.rb:6:3:6:14 | ... = ... | | local_dataflow.rb:6:8:6:8 | a | local_dataflow.rb:6:10:6:11 | ... + ... | | local_dataflow.rb:6:8:6:13 | ... = ... | local_dataflow.rb:6:7:6:14 | ( ... ) | @@ -2994,8 +2796,7 @@ | local_dataflow.rb:10:9:10:9 | ... = ... | local_dataflow.rb:10:9:10:9 | if ... | | local_dataflow.rb:10:9:10:9 | [input] phi | local_dataflow.rb:10:9:10:9 | phi | | local_dataflow.rb:10:9:10:9 | [post] x | local_dataflow.rb:10:9:10:9 | [input] phi | -| 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] ! ... | +| local_dataflow.rb:10:9:10:9 | defined? ... | local_dataflow.rb:10:9:10:9 | ! ... | | local_dataflow.rb:10:9:10:9 | nil | local_dataflow.rb:10:9:10:9 | ... = ... | | local_dataflow.rb:10:9:10:9 | nil | local_dataflow.rb:10:9:10:9 | x | | local_dataflow.rb:10:9:10:9 | x | local_dataflow.rb:10:9:10:9 | [input] phi | @@ -3006,6 +2807,7 @@ | local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:15:10:15:14 | array | | local_dataflow.rb:11:1:11:2 | [post] self | local_dataflow.rb:12:3:12:5 | self | | local_dataflow.rb:11:1:11:2 | self | local_dataflow.rb:12:3:12:5 | self | +| local_dataflow.rb:12:3:12:5 | call to p | local_dataflow.rb:10:5:13:3 | ... | | local_dataflow.rb:15:1:17:3 | x | local_dataflow.rb:19:5:19:5 | x | | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | ... = ... | | local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | __synth__0__1 | @@ -3016,8 +2818,7 @@ | local_dataflow.rb:15:5:15:5 | ... = ... | local_dataflow.rb:15:5:15:5 | if ... | | local_dataflow.rb:15:5:15:5 | [input] phi | local_dataflow.rb:15:5:15:5 | phi | | local_dataflow.rb:15:5:15:5 | [post] x | local_dataflow.rb:15:5:15:5 | [input] phi | -| 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] ! ... | +| local_dataflow.rb:15:5:15:5 | defined? ... | local_dataflow.rb:15:5:15:5 | ! ... | | local_dataflow.rb:15:5:15:5 | nil | local_dataflow.rb:15:5:15:5 | ... = ... | | local_dataflow.rb:15:5:15:5 | nil | local_dataflow.rb:15:5:15:5 | x | | local_dataflow.rb:15:5:15:5 | x | local_dataflow.rb:15:5:15:5 | [input] phi | @@ -3035,17 +2836,17 @@ | local_dataflow.rb:19:5:19:5 | ... = ... | local_dataflow.rb:19:5:19:5 | if ... | | local_dataflow.rb:19:5:19:5 | [input] phi | local_dataflow.rb:19:5:19:5 | phi | | local_dataflow.rb:19:5:19:5 | [post] x | local_dataflow.rb:19:5:19:5 | [input] phi | -| 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] ! ... | +| local_dataflow.rb:19:5:19:5 | defined? ... | local_dataflow.rb:19:5:19:5 | ! ... | | local_dataflow.rb:19:5:19:5 | nil | local_dataflow.rb:19:5:19:5 | ... = ... | | local_dataflow.rb:19:5:19:5 | nil | local_dataflow.rb:19:5:19:5 | x | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | [input] phi | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | defined? ... | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:19:5:19:5 | phi | | local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:20:6:20:6 | x | +| local_dataflow.rb:20:3:20:25 | if ... | local_dataflow.rb:19:1:21:3 | ... | | local_dataflow.rb:20:6:20:6 | x | local_dataflow.rb:20:6:20:10 | ... > ... | | local_dataflow.rb:20:10:20:10 | 1 | local_dataflow.rb:20:6:20:10 | ... > ... | -| local_dataflow.rb:24:2:24:8 | break | local_dataflow.rb:23:1:25:3 | while ... | +| local_dataflow.rb:20:12:20:21 | then ... | local_dataflow.rb:20:3:20:25 | if ... | | local_dataflow.rb:24:8:24:8 | 5 | local_dataflow.rb:24:2:24:8 | break | | local_dataflow.rb:28:5:28:26 | M | local_dataflow.rb:28:1:28:26 | ... = ... | | local_dataflow.rb:28:15:28:22 | "module" | local_dataflow.rb:28:5:28:26 | M | @@ -3053,17 +2854,21 @@ | 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:32:14:32:21 | "method" | local_dataflow.rb:32:14:32:21 | ... | | 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:35:12:36:13 | then ... | local_dataflow.rb:35:3:37:5 | if ... | | local_dataflow.rb:36:13:36:13 | 7 | local_dataflow.rb:36:6:36:13 | return | +| local_dataflow.rb:38:3:38:13 | "reachable" | local_dataflow.rb:35:3:38:13 | ... | | 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 | ... == ... | | local_dataflow.rb:42:11:42:11 | 4 | local_dataflow.rb:42:6:42:11 | ... == ... | +| local_dataflow.rb:42:12:43:13 | then ... | local_dataflow.rb:42:3:44:5 | if ... | | local_dataflow.rb:43:13:43:13 | 7 | local_dataflow.rb:43:6:43:13 | return | | local_dataflow.rb:45:10:45:10 | 6 | local_dataflow.rb:45:3:45:10 | return | | local_dataflow.rb:49:1:53:3 | [post] self | local_dataflow.rb:55:1:55:14 | self | @@ -3077,6 +2882,7 @@ | local_dataflow.rb:51:9:51:15 | "break" | local_dataflow.rb:51:3:51:15 | break | | 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:52:3:52:10 | "normal" | local_dataflow.rb:50:3:52:10 | ... | | local_dataflow.rb:55:5:55:13 | Array | local_dataflow.rb:55:5:55:13 | call to [] | | local_dataflow.rb:55:5:55:13 | synthetic splat argument | local_dataflow.rb:55:5:55:13 | call to [] | | local_dataflow.rb:57:1:58:3 | synthetic splat parameter | local_dataflow.rb:57:9:57:9 | x | @@ -3122,6 +2928,7 @@ | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:82:7:82:13 | self | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:85:22:85:28 | self | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:86:28:86:34 | self | +| local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | | local_dataflow.rb:78:12:78:20 | [post] self | local_dataflow.rb:87:20:87:26 | self | | local_dataflow.rb:78:12:78:20 | call to source | local_dataflow.rb:79:13:79:13 | b | | local_dataflow.rb:78:12:78:20 | call to source | local_dataflow.rb:80:8:80:8 | a | @@ -3136,6 +2943,7 @@ | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:82:7:82:13 | self | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:85:22:85:28 | self | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:86:28:86:34 | self | +| local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | | local_dataflow.rb:78:12:78:20 | self | local_dataflow.rb:87:20:87:26 | self | | local_dataflow.rb:79:13:79:13 | b | local_dataflow.rb:79:25:79:25 | b | | local_dataflow.rb:79:15:79:45 | then ... | local_dataflow.rb:78:7:88:5 | case ... | @@ -3174,6 +2982,7 @@ | local_dataflow.rb:86:28:86:34 | [post] self | local_dataflow.rb:89:3:89:9 | self | | local_dataflow.rb:86:28:86:34 | call to sink | local_dataflow.rb:86:23:86:53 | then ... | | local_dataflow.rb:86:28:86:34 | self | local_dataflow.rb:89:3:89:9 | self | +| local_dataflow.rb:87:5:87:48 | [input] SSA phi read(self) | local_dataflow.rb:89:3:89:9 | self | | local_dataflow.rb:87:10:87:10 | x | local_dataflow.rb:87:25:87:25 | x | | local_dataflow.rb:87:15:87:48 | then ... | local_dataflow.rb:78:7:88:5 | case ... | | local_dataflow.rb:87:20:87:26 | [post] self | local_dataflow.rb:89:3:89:9 | self | @@ -3181,6 +2990,7 @@ | local_dataflow.rb:87:25:87:25 | [post] x | local_dataflow.rb:87:29:87:29 | x | | local_dataflow.rb:87:25:87:25 | x | local_dataflow.rb:87:29:87:29 | x | | local_dataflow.rb:87:29:87:29 | x | local_dataflow.rb:87:15:87:48 | then ... | +| local_dataflow.rb:89:3:89:9 | call to sink | local_dataflow.rb:61:3:89:28 | ... | | local_dataflow.rb:92:1:109:3 | self (and_or) | local_dataflow.rb:93:7:93:15 | self | | local_dataflow.rb:92:1:109:3 | self in and_or | local_dataflow.rb:92:1:109:3 | self (and_or) | | local_dataflow.rb:93:3:93:3 | a | local_dataflow.rb:94:8:94:8 | a | @@ -3270,6 +3080,7 @@ | local_dataflow.rb:107:9:107:17 | [post] self | local_dataflow.rb:108:3:108:9 | self | | local_dataflow.rb:107:9:107:17 | call to source | local_dataflow.rb:107:5:107:7 | ... && ... | | local_dataflow.rb:107:9:107:17 | self | local_dataflow.rb:108:3:108:9 | self | +| local_dataflow.rb:108:3:108:9 | call to sink | local_dataflow.rb:93:3:108:28 | ... | | local_dataflow.rb:111:1:114:3 | self (object_dup) | local_dataflow.rb:112:3:112:21 | self | | local_dataflow.rb:111:1:114:3 | self in object_dup | local_dataflow.rb:111:1:114:3 | self (object_dup) | | local_dataflow.rb:112:3:112:21 | [post] self | local_dataflow.rb:112:8:112:16 | self | @@ -3278,6 +3089,7 @@ | local_dataflow.rb:112:8:112:16 | call to source | local_dataflow.rb:112:8:112:20 | call to dup | | local_dataflow.rb:112:8:112:16 | self | local_dataflow.rb:113:3:113:25 | self | | local_dataflow.rb:113:3:113:25 | [post] self | local_dataflow.rb:113:8:113:16 | self | +| local_dataflow.rb:113:3:113:25 | call to sink | local_dataflow.rb:112:3:113:44 | ... | | local_dataflow.rb:113:3:113:25 | self | local_dataflow.rb:113:8:113:16 | self | | local_dataflow.rb:113:8:113:16 | call to source | local_dataflow.rb:113:8:113:20 | call to dup | | local_dataflow.rb:113:8:113:20 | call to dup | local_dataflow.rb:113:8:113:24 | call to dup | @@ -3295,27 +3107,33 @@ | 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:118:23:118:29 | call to sink | local_dataflow.rb:118:23:118:29 | ... | | local_dataflow.rb:119:3:119:31 | [post] self | local_dataflow.rb:119:8:119:16 | self | +| local_dataflow.rb:119:3:119:31 | call to sink | local_dataflow.rb:117:3:119:50 | ... | | local_dataflow.rb:119:3:119:31 | self | local_dataflow.rb:119:8:119:16 | self | | local_dataflow.rb:119:8:119:16 | call to source | local_dataflow.rb:119:8:119:23 | call to tap | | local_dataflow.rb:119:8:119:23 | call to tap | local_dataflow.rb:119:8:119:30 | call to tap | | local_dataflow.rb:122:1:124:3 | self (dup_tap) | local_dataflow.rb:123:3:123:50 | self | | local_dataflow.rb:122:1:124:3 | self in dup_tap | local_dataflow.rb:122:1:124:3 | self (dup_tap) | | local_dataflow.rb:123:3:123:50 | [post] self | local_dataflow.rb:123:8:123:16 | self | +| local_dataflow.rb:123:3:123:50 | call to sink | local_dataflow.rb:123:3:123:70 | ... | | local_dataflow.rb:123:3:123:50 | self | local_dataflow.rb:123:8:123:16 | self | | local_dataflow.rb:123:8:123:16 | call to source | local_dataflow.rb:123:8:123:20 | call to dup | | 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 splat parameter | local_dataflow.rb:123:29:123:29 | x | +| local_dataflow.rb:123:32:123:43 | call to puts | local_dataflow.rb:123:32:123:43 | ... | | 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 splat parameter | local_dataflow.rb:126:9:126:9 | x | +| local_dataflow.rb:127:3:127:8 | call to rand | local_dataflow.rb:127:3:127:8 | ... | | 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 | | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:3 | x | | local_dataflow.rb:131:7:131:8 | "" | local_dataflow.rb:131:3:131:8 | ... = ... | +| local_dataflow.rb:132:3:149:5 | if ... | local_dataflow.rb:131:3:149:5 | ... | | local_dataflow.rb:132:6:132:11 | [post] self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:6:132:11 | self | local_dataflow.rb:133:8:133:13 | self | | local_dataflow.rb:132:10:132:10 | [post] x | local_dataflow.rb:133:12:133:12 | x | @@ -3325,8 +3143,7 @@ | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | | local_dataflow.rb:133:8:133:13 | [post] self | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(self) | | local_dataflow.rb:133:8:133:13 | [post] self | local_dataflow.rb:133:18:133:23 | self | -| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | -| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | +| local_dataflow.rb:133:8:133:13 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(self) | | local_dataflow.rb:133:8:133:13 | self | local_dataflow.rb:133:18:133:23 | self | | local_dataflow.rb:133:12:133:12 | [post] x | local_dataflow.rb:133:8:133:13 | [input] SSA phi read(x) | @@ -3337,8 +3154,7 @@ | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(x) | local_dataflow.rb:134:11:134:11 | x | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(self) | | local_dataflow.rb:133:18:133:23 | [post] self | local_dataflow.rb:136:7:136:12 | self | -| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [false] ... \|\| ... | -| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | [true] ... \|\| ... | +| local_dataflow.rb:133:18:133:23 | call to use | local_dataflow.rb:133:8:133:23 | ... \|\| ... | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(self) | | local_dataflow.rb:133:18:133:23 | self | local_dataflow.rb:136:7:136:12 | self | | local_dataflow.rb:133:22:133:22 | [post] x | local_dataflow.rb:133:18:133:23 | [input] SSA phi read(x) | @@ -3357,83 +3173,69 @@ | local_dataflow.rb:136:11:136:11 | [post] x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:136:11:136:11 | x | local_dataflow.rb:137:14:137:14 | x | | local_dataflow.rb:137:7:138:9 | if ... | local_dataflow.rb:135:5:138:9 | else ... | -| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | -| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | +| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | +| local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:10:137:15 | [post] self | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | | local_dataflow.rb:137:10:137:15 | [post] self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(self) | | local_dataflow.rb:137:10:137:15 | self | local_dataflow.rb:137:21:137:26 | self | | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | -| local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | -| local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | | local_dataflow.rb:137:14:137:14 | [post] x | local_dataflow.rb:137:25:137:25 | x | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:10:137:15 | [input] SSA phi read(x) | | local_dataflow.rb:137:14:137:14 | x | local_dataflow.rb:137:25:137:25 | x | -| local_dataflow.rb:137:20:137:26 | [false] ! ... | local_dataflow.rb:137:10:137:26 | [false] ... && ... | -| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | -| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | -| local_dataflow.rb:137:20:137:26 | [true] ! ... | local_dataflow.rb:137:10:137:26 | [true] ... && ... | +| local_dataflow.rb:137:20:137:26 | ! ... | local_dataflow.rb:137:10:137:26 | ... && ... | +| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | local_dataflow.rb:141:9:141:14 | self | +| local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | local_dataflow.rb:141:13:141:13 | x | | local_dataflow.rb:137:21:137:26 | [post] self | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | | local_dataflow.rb:137:21:137:26 | [post] self | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | -| local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | [false] ! ... | -| local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | [true] ! ... | +| local_dataflow.rb:137:21:137:26 | call to use | local_dataflow.rb:137:20:137:26 | ! ... | | local_dataflow.rb:137:21:137:26 | self | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(self) | | local_dataflow.rb:137:21:137:26 | self | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(self) | | local_dataflow.rb:137:25:137:25 | [post] x | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | | local_dataflow.rb:137:25:137:25 | [post] x | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | | local_dataflow.rb:137:25:137:25 | x | local_dataflow.rb:137:10:137:26 | [input] SSA phi read(x) | | local_dataflow.rb:137:25:137:25 | x | local_dataflow.rb:137:20:137:26 | [input] SSA phi read(x) | -| local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | -| local_dataflow.rb:141:8:141:14 | [false] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | -| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | -| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | -| local_dataflow.rb:141:8:141:14 | [true] ! ... | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | +| local_dataflow.rb:141:8:141:14 | ! ... | local_dataflow.rb:141:8:141:37 | ... \|\| ... | +| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | +| local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | | local_dataflow.rb:141:9:141:14 | [post] self | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | | local_dataflow.rb:141:9:141:14 | [post] self | local_dataflow.rb:141:20:141:25 | self | -| local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [false] ! ... | -| local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | [true] ! ... | +| local_dataflow.rb:141:9:141:14 | call to use | local_dataflow.rb:141:8:141:14 | ! ... | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(self) | | local_dataflow.rb:141:9:141:14 | self | local_dataflow.rb:141:20:141:25 | self | | local_dataflow.rb:141:13:141:13 | [post] x | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | | local_dataflow.rb:141:13:141:13 | [post] x | local_dataflow.rb:141:24:141:24 | x | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:8:141:14 | [input] SSA phi read(x) | | local_dataflow.rb:141:13:141:13 | x | local_dataflow.rb:141:24:141:24 | x | -| local_dataflow.rb:141:19:141:37 | [false] ( ... ) | local_dataflow.rb:141:8:141:37 | [false] ... \|\| ... | -| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | -| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | -| local_dataflow.rb:141:19:141:37 | [post] [false] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] [false] ... && ... | -| local_dataflow.rb:141:19:141:37 | [post] [true] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] [true] ... && ... | -| local_dataflow.rb:141:19:141:37 | [true] ( ... ) | local_dataflow.rb:141:8:141:37 | [true] ... \|\| ... | +| local_dataflow.rb:141:19:141:37 | ( ... ) | local_dataflow.rb:141:8:141:37 | ... \|\| ... | +| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | +| local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | +| local_dataflow.rb:141:19:141:37 | [post] ( ... ) | local_dataflow.rb:141:20:141:36 | [post] ... && ... | | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | local_dataflow.rb:143:11:143:16 | self | | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | | local_dataflow.rb:141:20:141:25 | [post] self | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | | local_dataflow.rb:141:20:141:25 | [post] self | local_dataflow.rb:141:31:141:36 | self | | local_dataflow.rb:141:20:141:25 | self | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(self) | | local_dataflow.rb:141:20:141:25 | self | local_dataflow.rb:141:31:141:36 | self | -| local_dataflow.rb:141:20:141:36 | [false] ... && ... | local_dataflow.rb:141:19:141:37 | [false] ( ... ) | -| local_dataflow.rb:141:20:141:36 | [true] ... && ... | local_dataflow.rb:141:19:141:37 | [true] ( ... ) | +| local_dataflow.rb:141:20:141:36 | ... && ... | local_dataflow.rb:141:19:141:37 | ( ... ) | | local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | | local_dataflow.rb:141:24:141:24 | [post] x | local_dataflow.rb:141:35:141:35 | x | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:20:141:25 | [input] SSA phi read(x) | | local_dataflow.rb:141:24:141:24 | x | local_dataflow.rb:141:35:141:35 | x | -| local_dataflow.rb:141:30:141:36 | [false] ! ... | local_dataflow.rb:141:20:141:36 | [false] ... && ... | +| local_dataflow.rb:141:30:141:36 | ! ... | local_dataflow.rb:141:20:141:36 | ... && ... | | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(self) | local_dataflow.rb:143:11:143:16 | self | | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | local_dataflow.rb:143:15:143:15 | x | -| local_dataflow.rb:141:30:141:36 | [true] ! ... | local_dataflow.rb:141:20:141:36 | [true] ... && ... | | local_dataflow.rb:141:31:141:36 | [post] self | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | | local_dataflow.rb:141:31:141:36 | [post] self | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(self) | -| local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | [false] ! ... | -| local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | [true] ! ... | +| local_dataflow.rb:141:31:141:36 | call to use | local_dataflow.rb:141:30:141:36 | ! ... | | local_dataflow.rb:141:31:141:36 | self | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(self) | | local_dataflow.rb:141:31:141:36 | self | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(self) | | local_dataflow.rb:141:35:141:35 | [post] x | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | | local_dataflow.rb:141:35:141:35 | [post] x | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | | local_dataflow.rb:141:35:141:35 | x | local_dataflow.rb:141:19:141:37 | [input] SSA phi read(x) | | local_dataflow.rb:141:35:141:35 | x | local_dataflow.rb:141:30:141:36 | [input] SSA phi read(x) | -| local_dataflow.rb:141:38:142:9 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | -| local_dataflow.rb:141:38:142:9 | [input] SSA phi read(x) | local_dataflow.rb:147:9:147:9 | x | | local_dataflow.rb:141:38:142:9 | then ... | local_dataflow.rb:141:5:145:7 | if ... | | local_dataflow.rb:142:7:142:9 | nil | local_dataflow.rb:141:38:142:9 | then ... | | local_dataflow.rb:143:5:144:16 | elsif ... | local_dataflow.rb:141:5:145:7 | if ... | @@ -3441,8 +3243,7 @@ | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | | local_dataflow.rb:143:11:143:16 | [post] self | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(self) | | local_dataflow.rb:143:11:143:16 | [post] self | local_dataflow.rb:143:21:143:26 | self | -| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | -| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | +| local_dataflow.rb:143:11:143:16 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:11:143:16 | [input] SSA phi read(self) | | local_dataflow.rb:143:11:143:16 | self | local_dataflow.rb:143:21:143:26 | self | | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | local_dataflow.rb:147:5:147:10 | self | @@ -3455,8 +3256,7 @@ | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(x) | local_dataflow.rb:144:15:144:15 | x | | local_dataflow.rb:143:21:143:26 | [post] self | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:21:143:26 | [post] self | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(self) | -| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [false] ... \|\| ... | -| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | [true] ... \|\| ... | +| local_dataflow.rb:143:21:143:26 | call to use | local_dataflow.rb:143:11:143:26 | ... \|\| ... | | local_dataflow.rb:143:21:143:26 | self | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:21:143:26 | self | local_dataflow.rb:143:21:143:26 | [input] SSA phi read(self) | | local_dataflow.rb:143:25:143:25 | [post] x | local_dataflow.rb:143:11:143:26 | [input] SSA phi read(x) | diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index 80e9e84a83a1..7eae6c7cfd1e 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -3668,6 +3668,7 @@ trackEnd | params_flow.rb:1:11:1:11 | x | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:1:11:1:11 | x | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:1:11:1:11 | x | params_flow.rb:2:5:2:5 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:5:10:5:10 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:5:10:5:10 | x | @@ -3869,16 +3870,20 @@ trackEnd | 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 | call to puts | 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:10:5:11:84 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:11:5:11:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:14:1:14:30 | call to positional | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:17:5:17:11 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:17:5:18:82 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:18:5:18:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:26:5:26:11 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:26:5:30:22 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:27:5:27:22 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:28:5:28:22 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:29:5:29:22 | call to sink | @@ -3890,14 +3895,17 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:50:5:50:11 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:50:5:52:21 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:51:5:51:21 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:52:5:52:21 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:61:1:61:14 | call to posargs | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:65:5:65:13 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:65:5:65:33 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:67:1:67:17 | call to splatstuff | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:70:5:70:10 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:70:5:75:75 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:71:5:71:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:72:5:72:13 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:73:5:73:13 | call to sink | @@ -3906,6 +3914,7 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:84:5:84:10 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:84:5:90:39 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:85:5:85:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:86:5:86:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:87:5:87:10 | call to sink | @@ -3915,17 +3924,20 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:96:1:96:88 | call to splatmid | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:99:5:99:10 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:99:5:102:57 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:100:5:100:18 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:101:5:101:18 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:102:5:102:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:106:1:106:46 | call to splatmidsmall | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:109:5:109:10 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:109:5:111:30 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:110:5:110:13 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:111:5:111:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:118:1:118:14 | call to positional | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:121:5:121:10 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:121:5:125:39 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:122:5:122:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:123:5:123:10 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:124:5:124:10 | call to sink | @@ -3933,6 +3945,7 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:128:1:128:61 | call to destruct | | 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:134:5:134:36 | ... | | 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 | call to puts | params_flow.rb:144:1:144:20 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:146:1:146:20 | call to sink | @@ -3951,20 +3964,24 @@ trackEnd | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:191:1:191:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:193:1:193:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:201:5:201:15 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:201:5:204:15 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:202:5:202:15 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:203:5:203:15 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:204:5:204:15 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:207:1:207:14 | call to foo | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:211:9:211:15 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:211:9:217:23 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:212:9:212:21 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:213:9:213:21 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:214:9:214:21 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:215:9:215:16 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:216:9:216:25 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:217:9:217:23 | yield ... | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:223:9:223:13 | ... | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:223:9:223:13 | super call to m | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:227:1:229:3 | call to m | | params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:228:5:228:11 | call to sink | +| params_flow.rb:6:5:6:10 | call to puts | params_flow.rb:228:5:228:31 | ... | | 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 | @@ -3992,6 +4009,7 @@ trackEnd | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:10:5:10:11 | call to sink | params_flow.rb:10:5:10:11 | call to sink | | 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:10:5:11:84 | ... | | 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 | @@ -4010,6 +4028,7 @@ trackEnd | 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 | ... | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:5:10:5:10 | x | @@ -4029,6 +4048,7 @@ trackEnd | 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 | ... | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:5:10:5:10 | x | @@ -4064,6 +4084,7 @@ trackEnd | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:17:5:17:11 | call to sink | params_flow.rb:17:5:17:11 | call to sink | | 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:17:5:18:82 | ... | | 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 | @@ -4084,6 +4105,7 @@ trackEnd | 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 | ... | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:5:10:5:10 | x | @@ -4105,6 +4127,7 @@ trackEnd | 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 | ... | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:5:10:5:10 | x | @@ -4128,6 +4151,7 @@ trackEnd | 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 | ... | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:5:10:5:10 | x | @@ -4149,6 +4173,7 @@ trackEnd | 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 | ... | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:5:10:5:10 | x | @@ -4172,6 +4197,7 @@ trackEnd | 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 | ... | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:5:10:5:10 | x | @@ -4193,6 +4219,7 @@ trackEnd | 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 | ... | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:5:10:5:10 | x | @@ -4258,6 +4285,7 @@ trackEnd | 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 | call to sink | params_flow.rb:26: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 | @@ -4292,6 +4320,7 @@ trackEnd | 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 | ... | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:5:10:5:10 | x | @@ -4314,6 +4343,7 @@ trackEnd | 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 | ... | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:5:10:5:10 | x | @@ -4333,6 +4363,7 @@ trackEnd | 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 | ... | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:5:10:5:10 | x | @@ -4371,6 +4402,7 @@ trackEnd | 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 | ... | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:5:10:5:10 | x | @@ -4409,6 +4441,7 @@ trackEnd | 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 | ... | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:5:10:5:10 | x | @@ -4453,6 +4486,7 @@ trackEnd | 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 | ... | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:5:10:5:10 | x | @@ -4475,6 +4509,7 @@ trackEnd | 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 | ... | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:5:10:5:10 | x | @@ -4515,6 +4550,7 @@ trackEnd | 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 | ... | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:5:10:5:10 | x | @@ -4538,6 +4574,7 @@ trackEnd | 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 | ... | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:5:10:5:10 | x | @@ -4582,6 +4619,7 @@ trackEnd | 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 | ... | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:5:10:5:10 | x | @@ -4604,6 +4642,7 @@ trackEnd | 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 | ... | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:5:10:5:10 | x | @@ -4647,6 +4686,7 @@ trackEnd | 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 | ... | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:5:10:5:10 | x | @@ -4666,6 +4706,7 @@ trackEnd | 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 | ... | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:5:10:5:10 | x | @@ -4712,6 +4753,7 @@ trackEnd | 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 | call to sink | params_flow.rb:50: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 | @@ -4737,6 +4779,7 @@ trackEnd | 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 | ... | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:5:10:5:10 | x | @@ -4755,6 +4798,7 @@ trackEnd | 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 | ... | | 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 | @@ -4793,6 +4837,7 @@ trackEnd | 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 | ... | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:5:10:5:10 | x | @@ -4813,6 +4858,7 @@ trackEnd | 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 | ... | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:5:10:5:10 | x | @@ -4860,6 +4906,7 @@ trackEnd | 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 | ... | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:5:10:5:10 | x | @@ -4878,6 +4925,7 @@ trackEnd | 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 | ... | | 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 | @@ -4901,6 +4949,7 @@ trackEnd | 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 | ... | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:5:10:5:10 | x | @@ -4924,6 +4973,7 @@ trackEnd | 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 | 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:65:5:65:33 | ... | | params_flow.rb:65:5:65:13 | call to sink | params_flow.rb:67:1:67:17 | call to splatstuff | | 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 | @@ -5006,6 +5056,7 @@ trackEnd | params_flow.rb:73:12:73:12 | 1 | params_flow.rb:73:12:73:12 | 1 | | params_flow.rb:74:5:74:10 | call to sink | params_flow.rb:74:5:74:10 | call to sink | | 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:70:5:75:75 | ... | | 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 | @@ -5024,6 +5075,7 @@ trackEnd | 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 | ... | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:5:10:5:10 | x | @@ -5043,6 +5095,7 @@ trackEnd | 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 | ... | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:5:10:5:10 | x | @@ -5056,6 +5109,7 @@ trackEnd | 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 | ... | | 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 | @@ -5063,6 +5117,7 @@ trackEnd | 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 | ... | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:2:5:2:5 | x | | 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 | @@ -5070,6 +5125,7 @@ trackEnd | 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 | ... | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:2:5:2:5 | x | | 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 | @@ -5106,6 +5162,7 @@ trackEnd | 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 | ... | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:5:10:5:10 | x | @@ -5119,6 +5176,7 @@ trackEnd | 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 | ... | | 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 | @@ -5126,6 +5184,7 @@ trackEnd | 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 | ... | | 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:80:31:80:39 | call to taint | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:80:37:80:38 | 35 | @@ -5133,6 +5192,7 @@ trackEnd | 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 | ... | | 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:80:42:80:50 | call to taint | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:80:48:80:49 | 36 | @@ -5149,6 +5209,7 @@ trackEnd | 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 | ... | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:5:10:5:10 | x | @@ -5163,6 +5224,7 @@ trackEnd | 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 | ... | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:81:28:81:36 | call to taint | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:81:34:81:35 | 37 | @@ -5242,6 +5304,7 @@ trackEnd | 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: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:84:5:90:39 | ... | | 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 | @@ -5279,6 +5342,7 @@ trackEnd | 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 | ... | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:5:10:5:10 | x | @@ -5298,6 +5362,7 @@ trackEnd | 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 | ... | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:5:10:5:10 | x | @@ -5317,6 +5382,7 @@ trackEnd | 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 | ... | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:5:10:5:10 | x | @@ -5336,6 +5402,7 @@ trackEnd | 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 | ... | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:5:10:5:10 | x | @@ -5358,6 +5425,7 @@ trackEnd | 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 | ... | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:5:10:5:10 | x | @@ -5377,6 +5445,7 @@ trackEnd | 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 | ... | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:5:10:5:10 | x | @@ -5391,6 +5460,7 @@ trackEnd | 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 | ... | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:2:5:2:5 | x | | 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 | @@ -5406,6 +5476,7 @@ trackEnd | 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 | ... | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:5:10:5:10 | x | @@ -5425,6 +5496,7 @@ trackEnd | 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 | ... | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:5:10:5:10 | x | @@ -5443,6 +5515,7 @@ trackEnd | 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 | ... | | 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 | @@ -5450,6 +5523,7 @@ trackEnd | 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 | ... | | 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:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:96:51:96:52 | 48 | @@ -5457,6 +5531,7 @@ trackEnd | 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 | ... | | 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:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:96:62:96:63 | 49 | @@ -5464,6 +5539,7 @@ trackEnd | 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 | ... | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:2:5:2:5 | x | | 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 | @@ -5471,6 +5547,7 @@ trackEnd | 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 | ... | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:96:85:96:86 | 51 | @@ -5523,6 +5600,7 @@ trackEnd | 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 | call to sink | params_flow.rb:99:5:102:57 | ... | | 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 | @@ -5539,6 +5617,7 @@ trackEnd | 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 | ... | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:5:10:5:10 | x | @@ -5557,6 +5636,7 @@ trackEnd | 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 | ... | | 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 | @@ -5564,6 +5644,7 @@ trackEnd | 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 | ... | | 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:105:39:105:47 | call to taint | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:105:45:105:46 | 54 | @@ -5580,6 +5661,7 @@ trackEnd | 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 | ... | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:5:10:5:10 | x | @@ -5593,6 +5675,7 @@ trackEnd | 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 | ... | | 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 | @@ -5600,6 +5683,7 @@ trackEnd | 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 | ... | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:2:5:2:5 | x | | 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 | @@ -5643,6 +5727,7 @@ trackEnd | 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 | call to sink | params_flow.rb:109:5:111:30 | ... | | 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:111:5:111:10 | synthetic splat argument | params_flow.rb:111:5:111:10 | synthetic splat argument | @@ -5660,6 +5745,7 @@ trackEnd | 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 | ... | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:5:10:5:10 | x | @@ -5677,6 +5763,7 @@ trackEnd | 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 | ... | | 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 | @@ -5696,6 +5783,7 @@ trackEnd | 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 | ... | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:5:10:5:10 | x | @@ -5747,6 +5835,7 @@ trackEnd | 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 | ... | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:5:10:5:10 | x | @@ -5816,6 +5905,7 @@ trackEnd | params_flow.rb:123:5:123:10 | synthetic splat argument | params_flow.rb:123:5:123:10 | synthetic splat argument | | 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:124:5:124:10 | synthetic splat argument | +| params_flow.rb:125:5:125:10 | call to sink | params_flow.rb:121:5:125:39 | ... | | 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:125:5:125:10 | synthetic splat argument | @@ -5829,6 +5919,7 @@ trackEnd | 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 | ... | | 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 | @@ -5836,6 +5927,7 @@ trackEnd | 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 | ... | | 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 | @@ -5847,6 +5939,7 @@ trackEnd | 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 | ... | | 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 | @@ -5859,6 +5952,7 @@ trackEnd | 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 | ... | | 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 | @@ -5895,6 +5989,7 @@ trackEnd | 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 | ... | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:5:10:5:10 | x | @@ -5914,6 +6009,7 @@ trackEnd | 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 | ... | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:5:10:5:10 | x | @@ -5930,6 +6026,7 @@ trackEnd | 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 | ... | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:131:23:131:24 | 68 | @@ -5950,6 +6047,7 @@ trackEnd | 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 | 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:134:5:134:36 | ... | | params_flow.rb:134:5:134:16 | call to sink | params_flow.rb:137:1:137:44 | call to splatall | | 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 | @@ -5971,6 +6069,7 @@ trackEnd | 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 | ... | | 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 | @@ -5982,6 +6081,7 @@ trackEnd | 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 | ... | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:5:10:5:10 | x | @@ -5993,6 +6093,7 @@ trackEnd | 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 | ... | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:137:34:137:42 | call to taint | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:137:40:137:41 | 71 | @@ -6007,6 +6108,7 @@ trackEnd | params_flow.rb:140:5:140:15 | ...[...] | params_flow.rb:140:5:140:15 | ...[...] | | params_flow.rb:140:5:140:15 | [post] ...[...] | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:140:5:140:15 | synthetic splat argument | params_flow.rb:140:5:140:15 | synthetic splat argument | +| params_flow.rb:140:5:140:38 | call to insert | params_flow.rb:140:5:140:38 | ... | | params_flow.rb:140:5:140:38 | call to insert | params_flow.rb:140:5:140:38 | call to insert | | params_flow.rb:140:5:140:38 | call to insert | params_flow.rb:145:1:145:29 | call to hashSplatSideEffect | | params_flow.rb:140:5:140:38 | call to insert | params_flow.rb:150:1:150:42 | call to hashSplatSideEffect | @@ -6045,6 +6147,7 @@ trackEnd | params_flow.rb:143:24:143:32 | synthetic splat argument | params_flow.rb:143:24:143:32 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:143:30:143:31 | 72 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:143:24:143:32 | call to taint | @@ -6109,6 +6212,7 @@ trackEnd | params_flow.rb:150:33:150:41 | synthetic splat argument | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:150:39:150:40 | 73 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:150:33:150:41 | call to taint | @@ -6134,6 +6238,7 @@ trackEnd | params_flow.rb:153:28:153:29 | p2 | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:153:28:153:29 | p2 | params_flow.rb:154:18:154:19 | p2 | | params_flow.rb:154:5:154:6 | [post] p1 | params_flow.rb:154:5:154:6 | [post] p1 | +| params_flow.rb:154:5:154:20 | call to insert | params_flow.rb:154:5:154:20 | ... | | params_flow.rb:154:5:154:20 | call to insert | params_flow.rb:154:5:154:20 | call to insert | | params_flow.rb:154:5:154:20 | call to insert | params_flow.rb:159:1:159:27 | call to keywordSideEffect | | params_flow.rb:154:5:154:20 | call to insert | params_flow.rb:164:1:164:40 | call to keywordSideEffect | @@ -6172,6 +6277,7 @@ trackEnd | params_flow.rb:157:24:157:32 | synthetic splat argument | params_flow.rb:157:24:157:32 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:157:30:157:31 | 74 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:153:28:153:29 | p2 | @@ -6235,6 +6341,7 @@ trackEnd | params_flow.rb:164:31:164:39 | synthetic splat argument | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:164:37:164:38 | 75 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:153:28:153:29 | p2 | @@ -6260,6 +6367,7 @@ trackEnd | params_flow.rb:168:5:168:14 | ...[...] | params_flow.rb:168:5:168:14 | ...[...] | | params_flow.rb:168:5:168:14 | [post] ...[...] | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:168:5:168:14 | synthetic splat argument | params_flow.rb:168:5:168:14 | synthetic splat argument | +| params_flow.rb:168:5:168:36 | call to insert | params_flow.rb:168:5:168:36 | ... | | params_flow.rb:168:5:168:36 | call to insert | params_flow.rb:168:5:168:36 | call to insert | | params_flow.rb:168:5:168:36 | call to insert | params_flow.rb:173:1:173:25 | call to splatSideEffect | | params_flow.rb:168:5:168:36 | call to insert | params_flow.rb:178:1:178:30 | call to splatSideEffect | @@ -6296,6 +6404,7 @@ trackEnd | params_flow.rb:171:17:171:25 | synthetic splat argument | params_flow.rb:171:17:171:25 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:171:23:171:24 | 76 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:171:17:171:25 | call to taint | @@ -6356,6 +6465,7 @@ trackEnd | params_flow.rb:178:21:178:29 | synthetic splat argument | params_flow.rb:178:21:178:29 | synthetic splat argument | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:178:27:178:28 | 77 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:178:21:178:29 | call to taint | @@ -6381,6 +6491,7 @@ trackEnd | params_flow.rb:181:28:181:29 | p2 | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:181:28:181:29 | p2 | params_flow.rb:182:18:182:19 | p2 | | params_flow.rb:182:5:182:6 | [post] p1 | params_flow.rb:182:5:182:6 | [post] p1 | +| params_flow.rb:182:5:182:20 | call to insert | params_flow.rb:182:5:182:20 | ... | | params_flow.rb:182:5:182:20 | call to insert | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:182:5:182:20 | call to insert | params_flow.rb:187:1:187:25 | call to positionSideEffect | | params_flow.rb:182:5:182:20 | call to insert | params_flow.rb:192:1:192:33 | call to positionSideEffect | @@ -6421,6 +6532,7 @@ trackEnd | params_flow.rb:185:14:185:22 | synthetic splat argument | params_flow.rb:185:14:185:22 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:185:20:185:21 | 78 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:181:28:181:29 | p2 | @@ -6480,6 +6592,7 @@ trackEnd | params_flow.rb:192:24:192:32 | synthetic splat argument | params_flow.rb:192:24:192:32 | synthetic splat argument | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:192:30:192:31 | 79 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:181:28:181:29 | p2 | @@ -6524,6 +6637,7 @@ trackEnd | params_flow.rb:196:10:196:18 | synthetic splat argument | params_flow.rb:196:10:196:18 | synthetic splat argument | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:196:16:196:17 | 80 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:196:10:196:18 | call to taint | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:196:16:196:17 | 80 | @@ -6587,6 +6701,7 @@ trackEnd | params_flow.rb:203:11:203:14 | ...[...] | params_flow.rb:203:11:203:14 | ...[...] | | params_flow.rb:203:11:203:14 | synthetic splat argument | params_flow.rb:203:11:203:14 | synthetic splat argument | | params_flow.rb:203:13:203:13 | 0 | params_flow.rb:203:13:203:13 | 0 | +| params_flow.rb:204:5:204:15 | call to sink | params_flow.rb:201:5:204:15 | ... | | params_flow.rb:204:5:204:15 | call to sink | params_flow.rb:204:5:204:15 | call to sink | | params_flow.rb:204:5:204:15 | call to sink | params_flow.rb:207:1:207:14 | call to foo | | params_flow.rb:204:5:204:15 | synthetic splat argument | params_flow.rb:204:5:204:15 | synthetic splat argument | @@ -6681,7 +6796,9 @@ trackEnd | params_flow.rb:216:14:216:24 | synthetic splat argument | params_flow.rb:216:14:216:24 | synthetic splat argument | | params_flow.rb:216:21:216:23 | :k2 | params_flow.rb:216:21:216:23 | :k2 | | params_flow.rb:217:9:217:23 | synthetic splat argument | params_flow.rb:217:9:217:23 | synthetic splat argument | +| params_flow.rb:217:9:217:23 | yield ... | params_flow.rb:211:9:217:23 | ... | | params_flow.rb:217:9:217:23 | yield ... | params_flow.rb:217:9:217:23 | yield ... | +| params_flow.rb:217:9:217:23 | yield ... | params_flow.rb:223:9:223:13 | ... | | params_flow.rb:217:9:217:23 | yield ... | params_flow.rb:223:9:223:13 | super call to m | | params_flow.rb:217:9:217:23 | yield ... | params_flow.rb:227:1:229:3 | call to m | | params_flow.rb:217:9:217:23 | yield block argument | params_flow.rb:217:9:217:23 | yield block argument | @@ -6695,6 +6812,7 @@ trackEnd | params_flow.rb:217:15:217:23 | synthetic splat argument | params_flow.rb:217:15:217:23 | synthetic splat argument | | params_flow.rb:217:21:217:22 | 86 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:217:21:217:22 | 86 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:217:21:217:22 | 86 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:217:21:217:22 | 86 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:217:21:217:22 | 86 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:217:21:217:22 | 86 | params_flow.rb:5:10:5:10 | x | @@ -6760,6 +6878,7 @@ trackEnd | params_flow.rb:223:9:223:13 | ** ... | params_flow.rb:223:9:223:13 | ** ... | | params_flow.rb:223:9:223:13 | Pair | params_flow.rb:223:9:223:13 | Pair | | params_flow.rb:223:9:223:13 | k1 | params_flow.rb:223:9:223:13 | k1 | +| params_flow.rb:223:9:223:13 | super call to m | params_flow.rb:223:9:223:13 | ... | | params_flow.rb:223:9:223:13 | super call to m | params_flow.rb:223:9:223:13 | super call to m | | params_flow.rb:223:9:223:13 | super call to m | params_flow.rb:227:1:229:3 | call to m | | params_flow.rb:223:9:223:13 | synthetic hash-splat argument | params_flow.rb:210:26:210:33 | **kwargs | @@ -6793,6 +6912,7 @@ trackEnd | params_flow.rb:227:11:227:19 | synthetic splat argument | params_flow.rb:227:11:227:19 | synthetic splat argument | | params_flow.rb:227:17:227:18 | 81 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:227:17:227:18 | 81 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:227:17:227:18 | 81 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:227:17:227:18 | 81 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:227:17:227:18 | 81 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:227:17:227:18 | 81 | params_flow.rb:5:10:5:10 | x | @@ -6813,6 +6933,7 @@ trackEnd | params_flow.rb:227:22:227:30 | synthetic splat argument | params_flow.rb:227:22:227:30 | synthetic splat argument | | params_flow.rb:227:28:227:29 | 82 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:227:28:227:29 | 82 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:227:28:227:29 | 82 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:227:28:227:29 | 82 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:227:28:227:29 | 82 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:227:28:227:29 | 82 | params_flow.rb:5:10:5:10 | x | @@ -6833,6 +6954,7 @@ trackEnd | params_flow.rb:227:36:227:44 | synthetic splat argument | params_flow.rb:227:36:227:44 | synthetic splat argument | | params_flow.rb:227:42:227:43 | 83 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:227:42:227:43 | 83 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:227:42:227:43 | 83 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:227:42:227:43 | 83 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:227:42:227:43 | 83 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:227:42:227:43 | 83 | params_flow.rb:5:10:5:10 | x | @@ -6855,6 +6977,7 @@ trackEnd | params_flow.rb:227:51:227:59 | synthetic splat argument | params_flow.rb:227:51:227:59 | synthetic splat argument | | params_flow.rb:227:57:227:58 | 84 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:227:57:227:58 | 84 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:227:57:227:58 | 84 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:227:57:227:58 | 84 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:227:57:227:58 | 84 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:227:57:227:58 | 84 | params_flow.rb:5:10:5:10 | x | @@ -6877,6 +7000,7 @@ trackEnd | params_flow.rb:227:66:227:74 | synthetic splat argument | params_flow.rb:227:66:227:74 | synthetic splat argument | | params_flow.rb:227:72:227:73 | 85 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:227:72:227:73 | 85 | params_flow.rb:1:11:1:11 | x | +| params_flow.rb:227:72:227:73 | 85 | params_flow.rb:2:5:2:5 | ... | | params_flow.rb:227:72:227:73 | 85 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:227:72:227:73 | 85 | params_flow.rb:5:10:5:10 | x | | params_flow.rb:227:72:227:73 | 85 | params_flow.rb:5:10:5:10 | x | @@ -6902,10 +7026,13 @@ trackEnd | params_flow.rb:227:81:227:81 | x | params_flow.rb:227:81:227:81 | x | | params_flow.rb:227:81:227:81 | x | params_flow.rb:227:81:227:81 | x | | params_flow.rb:227:81:227:81 | x | params_flow.rb:228:10:228:10 | x | +| params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:211:9:217:23 | ... | | params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:217:9:217:23 | yield ... | +| params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:223:9:223:13 | ... | | params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:223:9:223:13 | super call to m | | params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:227:1:229:3 | call to m | | params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:228:5:228:11 | call to sink | +| params_flow.rb:228:5:228:11 | call to sink | params_flow.rb:228:5:228:31 | ... | | params_flow.rb:228:5:228:11 | synthetic splat argument | params_flow.rb:228:5:228:11 | synthetic splat argument | forwardButNoBackwardFlow backwardButNoForwardFlow 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 7b308c6816cd..bfecc4ec629d 100644 --- a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected @@ -360,9 +360,11 @@ trackEnd | 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 | +| type_tracker.rb:2:16:2:18 | val | type_tracker.rb:3:9:4:20 | ... | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:3:14:3:23 | call to field | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:4:9:4:20 | ... = ... | | type_tracker.rb:2:16:2:18 | val | type_tracker.rb:4:18:4:20 | val | +| type_tracker.rb:2:16:2:18 | val | type_tracker.rb:8:9:8:14 | ... | | 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 | @@ -377,6 +379,7 @@ trackEnd | type_tracker.rb:7:5:9:7 | self in field | type_tracker.rb:7:5:9:7 | self in field | | type_tracker.rb:7:5:9:7 | self in field | type_tracker.rb:8:9:8:14 | self | | type_tracker.rb:8:9:8:14 | @field | type_tracker.rb:3:14:3:23 | call to field | +| type_tracker.rb:8:9:8:14 | @field | type_tracker.rb:8:9:8:14 | ... | | type_tracker.rb:8:9:8:14 | @field | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:8:9:8:14 | @field | type_tracker.rb:15:10:15:18 | call to field | | type_tracker.rb:12:1:16:3 | &block | type_tracker.rb:12:1:16:3 | &block | @@ -408,8 +411,10 @@ trackEnd | 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:3:9:4:20 | ... | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:4:9:4:20 | ... = ... | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:4:18:4:20 | val | +| type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:8:9:8:14 | ... | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:14:5:14:13 | __synth__0 | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:14:5:14:13 | call to field= | @@ -419,6 +424,7 @@ 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 | call to puts | type_tracker.rb:13: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 | @@ -439,6 +445,7 @@ trackEnd | type_tracker.rb:18:20:18:21 | p2 | type_tracker.rb:20:10:20:11 | p2 | | type_tracker.rb:19:5:19:11 | call to puts | type_tracker.rb:19:5:19:11 | call to puts | | 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:19:5:20:11 | ... | | 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:20:5:20:11 | synthetic splat argument | type_tracker.rb:20:5:20:11 | synthetic splat argument | @@ -469,6 +476,7 @@ trackEnd | type_tracker.rb:25:18:25:19 | p2 | type_tracker.rb:27:10:27:11 | p2 | | type_tracker.rb:26:5:26:11 | call to puts | type_tracker.rb:26:5:26:11 | call to puts | | 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:26:5:27:11 | ... | | 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 | @@ -523,6 +531,7 @@ trackEnd | 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 | | 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:35:5:52:13 | ... | | type_tracker.rb:34:18:34:20 | obj | type_tracker.rb:35:12:35:14 | obj | | type_tracker.rb:34:18:34:20 | obj | type_tracker.rb:36:5:36:10 | ...[...] | | type_tracker.rb:34:18:34:20 | obj | type_tracker.rb:39:5:39:12 | __synth__0 | @@ -679,16 +688,22 @@ trackEnd | type_tracker.rb:50:14:50:26 | synthetic splat argument | type_tracker.rb:50:14:50:26 | synthetic splat argument | | type_tracker.rb:50:14:50:26 | synthetic splat argument | type_tracker.rb:51:5:51:10 | array4 | | type_tracker.rb:50:14:50:26 | synthetic splat argument | type_tracker.rb:52:5:52:10 | array4 | +| type_tracker.rb:50:15:50:15 | 1 | type_tracker.rb:35:5:52:13 | ... | | 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:35:5:52:13 | ... | | type_tracker.rb:50:17:50:17 | 2 | type_tracker.rb:50:17:50:17 | 2 | | type_tracker.rb:50:17:50:17 | 2 | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:50:19:50:19 | 3 | type_tracker.rb:35:5:52:13 | ... | | type_tracker.rb:50:19:50:19 | 3 | type_tracker.rb:50:19:50:19 | 3 | | type_tracker.rb:50:19:50:19 | 3 | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:50:21:50:21 | 4 | type_tracker.rb:35:5:52:13 | ... | | type_tracker.rb:50:21:50:21 | 4 | type_tracker.rb:50:21:50:21 | 4 | | type_tracker.rb:50:21:50:21 | 4 | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:50:23:50:23 | 5 | type_tracker.rb:35:5:52:13 | ... | | type_tracker.rb:50:23:50:23 | 5 | type_tracker.rb:50:23:50:23 | 5 | | type_tracker.rb:50:23:50:23 | 5 | type_tracker.rb:52:5:52:13 | ...[...] | +| type_tracker.rb:50:25:50:25 | 6 | type_tracker.rb:35:5:52:13 | ... | | type_tracker.rb:50:25:50:25 | 6 | type_tracker.rb:50:25:50:25 | 6 | | 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 | @@ -696,6 +711,7 @@ trackEnd | 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:35: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 diff --git a/ruby/ql/test/library-tests/frameworks/active_record/ActiveRecord.expected b/ruby/ql/test/library-tests/frameworks/active_record/ActiveRecord.expected index 6b6fdbf22fac..1a78fc816ad9 100644 --- a/ruby/ql/test/library-tests/frameworks/active_record/ActiveRecord.expected +++ b/ruby/ql/test/library-tests/frameworks/active_record/ActiveRecord.expected @@ -7,8 +7,10 @@ activeRecordModelClasses | associations.rb:11:1:13:3 | Tag | | associations.rb:15:1:17:3 | Comment | activeRecordInstances +| ActiveRecord.rb:9:5:9:68 | ... | | ActiveRecord.rb:9:5:9:68 | call to find | | ActiveRecord.rb:13:5:13:40 | call to find_by | +| ActiveRecord.rb:13:5:13:46 | ... | | ActiveRecord.rb:13:5:13:46 | call to users | | ActiveRecord.rb:16:3:31:5 | self (exec) | | ActiveRecord.rb:16:3:31:5 | self in exec | @@ -28,14 +30,19 @@ activeRecordInstances | ActiveRecord.rb:30:5:30:14 | self | | ActiveRecord.rb:52:5:52:51 | call to authenticate | | ActiveRecord.rb:53:5:53:30 | call to find_by_name | +| ActiveRecord.rb:67:5:79:34 | ... | | ActiveRecord.rb:72:5:74:7 | if ... | | ActiveRecord.rb:72:43:73:40 | then ... | | ActiveRecord.rb:73:7:73:40 | call to find_by | | ActiveRecord.rb:77:5:77:33 | call to find_by | | ActiveRecord.rb:79:5:79:34 | call to find | +| ActiveRecord.rb:89:5:89:24 | ... | | ActiveRecord.rb:89:5:89:24 | call to create | +| ActiveRecord.rb:93:5:93:66 | ... | | ActiveRecord.rb:93:5:93:66 | call to create | +| ActiveRecord.rb:97:5:97:68 | ... | | ActiveRecord.rb:97:5:97:68 | call to create | +| ActiveRecord.rb:101:5:101:16 | ... | | ActiveRecord.rb:101:5:101:16 | call to create | | associations.rb:19:1:19:7 | author1 | | associations.rb:19:1:19:20 | ... = ... | diff --git a/ruby/ql/test/library-tests/variables/ssa.expected b/ruby/ql/test/library-tests/variables/ssa.expected index 69222157b05a..7fb3c27be81c 100644 --- a/ruby/ql/test/library-tests/variables/ssa.expected +++ b/ruby/ql/test/library-tests/variables/ssa.expected @@ -38,7 +38,7 @@ definition | nested_scopes.rb:22:9:24:11 | self (show_a2) | nested_scopes.rb:22:9:24:11 | self | | nested_scopes.rb:22:21:22:21 | a | nested_scopes.rb:22:21:22:21 | a | | nested_scopes.rb:27:7:29:9 | self (show) | nested_scopes.rb:27:7:29:9 | self | -| nested_scopes.rb:30:16:30:19 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | +| nested_scopes.rb:30:7:33:9 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | | nested_scopes.rb:31:11:31:11 | a | nested_scopes.rb:31:11:31:11 | a | | nested_scopes.rb:40:1:40:1 | d | nested_scopes.rb:40:1:40:1 | d | | parameters.rb:1:1:62:1 | self (parameters.rb) | parameters.rb:1:1:62:1 | self | @@ -81,7 +81,7 @@ definition | parameters.rb:54:9:57:3 | x | parameters.rb:53:1:53:1 | x | | parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | | parameters.rb:54:19:54:19 | x | parameters.rb:53:1:53:1 | x | -| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | +| parameters.rb:55:4:56:9 | phi | parameters.rb:53:1:53:1 | x | | parameters.rb:59:1:61:3 | self (tuples_nested) | parameters.rb:59:1:61:3 | self | | parameters.rb:59:20:59:20 | a | parameters.rb:59:20:59:20 | a | | parameters.rb:59:23:59:23 | b | parameters.rb:59:23:59:23 | b | @@ -99,11 +99,15 @@ definition | scopes.rb:13:11:13:11 | c | scopes.rb:13:11:13:11 | c | | scopes.rb:13:14:13:14 | d | scopes.rb:13:14:13:14 | d | | scopes.rb:13:19:13:32 | __synth__3 | scopes.rb:13:4:13:32 | __synth__3 | +| scopes.rb:26:1:26:12 | self (A) | scopes.rb:26:1:26:12 | self | | scopes.rb:27:1:27:1 | x | scopes.rb:27:1:27:1 | x | +| scopes.rb:28:1:30:3 | self (B) | scopes.rb:28:1:30:3 | self | +| scopes.rb:34:1:36:3 | self (C) | scopes.rb:34:1:36:3 | self | | scopes.rb:41:1:49:3 | self (M) | scopes.rb:41:1:49:3 | self | | scopes.rb:42:2:42:4 | var | scopes.rb:42:2:42:4 | var | | scopes.rb:46:5:46:8 | var2 | scopes.rb:46:5:46:8 | var2 | | scopes.rb:51:1:64:3 | self (ExceptionVariable) | scopes.rb:51:1:64:3 | self | +| scopes.rb:52:3:53:5 | self (MyException) | scopes.rb:52:3:53:5 | self | | scopes.rb:55:3:55:3 | x | scopes.rb:55:3:55:3 | x | | scopes.rb:60:25:60:25 | x | scopes.rb:55:3:55:3 | x | | scopes.rb:66:1:73:3 | self (ParameterShadowing) | scopes.rb:66:1:73:3 | self | @@ -125,7 +129,7 @@ definition | ssa.rb:10:5:10:5 | i | ssa.rb:2:3:2:3 | i | | ssa.rb:18:1:23:3 | self (m1) | ssa.rb:18:1:23:3 | self | | ssa.rb:18:8:18:8 | x | ssa.rb:18:8:18:8 | x | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | | ssa.rb:21:5:21:5 | x | ssa.rb:18:8:18:8 | x | | ssa.rb:25:1:30:3 | elem | ssa.rb:26:7:26:10 | elem | | ssa.rb:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | @@ -227,7 +231,7 @@ read | nested_scopes.rb:22:21:22:21 | a | nested_scopes.rb:22:21:22:21 | a | nested_scopes.rb:23:16:23:16 | a | | nested_scopes.rb:27:7:29:9 | self (show) | nested_scopes.rb:27:7:29:9 | self | nested_scopes.rb:28:11:28:16 | self | | nested_scopes.rb:27:7:29:9 | self (show) | nested_scopes.rb:27:7:29:9 | self | nested_scopes.rb:28:16:28:16 | self | -| nested_scopes.rb:30:16:30:19 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | nested_scopes.rb:32:11:32:16 | self | +| nested_scopes.rb:30:7:33:9 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | nested_scopes.rb:32:11:32:16 | self | | nested_scopes.rb:31:11:31:11 | a | nested_scopes.rb:31:11:31:11 | a | nested_scopes.rb:32:16:32:16 | a | | nested_scopes.rb:40:1:40:1 | d | nested_scopes.rb:40:1:40:1 | d | nested_scopes.rb:41:1:41:1 | d | | parameters.rb:1:9:5:3 | self | parameters.rb:1:1:62:1 | self | parameters.rb:3:4:3:9 | self | @@ -268,7 +272,7 @@ read | parameters.rb:54:9:57:3 | self | parameters.rb:1:1:62:1 | self | parameters.rb:55:4:55:9 | self | | parameters.rb:54:9:57:3 | self | parameters.rb:1:1:62:1 | self | parameters.rb:56:4:56:9 | self | | parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | parameters.rb:56:9:56:9 | y | -| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x | +| parameters.rb:55:4:56:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x | | parameters.rb:59:1:61:3 | self (tuples_nested) | parameters.rb:59:1:61:3 | self | parameters.rb:60:3:60:23 | self | | parameters.rb:59:20:59:20 | a | parameters.rb:59:20:59:20 | a | parameters.rb:60:11:60:11 | a | | parameters.rb:59:23:59:23 | b | parameters.rb:59:23:59:23 | b | parameters.rb:60:16:60:16 | b | @@ -339,9 +343,9 @@ read | ssa.rb:10:5:10:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:11:10:11:10 | i | | ssa.rb:10:5:10:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:12:10:12:10 | i | | ssa.rb:18:1:23:3 | self (m1) | ssa.rb:18:1:23:3 | self | ssa.rb:20:5:20:10 | self | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:20:10:20:10 | x | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:21:5:21:5 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:20:10:20:10 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:21:5:21:5 | x | | ssa.rb:25:1:30:3 | elem | ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | | ssa.rb:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:29:3:29:11 | self | | ssa.rb:25:8:25:15 | elements | ssa.rb:25:8:25:15 | elements | ssa.rb:26:15:26:22 | elements | @@ -430,7 +434,7 @@ firstRead | nested_scopes.rb:22:9:24:11 | self (show_a2) | nested_scopes.rb:22:9:24:11 | self | nested_scopes.rb:23:11:23:16 | self | | nested_scopes.rb:22:21:22:21 | a | nested_scopes.rb:22:21:22:21 | a | nested_scopes.rb:23:16:23:16 | a | | nested_scopes.rb:27:7:29:9 | self (show) | nested_scopes.rb:27:7:29:9 | self | nested_scopes.rb:28:11:28:16 | self | -| nested_scopes.rb:30:16:30:19 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | nested_scopes.rb:32:11:32:16 | self | +| nested_scopes.rb:30:7:33:9 | self (class << ...) | nested_scopes.rb:30:7:33:9 | self | nested_scopes.rb:32:11:32:16 | self | | nested_scopes.rb:31:11:31:11 | a | nested_scopes.rb:31:11:31:11 | a | nested_scopes.rb:32:16:32:16 | a | | nested_scopes.rb:40:1:40:1 | d | nested_scopes.rb:40:1:40:1 | d | nested_scopes.rb:41:1:41:1 | d | | parameters.rb:1:9:5:3 | self | parameters.rb:1:1:62:1 | self | parameters.rb:3:4:3:9 | self | @@ -467,7 +471,7 @@ firstRead | parameters.rb:49:15:49:15 | b | parameters.rb:49:15:49:15 | b | parameters.rb:50:16:50:16 | b | | parameters.rb:54:9:57:3 | self | parameters.rb:1:1:62:1 | self | parameters.rb:55:4:55:9 | self | | parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | parameters.rb:56:9:56:9 | y | -| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x | +| parameters.rb:55:4:56:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x | | parameters.rb:59:1:61:3 | self (tuples_nested) | parameters.rb:59:1:61:3 | self | parameters.rb:60:3:60:23 | self | | parameters.rb:59:20:59:20 | a | parameters.rb:59:20:59:20 | a | parameters.rb:60:11:60:11 | a | | parameters.rb:59:23:59:23 | b | parameters.rb:59:23:59:23 | b | parameters.rb:60:16:60:16 | b | @@ -509,7 +513,7 @@ firstRead | ssa.rb:6:5:6:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:7:10:7:10 | i | | ssa.rb:10:5:10:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:11:10:11:10 | i | | ssa.rb:18:1:23:3 | self (m1) | ssa.rb:18:1:23:3 | self | ssa.rb:20:5:20:10 | self | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | | ssa.rb:25:1:30:3 | elem | ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | | ssa.rb:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:29:3:29:11 | self | | ssa.rb:25:8:25:15 | elements | ssa.rb:25:8:25:15 | elements | ssa.rb:26:15:26:22 | elements | @@ -605,8 +609,8 @@ adjacentReads | ssa.rb:6:5:6:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:7:10:7:10 | i | ssa.rb:8:10:8:10 | i | | ssa.rb:10:5:10:5 | i | ssa.rb:2:3:2:3 | i | ssa.rb:11:10:11:10 | i | ssa.rb:12:10:12:10 | i | | ssa.rb:18:1:23:3 | self (m1) | ssa.rb:18:1:23:3 | self | ssa.rb:20:5:20:10 | self | ssa.rb:20:5:20:10 | self | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | ssa.rb:20:10:20:10 | x | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:20:10:20:10 | x | ssa.rb:21:5:21:5 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:19:9:19:9 | x | ssa.rb:20:10:20:10 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:20:10:20:10 | x | ssa.rb:21:5:21:5 | x | | ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self | ssa.rb:39:3:39:9 | self | ssa.rb:39:8:39:9 | self | | ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self | ssa.rb:39:8:39:9 | self | ssa.rb:41:3:41:13 | self | | ssa.rb:66:11:70:5 | captured | ssa.rb:65:3:65:10 | captured | ssa.rb:68:10:68:17 | captured | ssa.rb:69:5:69:12 | captured | @@ -624,12 +628,12 @@ phi | parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:35:16:35:16 | b | | parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:1:43:3 | e | | parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:15:40:15 | e | -| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:9:57:3 | x | -| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:19:54:19 | x | +| parameters.rb:55:4:56:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:9:57:3 | x | +| parameters.rb:55:4:56:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:19:54:19 | x | | ssa.rb:5:3:13:5 | phi | ssa.rb:2:3:2:3 | i | ssa.rb:6:5:6:5 | i | | ssa.rb:5:3:13:5 | phi | ssa.rb:2:3:2:3 | i | ssa.rb:10:5:10:5 | i | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:18:8:18:8 | x | -| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:21:5:21:5 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:18:8:18:8 | x | +| ssa.rb:19:3:22:5 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:21:5:21:5 | x | | ssa.rb:26:7:26:10 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:25:1:30:3 | elem | | ssa.rb:26:7:26:10 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | | ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x | ssa.rb:44:1:47:3 | x | @@ -637,28 +641,28 @@ phi | ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:1:51:3 | y | | ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:14:49:14 | y | phiReadNode -| parameters.rb:26:3:26:11 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | +| parameters.rb:26:3:27:13 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | | ssa.rb:5:3:13:5 | SSA phi read(self) | ssa.rb:1:1:16:3 | self | -| ssa.rb:19:9:19:9 | SSA phi read(self) | ssa.rb:18:1:23:3 | self | +| ssa.rb:19:3:22:5 | SSA phi read(self) | ssa.rb:18:1:23:3 | self | | ssa.rb:92:3:96:5 | SSA phi read(self) | ssa.rb:90:1:103:3 | self | | ssa.rb:92:3:96:5 | SSA phi read(x) | ssa.rb:91:3:91:3 | x | | ssa.rb:94:3:95:10 | SSA phi read(self) | ssa.rb:90:1:103:3 | self | | ssa.rb:94:3:95:10 | SSA phi read(x) | ssa.rb:91:3:91:3 | x | phiReadNodeFirstRead -| parameters.rb:26:3:26:11 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | parameters.rb:26:8:26:11 | name | +| parameters.rb:26:3:27:13 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | parameters.rb:26:8:26:11 | name | | ssa.rb:5:3:13:5 | SSA phi read(self) | ssa.rb:1:1:16:3 | self | ssa.rb:15:3:15:8 | self | -| ssa.rb:19:9:19:9 | SSA phi read(self) | ssa.rb:18:1:23:3 | self | ssa.rb:20:5:20:10 | self | +| ssa.rb:19:3:22:5 | SSA phi read(self) | ssa.rb:18:1:23:3 | self | ssa.rb:20:5:20:10 | self | | ssa.rb:92:3:96:5 | SSA phi read(self) | ssa.rb:90:1:103:3 | self | ssa.rb:99:5:99:10 | self | | ssa.rb:92:3:96:5 | SSA phi read(self) | ssa.rb:90:1:103:3 | self | ssa.rb:101:5:101:10 | self | | ssa.rb:92:3:96:5 | SSA phi read(x) | ssa.rb:91:3:91:3 | x | ssa.rb:99:10:99:10 | x | | ssa.rb:92:3:96:5 | SSA phi read(x) | ssa.rb:91:3:91:3 | x | ssa.rb:101:10:101:10 | x | phiReadInput -| parameters.rb:26:3:26:11 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | -| parameters.rb:26:3:26:11 | SSA phi read(name) | parameters.rb:25:40:25:43 | SSA read(name) | +| parameters.rb:26:3:27:13 | SSA phi read(name) | parameters.rb:25:15:25:18 | name | +| parameters.rb:26:3:27:13 | SSA phi read(name) | parameters.rb:25:40:25:43 | SSA read(name) | | ssa.rb:5:3:13:5 | SSA phi read(self) | ssa.rb:8:5:8:14 | SSA read(self) | | ssa.rb:5:3:13:5 | SSA phi read(self) | ssa.rb:12:5:12:14 | SSA read(self) | -| ssa.rb:19:9:19:9 | SSA phi read(self) | ssa.rb:18:1:23:3 | self (m1) | -| ssa.rb:19:9:19:9 | SSA phi read(self) | ssa.rb:20:5:20:10 | SSA read(self) | +| ssa.rb:19:3:22:5 | SSA phi read(self) | ssa.rb:18:1:23:3 | self (m1) | +| ssa.rb:19:3:22:5 | SSA phi read(self) | ssa.rb:20:5:20:10 | SSA read(self) | | ssa.rb:92:3:96:5 | SSA phi read(self) | ssa.rb:93:5:93:10 | SSA read(self) | | ssa.rb:92:3:96:5 | SSA phi read(self) | ssa.rb:94:3:95:10 | SSA phi read(self) | | ssa.rb:92:3:96:5 | SSA phi read(x) | ssa.rb:93:10:93:10 | SSA read(x) |