mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
Merge pull request #7098 from github/ruby/desugar-for-1
Ruby: Desugar `for` loops as calls to `each`
This commit is contained in:
@@ -365,7 +365,6 @@ calls/calls.rb:
|
||||
# 223| getReceiver: [ConstantReadAccess] X
|
||||
# 226| getStmt: [ForExpr] for ... in ...
|
||||
# 226| getPattern: [LocalVariableAccess] x
|
||||
# 226| <in>: [???] In
|
||||
# 226| getValue: [MethodCall] call to bar
|
||||
# 226| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 226| getBody: [StmtSequence] do ...
|
||||
@@ -373,7 +372,6 @@ calls/calls.rb:
|
||||
# 227| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 229| getStmt: [ForExpr] for ... in ...
|
||||
# 229| getPattern: [LocalVariableAccess] x
|
||||
# 229| <in>: [???] In
|
||||
# 229| getValue: [MethodCall] call to bar
|
||||
# 229| getReceiver: [ConstantReadAccess] X
|
||||
# 229| getBody: [StmtSequence] do ...
|
||||
@@ -655,6 +653,26 @@ calls/calls.rb:
|
||||
# 336| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 336| getArgument: [LocalVariableAccess] b
|
||||
# 336| getArgument: [ForwardedArguments] ...
|
||||
# 340| getStmt: [ForExpr] for ... in ...
|
||||
# 340| getPattern: [TuplePattern] (..., ...)
|
||||
# 340| getElement: [LocalVariableAccess] x
|
||||
# 340| getElement: [LocalVariableAccess] y
|
||||
# 340| getElement: [LocalVariableAccess] z
|
||||
# 340| getValue: [ArrayLiteral] [...]
|
||||
# 340| getElement: [ArrayLiteral] [...]
|
||||
# 340| getElement: [IntegerLiteral] 1
|
||||
# 340| getElement: [IntegerLiteral] 2
|
||||
# 340| getElement: [IntegerLiteral] 3
|
||||
# 340| getElement: [ArrayLiteral] [...]
|
||||
# 340| getElement: [IntegerLiteral] 4
|
||||
# 340| getElement: [IntegerLiteral] 5
|
||||
# 340| getElement: [IntegerLiteral] 6
|
||||
# 340| getBody: [StmtSequence] do ...
|
||||
# 341| getStmt: [MethodCall] call to foo
|
||||
# 341| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 341| getArgument: [LocalVariableAccess] x
|
||||
# 341| getArgument: [LocalVariableAccess] y
|
||||
# 341| getArgument: [LocalVariableAccess] z
|
||||
control/cases.rb:
|
||||
# 1| [Toplevel] cases.rb
|
||||
# 2| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1422,7 +1440,6 @@ control/loops.rb:
|
||||
# 6| getAnOperand/getRightOperand: [IntegerLiteral] 0
|
||||
# 9| getStmt: [ForExpr] for ... in ...
|
||||
# 9| getPattern: [LocalVariableAccess] n
|
||||
# 9| <in>: [???] In
|
||||
# 9| getValue: [RangeLiteral] _ .. _
|
||||
# 9| getBegin: [IntegerLiteral] 1
|
||||
# 9| getEnd: [IntegerLiteral] 10
|
||||
@@ -1435,7 +1452,6 @@ control/loops.rb:
|
||||
# 11| getAnOperand/getRightOperand: [LocalVariableAccess] n
|
||||
# 16| getStmt: [ForExpr] for ... in ...
|
||||
# 16| getPattern: [LocalVariableAccess] n
|
||||
# 16| <in>: [???] In
|
||||
# 16| getValue: [RangeLiteral] _ .. _
|
||||
# 16| getBegin: [IntegerLiteral] 1
|
||||
# 16| getEnd: [IntegerLiteral] 10
|
||||
@@ -1450,7 +1466,6 @@ control/loops.rb:
|
||||
# 22| getPattern: [TuplePattern] (..., ...)
|
||||
# 22| getElement: [LocalVariableAccess] key
|
||||
# 22| getElement: [LocalVariableAccess] value
|
||||
# 22| <in>: [???] In
|
||||
# 22| getValue: [HashLiteral] {...}
|
||||
# 22| getElement: [Pair] Pair
|
||||
# 22| getKey: [SymbolLiteral] :foo
|
||||
@@ -1469,7 +1484,6 @@ control/loops.rb:
|
||||
# 28| getPattern: [TuplePattern] (..., ...)
|
||||
# 28| getElement: [LocalVariableAccess] key
|
||||
# 28| getElement: [LocalVariableAccess] value
|
||||
# 28| <in>: [???] In
|
||||
# 28| getValue: [HashLiteral] {...}
|
||||
# 28| getElement: [Pair] Pair
|
||||
# 28| getKey: [SymbolLiteral] :foo
|
||||
@@ -2140,7 +2154,6 @@ erb/template.html.erb:
|
||||
# 25| getAnOperand/getRightOperand: [StringLiteral] ""
|
||||
# 27| getStmt: [ForExpr] for ... in ...
|
||||
# 27| getPattern: [LocalVariableAccess] x
|
||||
# 27| <in>: [???] In
|
||||
# 27| getValue: [ArrayLiteral] [...]
|
||||
# 27| getElement: [StringLiteral] "foo"
|
||||
# 27| getComponent: [StringTextComponent] foo
|
||||
|
||||
@@ -23,6 +23,30 @@ calls/calls.rb:
|
||||
# 67| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] var1
|
||||
# 67| getAnOperand/getArgument/getRightOperand: [MethodCall] call to bar
|
||||
# 67| getReceiver: [ConstantReadAccess] X
|
||||
# 226| [ForExpr] for ... in ...
|
||||
# 226| getDesugared: [MethodCall] call to each
|
||||
# 226| getBlock: [BraceBlock] { ... }
|
||||
# 226| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 226| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 226| getStmt: [AssignExpr] ... = ...
|
||||
# 226| getAnOperand/getRightOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 226| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
# 227| getStmt: [MethodCall] call to baz
|
||||
# 227| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 226| getReceiver: [MethodCall] call to bar
|
||||
# 226| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 229| [ForExpr] for ... in ...
|
||||
# 229| getDesugared: [MethodCall] call to each
|
||||
# 229| getBlock: [BraceBlock] { ... }
|
||||
# 229| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 229| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 229| getStmt: [AssignExpr] ... = ...
|
||||
# 229| getAnOperand/getRightOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 229| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
# 230| getStmt: [MethodCall] call to baz
|
||||
# 230| getReceiver: [ConstantReadAccess] X
|
||||
# 229| getReceiver: [MethodCall] call to bar
|
||||
# 229| getReceiver: [ConstantReadAccess] X
|
||||
# 314| [AssignExpr] ... = ...
|
||||
# 314| getDesugared: [StmtSequence] ...
|
||||
# 314| getStmt: [SetterMethodCall] call to foo=
|
||||
@@ -195,6 +219,53 @@ calls/calls.rb:
|
||||
# 320| getAnOperand/getArgument/getRightOperand: [IntegerLiteral] 2
|
||||
# 320| getAnOperand/getLeftOperand: [LocalVariableAccess] __synth__4
|
||||
# 320| getStmt: [LocalVariableAccess] __synth__4
|
||||
# 340| [ForExpr] for ... in ...
|
||||
# 340| getDesugared: [MethodCall] call to each
|
||||
# 340| getBlock: [BraceBlock] { ... }
|
||||
# 340| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 340| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getStmt: [AssignExpr] ... = ...
|
||||
# 340| getDesugared: [StmtSequence] ...
|
||||
# 340| getStmt: [AssignExpr] ... = ...
|
||||
# 340| getAnOperand/getRightOperand: [SplatExpr] * ...
|
||||
# 340| getAnOperand/getOperand/getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getAnOperand/getLeftOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getStmt: [AssignExpr] ... = ...
|
||||
# 340| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
# 340| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 340| getArgument: [IntegerLiteral] 0
|
||||
# 340| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getStmt: [AssignExpr] ... = ...
|
||||
# 340| getAnOperand/getLeftOperand: [LocalVariableAccess] y
|
||||
# 340| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 340| getArgument: [IntegerLiteral] 1
|
||||
# 340| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getStmt: [AssignExpr] ... = ...
|
||||
# 340| getAnOperand/getLeftOperand: [LocalVariableAccess] z
|
||||
# 340| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 340| getArgument: [IntegerLiteral] 2
|
||||
# 340| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 340| getLeftOperand: [TuplePattern] (..., ...)
|
||||
# 341| getStmt: [MethodCall] call to foo
|
||||
# 341| getReceiver: [Self, SelfVariableAccess] self
|
||||
# 341| getArgument: [LocalVariableAccess] x
|
||||
# 341| getArgument: [LocalVariableAccess] y
|
||||
# 341| getArgument: [LocalVariableAccess] z
|
||||
# 340| getReceiver: [ArrayLiteral] [...]
|
||||
# 340| getDesugared: [MethodCall] call to []
|
||||
# 340| getReceiver: [ConstantReadAccess] Array
|
||||
# 340| getArgument: [ArrayLiteral] [...]
|
||||
# 340| getDesugared: [MethodCall] call to []
|
||||
# 340| getReceiver: [ConstantReadAccess] Array
|
||||
# 340| getArgument: [IntegerLiteral] 1
|
||||
# 340| getArgument: [IntegerLiteral] 2
|
||||
# 340| getArgument: [IntegerLiteral] 3
|
||||
# 340| getArgument: [ArrayLiteral] [...]
|
||||
# 340| getDesugared: [MethodCall] call to []
|
||||
# 340| getReceiver: [ConstantReadAccess] Array
|
||||
# 340| getArgument: [IntegerLiteral] 4
|
||||
# 340| getArgument: [IntegerLiteral] 5
|
||||
# 340| getArgument: [IntegerLiteral] 6
|
||||
constants/constants.rb:
|
||||
# 20| [ArrayLiteral] [...]
|
||||
# 20| getDesugared: [MethodCall] call to []
|
||||
@@ -327,48 +398,132 @@ literals/literals.rb:
|
||||
# 109| getArgument: [SymbolLiteral] :"baz"
|
||||
# 109| getComponent: [StringTextComponent] baz
|
||||
control/loops.rb:
|
||||
# 10| [AssignAddExpr] ... += ...
|
||||
# 10| getDesugared: [AssignExpr] ... = ...
|
||||
# 10| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 10| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 10| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 10| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 17| [AssignAddExpr] ... += ...
|
||||
# 17| getDesugared: [AssignExpr] ... = ...
|
||||
# 17| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 17| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 17| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 17| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 18| [AssignSubExpr] ... -= ...
|
||||
# 18| getDesugared: [AssignExpr] ... = ...
|
||||
# 18| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 18| getAnOperand/getRightOperand: [SubExpr] ... - ...
|
||||
# 18| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 18| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 23| [AssignAddExpr] ... += ...
|
||||
# 23| getDesugared: [AssignExpr] ... = ...
|
||||
# 23| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 23| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 23| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 23| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 24| [AssignMulExpr] ... *= ...
|
||||
# 24| getDesugared: [AssignExpr] ... = ...
|
||||
# 24| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 24| getAnOperand/getRightOperand: [MulExpr] ... * ...
|
||||
# 24| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 24| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 29| [AssignAddExpr] ... += ...
|
||||
# 29| getDesugared: [AssignExpr] ... = ...
|
||||
# 29| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 29| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 29| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 29| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 30| [AssignDivExpr] ... /= ...
|
||||
# 30| getDesugared: [AssignExpr] ... = ...
|
||||
# 30| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 30| getAnOperand/getRightOperand: [DivExpr] ... / ...
|
||||
# 30| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 30| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 9| [ForExpr] for ... in ...
|
||||
# 9| getDesugared: [MethodCall] call to each
|
||||
# 9| getBlock: [BraceBlock] { ... }
|
||||
# 9| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 9| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 9| getStmt: [AssignExpr] ... = ...
|
||||
# 9| getAnOperand/getRightOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 9| getAnOperand/getLeftOperand: [LocalVariableAccess] n
|
||||
# 10| getStmt: [AssignAddExpr] ... += ...
|
||||
# 10| getDesugared: [AssignExpr] ... = ...
|
||||
# 10| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 10| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 10| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 10| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 11| getStmt: [AssignExpr] ... = ...
|
||||
# 11| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 11| getAnOperand/getRightOperand: [LocalVariableAccess] n
|
||||
# 9| getReceiver: [RangeLiteral] _ .. _
|
||||
# 9| getBegin: [IntegerLiteral] 1
|
||||
# 9| getEnd: [IntegerLiteral] 10
|
||||
# 16| [ForExpr] for ... in ...
|
||||
# 16| getDesugared: [MethodCall] call to each
|
||||
# 16| getBlock: [BraceBlock] { ... }
|
||||
# 16| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 16| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 16| getStmt: [AssignExpr] ... = ...
|
||||
# 16| getAnOperand/getRightOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 16| getAnOperand/getLeftOperand: [LocalVariableAccess] n
|
||||
# 17| getStmt: [AssignAddExpr] ... += ...
|
||||
# 17| getDesugared: [AssignExpr] ... = ...
|
||||
# 17| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 17| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 17| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 17| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 18| getStmt: [AssignSubExpr] ... -= ...
|
||||
# 18| getDesugared: [AssignExpr] ... = ...
|
||||
# 18| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 18| getAnOperand/getRightOperand: [SubExpr] ... - ...
|
||||
# 18| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 18| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] n
|
||||
# 16| getReceiver: [RangeLiteral] _ .. _
|
||||
# 16| getBegin: [IntegerLiteral] 1
|
||||
# 16| getEnd: [IntegerLiteral] 10
|
||||
# 22| [ForExpr] for ... in ...
|
||||
# 22| getDesugared: [MethodCall] call to each
|
||||
# 22| getBlock: [BraceBlock] { ... }
|
||||
# 22| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 22| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 22| getStmt: [AssignExpr] ... = ...
|
||||
# 22| getDesugared: [StmtSequence] ...
|
||||
# 22| getStmt: [AssignExpr] ... = ...
|
||||
# 22| getAnOperand/getRightOperand: [SplatExpr] * ...
|
||||
# 22| getAnOperand/getOperand/getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 22| getAnOperand/getLeftOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 22| getStmt: [AssignExpr] ... = ...
|
||||
# 22| getAnOperand/getLeftOperand: [LocalVariableAccess] key
|
||||
# 22| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 22| getArgument: [IntegerLiteral] 0
|
||||
# 22| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 22| getStmt: [AssignExpr] ... = ...
|
||||
# 22| getAnOperand/getLeftOperand: [LocalVariableAccess] value
|
||||
# 22| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 22| getArgument: [IntegerLiteral] 1
|
||||
# 22| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 22| getLeftOperand: [TuplePattern] (..., ...)
|
||||
# 23| getStmt: [AssignAddExpr] ... += ...
|
||||
# 23| getDesugared: [AssignExpr] ... = ...
|
||||
# 23| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 23| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 23| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 23| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 24| getStmt: [AssignMulExpr] ... *= ...
|
||||
# 24| getDesugared: [AssignExpr] ... = ...
|
||||
# 24| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 24| getAnOperand/getRightOperand: [MulExpr] ... * ...
|
||||
# 24| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 24| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 22| getReceiver: [HashLiteral] {...}
|
||||
# 22| getElement: [Pair] Pair
|
||||
# 22| getKey: [SymbolLiteral] :foo
|
||||
# 22| getValue: [IntegerLiteral] 0
|
||||
# 22| getElement: [Pair] Pair
|
||||
# 22| getKey: [SymbolLiteral] :bar
|
||||
# 22| getValue: [IntegerLiteral] 1
|
||||
# 28| [ForExpr] for ... in ...
|
||||
# 28| getDesugared: [MethodCall] call to each
|
||||
# 28| getBlock: [BraceBlock] { ... }
|
||||
# 28| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 28| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 28| getStmt: [AssignExpr] ... = ...
|
||||
# 28| getDesugared: [StmtSequence] ...
|
||||
# 28| getStmt: [AssignExpr] ... = ...
|
||||
# 28| getAnOperand/getRightOperand: [SplatExpr] * ...
|
||||
# 28| getAnOperand/getOperand/getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 28| getAnOperand/getLeftOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 28| getStmt: [AssignExpr] ... = ...
|
||||
# 28| getAnOperand/getLeftOperand: [LocalVariableAccess] key
|
||||
# 28| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 28| getArgument: [IntegerLiteral] 0
|
||||
# 28| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 28| getStmt: [AssignExpr] ... = ...
|
||||
# 28| getAnOperand/getLeftOperand: [LocalVariableAccess] value
|
||||
# 28| getAnOperand/getRightOperand: [MethodCall] call to []
|
||||
# 28| getArgument: [IntegerLiteral] 1
|
||||
# 28| getReceiver: [LocalVariableAccess] __synth__0__1
|
||||
# 28| getLeftOperand: [TuplePattern] (..., ...)
|
||||
# 29| getStmt: [AssignAddExpr] ... += ...
|
||||
# 29| getDesugared: [AssignExpr] ... = ...
|
||||
# 29| getAnOperand/getLeftOperand: [LocalVariableAccess] sum
|
||||
# 29| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 29| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] sum
|
||||
# 29| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 30| getStmt: [AssignDivExpr] ... /= ...
|
||||
# 30| getDesugared: [AssignExpr] ... = ...
|
||||
# 30| getAnOperand/getLeftOperand: [LocalVariableAccess] foo
|
||||
# 30| getAnOperand/getRightOperand: [DivExpr] ... / ...
|
||||
# 30| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] foo
|
||||
# 30| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] value
|
||||
# 31| getStmt: [BreakStmt] break
|
||||
# 28| getReceiver: [HashLiteral] {...}
|
||||
# 28| getElement: [Pair] Pair
|
||||
# 28| getKey: [SymbolLiteral] :foo
|
||||
# 28| getValue: [IntegerLiteral] 0
|
||||
# 28| getElement: [Pair] Pair
|
||||
# 28| getKey: [SymbolLiteral] :bar
|
||||
# 28| getValue: [IntegerLiteral] 1
|
||||
# 36| [AssignAddExpr] ... += ...
|
||||
# 36| getDesugared: [AssignExpr] ... = ...
|
||||
# 36| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
@@ -535,21 +690,30 @@ params/params.rb:
|
||||
# 21| getDesugared: [MethodCall] call to []
|
||||
# 21| getReceiver: [ConstantReadAccess] Array
|
||||
erb/template.html.erb:
|
||||
# 27| [ArrayLiteral] [...]
|
||||
# 27| getDesugared: [MethodCall] call to []
|
||||
# 27| getReceiver: [ConstantReadAccess] Array
|
||||
# 27| getArgument: [StringLiteral] "foo"
|
||||
# 27| getComponent: [StringTextComponent] foo
|
||||
# 27| getArgument: [StringLiteral] "bar"
|
||||
# 27| getComponent: [StringTextComponent] bar
|
||||
# 27| getArgument: [StringLiteral] "baz"
|
||||
# 27| getComponent: [StringTextComponent] baz
|
||||
# 28| [AssignAddExpr] ... += ...
|
||||
# 28| getDesugared: [AssignExpr] ... = ...
|
||||
# 28| getAnOperand/getLeftOperand: [LocalVariableAccess] xs
|
||||
# 28| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 28| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] xs
|
||||
# 28| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] x
|
||||
# 27| [ForExpr] for ... in ...
|
||||
# 27| getDesugared: [MethodCall] call to each
|
||||
# 27| getBlock: [BraceBlock] { ... }
|
||||
# 27| getParameter: [SimpleParameter] __synth__0__1
|
||||
# 27| getDefiningAccess: [LocalVariableAccess] __synth__0__1
|
||||
# 27| getStmt: [AssignExpr] ... = ...
|
||||
# 27| getAnOperand/getRightOperand: [LocalVariableAccess] __synth__0__1
|
||||
# 27| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
# 28| getStmt: [AssignAddExpr] ... += ...
|
||||
# 28| getDesugared: [AssignExpr] ... = ...
|
||||
# 28| getAnOperand/getLeftOperand: [LocalVariableAccess] xs
|
||||
# 28| getAnOperand/getRightOperand: [AddExpr] ... + ...
|
||||
# 28| getAnOperand/getLeftOperand/getReceiver: [LocalVariableAccess] xs
|
||||
# 28| getAnOperand/getArgument/getRightOperand: [LocalVariableAccess] x
|
||||
# 29| getStmt: [LocalVariableAccess] xs
|
||||
# 27| getReceiver: [ArrayLiteral] [...]
|
||||
# 27| getDesugared: [MethodCall] call to []
|
||||
# 27| getReceiver: [ConstantReadAccess] Array
|
||||
# 27| getArgument: [StringLiteral] "foo"
|
||||
# 27| getComponent: [StringTextComponent] foo
|
||||
# 27| getArgument: [StringLiteral] "bar"
|
||||
# 27| getComponent: [StringTextComponent] bar
|
||||
# 27| getArgument: [StringLiteral] "baz"
|
||||
# 27| getComponent: [StringTextComponent] baz
|
||||
gems/test.gemspec:
|
||||
# 2| [AssignExpr] ... = ...
|
||||
# 2| getDesugared: [StmtSequence] ...
|
||||
|
||||
@@ -56,6 +56,15 @@
|
||||
| calls/calls.rb:320:31:320:31 | 1 | 1 |
|
||||
| calls/calls.rb:320:37:320:37 | 2 | 2 |
|
||||
| calls/calls.rb:328:31:328:37 | "error" | error |
|
||||
| calls/calls.rb:340:5:340:5 | 0 | 0 |
|
||||
| calls/calls.rb:340:8:340:8 | 1 | 1 |
|
||||
| calls/calls.rb:340:11:340:11 | 2 | 2 |
|
||||
| calls/calls.rb:340:18:340:18 | 1 | 1 |
|
||||
| calls/calls.rb:340:20:340:20 | 2 | 2 |
|
||||
| calls/calls.rb:340:22:340:22 | 3 | 3 |
|
||||
| calls/calls.rb:340:27:340:27 | 4 | 4 |
|
||||
| calls/calls.rb:340:29:340:29 | 5 | 5 |
|
||||
| calls/calls.rb:340:31:340:31 | 6 | 6 |
|
||||
| constants/constants.rb:3:19:3:27 | "const_a" | const_a |
|
||||
| constants/constants.rb:6:15:6:23 | "const_b" | const_b |
|
||||
| constants/constants.rb:17:12:17:18 | "Hello" | Hello |
|
||||
@@ -150,10 +159,14 @@
|
||||
| control/loops.rb:9:13:9:14 | 10 | 10 |
|
||||
| control/loops.rb:16:10:16:10 | 1 | 1 |
|
||||
| control/loops.rb:16:13:16:14 | 10 | 10 |
|
||||
| control/loops.rb:22:5:22:7 | 0 | 0 |
|
||||
| control/loops.rb:22:10:22:14 | 1 | 1 |
|
||||
| control/loops.rb:22:20:22:22 | :foo | foo |
|
||||
| control/loops.rb:22:25:22:25 | 0 | 0 |
|
||||
| control/loops.rb:22:28:22:30 | :bar | bar |
|
||||
| control/loops.rb:22:33:22:33 | 1 | 1 |
|
||||
| control/loops.rb:28:6:28:8 | 0 | 0 |
|
||||
| control/loops.rb:28:11:28:15 | 1 | 1 |
|
||||
| control/loops.rb:28:22:28:24 | :foo | foo |
|
||||
| control/loops.rb:28:27:28:27 | 0 | 0 |
|
||||
| control/loops.rb:28:30:28:32 | :bar | bar |
|
||||
|
||||
@@ -6,6 +6,7 @@ splatExpr
|
||||
| calls.rb:271:5:271:11 | * ... | calls.rb:271:6:271:11 | call to bar |
|
||||
| calls.rb:316:31:316:42 | * ... | calls.rb:316:31:316:42 | [...] |
|
||||
| calls.rb:317:14:317:22 | * ... | calls.rb:317:14:317:22 | [...] |
|
||||
| calls.rb:340:1:342:3 | * ... | calls.rb:340:1:342:3 | __synth__0__1 |
|
||||
hashSplatExpr
|
||||
| calls.rb:274:5:274:9 | ** ... | calls.rb:274:7:274:9 | call to bar |
|
||||
| calls.rb:275:5:275:12 | ** ... | calls.rb:275:7:275:12 | call to bar |
|
||||
|
||||
@@ -90,6 +90,20 @@ callsWithArguments
|
||||
| calls.rb:332:3:332:12 | call to super | super | 0 | calls.rb:332:9:332:11 | ... |
|
||||
| calls.rb:336:3:336:13 | call to bar | bar | 0 | calls.rb:336:7:336:7 | b |
|
||||
| calls.rb:336:3:336:13 | call to bar | bar | 1 | calls.rb:336:10:336:12 | ... |
|
||||
| calls.rb:340:5:340:5 | call to [] | [] | 0 | calls.rb:340:5:340:5 | 0 |
|
||||
| calls.rb:340:8:340:8 | call to [] | [] | 0 | calls.rb:340:8:340:8 | 1 |
|
||||
| calls.rb:340:11:340:11 | call to [] | [] | 0 | calls.rb:340:11:340:11 | 2 |
|
||||
| calls.rb:340:16:340:33 | call to [] | [] | 0 | calls.rb:340:17:340:23 | [...] |
|
||||
| calls.rb:340:16:340:33 | call to [] | [] | 1 | calls.rb:340:26:340:32 | [...] |
|
||||
| calls.rb:340:17:340:23 | call to [] | [] | 0 | calls.rb:340:18:340:18 | 1 |
|
||||
| calls.rb:340:17:340:23 | call to [] | [] | 1 | calls.rb:340:20:340:20 | 2 |
|
||||
| calls.rb:340:17:340:23 | call to [] | [] | 2 | calls.rb:340:22:340:22 | 3 |
|
||||
| calls.rb:340:26:340:32 | call to [] | [] | 0 | calls.rb:340:27:340:27 | 4 |
|
||||
| calls.rb:340:26:340:32 | call to [] | [] | 1 | calls.rb:340:29:340:29 | 5 |
|
||||
| calls.rb:340:26:340:32 | call to [] | [] | 2 | calls.rb:340:31:340:31 | 6 |
|
||||
| calls.rb:341:3:341:13 | call to foo | foo | 0 | calls.rb:341:7:341:7 | x |
|
||||
| calls.rb:341:3:341:13 | call to foo | foo | 1 | calls.rb:341:10:341:10 | y |
|
||||
| calls.rb:341:3:341:13 | call to foo | foo | 2 | calls.rb:341:13:341:13 | z |
|
||||
callsWithReceiver
|
||||
| calls.rb:2:1:2:5 | call to foo | calls.rb:2:1:2:5 | self |
|
||||
| calls.rb:5:1:5:10 | call to bar | calls.rb:5:1:5:3 | Foo |
|
||||
@@ -214,8 +228,10 @@ callsWithReceiver
|
||||
| calls.rb:222:11:222:13 | call to foo | calls.rb:222:11:222:13 | self |
|
||||
| calls.rb:223:1:223:6 | call to bar | calls.rb:223:1:223:1 | X |
|
||||
| calls.rb:223:14:223:19 | call to foo | calls.rb:223:14:223:14 | X |
|
||||
| calls.rb:226:1:228:3 | call to each | calls.rb:226:10:226:12 | call to bar |
|
||||
| calls.rb:226:10:226:12 | call to bar | calls.rb:226:10:226:12 | self |
|
||||
| calls.rb:227:3:227:5 | call to baz | calls.rb:227:3:227:5 | self |
|
||||
| calls.rb:229:1:231:3 | call to each | calls.rb:229:10:229:15 | call to bar |
|
||||
| calls.rb:229:10:229:15 | call to bar | calls.rb:229:10:229:10 | X |
|
||||
| calls.rb:230:3:230:8 | call to baz | calls.rb:230:3:230:3 | X |
|
||||
| calls.rb:234:1:234:3 | call to foo | calls.rb:234:1:234:3 | self |
|
||||
@@ -328,16 +344,28 @@ callsWithReceiver
|
||||
| calls.rb:328:13:328:15 | call to bar | calls.rb:328:13:328:15 | self |
|
||||
| calls.rb:328:25:328:37 | call to print | calls.rb:328:25:328:37 | self |
|
||||
| calls.rb:336:3:336:13 | call to bar | calls.rb:336:3:336:13 | self |
|
||||
| calls.rb:340:1:342:3 | * ... | calls.rb:340:1:342:3 | __synth__0__1 |
|
||||
| calls.rb:340:1:342:3 | call to each | calls.rb:340:16:340:33 | [...] |
|
||||
| calls.rb:340:5:340:5 | call to [] | calls.rb:340:5:340:5 | __synth__0__1 |
|
||||
| calls.rb:340:8:340:8 | call to [] | calls.rb:340:8:340:8 | __synth__0__1 |
|
||||
| calls.rb:340:11:340:11 | call to [] | calls.rb:340:11:340:11 | __synth__0__1 |
|
||||
| calls.rb:340:16:340:33 | call to [] | calls.rb:340:16:340:33 | Array |
|
||||
| calls.rb:340:17:340:23 | call to [] | calls.rb:340:17:340:23 | Array |
|
||||
| calls.rb:340:26:340:32 | call to [] | calls.rb:340:26:340:32 | Array |
|
||||
| calls.rb:341:3:341:13 | call to foo | calls.rb:341:3:341:13 | self |
|
||||
callsWithBlock
|
||||
| calls.rb:17:1:17:17 | call to foo | calls.rb:17:5:17:17 | { ... } |
|
||||
| calls.rb:20:1:22:3 | call to foo | calls.rb:20:5:22:3 | do ... end |
|
||||
| calls.rb:25:1:27:3 | call to bar | calls.rb:25:16:27:3 | do ... end |
|
||||
| calls.rb:92:1:92:21 | call to foo | calls.rb:92:7:92:21 | { ... } |
|
||||
| calls.rb:95:1:98:3 | call to foo | calls.rb:95:7:98:3 | do ... end |
|
||||
| calls.rb:226:1:228:3 | call to each | calls.rb:226:1:228:3 | { ... } |
|
||||
| calls.rb:229:1:231:3 | call to each | calls.rb:229:1:231:3 | { ... } |
|
||||
| calls.rb:290:5:290:23 | call to super | calls.rb:290:11:290:23 | { ... } |
|
||||
| calls.rb:291:5:291:26 | call to super | calls.rb:291:11:291:26 | do ... end |
|
||||
| calls.rb:292:5:292:30 | call to super | calls.rb:292:16:292:30 | { ... } |
|
||||
| calls.rb:293:5:293:33 | call to super | calls.rb:293:16:293:33 | do ... end |
|
||||
| calls.rb:340:1:342:3 | call to each | calls.rb:340:1:342:3 | { ... } |
|
||||
yieldCalls
|
||||
| calls.rb:31:3:31:7 | yield ... |
|
||||
| calls.rb:36:3:36:16 | yield ... |
|
||||
|
||||
@@ -335,3 +335,8 @@ end
|
||||
def foo(a, b, ...)
|
||||
bar(b, ...)
|
||||
end
|
||||
|
||||
# for loop over nested array
|
||||
for x, y, z in [[1,2,3], [4,5,6]]
|
||||
foo x, y, z
|
||||
end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
def m1 elements
|
||||
for element in elements do
|
||||
if element > 0 then
|
||||
def m1 x
|
||||
while x < 0
|
||||
if x > 0 then
|
||||
break
|
||||
end
|
||||
end
|
||||
@@ -10,27 +10,27 @@ ensure
|
||||
end
|
||||
end
|
||||
|
||||
def m2 elements
|
||||
for element in elements do
|
||||
def m2(x, y)
|
||||
while x < 0
|
||||
begin
|
||||
if element > 0 then
|
||||
if x > 0 then
|
||||
break
|
||||
end
|
||||
ensure
|
||||
if elements.nil? then
|
||||
puts "elements nil"
|
||||
if y.nil? then
|
||||
puts "y nil"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def m3 elements
|
||||
def m3(x,y)
|
||||
begin
|
||||
if elements.nil? then
|
||||
if x.nil? then
|
||||
return
|
||||
end
|
||||
ensure
|
||||
for element in elements do
|
||||
while y < 0
|
||||
begin
|
||||
if x > 0 then
|
||||
break
|
||||
@@ -41,14 +41,14 @@ def m3 elements
|
||||
puts "Done"
|
||||
end
|
||||
|
||||
def m4 elements
|
||||
for element in elements do
|
||||
def m4 x
|
||||
while x < 0
|
||||
begin
|
||||
if element > 1 then
|
||||
if x > 1 then
|
||||
raise ""
|
||||
end
|
||||
ensure
|
||||
if element > 0 then
|
||||
if x > 0 then
|
||||
break 10;
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
| local_dataflow.rb:1:1:7:3 | self (foo) | local_dataflow.rb:3:8:3:10 | self |
|
||||
| local_dataflow.rb:1:1:7:3 | self (local_dataflow.rb) | local_dataflow.rb:11:1:11:2 | self |
|
||||
| local_dataflow.rb:1:1:7:3 | self (local_dataflow.rb) | local_dataflow.rb:49:1:53:3 | self |
|
||||
| local_dataflow.rb:1:1:7:3 | self in foo | local_dataflow.rb:3:8:3:10 | self |
|
||||
| local_dataflow.rb:1:9:1:9 | a | local_dataflow.rb:1:9:1:9 | a |
|
||||
@@ -26,25 +25,29 @@
|
||||
| local_dataflow.rb:9:1:9:15 | ... = ... | local_dataflow.rb:10:14:10:18 | array |
|
||||
| local_dataflow.rb:9:9:9:15 | call to [] | local_dataflow.rb:9:1:9:15 | ... = ... |
|
||||
| local_dataflow.rb:9:9:9:15 | call to [] | local_dataflow.rb:9:1:9:15 | ... = ... |
|
||||
| local_dataflow.rb:10:5:13:3 | for ... in ... | local_dataflow.rb:10:1:13:3 | ... = ... |
|
||||
| local_dataflow.rb:10:9:10:9 | x | local_dataflow.rb:12:5:12:5 | x |
|
||||
| local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:10:5:13:3 | for ... in ... |
|
||||
| local_dataflow.rb:10:5:13:3 | ... = ... | local_dataflow.rb:12:5:12:5 | x |
|
||||
| local_dataflow.rb:10:5:13:3 | <captured> | local_dataflow.rb:11:1:11:2 | self |
|
||||
| local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:5:13:3 | ... = ... |
|
||||
| local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:5:13:3 | ... = ... |
|
||||
| local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:5:13:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:10:5:13:3 | __synth__0__1 | local_dataflow.rb:10:5:13:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:10:5:13:3 | call to each | local_dataflow.rb:10:1:13:3 | ... = ... |
|
||||
| local_dataflow.rb:10:14:10:18 | [post] array | local_dataflow.rb:15:10:15:14 | array |
|
||||
| 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 | [post] self | local_dataflow.rb:11:1:11:2 | self |
|
||||
| local_dataflow.rb:12:3:12:5 | [post] self | local_dataflow.rb:49:1:53:3 | self |
|
||||
| local_dataflow.rb:12:3:12:5 | call to p | local_dataflow.rb:10:19:13:3 | do ... |
|
||||
| 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:49:1:53:3 | self |
|
||||
| local_dataflow.rb:15:10:15:14 | array | local_dataflow.rb:15:1:17:3 | for ... in ... |
|
||||
| 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 | ... = ... |
|
||||
| local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:15:1:17:3 | __synth__0__1 | local_dataflow.rb:15:1:17:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:15:10:15:14 | [post] array | local_dataflow.rb:19:10:19:14 | array |
|
||||
| local_dataflow.rb:15:10:15:14 | array | local_dataflow.rb:19:10:19:14 | array |
|
||||
| local_dataflow.rb:16:3:16:10 | break | local_dataflow.rb:15:1:17:3 | for ... in ... |
|
||||
| local_dataflow.rb:16:9:16:10 | 10 | local_dataflow.rb:16:3:16:10 | break |
|
||||
| local_dataflow.rb:19:5:19:5 | x | local_dataflow.rb:20:6:20:6 | x |
|
||||
| local_dataflow.rb:19:10:19:14 | array | local_dataflow.rb:19:1:21:3 | for ... in ... |
|
||||
| local_dataflow.rb:20:3:20:25 | if ... | local_dataflow.rb:19:16:21:3 | do ... |
|
||||
| local_dataflow.rb:20:17:20:21 | break | local_dataflow.rb:19:1:21:3 | for ... in ... |
|
||||
| local_dataflow.rb:19:1:21:3 | ... = ... | local_dataflow.rb:20:6:20:6 | x |
|
||||
| local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:1:21:3 | ... = ... |
|
||||
| local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:1:21:3 | ... = ... |
|
||||
| local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:1:21:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:19:1:21:3 | __synth__0__1 | local_dataflow.rb:19:1:21:3 | __synth__0__1 |
|
||||
| local_dataflow.rb:24:2:24:8 | break | local_dataflow.rb:23:1:25:3 | while ... |
|
||||
| local_dataflow.rb:24:8:24:8 | 5 | local_dataflow.rb:24:2:24:8 | break |
|
||||
| local_dataflow.rb:28:5:28:26 | M | local_dataflow.rb:28:1:28:26 | ... = ... |
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
ret
|
||||
| local_dataflow.rb:6:3:6:14 | ... = ... |
|
||||
| local_dataflow.rb:12:3:12:5 | call to p |
|
||||
| local_dataflow.rb:16:3:16:10 | break |
|
||||
| local_dataflow.rb:20:3:20:25 | if ... |
|
||||
| local_dataflow.rb:20:17:20:21 | break |
|
||||
| local_dataflow.rb:32:14:32:21 | "method" |
|
||||
| local_dataflow.rb:36:6:36:13 | return |
|
||||
| local_dataflow.rb:38:3:38:13 | "reachable" |
|
||||
@@ -17,9 +21,15 @@ arg
|
||||
| local_dataflow.rb:9:10:9:10 | 1 | local_dataflow.rb:9:9:9:15 | call to [] | 0 |
|
||||
| local_dataflow.rb:9:12:9:12 | 2 | local_dataflow.rb:9:9:9:15 | call to [] | 1 |
|
||||
| local_dataflow.rb:9:14:9:14 | 3 | local_dataflow.rb:9:9:9:15 | call to [] | 2 |
|
||||
| local_dataflow.rb:10:5:13:3 | { ... } | local_dataflow.rb:10:5:13:3 | call to each | -2 |
|
||||
| local_dataflow.rb:10:14:10:18 | array | local_dataflow.rb:10:5:13:3 | call to each | -1 |
|
||||
| local_dataflow.rb:11:1:11:2 | self | local_dataflow.rb:11:1:11:2 | call to do | -1 |
|
||||
| local_dataflow.rb:12:3:12:5 | self | local_dataflow.rb:12:3:12:5 | call to p | -1 |
|
||||
| local_dataflow.rb:12:5:12:5 | x | local_dataflow.rb:12:3:12:5 | call to p | 0 |
|
||||
| local_dataflow.rb:15:1:17:3 | { ... } | local_dataflow.rb:15:1:17:3 | call to each | -2 |
|
||||
| local_dataflow.rb:15:10:15:14 | array | local_dataflow.rb:15:1:17:3 | call to each | -1 |
|
||||
| local_dataflow.rb:19:1:21:3 | { ... } | local_dataflow.rb:19:1:21:3 | call to each | -2 |
|
||||
| local_dataflow.rb:19:10:19:14 | array | local_dataflow.rb:19:1:21:3 | call to each | -1 |
|
||||
| local_dataflow.rb:20:6:20:6 | x | local_dataflow.rb:20:6:20:10 | ... > ... | -1 |
|
||||
| local_dataflow.rb:20:10:20:10 | 1 | local_dataflow.rb:20:6:20:10 | ... > ... | 0 |
|
||||
| local_dataflow.rb:35:6:35:6 | x | local_dataflow.rb:35:6:35:11 | ... == ... | -1 |
|
||||
|
||||
@@ -28,6 +28,7 @@ parameterVariable
|
||||
| ssa.rb:1:7:1:7 | b | ssa.rb:1:7:1:7 | b |
|
||||
| ssa.rb:18:8:18:8 | x | ssa.rb:18:8:18:8 | x |
|
||||
| ssa.rb:25:8:25:15 | elements | ssa.rb:25:8:25:15 | elements |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:33:20:33:20 | x | ssa.rb:33:20:33:20 | x |
|
||||
| ssa.rb:44:8:44:8 | b | ssa.rb:44:8:44:8 | b |
|
||||
| ssa.rb:49:9:49:9 | x | ssa.rb:49:9:49:9 | x |
|
||||
|
||||
@@ -82,8 +82,12 @@ definition
|
||||
| scopes.rb:13:14:13:14 | ... = ... | scopes.rb:13:14:13:14 | d |
|
||||
| scopes.rb:13:19:13:32 | ... = ... | scopes.rb:13:4:13:32 | __synth__0 |
|
||||
| scopes.rb:27:1:27:5 | ... = ... | scopes.rb:27:1:27:1 | x |
|
||||
| scopes.rb:29:3:29:7 | ... = ... | scopes.rb:29:3:29:3 | x |
|
||||
| scopes.rb:32:3:32:7 | ... = ... | scopes.rb:32:3:32:3 | x |
|
||||
| scopes.rb:35:3:35:7 | ... = ... | scopes.rb:35:3:35:3 | x |
|
||||
| scopes.rb:41:1:49:3 | self (M) | scopes.rb:41:1:49:3 | self |
|
||||
| scopes.rb:42:2:42:9 | ... = ... | scopes.rb:42:2:42:4 | var |
|
||||
| scopes.rb:43:2:43:13 | ... = ... | scopes.rb:43:2:43:4 | foo |
|
||||
| scopes.rb:46:5:46:13 | ... = ... | scopes.rb:46:5:46:8 | var2 |
|
||||
| ssa.rb:1:1:16:3 | self (m) | ssa.rb:1:1:16:3 | self |
|
||||
| ssa.rb:1:7:1:7 | b | ssa.rb:1:7:1:7 | b |
|
||||
@@ -98,8 +102,10 @@ definition
|
||||
| ssa.rb:25:1:30:3 | <uninitialized> | ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self |
|
||||
| ssa.rb:25:8:25:15 | elements | ssa.rb:25:8:25:15 | elements |
|
||||
| ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:26:12:26:22 | phi | ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:26:3:28:5 | ... = ... | ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:26:3:28:5 | <captured> | ssa.rb:25:1:30:3 | self |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:3:28:5 | call to each | ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:33:16:35:5 | <captured> | ssa.rb:32:1:36:3 | self |
|
||||
| ssa.rb:33:20:33:20 | x | ssa.rb:33:20:33:20 | x |
|
||||
| ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self |
|
||||
@@ -264,11 +270,12 @@ read
|
||||
| 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:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self |
|
||||
| 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 |
|
||||
| ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:12:26:22 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:26:3:28:5 | ... = ... | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:3:28:5 | <captured> | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:3:28:5 | call to each | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:33:16:35:5 | <captured> | ssa.rb:32:1:36:3 | self | ssa.rb:34:5:34:10 | self |
|
||||
| ssa.rb:33:20:33:20 | x | ssa.rb:33:20:33:20 | x | ssa.rb:34:10:34:10 | x |
|
||||
| ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self | ssa.rb:39:3:39:9 | self |
|
||||
@@ -392,11 +399,12 @@ firstRead
|
||||
| ssa.rb:10:5:10:9 | ... = ... | 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:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self |
|
||||
| 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 |
|
||||
| ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:12:26:22 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:26:3:28:5 | ... = ... | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:3:28:5 | <captured> | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:3:28:5 | call to each | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:33:16:35:5 | <captured> | ssa.rb:32:1:36:3 | self | ssa.rb:34:5:34:10 | self |
|
||||
| ssa.rb:33:20:33:20 | x | ssa.rb:33:20:33:20 | x | ssa.rb:34:10:34:10 | x |
|
||||
| ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self | ssa.rb:39:3:39:9 | self |
|
||||
@@ -519,8 +527,10 @@ lastRead
|
||||
| ssa.rb:19:9:19:9 | phi | ssa.rb:18:8:18:8 | x | ssa.rb:21:5:21:5 | x |
|
||||
| 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 |
|
||||
| ssa.rb:26:7:26:10 | elem | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:12:26:22 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:26:3:28:5 | ... = ... | ssa.rb:26:7:26:10 | elem | ssa.rb:27:10:27:13 | elem |
|
||||
| ssa.rb:26:3:28:5 | <captured> | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 | ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:3:28:5 | call to each | ssa.rb:26:7:26:10 | elem | ssa.rb:29:8:29:11 | elem |
|
||||
| ssa.rb:33:16:35:5 | <captured> | ssa.rb:32:1:36:3 | self | ssa.rb:34:5:34:10 | self |
|
||||
| ssa.rb:33:20:33:20 | x | ssa.rb:33:20:33:20 | x | ssa.rb:34:10:34:10 | x |
|
||||
| ssa.rb:38:1:42:3 | self (m4) | ssa.rb:38:1:42:3 | self | ssa.rb:41:3:41:13 | self |
|
||||
@@ -591,8 +601,6 @@ adjacentReads
|
||||
| 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:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self | ssa.rb:27:5:27:13 | self |
|
||||
| ssa.rb:25:1:30:3 | self (m2) | ssa.rb:25:1:30:3 | self | ssa.rb:27:5:27:13 | self | ssa.rb:29:3:29:11 | self |
|
||||
| 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:64:1:72:3 | self | ssa.rb:67:5:67:10 | self | ssa.rb:68:5:68:17 | self |
|
||||
@@ -608,8 +616,6 @@ phi
|
||||
| ssa.rb:5:3:13:5 | phi | ssa.rb:2:3:2:3 | i | ssa.rb:10:5:10:9 | ... = ... |
|
||||
| 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:10 | ... = ... |
|
||||
| ssa.rb:26:12:26:22 | phi | ssa.rb:26:7:26:10 | elem | ssa.rb:25:1:30:3 | <uninitialized> |
|
||||
| ssa.rb:26:12:26:22 | 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 | <uninitialized> |
|
||||
| ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x | ssa.rb:45:3:45:7 | ... = ... |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:1:51:3 | <uninitialized> |
|
||||
|
||||
@@ -316,6 +316,7 @@ explicitWrite
|
||||
| ssa.rb:10:5:10:5 | i | ssa.rb:10:5:10:9 | ... = ... |
|
||||
| ssa.rb:21:5:21:5 | x | ssa.rb:21:5:21:10 | ... -= ... |
|
||||
| ssa.rb:21:5:21:5 | x | ssa.rb:21:5:21:10 | ... = ... |
|
||||
| ssa.rb:26:7:26:10 | elem | ssa.rb:26:3:28:5 | ... = ... |
|
||||
| ssa.rb:40:3:40:4 | m3 | ssa.rb:40:3:40:9 | ... = ... |
|
||||
| ssa.rb:45:3:45:3 | x | ssa.rb:45:3:45:7 | ... = ... |
|
||||
| ssa.rb:49:14:49:14 | y | ssa.rb:49:14:49:19 | ... = ... |
|
||||
@@ -358,6 +359,7 @@ implicitWrite
|
||||
| ssa.rb:1:7:1:7 | b |
|
||||
| ssa.rb:18:8:18:8 | x |
|
||||
| ssa.rb:25:8:25:15 | elements |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:33:20:33:20 | x |
|
||||
| ssa.rb:44:8:44:8 | b |
|
||||
@@ -502,6 +504,7 @@ readAccess
|
||||
| ssa.rb:20:5:20:10 | self |
|
||||
| ssa.rb:20:10:20:10 | x |
|
||||
| ssa.rb:21:5:21:5 | x |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:15:26:22 | elements |
|
||||
| ssa.rb:27:5:27:13 | self |
|
||||
| ssa.rb:27:10:27:13 | elem |
|
||||
|
||||
@@ -123,6 +123,7 @@
|
||||
| ssa.rb:18:8:18:8 | x |
|
||||
| ssa.rb:25:1:30:3 | self |
|
||||
| ssa.rb:25:8:25:15 | elements |
|
||||
| ssa.rb:26:3:28:5 | __synth__0__1 |
|
||||
| ssa.rb:26:7:26:10 | elem |
|
||||
| ssa.rb:32:1:36:3 | self |
|
||||
| ssa.rb:33:20:33:20 | x |
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
| ssa.rb:1:1:88:3 | ssa.rb |
|
||||
| ssa.rb:18:1:23:3 | m1 |
|
||||
| ssa.rb:25:1:30:3 | m2 |
|
||||
| ssa.rb:26:3:28:5 | { ... } |
|
||||
| ssa.rb:32:1:36:3 | m3 |
|
||||
| ssa.rb:33:16:35:5 | do ... end |
|
||||
| ssa.rb:38:1:42:3 | m4 |
|
||||
|
||||
Reference in New Issue
Block a user