Merge pull request #22043 from github/copilot/tweak-ruby-ast-caseexpr

Ruby: synthesize implicit `true` value for valueless `CaseExpr`
This commit is contained in:
Anders Schack-Mulligen
2026-06-24 15:43:04 +02:00
committed by GitHub
9 changed files with 233 additions and 206 deletions

View File

@@ -355,7 +355,7 @@ class TernaryIfExpr extends ConditionalExpr, TTernaryIfExpr {
*/
class CaseExpr extends ControlExpr instanceof CaseExprImpl {
/**
* Gets the expression being compared, if any. For example, `foo` in the following example.
* Gets the expression being compared. For example, `foo` in the following example.
* ```rb
* case foo
* when 0
@@ -364,7 +364,7 @@ class CaseExpr extends ControlExpr instanceof CaseExprImpl {
* puts 'one'
* end
* ```
* There is no result for the following example:
* In the following example, the result is an implicit synthesized `true` literal.
* ```rb
* case
* when a then 0

View File

@@ -16,7 +16,11 @@ class CaseWhenClause extends CaseExprImpl, TCaseExpr {
CaseWhenClause() { this = TCaseExpr(g) }
final override Expr getValue() { toGenerated(result) = g.getValue() }
final override Expr getValue() {
toGenerated(result) = g.getValue()
or
not exists(g.getValue()) and synthChild(this, -2, result)
}
final override AstNode getBranch(int n) {
// When branches map directly to WhenClause nodes

View File

@@ -2002,6 +2002,25 @@ private module CallableBodySynthesis {
}
}
private module CaseNoValueSynthesis {
pragma[nomagic]
private predicate caseNoValueSynthesis(AstNode parent, int i, Child child) {
// Synthesize a `true` literal as the value of a `case`/`when` expression that has no value
exists(Ruby::Case g |
not exists(g.getValue()) and
parent = TCaseExpr(g) and
child = SynthChild(BooleanLiteralKind(true)) and
i = -2
)
}
private class CaseNoValueSynthesisImpl extends Synthesis {
final override predicate child(AstNode parent, int i, Child child) {
caseNoValueSynthesis(parent, i, child)
}
}
}
private module CaseElseBranchSynthesis {
pragma[nomagic]
private predicate caseElseBranchSynthesis(AstNode parent, int i, Child child) {

View File

@@ -829,6 +829,7 @@ control/cases.rb:
# 13| getBody: [StmtSequence] else ...
# 14| getStmt: [IntegerLiteral] 300
# 18| getStmt: [CaseExpr] case ...
# 18| getValue: [BooleanLiteral] true
# 19| getBranch: [WhenClause] when ...
# 19| getPattern: [GTExpr] ... > ...
# 19| getAnOperand/getGreaterOperand/getLeftOperand/getReceiver: [LocalVariableAccess] a

View File

@@ -131,6 +131,7 @@ exprValue
| control/cases.rb:11:9:11:9 | d | 0 | int |
| control/cases.rb:12:5:12:7 | 200 | 200 | int |
| control/cases.rb:14:5:14:7 | 300 | 300 | int |
| control/cases.rb:18:1:22:3 | true | true | boolean |
| control/cases.rb:19:6:19:6 | a | 0 | int |
| control/cases.rb:19:10:19:10 | b | 0 | int |
| control/cases.rb:19:18:19:19 | 10 | 10 | int |
@@ -1094,6 +1095,7 @@ exprCfgNodeValue
| control/cases.rb:11:9:11:9 | d | 0 | int |
| control/cases.rb:12:5:12:7 | 200 | 200 | int |
| control/cases.rb:14:5:14:7 | 300 | 300 | int |
| control/cases.rb:18:1:22:3 | true | true | boolean |
| control/cases.rb:19:6:19:6 | a | 0 | int |
| control/cases.rb:19:10:19:10 | b | 0 | int |
| control/cases.rb:19:18:19:19 | 10 | 10 | int |

View File

@@ -1,5 +1,6 @@
caseValues
| cases.rb:8:1:15:3 | case ... | cases.rb:8:6:8:6 | a |
| cases.rb:18:1:22:3 | case ... | cases.rb:18:1:22:3 | true |
| cases.rb:26:1:29:3 | case ... | cases.rb:26:6:26:9 | call to expr |
| cases.rb:31:1:37:3 | case ... | cases.rb:31:6:31:9 | call to expr |
| cases.rb:39:1:80:3 | case ... | cases.rb:39:6:39:9 | call to expr |
@@ -15,7 +16,6 @@ caseValues
| cases.rb:164:1:167:3 | case ... | cases.rb:165:3:165:5 | foo |
| cases.rb:169:1:172:3 | case ... | cases.rb:170:3:170:5 | foo |
caseNoValues
| cases.rb:18:1:22:3 | case ... |
caseElseBranches
| cases.rb:8:1:15:3 | case ... | cases.rb:13:1:14:7 | else ... |
| cases.rb:26:1:29:3 | case ... | cases.rb:28:3:28:12 | else ... |

View File

@@ -1022,11 +1022,11 @@ dominates
| 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 | [false] when ... |
| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -1085,11 +1085,11 @@ dominates
| 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 | [false] when ... |
| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -1145,11 +1145,11 @@ dominates
| 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 | [false] when ... |
| cfg.rb:35:1:37:3 | if ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:35:1:37:3 | if ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -1194,11 +1194,11 @@ dominates
| 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 | [false] when ... |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -1312,24 +1312,24 @@ dominates
| 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 | [false] when ... | cfg.rb:48:3:48:29 | [false] when ... |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:3:49:37 | [false] when ... |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:3:49:37 | [true] when ... |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:8:49:8 | b |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:16:49:16 | b |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:27:49:37 | self |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:3:48:29 | [true] when ... |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:20:48:29 | self |
| 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 | [false] when ... | cfg.rb:49:3:49:37 | [false] when ... |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:3:49:37 | [true] when ... |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:27:49:37 | self |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [false] when ... |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [true] when ... |
| 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 | [false] when ... |
| 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 | ... ? ... : ... |
@@ -2771,24 +2771,24 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:47:1:50:3 | case ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:47:1:50:3 | case ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 | [false] when ... | cfg.rb:48:3:48:29 | [false] when ... |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:3:48:29 | [true] when ... |
| cfg.rb:48:20:48:29 | self | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... | cfg.rb:49:3:49:37 | [false] when ... |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:3:49:37 | [true] when ... |
| cfg.rb:49:8:49:8 | b | cfg.rb:48:3:48:29 | [false] when ... |
| 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 | [true] when ... |
| 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 |
@@ -2805,11 +2805,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:60:17:60:40 | ... ? ... : ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -2835,11 +2835,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:75:1:75:47 | if ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:75:1:75:47 | if ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -2882,11 +2882,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:90:5:90:5 | if ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:90:5:90:5 | if ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -2928,11 +2928,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:113:1:113:19 | ... if ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -2967,11 +2967,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:136:1:136:29 | ... rescue ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3011,11 +3011,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:172:1:172:49 | unless ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:172:1:172:49 | unless ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3057,11 +3057,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:174:1:174:23 | ... unless ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3102,11 +3102,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:176:1:176:41 | until ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:176:1:176:41 | until ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3150,11 +3150,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:176:7:176:7 | x | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:176:7:176:7 | x | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3198,11 +3198,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:179:1:179:36 | ... until ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3250,11 +3250,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:179:30:179:30 | i | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:179:30:179:30 | i | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3300,11 +3300,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:182:1:186:3 | while ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:182:1:186:3 | while ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3356,11 +3356,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:182:7:182:7 | x | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:182:7:182:7 | x | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3417,11 +3417,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:188:1:188:35 | ... while ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3477,11 +3477,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:188:30:188:30 | i | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:188:30:188:30 | i | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -3542,11 +3542,11 @@ postDominance
| 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 | [false] when ... |
| cfg.rb:205:4:205:5 | if ... | cfg.rb:48:3:48:29 | [true] when ... |
| 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 | [false] when ... |
| cfg.rb:205:4:205:5 | if ... | cfg.rb:49:3:49:37 | [true] when ... |
| 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 |
@@ -4295,14 +4295,14 @@ immediateDominator
| 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 | [false] when ... | cfg.rb:41:1:45:3 | case ... |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:41:1:45:3 | case ... |
| cfg.rb:48:20:48:29 | self | cfg.rb:48:3:48:29 | [true] when ... |
| cfg.rb:49:3:49:37 | [false] when ... | cfg.rb:49:16:49:16 | b |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:8:49:8 | b |
| cfg.rb:49:8:49:8 | b | cfg.rb:48:3:48:29 | [false] when ... |
| 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 | [true] when ... |
| 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 ... |
@@ -5310,11 +5310,11 @@ controls
| 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 | [false] when ... | true |
| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:48:3:48:29 | [true] when ... | 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 | [false] when ... | true |
| cfg.rb:1:1:221:1 | enter cfg.rb | cfg.rb:49:3:49:37 | [true] when ... | 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 |
@@ -5370,11 +5370,11 @@ controls
| 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 | [false] when ... | false |
| cfg.rb:32:9:32:9 | 1 | cfg.rb:48:3:48:29 | [true] when ... | 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 | [false] when ... | false |
| cfg.rb:32:9:32:9 | 1 | cfg.rb:49:3:49:37 | [true] when ... | 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 |
@@ -5427,14 +5427,14 @@ controls
| 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 | [false] when ... | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [true] when ... | true |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:20:48:29 | self | true |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [false] when ... | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:3:49:37 | [true] when ... | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:8:49:8 | b | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:16:49:16 | b | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:49:27:49:37 | self | false |
| 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 |
@@ -5456,16 +5456,16 @@ controls
| 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 | [false] when ... | cfg.rb:49:3:49:37 | [false] when ... | false |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:3:49:37 | [true] when ... | false |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:8:49:8 | b | false |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:16:49:16 | b | false |
| cfg.rb:48:3:48:29 | [false] when ... | cfg.rb:49:27:49:37 | self | false |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:20:48:29 | self | true |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:27:49:37 | self | true |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [false] when ... | false |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:16:49:16 | b | false |
| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [false] when ... | 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 |
@@ -6010,8 +6010,8 @@ successor
| 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 | [false] when ... | false |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:3:48:29 | [true] when ... | true |
| 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 |
@@ -6024,14 +6024,14 @@ successor
| 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 | [false] when ... | cfg.rb:49:8:49:8 | b | false |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:20:48:29 | self | true |
| cfg.rb:49:3:49:37 | [false] when ... | cfg.rb:47:1:50:3 | case ... | false |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:27:49:37 | self | true |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:3:49:37 | [true] when ... | true |
| cfg.rb:49:8:49:8 | b | cfg.rb:49:16:49:16 | b | false |
| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [false] when ... | false |
| cfg.rb:49:16:49:16 | b | cfg.rb:49:3:49:37 | [true] when ... | true |
| 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 |
@@ -6365,10 +6365,10 @@ joinBlockPredecessor
| 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 | [false] when ... | 1 |
| 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 | [true] when ... | cfg.rb:49:8:49:8 | b | 0 |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:16:49:16 | b | 1 |
| 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 |

View File

@@ -649,7 +649,7 @@
| 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:11:39:12 | 42 | cfg.rb:39:1:39:12 | call to puts | |
| cfg.rb:41:1:45:3 | case ... | cfg.rb:48:8:48:8 | b | |
| 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 |
@@ -679,26 +679,27 @@
| cfg.rb:44:13:44:18 | "many" | cfg.rb:44:8:44:18 | call to puts | |
| 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:48:3:48:29 | [false] when ... | cfg.rb:49:8:49:8 | b | false |
| cfg.rb:48:3:48:29 | [true] when ... | cfg.rb:48:20:48:29 | self | true |
| 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:48:8:48:8 | b | cfg.rb:48:13:48:13 | 1 | |
| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:3:48:29 | [false] when ... | false |
| cfg.rb:48:8:48:13 | ... == ... | cfg.rb:48:3:48:29 | [true] when ... | true |
| 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: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:26:48:28 | one | cfg.rb:48:25:48:29 | "one" | |
| cfg.rb:49:3:49:37 | [false] when ... | cfg.rb:47:1:50:3 | case ... | false |
| cfg.rb:49:3:49:37 | [true] when ... | cfg.rb:49:27:49:37 | self | true |
| 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:13:49:13 | 0 | |
| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:3:49:37 | [true] when ... | true |
| cfg.rb:49:8:49:13 | ... == ... | cfg.rb:49:16:49:16 | b | false |
| 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: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 | [false] when ... | false |
| cfg.rb:49:16:49:20 | ... > ... | cfg.rb:49:3:49:37 | [true] when ... | true |
| 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: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 ... | |

View File

@@ -266,46 +266,46 @@ controls
| 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 | [true] when ... | barrier-guards.rb:233:5:233:7 | foo | true |
| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:1:233:19 | [false] when ... | false |
| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:232:1:233:19 | [true] when ... | true |
| barrier-guards.rb:232:6:232:17 | ... == ... | barrier-guards.rb:233:5:233:7 | foo | true |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:238:1:238:26 | [false] when ... | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:238:1:238:26 | [true] when ... | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:238:6:238:8 | self | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:238:24:238:26 | foo | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:239:1:239:22 | [false] when ... | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:239:1:239:22 | [true] when ... | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:239:6:239:8 | foo | false |
| barrier-guards.rb:237:1:237:38 | [false] when ... | barrier-guards.rb:239:20:239:22 | foo | false |
| barrier-guards.rb:237:1:237:38 | [true] when ... | barrier-guards.rb:237:24:237:26 | foo | true |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:1:237:38 | [false] when ... | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:1:237:38 | [true] when ... | true |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:237:24:237:26 | foo | true |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [false] when ... | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [true] when ... | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:6:238:8 | self | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:238:24:238:26 | foo | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [false] when ... | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [true] when ... | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:6:239:8 | foo | false |
| barrier-guards.rb:237:6:237:17 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | false |
| barrier-guards.rb:238:1:238:26 | [false] when ... | barrier-guards.rb:239:1:239:22 | [false] when ... | false |
| barrier-guards.rb:238:1:238:26 | [false] when ... | barrier-guards.rb:239:1:239:22 | [true] when ... | false |
| barrier-guards.rb:238:1:238:26 | [false] when ... | barrier-guards.rb:239:6:239:8 | foo | false |
| barrier-guards.rb:238:1:238:26 | [false] when ... | barrier-guards.rb:239:20:239:22 | foo | false |
| barrier-guards.rb:238:1:238:26 | [true] when ... | barrier-guards.rb:238:24:238:26 | foo | true |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [false] when ... | false |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:1:238:26 | [true] when ... | true |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:238:24:238:26 | foo | true |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [false] when ... | false |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:1:239:22 | [true] when ... | false |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:6:239:8 | foo | false |
| barrier-guards.rb:238:6:238:17 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | false |
| barrier-guards.rb:239:1:239:22 | [true] when ... | barrier-guards.rb:239:20:239:22 | foo | true |
| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:1:239:22 | [false] when ... | false |
| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:1:239:22 | [true] when ... | true |
| barrier-guards.rb:239:6:239:13 | ... == ... | barrier-guards.rb:239:20:239:22 | foo | 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 |