mirror of
https://github.com/github/codeql.git
synced 2026-02-19 08:23:45 +01:00
Create synthetic self nodes for calls without explicit receivers
This commit is contained in:
@@ -32,14 +32,16 @@ class AstNode extends TAstNode {
|
||||
/** Gets the enclosing module, if any. */
|
||||
ModuleBase getEnclosingModule() {
|
||||
exists(Scope::Range s |
|
||||
s = scopeOf(toGenerated(this)) and toGenerated(result) = s.getEnclosingModule()
|
||||
s = scopeOf(toGeneratedInclSynth(this)) and
|
||||
toGeneratedInclSynth(result) = s.getEnclosingModule()
|
||||
)
|
||||
}
|
||||
|
||||
/** Gets the enclosing method, if any. */
|
||||
MethodBase getEnclosingMethod() {
|
||||
exists(Scope::Range s |
|
||||
s = scopeOf(toGenerated(this)) and toGenerated(result) = s.getEnclosingMethod()
|
||||
s = scopeOf(toGeneratedInclSynth(this)) and
|
||||
toGeneratedInclSynth(result) = s.getEnclosingMethod()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -48,7 +50,7 @@ class AstNode extends TAstNode {
|
||||
string toString() { none() }
|
||||
|
||||
/** Gets the location of this node. */
|
||||
Location getLocation() { result = toGenerated(this).getLocation() }
|
||||
Location getLocation() { result = toGeneratedInclSynth(this).getLocation() }
|
||||
|
||||
/** Gets a child node of this `AstNode`. */
|
||||
final AstNode getAChild() { result = this.getAChild(_) }
|
||||
|
||||
@@ -136,6 +136,8 @@ private class IdentifierMethodCall extends MethodCall, TIdentifierMethodCall {
|
||||
IdentifierMethodCall() { this = TIdentifierMethodCall(g) }
|
||||
|
||||
final override string getMethodName() { result = getMethodName(this, g.getValue()) }
|
||||
|
||||
final override Self getReceiver() { result = TIdentifierMethodCallImplicitSelf(g) }
|
||||
}
|
||||
|
||||
private class ScopeResolutionMethodCall extends MethodCall, TScopeResolutionMethodCall {
|
||||
@@ -159,6 +161,10 @@ private class RegularMethodCall extends MethodCall, TRegularMethodCall {
|
||||
or
|
||||
not exists(g.getReceiver()) and
|
||||
toGenerated(result) = g.getMethod().(Generated::ScopeResolution).getScope()
|
||||
or
|
||||
not exists(g.getReceiver()) and
|
||||
not exists(g.getMethod().(Generated::ScopeResolution).getScope()) and
|
||||
result = TRegularMethodCallImplicitSelf(g)
|
||||
}
|
||||
|
||||
final override string getMethodName() {
|
||||
|
||||
@@ -14,6 +14,10 @@ class Expr extends Stmt, TExpr { }
|
||||
* - `self == other`
|
||||
* - `self.method_name`
|
||||
* - `def self.method_name ... end`
|
||||
*
|
||||
* This also includes implicit references to the current object in method
|
||||
* calls. For example, the method call `foo(123)` has an implicit `self`
|
||||
* receiver, and is equivalent to the explicit `self.foo(123)`.
|
||||
*/
|
||||
class Self extends Expr, TSelf {
|
||||
final override string getAPrimaryQlClass() { result = "Self" }
|
||||
|
||||
@@ -103,6 +103,7 @@ private module Cached {
|
||||
TEndBlock(Generated::EndBlock g) or
|
||||
TEnsure(Generated::Ensure g) or
|
||||
TEqExpr(Generated::Binary g) { g instanceof @binary_equalequal } or
|
||||
TExplicitSelf(Generated::Self g) or
|
||||
TExponentExpr(Generated::Binary g) { g instanceof @binary_starstar } or
|
||||
TFalseLiteral(Generated::False g) or
|
||||
TFloatLiteral(Generated::Float g) { not any(Generated::Rational r).getChild() = g } or
|
||||
@@ -119,6 +120,7 @@ private module Cached {
|
||||
THashSplatParameter(Generated::HashSplatParameter g) or
|
||||
THereDoc(Generated::HeredocBeginning g) or
|
||||
TIdentifierMethodCall(Generated::Identifier g) { vcall(g) and not access(g, _) } or
|
||||
TIdentifierMethodCallImplicitSelf(Generated::Identifier g) { vcall(g) and not access(g, _) } or
|
||||
TIf(Generated::If g) or
|
||||
TIfModifierExpr(Generated::IfModifier g) or
|
||||
TInstanceVariableAccess(Generated::InstanceVariable g, AST::InstanceVariable v) {
|
||||
@@ -158,6 +160,11 @@ private module Cached {
|
||||
TRegexMatchExpr(Generated::Binary g) { g instanceof @binary_equaltilde } or
|
||||
TRegularArrayLiteral(Generated::Array g) or
|
||||
TRegularMethodCall(Generated::Call g) { not g.getMethod() instanceof Generated::Super } or
|
||||
TRegularMethodCallImplicitSelf(Generated::Call g) {
|
||||
not g.getMethod() instanceof Generated::Super and
|
||||
not exists(g.getReceiver()) and
|
||||
not exists(g.getMethod().(Generated::ScopeResolution).getScope())
|
||||
} or
|
||||
TRegularStringLiteral(Generated::String g) or
|
||||
TRegularSuperCall(Generated::Call g) { g.getMethod() instanceof Generated::Super } or
|
||||
TRescueClause(Generated::Rescue g) or
|
||||
@@ -179,7 +186,6 @@ private module Cached {
|
||||
i = g.getName() and
|
||||
not exists(Generated::Call c | c.getMethod() = g)
|
||||
} or
|
||||
TSelf(Generated::Self g) or
|
||||
TSimpleParameter(Generated::Identifier g) { g instanceof Parameter::Range } or
|
||||
TSimpleSymbolLiteral(Generated::SimpleSymbol g) or
|
||||
TSingletonClass(Generated::SingletonClass g) or
|
||||
@@ -223,7 +229,11 @@ private module Cached {
|
||||
TWhileModifierExpr(Generated::WhileModifier g) or
|
||||
TYieldCall(Generated::Yield g)
|
||||
|
||||
/** Gets the underlying TreeSitter entity for a given AST node. */
|
||||
/**
|
||||
* Gets the underlying TreeSitter entity for a given AST node. This does not
|
||||
* include synthesized AST nodes, because they are not the primary AST node
|
||||
* for any given generated node.
|
||||
*/
|
||||
cached
|
||||
Generated::AstNode toGenerated(AST::AstNode n) {
|
||||
n = TAddExpr(result) or
|
||||
@@ -274,6 +284,7 @@ private module Cached {
|
||||
n = TEndBlock(result) or
|
||||
n = TEnsure(result) or
|
||||
n = TEqExpr(result) or
|
||||
n = TExplicitSelf(result) or
|
||||
n = TExponentExpr(result) or
|
||||
n = TFalseLiteral(result) or
|
||||
n = TFloatLiteral(result) or
|
||||
@@ -329,7 +340,6 @@ private module Cached {
|
||||
n = TReturnStmt(result) or
|
||||
n = TScopeResolutionConstantAccess(result, _) or
|
||||
n = TScopeResolutionMethodCall(result, _) or
|
||||
n = TSelf(result) or
|
||||
n = TSimpleParameter(result) or
|
||||
n = TSimpleSymbolLiteral(result) or
|
||||
n = TSingletonClass(result) or
|
||||
@@ -365,12 +375,25 @@ private module Cached {
|
||||
n = TWhileModifierExpr(result) or
|
||||
n = TYieldCall(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Like `toGenerated`, but also returns generated nodes for synthesized AST
|
||||
* nodes.
|
||||
*/
|
||||
cached
|
||||
Generated::AstNode toGeneratedInclSynth(AST::AstNode n) {
|
||||
result = toGenerated(n) or
|
||||
n = TIdentifierMethodCallImplicitSelf(result) or
|
||||
n = TRegularMethodCallImplicitSelf(result)
|
||||
}
|
||||
}
|
||||
|
||||
import Cached
|
||||
|
||||
TAstNode fromGenerated(Generated::AstNode n) { n = toGenerated(result) }
|
||||
|
||||
TAstNode fromGeneratedInclSynth(Generated::AstNode n) { n = toGeneratedInclSynth(result) }
|
||||
|
||||
class TCall = TMethodCall or TYieldCall;
|
||||
|
||||
class TMethodCall =
|
||||
@@ -392,6 +415,8 @@ class TConditionalLoop = TWhileExpr or TUntilExpr or TWhileModifierExpr or TUnti
|
||||
|
||||
class TLoop = TConditionalLoop or TForExpr;
|
||||
|
||||
class TSelf = TExplicitSelf or TIdentifierMethodCallImplicitSelf or TRegularMethodCallImplicitSelf;
|
||||
|
||||
class TExpr =
|
||||
TSelf or TArgumentList or TRescueClause or TRescueModifierExpr or TPair or TStringConcatenation or
|
||||
TCall or TBlockArgument or TSplatArgument or THashSplatArgument or TConstantAccess or
|
||||
|
||||
@@ -358,9 +358,9 @@ private module JoinBlockPredecessors {
|
||||
private predicate idOf(Generated::AstNode x, int y) = equivalenceRelation(id/2)(x, y)
|
||||
|
||||
int getId(JoinBlockPredecessor jbp) {
|
||||
idOf(toGenerated(jbp.getFirstNode().(AstCfgNode).getNode()), result)
|
||||
idOf(toGeneratedInclSynth(jbp.getFirstNode().(AstCfgNode).getNode()), result)
|
||||
or
|
||||
idOf(toGenerated(jbp.(EntryBasicBlock).getScope()), result)
|
||||
idOf(toGeneratedInclSynth(jbp.(EntryBasicBlock).getScope()), result)
|
||||
}
|
||||
|
||||
string getSplitString(JoinBlockPredecessor jbp) {
|
||||
|
||||
@@ -1318,7 +1318,8 @@ private module Cached {
|
||||
/** Gets the CFG scope of node `n`. */
|
||||
cached
|
||||
CfgScope getCfgScopeImpl(AstNode n) {
|
||||
result = parent*(ASTInternal::fromGenerated(scopeOf(ASTInternal::toGenerated(n))))
|
||||
result =
|
||||
parent*(ASTInternal::fromGeneratedInclSynth(scopeOf(ASTInternal::toGeneratedInclSynth(n))))
|
||||
}
|
||||
|
||||
private predicate isAbnormalExitType(SuccessorType t) {
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
calls/calls.rb:
|
||||
# 1| [Toplevel] calls.rb
|
||||
# 2| getStmt: [MethodCall] call to foo
|
||||
# 2| getReceiver: [Self] self
|
||||
# 5| getStmt: [MethodCall] call to bar
|
||||
# 5| getReceiver: [ConstantReadAccess] Foo
|
||||
# 8| getStmt: [MethodCall] call to bar
|
||||
# 8| getReceiver: [Self] self
|
||||
# 11| getStmt: [MethodCall] call to bar
|
||||
# 11| getReceiver: [IntegerLiteral] 123
|
||||
# 14| getStmt: [MethodCall] call to foo
|
||||
# 14| getReceiver: [Self] self
|
||||
# 14| getArgument: [IntegerLiteral] 0
|
||||
# 14| getArgument: [IntegerLiteral] 1
|
||||
# 14| getArgument: [IntegerLiteral] 2
|
||||
# 17| getStmt: [MethodCall] call to foo
|
||||
# 17| getReceiver: [Self] self
|
||||
# 17| getBlock: [BraceBlock] { ... }
|
||||
# 17| getParameter: [SimpleParameter] x
|
||||
# 17| getDefiningAccess: [LocalVariableAccess] x
|
||||
@@ -18,6 +22,7 @@ calls/calls.rb:
|
||||
# 17| getAnOperand/getLeftOperand: [LocalVariableAccess] x
|
||||
# 17| getAnOperand/getRightOperand: [IntegerLiteral] 1
|
||||
# 20| getStmt: [MethodCall] call to foo
|
||||
# 20| getReceiver: [Self] self
|
||||
# 20| getBlock: [DoBlock] do ... end
|
||||
# 20| getParameter: [SimpleParameter] x
|
||||
# 20| getDefiningAccess: [LocalVariableAccess] x
|
||||
@@ -41,26 +46,33 @@ calls/calls.rb:
|
||||
# 36| getArgument: [IntegerLiteral] 100
|
||||
# 36| getArgument: [IntegerLiteral] 200
|
||||
# 46| getStmt: [MethodCall] call to foo
|
||||
# 46| getReceiver: [Self] self
|
||||
# 47| getStmt: [MethodCall] call to foo
|
||||
# 47| getReceiver: [ConstantReadAccess] X
|
||||
# 50| getStmt: [ParenthesizedExpr] ( ... )
|
||||
# 50| getStmt: [MethodCall] call to foo
|
||||
# 50| getReceiver: [Self] self
|
||||
# 51| getStmt: [ParenthesizedExpr] ( ... )
|
||||
# 51| getStmt: [MethodCall] call to foo
|
||||
# 51| getReceiver: [ConstantReadAccess] X
|
||||
# 54| getStmt: [MethodCall] call to some_func
|
||||
# 54| getReceiver: [Self] self
|
||||
# 54| getArgument: [MethodCall] call to foo
|
||||
# 54| getReceiver: [Self] self
|
||||
# 55| getStmt: [MethodCall] call to some_func
|
||||
# 55| getReceiver: [Self] self
|
||||
# 55| getArgument: [MethodCall] call to foo
|
||||
# 55| getReceiver: [ConstantReadAccess] X
|
||||
# 58| getStmt: [ArrayLiteral] [...]
|
||||
# 58| getElement: [MethodCall] call to foo
|
||||
# 58| getReceiver: [Self] self
|
||||
# 59| getStmt: [ArrayLiteral] [...]
|
||||
# 59| getElement: [MethodCall] call to foo
|
||||
# 59| getReceiver: [ConstantReadAccess] X
|
||||
# 62| getStmt: [AssignExpr] ... = ...
|
||||
# 62| getAnOperand/getLeftOperand: [LocalVariableAccess] var1
|
||||
# 62| getAnOperand/getRightOperand: [MethodCall] call to foo
|
||||
# 62| getReceiver: [Self] self
|
||||
# 63| getStmt: [AssignExpr] ... = ...
|
||||
# 63| getAnOperand/getLeftOperand: [LocalVariableAccess] var1
|
||||
# 63| getAnOperand/getRightOperand: [MethodCall] call to foo
|
||||
@@ -68,6 +80,7 @@ calls/calls.rb:
|
||||
# 66| getStmt: [AssignAddExpr] ... += ...
|
||||
# 66| getAnOperand/getLeftOperand: [LocalVariableAccess] var1
|
||||
# 66| getAnOperand/getRightOperand: [MethodCall] call to bar
|
||||
# 66| getReceiver: [Self] self
|
||||
# 67| getStmt: [AssignAddExpr] ... += ...
|
||||
# 67| getAnOperand/getLeftOperand: [LocalVariableAccess] var1
|
||||
# 67| getAnOperand/getRightOperand: [MethodCall] call to bar
|
||||
@@ -76,49 +89,64 @@ calls/calls.rb:
|
||||
# 70| getAnOperand/getLeftOperand: [LocalVariableAccess] var1
|
||||
# 70| getAnOperand/getRightOperand: [ArgumentList] ..., ...
|
||||
# 70| getElement: [MethodCall] call to foo
|
||||
# 70| getReceiver: [Self] self
|
||||
# 70| getElement: [MethodCall] call to bar
|
||||
# 70| getReceiver: [ConstantReadAccess] X
|
||||
# 73| getStmt: [BeginExpr] begin ...
|
||||
# 74| getStmt: [MethodCall] call to foo
|
||||
# 74| getReceiver: [Self] self
|
||||
# 75| getStmt: [MethodCall] call to foo
|
||||
# 75| getReceiver: [ConstantReadAccess] X
|
||||
# 79| getBeginBlock: [BeginBlock] BEGIN { ... }
|
||||
# 79| getStmt: [MethodCall] call to foo
|
||||
# 79| getReceiver: [Self] self
|
||||
# 79| getStmt: [MethodCall] call to bar
|
||||
# 79| getReceiver: [ConstantReadAccess] X
|
||||
# 82| getStmt: [EndBlock] END { ... }
|
||||
# 82| getStmt: [MethodCall] call to foo
|
||||
# 82| getReceiver: [Self] self
|
||||
# 82| getStmt: [MethodCall] call to bar
|
||||
# 82| getReceiver: [ConstantReadAccess] X
|
||||
# 85| getStmt: [AddExpr] ... + ...
|
||||
# 85| getAnOperand/getLeftOperand: [MethodCall] call to foo
|
||||
# 85| getReceiver: [Self] self
|
||||
# 85| getAnOperand/getRightOperand: [MethodCall] call to bar
|
||||
# 85| getReceiver: [ConstantReadAccess] X
|
||||
# 88| getStmt: [NotExpr] ! ...
|
||||
# 88| getAnOperand/getOperand: [MethodCall] call to foo
|
||||
# 88| getReceiver: [Self] self
|
||||
# 89| getStmt: [ComplementExpr] ~ ...
|
||||
# 89| getAnOperand/getOperand: [MethodCall] call to bar
|
||||
# 89| getReceiver: [ConstantReadAccess] X
|
||||
# 92| getStmt: [MethodCall] call to foo
|
||||
# 92| getReceiver: [Self] self
|
||||
# 92| getBlock: [BraceBlock] { ... }
|
||||
# 92| getStmt: [MethodCall] call to bar
|
||||
# 92| getReceiver: [Self] self
|
||||
# 92| getStmt: [MethodCall] call to baz
|
||||
# 92| getReceiver: [ConstantReadAccess] X
|
||||
# 95| getStmt: [MethodCall] call to foo
|
||||
# 95| getReceiver: [Self] self
|
||||
# 95| getBlock: [DoBlock] do ... end
|
||||
# 96| getStmt: [MethodCall] call to bar
|
||||
# 96| getReceiver: [Self] self
|
||||
# 97| getStmt: [MethodCall] call to baz
|
||||
# 97| getReceiver: [ConstantReadAccess] X
|
||||
# 101| getStmt: [MethodCall] call to bar
|
||||
# 101| getReceiver: [MethodCall] call to foo
|
||||
# 101| getReceiver: [Self] self
|
||||
# 102| getStmt: [MethodCall] call to baz
|
||||
# 102| getReceiver: [MethodCall] call to bar
|
||||
# 102| getReceiver: [Self] self
|
||||
# 106| getStmt: [CaseExpr] case ...
|
||||
# 106| getValue: [MethodCall] call to foo
|
||||
# 106| getReceiver: [Self] self
|
||||
# 107| getBranch: [WhenExpr] when ...
|
||||
# 107| getPattern: [MethodCall] call to bar
|
||||
# 107| getReceiver: [Self] self
|
||||
# 107| getBody: [StmtSequence] then ...
|
||||
# 108| getStmt: [MethodCall] call to baz
|
||||
# 108| getReceiver: [Self] self
|
||||
# 110| getStmt: [CaseExpr] case ...
|
||||
# 110| getValue: [MethodCall] call to foo
|
||||
# 110| getReceiver: [ConstantReadAccess] X
|
||||
@@ -130,16 +158,20 @@ calls/calls.rb:
|
||||
# 112| getReceiver: [ConstantReadAccess] X
|
||||
# 116| getStmt: [ClassDeclaration] MyClass
|
||||
# 117| getStmt: [MethodCall] call to foo
|
||||
# 117| getReceiver: [Self] self
|
||||
# 118| getStmt: [MethodCall] call to bar
|
||||
# 118| getReceiver: [ConstantReadAccess] X
|
||||
# 122| getStmt: [ClassDeclaration] MyClass
|
||||
# 122| getSuperclassExpr: [MethodCall] call to foo
|
||||
# 122| getReceiver: [Self] self
|
||||
# 124| getStmt: [ClassDeclaration] MyClass2
|
||||
# 124| getSuperclassExpr: [MethodCall] call to foo
|
||||
# 124| getReceiver: [ConstantReadAccess] X
|
||||
# 128| getStmt: [ClassDeclaration] class << ...
|
||||
# 128| getValue: [MethodCall] call to foo
|
||||
# 128| getReceiver: [Self] self
|
||||
# 129| getStmt: [MethodCall] call to bar
|
||||
# 129| getReceiver: [Self] self
|
||||
# 131| getStmt: [ClassDeclaration] class << ...
|
||||
# 131| getValue: [MethodCall] call to foo
|
||||
# 131| getReceiver: [ConstantReadAccess] X
|
||||
@@ -147,17 +179,21 @@ calls/calls.rb:
|
||||
# 132| getReceiver: [ConstantReadAccess] X
|
||||
# 136| getStmt: [Method] some_method
|
||||
# 137| getStmt: [MethodCall] call to foo
|
||||
# 137| getReceiver: [Self] self
|
||||
# 138| getStmt: [MethodCall] call to bar
|
||||
# 138| getReceiver: [ConstantReadAccess] X
|
||||
# 142| getStmt: [SingletonMethod] some_method
|
||||
# 142| getObject: [MethodCall] call to foo
|
||||
# 142| getReceiver: [Self] self
|
||||
# 143| getStmt: [MethodCall] call to bar
|
||||
# 143| getReceiver: [Self] self
|
||||
# 144| getStmt: [MethodCall] call to baz
|
||||
# 144| getReceiver: [ConstantReadAccess] X
|
||||
# 148| getStmt: [Method] method_with_keyword_param
|
||||
# 148| getParameter: [KeywordParameter] keyword
|
||||
# 148| getDefiningAccess: [LocalVariableAccess] keyword
|
||||
# 148| getDefaultValue: [MethodCall] call to foo
|
||||
# 148| getReceiver: [Self] self
|
||||
# 150| getStmt: [Method] method_with_keyword_param2
|
||||
# 150| getParameter: [KeywordParameter] keyword
|
||||
# 150| getDefiningAccess: [LocalVariableAccess] keyword
|
||||
@@ -167,6 +203,7 @@ calls/calls.rb:
|
||||
# 154| getParameter: [OptionalParameter] param
|
||||
# 154| getDefiningAccess: [LocalVariableAccess] param
|
||||
# 154| getDefaultValue: [MethodCall] call to foo
|
||||
# 154| getReceiver: [Self] self
|
||||
# 156| getStmt: [Method] method_with_optional_param2
|
||||
# 156| getParameter: [OptionalParameter] param
|
||||
# 156| getDefiningAccess: [LocalVariableAccess] param
|
||||
@@ -174,12 +211,16 @@ calls/calls.rb:
|
||||
# 156| getReceiver: [ConstantReadAccess] X
|
||||
# 160| getStmt: [ModuleDeclaration] SomeModule
|
||||
# 161| getStmt: [MethodCall] call to foo
|
||||
# 161| getReceiver: [Self] self
|
||||
# 162| getStmt: [MethodCall] call to bar
|
||||
# 162| getReceiver: [ConstantReadAccess] X
|
||||
# 166| getStmt: [TernaryIfExpr] ... ? ... : ...
|
||||
# 166| getCondition: [MethodCall] call to foo
|
||||
# 166| getReceiver: [Self] self
|
||||
# 166| getBranch/getThen: [MethodCall] call to bar
|
||||
# 166| getReceiver: [Self] self
|
||||
# 166| getBranch/getElse: [MethodCall] call to baz
|
||||
# 166| getReceiver: [Self] self
|
||||
# 167| getStmt: [TernaryIfExpr] ... ? ... : ...
|
||||
# 167| getCondition: [MethodCall] call to foo
|
||||
# 167| getReceiver: [ConstantReadAccess] X
|
||||
@@ -189,14 +230,19 @@ calls/calls.rb:
|
||||
# 167| getReceiver: [ConstantReadAccess] X
|
||||
# 170| getStmt: [IfExpr] if ...
|
||||
# 170| getCondition: [MethodCall] call to foo
|
||||
# 170| getReceiver: [Self] self
|
||||
# 170| getBranch/getThen: [StmtSequence] then ...
|
||||
# 171| getStmt: [MethodCall] call to wibble
|
||||
# 171| getReceiver: [Self] self
|
||||
# 172| getBranch/getElse: [IfExpr] elsif ...
|
||||
# 172| getCondition: [MethodCall] call to bar
|
||||
# 172| getReceiver: [Self] self
|
||||
# 172| getBranch/getThen: [StmtSequence] then ...
|
||||
# 173| getStmt: [MethodCall] call to wobble
|
||||
# 173| getReceiver: [Self] self
|
||||
# 174| getBranch/getElse: [StmtSequence] else ...
|
||||
# 175| getStmt: [MethodCall] call to wabble
|
||||
# 175| getReceiver: [Self] self
|
||||
# 177| getStmt: [IfExpr] if ...
|
||||
# 177| getCondition: [MethodCall] call to foo
|
||||
# 177| getReceiver: [ConstantReadAccess] X
|
||||
@@ -214,7 +260,9 @@ calls/calls.rb:
|
||||
# 182| getReceiver: [ConstantReadAccess] X
|
||||
# 186| getStmt: [IfModifierExpr] ... if ...
|
||||
# 186| getBody/getBranch: [MethodCall] call to bar
|
||||
# 186| getReceiver: [Self] self
|
||||
# 186| getCondition: [MethodCall] call to foo
|
||||
# 186| getReceiver: [Self] self
|
||||
# 187| getStmt: [IfModifierExpr] ... if ...
|
||||
# 187| getBody/getBranch: [MethodCall] call to bar
|
||||
# 187| getReceiver: [ConstantReadAccess] X
|
||||
@@ -222,8 +270,10 @@ calls/calls.rb:
|
||||
# 187| getReceiver: [ConstantReadAccess] X
|
||||
# 190| getStmt: [UnlessExpr] unless ...
|
||||
# 190| getCondition: [MethodCall] call to foo
|
||||
# 190| getReceiver: [Self] self
|
||||
# 190| getBranch/getThen: [StmtSequence] then ...
|
||||
# 191| getStmt: [MethodCall] call to bar
|
||||
# 191| getReceiver: [Self] self
|
||||
# 193| getStmt: [UnlessExpr] unless ...
|
||||
# 193| getCondition: [MethodCall] call to foo
|
||||
# 193| getReceiver: [ConstantReadAccess] X
|
||||
@@ -232,7 +282,9 @@ calls/calls.rb:
|
||||
# 194| getReceiver: [ConstantReadAccess] X
|
||||
# 198| getStmt: [UnlessModifierExpr] ... unless ...
|
||||
# 198| getBody/getBranch: [MethodCall] call to bar
|
||||
# 198| getReceiver: [Self] self
|
||||
# 198| getCondition: [MethodCall] call to foo
|
||||
# 198| getReceiver: [Self] self
|
||||
# 199| getStmt: [UnlessModifierExpr] ... unless ...
|
||||
# 199| getBody/getBranch: [MethodCall] call to bar
|
||||
# 199| getReceiver: [ConstantReadAccess] X
|
||||
@@ -240,8 +292,10 @@ calls/calls.rb:
|
||||
# 199| getReceiver: [ConstantReadAccess] X
|
||||
# 202| getStmt: [WhileExpr] while ...
|
||||
# 202| getCondition: [MethodCall] call to foo
|
||||
# 202| getReceiver: [Self] self
|
||||
# 202| getBody: [StmtSequence] do ...
|
||||
# 203| getStmt: [MethodCall] call to bar
|
||||
# 203| getReceiver: [Self] self
|
||||
# 205| getStmt: [WhileExpr] while ...
|
||||
# 205| getCondition: [MethodCall] call to foo
|
||||
# 205| getReceiver: [ConstantReadAccess] X
|
||||
@@ -250,7 +304,9 @@ calls/calls.rb:
|
||||
# 206| getReceiver: [ConstantReadAccess] X
|
||||
# 210| getStmt: [WhileModifierExpr] ... while ...
|
||||
# 210| getBody: [MethodCall] call to bar
|
||||
# 210| getReceiver: [Self] self
|
||||
# 210| getCondition: [MethodCall] call to foo
|
||||
# 210| getReceiver: [Self] self
|
||||
# 211| getStmt: [WhileModifierExpr] ... while ...
|
||||
# 211| getBody: [MethodCall] call to bar
|
||||
# 211| getReceiver: [ConstantReadAccess] X
|
||||
@@ -258,8 +314,10 @@ calls/calls.rb:
|
||||
# 211| getReceiver: [ConstantReadAccess] X
|
||||
# 214| getStmt: [UntilExpr] until ...
|
||||
# 214| getCondition: [MethodCall] call to foo
|
||||
# 214| getReceiver: [Self] self
|
||||
# 214| getBody: [StmtSequence] do ...
|
||||
# 215| getStmt: [MethodCall] call to bar
|
||||
# 215| getReceiver: [Self] self
|
||||
# 217| getStmt: [UntilExpr] until ...
|
||||
# 217| getCondition: [MethodCall] call to foo
|
||||
# 217| getReceiver: [ConstantReadAccess] X
|
||||
@@ -268,7 +326,9 @@ calls/calls.rb:
|
||||
# 218| getReceiver: [ConstantReadAccess] X
|
||||
# 222| getStmt: [UntilModifierExpr] ... until ...
|
||||
# 222| getBody: [MethodCall] call to bar
|
||||
# 222| getReceiver: [Self] self
|
||||
# 222| getCondition: [MethodCall] call to foo
|
||||
# 222| getReceiver: [Self] self
|
||||
# 223| getStmt: [UntilModifierExpr] ... until ...
|
||||
# 223| getBody: [MethodCall] call to bar
|
||||
# 223| getReceiver: [ConstantReadAccess] X
|
||||
@@ -278,8 +338,10 @@ calls/calls.rb:
|
||||
# 226| getPattern: [LocalVariableAccess] x
|
||||
# 226| <in>: [???] In
|
||||
# 226| getValue: [MethodCall] call to bar
|
||||
# 226| getReceiver: [Self] self
|
||||
# 226| getBody: [StmtSequence] do ...
|
||||
# 227| getStmt: [MethodCall] call to baz
|
||||
# 227| getReceiver: [Self] self
|
||||
# 229| getStmt: [ForExpr] for ... in ...
|
||||
# 229| getPattern: [LocalVariableAccess] x
|
||||
# 229| <in>: [???] In
|
||||
@@ -290,7 +352,9 @@ calls/calls.rb:
|
||||
# 230| getReceiver: [ConstantReadAccess] X
|
||||
# 234| getStmt: [ElementReference] ...[...]
|
||||
# 234| getReceiver: [MethodCall] call to foo
|
||||
# 234| getReceiver: [Self] self
|
||||
# 234| getArgument: [MethodCall] call to bar
|
||||
# 234| getReceiver: [Self] self
|
||||
# 235| getStmt: [ElementReference] ...[...]
|
||||
# 235| getReceiver: [MethodCall] call to foo
|
||||
# 235| getReceiver: [ConstantReadAccess] X
|
||||
@@ -300,18 +364,22 @@ calls/calls.rb:
|
||||
# 238| getComponent: [StringTextComponent] foo-
|
||||
# 238| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 238| getStmt: [MethodCall] call to bar
|
||||
# 238| getReceiver: [Self] self
|
||||
# 238| getComponent: [StringTextComponent] -
|
||||
# 238| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 238| getStmt: [MethodCall] call to baz
|
||||
# 238| getReceiver: [ConstantReadAccess] X
|
||||
# 241| getStmt: [ConstantReadAccess] Bar
|
||||
# 241| getScopeExpr: [MethodCall] call to foo
|
||||
# 241| getReceiver: [Self] self
|
||||
# 242| getStmt: [ConstantReadAccess] Bar
|
||||
# 242| getScopeExpr: [MethodCall] call to foo
|
||||
# 242| getReceiver: [ConstantReadAccess] X
|
||||
# 245| getStmt: [RangeLiteral] _ .. _
|
||||
# 245| getBegin: [MethodCall] call to foo
|
||||
# 245| getReceiver: [Self] self
|
||||
# 245| getEnd: [MethodCall] call to bar
|
||||
# 245| getReceiver: [Self] self
|
||||
# 246| getStmt: [RangeLiteral] _ .. _
|
||||
# 246| getBegin: [MethodCall] call to foo
|
||||
# 246| getReceiver: [ConstantReadAccess] X
|
||||
@@ -320,7 +388,9 @@ calls/calls.rb:
|
||||
# 249| getStmt: [HashLiteral] {...}
|
||||
# 249| getElement: [Pair] Pair
|
||||
# 249| getKey: [MethodCall] call to foo
|
||||
# 249| getReceiver: [Self] self
|
||||
# 249| getValue: [MethodCall] call to bar
|
||||
# 249| getReceiver: [Self] self
|
||||
# 249| getElement: [Pair] Pair
|
||||
# 249| getKey: [MethodCall] call to foo
|
||||
# 249| getReceiver: [ConstantReadAccess] X
|
||||
@@ -329,8 +399,10 @@ calls/calls.rb:
|
||||
# 252| getStmt: [BeginExpr] begin ...
|
||||
# 253| getRescue: [RescueClause] rescue ...
|
||||
# 253| getException: [MethodCall] call to foo
|
||||
# 253| getReceiver: [Self] self
|
||||
# 254| getEnsure: [StmtSequence] ensure ...
|
||||
# 254| getStmt: [MethodCall] call to bar
|
||||
# 254| getReceiver: [Self] self
|
||||
# 256| getStmt: [BeginExpr] begin ...
|
||||
# 257| getRescue: [RescueClause] rescue ...
|
||||
# 257| getException: [MethodCall] call to foo
|
||||
@@ -340,38 +412,52 @@ calls/calls.rb:
|
||||
# 258| getReceiver: [ConstantReadAccess] X
|
||||
# 262| getStmt: [RescueModifierExpr] ... rescue ...
|
||||
# 262| getBody: [MethodCall] call to foo
|
||||
# 262| getReceiver: [Self] self
|
||||
# 262| getHandler: [MethodCall] call to bar
|
||||
# 262| getReceiver: [Self] self
|
||||
# 263| getStmt: [RescueModifierExpr] ... rescue ...
|
||||
# 263| getBody: [MethodCall] call to foo
|
||||
# 263| getReceiver: [ConstantReadAccess] X
|
||||
# 263| getHandler: [MethodCall] call to bar
|
||||
# 263| getReceiver: [ConstantReadAccess] X
|
||||
# 266| getStmt: [MethodCall] call to foo
|
||||
# 266| getReceiver: [Self] self
|
||||
# 266| getArgument: [BlockArgument] &...
|
||||
# 266| getValue: [MethodCall] call to bar
|
||||
# 266| getReceiver: [Self] self
|
||||
# 267| getStmt: [MethodCall] call to foo
|
||||
# 267| getReceiver: [Self] self
|
||||
# 267| getArgument: [BlockArgument] &...
|
||||
# 267| getValue: [MethodCall] call to bar
|
||||
# 267| getReceiver: [ConstantReadAccess] X
|
||||
# 270| getStmt: [MethodCall] call to foo
|
||||
# 270| getReceiver: [Self] self
|
||||
# 270| getArgument: [SplatArgument] *...
|
||||
# 270| getValue: [MethodCall] call to bar
|
||||
# 270| getReceiver: [Self] self
|
||||
# 271| getStmt: [MethodCall] call to foo
|
||||
# 271| getReceiver: [Self] self
|
||||
# 271| getArgument: [SplatArgument] *...
|
||||
# 271| getValue: [MethodCall] call to bar
|
||||
# 271| getReceiver: [ConstantReadAccess] X
|
||||
# 274| getStmt: [MethodCall] call to foo
|
||||
# 274| getReceiver: [Self] self
|
||||
# 274| getArgument: [HashSplatArgument] **...
|
||||
# 274| getValue: [MethodCall] call to bar
|
||||
# 274| getReceiver: [Self] self
|
||||
# 275| getStmt: [MethodCall] call to foo
|
||||
# 275| getReceiver: [Self] self
|
||||
# 275| getArgument: [HashSplatArgument] **...
|
||||
# 275| getValue: [MethodCall] call to bar
|
||||
# 275| getReceiver: [ConstantReadAccess] X
|
||||
# 278| getStmt: [MethodCall] call to foo
|
||||
# 278| getReceiver: [Self] self
|
||||
# 278| getArgument: [Pair] Pair
|
||||
# 278| getKey: [SymbolLiteral] :blah
|
||||
# 278| getValue: [MethodCall] call to bar
|
||||
# 278| getReceiver: [Self] self
|
||||
# 279| getStmt: [MethodCall] call to foo
|
||||
# 279| getReceiver: [Self] self
|
||||
# 279| getArgument: [Pair] Pair
|
||||
# 279| getKey: [SymbolLiteral] :blah
|
||||
# 279| getValue: [MethodCall] call to bar
|
||||
@@ -423,14 +509,17 @@ calls/calls.rb:
|
||||
# 302| getStmt: [Method] another_method
|
||||
# 303| getStmt: [MethodCall] call to super
|
||||
# 303| getReceiver: [MethodCall] call to foo
|
||||
# 303| getReceiver: [Self] self
|
||||
# 304| getStmt: [MethodCall] call to super
|
||||
# 304| getReceiver: [Self] self
|
||||
# 305| getStmt: [MethodCall] call to super
|
||||
# 305| getReceiver: [SuperCall] call to super
|
||||
# 310| getStmt: [MethodCall] call to call
|
||||
# 310| getReceiver: [MethodCall] call to foo
|
||||
# 310| getReceiver: [Self] self
|
||||
# 311| getStmt: [MethodCall] call to call
|
||||
# 311| getReceiver: [MethodCall] call to foo
|
||||
# 311| getReceiver: [Self] self
|
||||
# 311| getArgument: [IntegerLiteral] 1
|
||||
# 314| getStmt: [AssignExpr] ... = ...
|
||||
# 314| getAnOperand/getLeftOperand: [SetterMethodCall] call to foo=
|
||||
@@ -439,6 +528,7 @@ calls/calls.rb:
|
||||
# 315| getStmt: [AssignExpr] ... = ...
|
||||
# 315| getAnOperand/getLeftOperand: [ElementReference, SetterMethodCall] ...[...]
|
||||
# 315| getReceiver: [MethodCall] call to foo
|
||||
# 315| getReceiver: [Self] self
|
||||
# 315| getArgument: [IntegerLiteral] 0
|
||||
# 315| getAnOperand/getRightOperand: [IntegerLiteral] 10
|
||||
# 316| getStmt: [AssignExpr] ... = ...
|
||||
@@ -449,6 +539,7 @@ calls/calls.rb:
|
||||
# 316| getReceiver: [Self] self
|
||||
# 316| getElement: [ElementReference, SetterMethodCall] ...[...]
|
||||
# 316| getReceiver: [MethodCall] call to foo
|
||||
# 316| getReceiver: [Self] self
|
||||
# 316| getArgument: [IntegerLiteral] 4
|
||||
# 316| getAnOperand/getRightOperand: [ArrayLiteral] [...]
|
||||
# 316| getElement: [IntegerLiteral] 1
|
||||
@@ -460,6 +551,7 @@ calls/calls.rb:
|
||||
# 317| getElement: [LocalVariableAccess] a
|
||||
# 317| getElement: [ElementReference, SetterMethodCall] ...[...]
|
||||
# 317| getReceiver: [MethodCall] call to foo
|
||||
# 317| getReceiver: [Self] self
|
||||
# 317| getArgument: [IntegerLiteral] 5
|
||||
# 317| getAnOperand/getRightOperand: [ArrayLiteral] [...]
|
||||
# 317| getElement: [IntegerLiteral] 1
|
||||
@@ -472,6 +564,7 @@ calls/calls.rb:
|
||||
# 319| getStmt: [AssignAddExpr] ... += ...
|
||||
# 319| getAnOperand/getLeftOperand: [ElementReference, SetterMethodCall] ...[...]
|
||||
# 319| getReceiver: [MethodCall] call to foo
|
||||
# 319| getReceiver: [Self] self
|
||||
# 319| getArgument: [IntegerLiteral] 0
|
||||
# 319| getAnOperand/getRightOperand: [IntegerLiteral] 1
|
||||
control/cases.rb:
|
||||
@@ -527,6 +620,7 @@ modules/classes.rb:
|
||||
# 7| getSuperclassExpr: [ConstantReadAccess] BaseClass
|
||||
# 11| getStmt: [ClassDeclaration] Baz
|
||||
# 11| getSuperclassExpr: [MethodCall] call to superclass_for
|
||||
# 11| getReceiver: [Self] self
|
||||
# 11| getArgument: [SymbolLiteral] :baz
|
||||
# 15| getStmt: [ModuleDeclaration] MyModule
|
||||
# 16| getStmt: [ClassDeclaration] MyClass
|
||||
@@ -534,13 +628,16 @@ modules/classes.rb:
|
||||
# 20| getStmt: [ClassDeclaration] Wibble
|
||||
# 21| getStmt: [Method] method_a
|
||||
# 22| getStmt: [MethodCall] call to puts
|
||||
# 22| getReceiver: [Self] self
|
||||
# 22| getArgument: [StringLiteral] "a"
|
||||
# 22| getComponent: [StringTextComponent] a
|
||||
# 25| getStmt: [Method] method_b
|
||||
# 26| getStmt: [MethodCall] call to puts
|
||||
# 26| getReceiver: [Self] self
|
||||
# 26| getArgument: [StringLiteral] "b"
|
||||
# 26| getComponent: [StringTextComponent] b
|
||||
# 29| getStmt: [MethodCall] call to some_method_call
|
||||
# 29| getReceiver: [Self] self
|
||||
# 30| getStmt: [AssignExpr] ... = ...
|
||||
# 30| getAnOperand/getLeftOperand: [GlobalVariableAccess] $global_var
|
||||
# 30| getAnOperand/getRightOperand: [IntegerLiteral] 123
|
||||
@@ -558,9 +655,11 @@ modules/classes.rb:
|
||||
# 43| getAnOperand/getRightOperand: [SuperCall] call to super
|
||||
# 46| getStmt: [Method] wibble
|
||||
# 47| getStmt: [MethodCall] call to puts
|
||||
# 47| getReceiver: [Self] self
|
||||
# 47| getArgument: [StringLiteral] "wibble"
|
||||
# 47| getComponent: [StringTextComponent] wibble
|
||||
# 50| getStmt: [MethodCall] call to another_method_call
|
||||
# 50| getReceiver: [Self] self
|
||||
# 51| getStmt: [AssignExpr] ... = ...
|
||||
# 51| getAnOperand/getLeftOperand: [GlobalVariableAccess] $global_var2
|
||||
# 51| getAnOperand/getRightOperand: [IntegerLiteral] 456
|
||||
@@ -716,6 +815,7 @@ constants/constants.rb:
|
||||
# 19| getParameter: [SimpleParameter] name
|
||||
# 19| getDefiningAccess: [LocalVariableAccess] name
|
||||
# 20| getStmt: [MethodCall] call to puts
|
||||
# 20| getReceiver: [Self] self
|
||||
# 20| getArgument: [StringLiteral] "#{...} #{...}"
|
||||
# 20| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 20| getStmt: [ConstantReadAccess] GREETING
|
||||
@@ -723,6 +823,7 @@ constants/constants.rb:
|
||||
# 20| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 20| getStmt: [LocalVariableAccess] name
|
||||
# 25| getStmt: [MethodCall] call to Array
|
||||
# 25| getReceiver: [Self] self
|
||||
# 25| getArgument: [StringLiteral] "foo"
|
||||
# 25| getComponent: [StringTextComponent] foo
|
||||
# 28| getStmt: [ClassDeclaration] ClassD
|
||||
@@ -842,6 +943,7 @@ literals/literals.rb:
|
||||
# 66| getComponent: [StringTextComponent] foo
|
||||
# 66| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 66| getStmt: [MethodCall] call to blah
|
||||
# 66| getReceiver: [Self] self
|
||||
# 66| getStmt: [AddExpr] ... + ...
|
||||
# 66| getAnOperand/getLeftOperand: [IntegerLiteral] 1
|
||||
# 66| getAnOperand/getRightOperand: [IntegerLiteral] 9
|
||||
@@ -987,6 +1089,7 @@ literals/literals.rb:
|
||||
# 114| getValue: [IntegerLiteral] 7
|
||||
# 114| getElement: [HashSplatArgument] **...
|
||||
# 114| getValue: [MethodCall] call to bar
|
||||
# 114| getReceiver: [Self] self
|
||||
# 117| getStmt: [ParenthesizedExpr] ( ... )
|
||||
# 117| getStmt: [RangeLiteral] _ .. _
|
||||
# 117| getBegin: [IntegerLiteral] 1
|
||||
@@ -1002,6 +1105,7 @@ literals/literals.rb:
|
||||
# 120| getStmt: [ParenthesizedExpr] ( ... )
|
||||
# 120| getStmt: [RangeLiteral] _ .. _
|
||||
# 120| getBegin: [MethodCall] call to start
|
||||
# 120| getReceiver: [Self] self
|
||||
# 120| getEnd: [AddExpr] ... + ...
|
||||
# 120| getAnOperand/getLeftOperand: [IntegerLiteral] 2
|
||||
# 120| getAnOperand/getRightOperand: [IntegerLiteral] 3
|
||||
@@ -1085,6 +1189,7 @@ literals/literals.rb:
|
||||
# 148| getComponent: [StringEscapeSequenceComponent] \\
|
||||
# 148| getComponent: [StringTextComponent] foobar
|
||||
# 151| getStmt: [MethodCall] call to run_sql
|
||||
# 151| getReceiver: [Self] self
|
||||
# 151| getArgument: [HereDoc] <<SQL
|
||||
# 151| getComponent: [StringTextComponent]
|
||||
# 151| select * from table
|
||||
@@ -1094,6 +1199,7 @@ literals/literals.rb:
|
||||
# 153| where name =
|
||||
# 154| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 154| getStmt: [MethodCall] call to name
|
||||
# 154| getReceiver: [Self] self
|
||||
# 154| getComponent: [StringTextComponent]
|
||||
# 154|
|
||||
# 157| getStmt: [Method] m
|
||||
@@ -1118,6 +1224,7 @@ literals/literals.rb:
|
||||
# 167| text with
|
||||
# 168| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 168| getStmt: [MethodCall] call to interpolation
|
||||
# 168| getReceiver: [Self] self
|
||||
# 168| getComponent: [StringTextComponent] !
|
||||
# 168|
|
||||
# 172| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1127,6 +1234,7 @@ literals/literals.rb:
|
||||
# 172| text without
|
||||
# 173| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 173| getStmt: [MethodCall] call to interpolation
|
||||
# 173| getReceiver: [Self] self
|
||||
# 173| getComponent: [StringTextComponent] !
|
||||
# 173|
|
||||
# 176| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1328,6 +1436,7 @@ modules/modules.rb:
|
||||
# 6| getStmt: [ClassDeclaration] ClassInFooBar
|
||||
# 9| getStmt: [Method] method_in_foo_bar
|
||||
# 12| getStmt: [MethodCall] call to puts
|
||||
# 12| getReceiver: [Self] self
|
||||
# 12| getArgument: [StringLiteral] "module Foo::Bar"
|
||||
# 12| getComponent: [StringTextComponent] module Foo::Bar
|
||||
# 13| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1336,6 +1445,7 @@ modules/modules.rb:
|
||||
# 16| getStmt: [Method] method_in_foo
|
||||
# 19| getStmt: [ClassDeclaration] ClassInFoo
|
||||
# 22| getStmt: [MethodCall] call to puts
|
||||
# 22| getReceiver: [Self] self
|
||||
# 22| getArgument: [StringLiteral] "module Foo"
|
||||
# 22| getComponent: [StringTextComponent] module Foo
|
||||
# 23| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1345,6 +1455,7 @@ modules/modules.rb:
|
||||
# 27| getStmt: [Method] method_in_another_definition_of_foo
|
||||
# 30| getStmt: [ClassDeclaration] ClassInAnotherDefinitionOfFoo
|
||||
# 33| getStmt: [MethodCall] call to puts
|
||||
# 33| getReceiver: [Self] self
|
||||
# 33| getArgument: [StringLiteral] "module Foo again"
|
||||
# 33| getComponent: [StringTextComponent] module Foo again
|
||||
# 34| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1354,6 +1465,7 @@ modules/modules.rb:
|
||||
# 38| getStmt: [Method] method_a
|
||||
# 41| getStmt: [Method] method_b
|
||||
# 44| getStmt: [MethodCall] call to puts
|
||||
# 44| getReceiver: [Self] self
|
||||
# 44| getArgument: [StringLiteral] "module Bar"
|
||||
# 44| getComponent: [StringTextComponent] module Bar
|
||||
# 45| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1364,6 +1476,7 @@ modules/modules.rb:
|
||||
# 49| getStmt: [ClassDeclaration] ClassInAnotherDefinitionOfFooBar
|
||||
# 52| getStmt: [Method] method_in_another_definition_of_foo_bar
|
||||
# 55| getStmt: [MethodCall] call to puts
|
||||
# 55| getReceiver: [Self] self
|
||||
# 55| getArgument: [StringLiteral] "module Foo::Bar again"
|
||||
# 55| getComponent: [StringTextComponent] module Foo::Bar again
|
||||
# 56| getStmt: [AssignExpr] ... = ...
|
||||
@@ -1388,21 +1501,25 @@ modules/modules.rb:
|
||||
# 84| getStmt: [ModuleDeclaration] Foo1
|
||||
# 88| getStmt: [ModuleDeclaration] IncludeTest
|
||||
# 89| getStmt: [MethodCall] call to include
|
||||
# 89| getReceiver: [Self] self
|
||||
# 89| getArgument: [ConstantReadAccess] Test
|
||||
# 90| getStmt: [MethodCall] call to module_eval
|
||||
# 90| getReceiver: [ConstantReadAccess] Object
|
||||
# 90| getBlock: [BraceBlock] { ... }
|
||||
# 90| getStmt: [MethodCall] call to prepend
|
||||
# 90| getReceiver: [Self] self
|
||||
# 90| getArgument: [ConstantReadAccess] Other
|
||||
# 91| getStmt: [ModuleDeclaration] Y
|
||||
# 91| getScopeExpr: [ConstantReadAccess] Foo1
|
||||
# 95| getStmt: [ModuleDeclaration] IncludeTest2
|
||||
# 96| getStmt: [MethodCall] call to include
|
||||
# 96| getReceiver: [Self] self
|
||||
# 96| getArgument: [ConstantReadAccess] Test
|
||||
# 97| getStmt: [ModuleDeclaration] Z
|
||||
# 97| getScopeExpr: [ConstantReadAccess] Foo1
|
||||
# 101| getStmt: [ModuleDeclaration] PrependTest
|
||||
# 102| getStmt: [MethodCall] call to prepend
|
||||
# 102| getReceiver: [Self] self
|
||||
# 102| getArgument: [ConstantReadAccess] Test
|
||||
# 103| getStmt: [ModuleDeclaration] Y
|
||||
# 103| getScopeExpr: [ConstantReadAccess] Foo2
|
||||
@@ -1621,6 +1738,7 @@ params/params.rb:
|
||||
# 9| getParameter: [SimpleParameter] value
|
||||
# 9| getDefiningAccess: [LocalVariableAccess] value
|
||||
# 10| getStmt: [MethodCall] call to puts
|
||||
# 10| getReceiver: [Self] self
|
||||
# 10| getArgument: [StringLiteral] "#{...} -> #{...}"
|
||||
# 10| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 10| getStmt: [LocalVariableAccess] key
|
||||
@@ -1652,6 +1770,7 @@ params/params.rb:
|
||||
# 22| getElement: [LocalVariableAccess] a
|
||||
# 22| getElement: [LocalVariableAccess] b
|
||||
# 22| getStmt: [MethodCall] call to puts
|
||||
# 22| getReceiver: [Self] self
|
||||
# 22| getArgument: [AddExpr] ... + ...
|
||||
# 22| getAnOperand/getLeftOperand: [LocalVariableAccess] a
|
||||
# 22| getAnOperand/getRightOperand: [LocalVariableAccess] b
|
||||
@@ -1713,6 +1832,7 @@ params/params.rb:
|
||||
# 46| getParameter: [BlockParameter] &block
|
||||
# 46| getDefiningAccess: [LocalVariableAccess] block
|
||||
# 47| getStmt: [MethodCall] call to puts
|
||||
# 47| getReceiver: [Self] self
|
||||
# 47| getArgument: [MethodCall] call to call
|
||||
# 47| getReceiver: [LocalVariableAccess] block
|
||||
# 47| getArgument: [Pair] Pair
|
||||
@@ -1722,6 +1842,7 @@ params/params.rb:
|
||||
# 47| getKey: [SymbolLiteral] :foo
|
||||
# 47| getValue: [IntegerLiteral] 3
|
||||
# 49| getStmt: [MethodCall] call to use_block_with_keyword
|
||||
# 49| getReceiver: [Self] self
|
||||
# 49| getBlock: [DoBlock] do ... end
|
||||
# 49| getParameter: [KeywordParameter] xx
|
||||
# 49| getDefiningAccess: [LocalVariableAccess] xx
|
||||
@@ -1763,6 +1884,7 @@ params/params.rb:
|
||||
# 63| getArgument: [StringLiteral] "Zeus"
|
||||
# 63| getComponent: [StringTextComponent] Zeus
|
||||
# 65| getStmt: [MethodCall] call to use_block_with_optional
|
||||
# 65| getReceiver: [Self] self
|
||||
# 65| getBlock: [DoBlock] do ... end
|
||||
# 65| getParameter: [SimpleParameter] name
|
||||
# 65| getDefiningAccess: [LocalVariableAccess] name
|
||||
@@ -1770,6 +1892,7 @@ params/params.rb:
|
||||
# 65| getDefiningAccess: [LocalVariableAccess] age
|
||||
# 65| getDefaultValue: [IntegerLiteral] 99
|
||||
# 66| getStmt: [MethodCall] call to puts
|
||||
# 66| getReceiver: [Self] self
|
||||
# 66| getArgument: [StringLiteral] "#{...} is #{...} years old"
|
||||
# 66| getComponent: [StringInterpolationComponent] #{...}
|
||||
# 66| getStmt: [LocalVariableAccess] name
|
||||
@@ -1796,13 +1919,16 @@ params/params.rb:
|
||||
modules/toplevel.rb:
|
||||
# 1| [Toplevel] toplevel.rb
|
||||
# 1| getStmt: [MethodCall] call to puts
|
||||
# 1| getReceiver: [Self] self
|
||||
# 1| getArgument: [StringLiteral] "world"
|
||||
# 1| getComponent: [StringTextComponent] world
|
||||
# 3| getStmt: [EndBlock] END { ... }
|
||||
# 3| getStmt: [MethodCall] call to puts
|
||||
# 3| getReceiver: [Self] self
|
||||
# 3| getArgument: [StringLiteral] "!!!"
|
||||
# 3| getComponent: [StringTextComponent] !!!
|
||||
# 5| getBeginBlock: [BeginBlock] BEGIN { ... }
|
||||
# 5| getStmt: [MethodCall] call to puts
|
||||
# 5| getReceiver: [Self] self
|
||||
# 5| getArgument: [StringLiteral] "hello"
|
||||
# 5| getComponent: [StringTextComponent] hello
|
||||
|
||||
@@ -1,86 +1,8 @@
|
||||
callsWithNoReceiverArgumentsOrBlock
|
||||
| calls.rb:2:1:2:5 | call to foo | foo |
|
||||
| calls.rb:8:1:8:7 | call to bar | bar |
|
||||
| calls.rb:31:3:31:7 | yield ... | (none) |
|
||||
| calls.rb:46:1:46:3 | call to foo | foo |
|
||||
| calls.rb:50:2:50:4 | call to foo | foo |
|
||||
| calls.rb:54:11:54:13 | call to foo | foo |
|
||||
| calls.rb:58:2:58:4 | call to foo | foo |
|
||||
| calls.rb:62:8:62:10 | call to foo | foo |
|
||||
| calls.rb:66:9:66:11 | call to bar | bar |
|
||||
| calls.rb:70:8:70:10 | call to foo | foo |
|
||||
| calls.rb:74:3:74:5 | call to foo | foo |
|
||||
| calls.rb:79:9:79:11 | call to foo | foo |
|
||||
| calls.rb:82:7:82:9 | call to foo | foo |
|
||||
| calls.rb:85:1:85:3 | call to foo | foo |
|
||||
| calls.rb:88:2:88:4 | call to foo | foo |
|
||||
| calls.rb:92:9:92:11 | call to bar | bar |
|
||||
| calls.rb:96:3:96:5 | call to bar | bar |
|
||||
| calls.rb:101:1:101:3 | call to foo | foo |
|
||||
| calls.rb:102:1:102:3 | call to bar | bar |
|
||||
| calls.rb:106:6:106:8 | call to foo | foo |
|
||||
| calls.rb:107:6:107:8 | call to bar | bar |
|
||||
| calls.rb:108:3:108:5 | call to baz | baz |
|
||||
| calls.rb:117:3:117:5 | call to foo | foo |
|
||||
| calls.rb:122:17:122:19 | call to foo | foo |
|
||||
| calls.rb:128:10:128:12 | call to foo | foo |
|
||||
| calls.rb:129:3:129:5 | call to bar | bar |
|
||||
| calls.rb:137:3:137:5 | call to foo | foo |
|
||||
| calls.rb:142:5:142:7 | call to foo | foo |
|
||||
| calls.rb:143:3:143:5 | call to bar | bar |
|
||||
| calls.rb:148:40:148:42 | call to foo | foo |
|
||||
| calls.rb:154:40:154:42 | call to foo | foo |
|
||||
| calls.rb:161:3:161:5 | call to foo | foo |
|
||||
| calls.rb:166:1:166:3 | call to foo | foo |
|
||||
| calls.rb:166:7:166:9 | call to bar | bar |
|
||||
| calls.rb:166:13:166:15 | call to baz | baz |
|
||||
| calls.rb:170:4:170:6 | call to foo | foo |
|
||||
| calls.rb:171:3:171:8 | call to wibble | wibble |
|
||||
| calls.rb:172:7:172:9 | call to bar | bar |
|
||||
| calls.rb:173:3:173:8 | call to wobble | wobble |
|
||||
| calls.rb:175:3:175:8 | call to wabble | wabble |
|
||||
| calls.rb:186:1:186:3 | call to bar | bar |
|
||||
| calls.rb:186:8:186:10 | call to foo | foo |
|
||||
| calls.rb:190:8:190:10 | call to foo | foo |
|
||||
| calls.rb:191:3:191:5 | call to bar | bar |
|
||||
| calls.rb:198:1:198:3 | call to bar | bar |
|
||||
| calls.rb:198:12:198:14 | call to foo | foo |
|
||||
| calls.rb:202:7:202:9 | call to foo | foo |
|
||||
| calls.rb:203:3:203:5 | call to bar | bar |
|
||||
| calls.rb:210:1:210:3 | call to bar | bar |
|
||||
| calls.rb:210:11:210:13 | call to foo | foo |
|
||||
| calls.rb:214:7:214:9 | call to foo | foo |
|
||||
| calls.rb:215:3:215:5 | call to bar | bar |
|
||||
| calls.rb:222:1:222:3 | call to bar | bar |
|
||||
| calls.rb:222:11:222:13 | call to foo | foo |
|
||||
| calls.rb:226:10:226:12 | call to bar | bar |
|
||||
| calls.rb:227:3:227:5 | call to baz | baz |
|
||||
| calls.rb:234:1:234:3 | call to foo | foo |
|
||||
| calls.rb:234:5:234:7 | call to bar | bar |
|
||||
| calls.rb:238:8:238:10 | call to bar | bar |
|
||||
| calls.rb:241:1:241:3 | call to foo | foo |
|
||||
| calls.rb:245:1:245:3 | call to foo | foo |
|
||||
| calls.rb:245:6:245:8 | call to bar | bar |
|
||||
| calls.rb:249:3:249:5 | call to foo | foo |
|
||||
| calls.rb:249:10:249:12 | call to bar | bar |
|
||||
| calls.rb:253:8:253:10 | call to foo | foo |
|
||||
| calls.rb:254:8:254:10 | call to bar | bar |
|
||||
| calls.rb:262:1:262:3 | call to foo | foo |
|
||||
| calls.rb:262:12:262:14 | call to bar | bar |
|
||||
| calls.rb:266:6:266:8 | call to bar | bar |
|
||||
| calls.rb:270:6:270:8 | call to bar | bar |
|
||||
| calls.rb:274:7:274:9 | call to bar | bar |
|
||||
| calls.rb:278:11:278:13 | call to bar | bar |
|
||||
| calls.rb:286:5:286:9 | call to super | super |
|
||||
| calls.rb:287:5:287:11 | call to super | super |
|
||||
| calls.rb:303:5:303:7 | call to foo | foo |
|
||||
| calls.rb:305:5:305:9 | call to super | super |
|
||||
| calls.rb:310:1:310:3 | call to foo | foo |
|
||||
| calls.rb:311:1:311:3 | call to foo | foo |
|
||||
| calls.rb:315:1:315:3 | call to foo | foo |
|
||||
| calls.rb:316:22:316:24 | call to foo | foo |
|
||||
| calls.rb:317:5:317:7 | call to foo | foo |
|
||||
| calls.rb:319:1:319:3 | call to foo | foo |
|
||||
callsWithArguments
|
||||
| calls.rb:14:1:14:11 | call to foo | foo | 0 | calls.rb:14:5:14:5 | 0 |
|
||||
| calls.rb:14:1:14:11 | call to foo | foo | 1 | calls.rb:14:8:14:8 | 1 |
|
||||
@@ -115,91 +37,184 @@ callsWithArguments
|
||||
| calls.rb:319:1:319:6 | ...[...] | [] | 0 | calls.rb:319:5:319:5 | 0 |
|
||||
| calls.rb:319:1:319:6 | ...[...] | []= | 0 | calls.rb:319:5:319:5 | 0 |
|
||||
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 |
|
||||
| calls.rb:8:1:8:7 | call to bar | calls.rb:8:1:8:7 | self |
|
||||
| calls.rb:11:1:11:7 | call to bar | calls.rb:11:1:11:3 | 123 |
|
||||
| calls.rb:14:1:14:11 | call to foo | calls.rb:14:1:14:11 | self |
|
||||
| calls.rb:17:1:17:17 | call to foo | calls.rb:17:1:17:17 | self |
|
||||
| calls.rb:20:1:22:3 | call to foo | calls.rb:20:1:22:3 | self |
|
||||
| calls.rb:25:1:27:3 | call to bar | calls.rb:25:1:25:3 | 123 |
|
||||
| calls.rb:46:1:46:3 | call to foo | calls.rb:46:1:46:3 | self |
|
||||
| calls.rb:47:1:47:6 | call to foo | calls.rb:47:1:47:1 | X |
|
||||
| calls.rb:50:2:50:4 | call to foo | calls.rb:50:2:50:4 | self |
|
||||
| calls.rb:51:2:51:7 | call to foo | calls.rb:51:2:51:2 | X |
|
||||
| calls.rb:54:1:54:14 | call to some_func | calls.rb:54:1:54:14 | self |
|
||||
| calls.rb:54:11:54:13 | call to foo | calls.rb:54:11:54:13 | self |
|
||||
| calls.rb:55:1:55:17 | call to some_func | calls.rb:55:1:55:17 | self |
|
||||
| calls.rb:55:11:55:16 | call to foo | calls.rb:55:11:55:11 | X |
|
||||
| calls.rb:58:2:58:4 | call to foo | calls.rb:58:2:58:4 | self |
|
||||
| calls.rb:59:2:59:7 | call to foo | calls.rb:59:2:59:2 | X |
|
||||
| calls.rb:62:8:62:10 | call to foo | calls.rb:62:8:62:10 | self |
|
||||
| calls.rb:63:8:63:13 | call to foo | calls.rb:63:8:63:8 | X |
|
||||
| calls.rb:66:9:66:11 | call to bar | calls.rb:66:9:66:11 | self |
|
||||
| calls.rb:67:9:67:14 | call to bar | calls.rb:67:9:67:9 | X |
|
||||
| calls.rb:70:8:70:10 | call to foo | calls.rb:70:8:70:10 | self |
|
||||
| calls.rb:70:13:70:18 | call to bar | calls.rb:70:13:70:13 | X |
|
||||
| calls.rb:74:3:74:5 | call to foo | calls.rb:74:3:74:5 | self |
|
||||
| calls.rb:75:3:75:8 | call to foo | calls.rb:75:3:75:3 | X |
|
||||
| calls.rb:79:9:79:11 | call to foo | calls.rb:79:9:79:11 | self |
|
||||
| calls.rb:79:14:79:19 | call to bar | calls.rb:79:14:79:14 | X |
|
||||
| calls.rb:82:7:82:9 | call to foo | calls.rb:82:7:82:9 | self |
|
||||
| calls.rb:82:12:82:17 | call to bar | calls.rb:82:12:82:12 | X |
|
||||
| calls.rb:85:1:85:3 | call to foo | calls.rb:85:1:85:3 | self |
|
||||
| calls.rb:85:7:85:12 | call to bar | calls.rb:85:7:85:7 | X |
|
||||
| calls.rb:88:2:88:4 | call to foo | calls.rb:88:2:88:4 | self |
|
||||
| calls.rb:89:2:89:7 | call to bar | calls.rb:89:2:89:2 | X |
|
||||
| calls.rb:92:1:92:21 | call to foo | calls.rb:92:1:92:21 | self |
|
||||
| calls.rb:92:9:92:11 | call to bar | calls.rb:92:9:92:11 | self |
|
||||
| calls.rb:92:14:92:19 | call to baz | calls.rb:92:14:92:14 | X |
|
||||
| calls.rb:95:1:98:3 | call to foo | calls.rb:95:1:98:3 | self |
|
||||
| calls.rb:96:3:96:5 | call to bar | calls.rb:96:3:96:5 | self |
|
||||
| calls.rb:97:3:97:8 | call to baz | calls.rb:97:3:97:3 | X |
|
||||
| calls.rb:101:1:101:3 | call to foo | calls.rb:101:1:101:3 | self |
|
||||
| calls.rb:101:1:101:9 | call to bar | calls.rb:101:1:101:3 | call to foo |
|
||||
| calls.rb:102:1:102:3 | call to bar | calls.rb:102:1:102:3 | self |
|
||||
| calls.rb:102:1:102:9 | call to baz | calls.rb:102:1:102:3 | call to bar |
|
||||
| calls.rb:106:6:106:8 | call to foo | calls.rb:106:6:106:8 | self |
|
||||
| calls.rb:107:6:107:8 | call to bar | calls.rb:107:6:107:8 | self |
|
||||
| calls.rb:108:3:108:5 | call to baz | calls.rb:108:3:108:5 | self |
|
||||
| calls.rb:110:6:110:11 | call to foo | calls.rb:110:6:110:6 | X |
|
||||
| calls.rb:111:6:111:11 | call to bar | calls.rb:111:6:111:6 | X |
|
||||
| calls.rb:112:3:112:8 | call to baz | calls.rb:112:3:112:3 | X |
|
||||
| calls.rb:117:3:117:5 | call to foo | calls.rb:117:3:117:5 | self |
|
||||
| calls.rb:118:3:118:8 | call to bar | calls.rb:118:3:118:3 | X |
|
||||
| calls.rb:122:17:122:19 | call to foo | calls.rb:122:17:122:19 | self |
|
||||
| calls.rb:124:18:124:23 | call to foo | calls.rb:124:18:124:18 | X |
|
||||
| calls.rb:128:10:128:12 | call to foo | calls.rb:128:10:128:12 | self |
|
||||
| calls.rb:129:3:129:5 | call to bar | calls.rb:129:3:129:5 | self |
|
||||
| calls.rb:131:10:131:15 | call to foo | calls.rb:131:10:131:10 | X |
|
||||
| calls.rb:132:3:132:8 | call to bar | calls.rb:132:3:132:3 | X |
|
||||
| calls.rb:137:3:137:5 | call to foo | calls.rb:137:3:137:5 | self |
|
||||
| calls.rb:138:3:138:8 | call to bar | calls.rb:138:3:138:3 | X |
|
||||
| calls.rb:142:5:142:7 | call to foo | calls.rb:142:5:142:7 | self |
|
||||
| calls.rb:143:3:143:5 | call to bar | calls.rb:143:3:143:5 | self |
|
||||
| calls.rb:144:3:144:8 | call to baz | calls.rb:144:3:144:3 | X |
|
||||
| calls.rb:148:40:148:42 | call to foo | calls.rb:148:40:148:42 | self |
|
||||
| calls.rb:150:41:150:46 | call to foo | calls.rb:150:41:150:41 | X |
|
||||
| calls.rb:154:40:154:42 | call to foo | calls.rb:154:40:154:42 | self |
|
||||
| calls.rb:156:41:156:46 | call to foo | calls.rb:156:41:156:41 | X |
|
||||
| calls.rb:161:3:161:5 | call to foo | calls.rb:161:3:161:5 | self |
|
||||
| calls.rb:162:3:162:8 | call to bar | calls.rb:162:3:162:3 | X |
|
||||
| calls.rb:166:1:166:3 | call to foo | calls.rb:166:1:166:3 | self |
|
||||
| calls.rb:166:7:166:9 | call to bar | calls.rb:166:7:166:9 | self |
|
||||
| calls.rb:166:13:166:15 | call to baz | calls.rb:166:13:166:15 | self |
|
||||
| calls.rb:167:1:167:6 | call to foo | calls.rb:167:1:167:1 | X |
|
||||
| calls.rb:167:10:167:15 | call to bar | calls.rb:167:10:167:10 | X |
|
||||
| calls.rb:167:19:167:24 | call to baz | calls.rb:167:19:167:19 | X |
|
||||
| calls.rb:170:4:170:6 | call to foo | calls.rb:170:4:170:6 | self |
|
||||
| calls.rb:171:3:171:8 | call to wibble | calls.rb:171:3:171:8 | self |
|
||||
| calls.rb:172:7:172:9 | call to bar | calls.rb:172:7:172:9 | self |
|
||||
| calls.rb:173:3:173:8 | call to wobble | calls.rb:173:3:173:8 | self |
|
||||
| calls.rb:175:3:175:8 | call to wabble | calls.rb:175:3:175:8 | self |
|
||||
| calls.rb:177:4:177:9 | call to foo | calls.rb:177:4:177:4 | X |
|
||||
| calls.rb:178:3:178:11 | call to wibble | calls.rb:178:3:178:3 | X |
|
||||
| calls.rb:179:7:179:12 | call to bar | calls.rb:179:7:179:7 | X |
|
||||
| calls.rb:180:3:180:11 | call to wobble | calls.rb:180:3:180:3 | X |
|
||||
| calls.rb:182:3:182:11 | call to wabble | calls.rb:182:3:182:3 | X |
|
||||
| calls.rb:186:1:186:3 | call to bar | calls.rb:186:1:186:3 | self |
|
||||
| calls.rb:186:8:186:10 | call to foo | calls.rb:186:8:186:10 | self |
|
||||
| calls.rb:187:1:187:6 | call to bar | calls.rb:187:1:187:1 | X |
|
||||
| calls.rb:187:11:187:16 | call to foo | calls.rb:187:11:187:11 | X |
|
||||
| calls.rb:190:8:190:10 | call to foo | calls.rb:190:8:190:10 | self |
|
||||
| calls.rb:191:3:191:5 | call to bar | calls.rb:191:3:191:5 | self |
|
||||
| calls.rb:193:8:193:13 | call to foo | calls.rb:193:8:193:8 | X |
|
||||
| calls.rb:194:3:194:8 | call to bar | calls.rb:194:3:194:3 | X |
|
||||
| calls.rb:198:1:198:3 | call to bar | calls.rb:198:1:198:3 | self |
|
||||
| calls.rb:198:12:198:14 | call to foo | calls.rb:198:12:198:14 | self |
|
||||
| calls.rb:199:1:199:6 | call to bar | calls.rb:199:1:199:1 | X |
|
||||
| calls.rb:199:15:199:20 | call to foo | calls.rb:199:15:199:15 | X |
|
||||
| calls.rb:202:7:202:9 | call to foo | calls.rb:202:7:202:9 | self |
|
||||
| calls.rb:203:3:203:5 | call to bar | calls.rb:203:3:203:5 | self |
|
||||
| calls.rb:205:7:205:12 | call to foo | calls.rb:205:7:205:7 | X |
|
||||
| calls.rb:206:3:206:8 | call to bar | calls.rb:206:3:206:3 | X |
|
||||
| calls.rb:210:1:210:3 | call to bar | calls.rb:210:1:210:3 | self |
|
||||
| calls.rb:210:11:210:13 | call to foo | calls.rb:210:11:210:13 | self |
|
||||
| calls.rb:211:1:211:6 | call to bar | calls.rb:211:1:211:1 | X |
|
||||
| calls.rb:211:14:211:19 | call to foo | calls.rb:211:14:211:14 | X |
|
||||
| calls.rb:214:7:214:9 | call to foo | calls.rb:214:7:214:9 | self |
|
||||
| calls.rb:215:3:215:5 | call to bar | calls.rb:215:3:215:5 | self |
|
||||
| calls.rb:217:7:217:12 | call to foo | calls.rb:217:7:217:7 | X |
|
||||
| calls.rb:218:3:218:8 | call to bar | calls.rb:218:3:218:3 | X |
|
||||
| calls.rb:222:1:222:3 | call to bar | calls.rb:222:1:222:3 | self |
|
||||
| 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: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: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 |
|
||||
| calls.rb:234:1:234:8 | ...[...] | calls.rb:234:1:234:3 | call to foo |
|
||||
| calls.rb:234:5:234:7 | call to bar | calls.rb:234:5:234:7 | self |
|
||||
| calls.rb:235:1:235:6 | call to foo | calls.rb:235:1:235:1 | X |
|
||||
| calls.rb:235:1:235:14 | ...[...] | calls.rb:235:1:235:6 | call to foo |
|
||||
| calls.rb:235:8:235:13 | call to bar | calls.rb:235:8:235:8 | X |
|
||||
| calls.rb:238:8:238:10 | call to bar | calls.rb:238:8:238:10 | self |
|
||||
| calls.rb:238:15:238:20 | call to baz | calls.rb:238:15:238:15 | X |
|
||||
| calls.rb:241:1:241:3 | call to foo | calls.rb:241:1:241:3 | self |
|
||||
| calls.rb:242:1:242:6 | call to foo | calls.rb:242:1:242:1 | X |
|
||||
| calls.rb:245:1:245:3 | call to foo | calls.rb:245:1:245:3 | self |
|
||||
| calls.rb:245:6:245:8 | call to bar | calls.rb:245:6:245:8 | self |
|
||||
| calls.rb:246:1:246:6 | call to foo | calls.rb:246:1:246:1 | X |
|
||||
| calls.rb:246:9:246:14 | call to bar | calls.rb:246:9:246:9 | X |
|
||||
| calls.rb:249:3:249:5 | call to foo | calls.rb:249:3:249:5 | self |
|
||||
| calls.rb:249:10:249:12 | call to bar | calls.rb:249:10:249:12 | self |
|
||||
| calls.rb:249:15:249:20 | call to foo | calls.rb:249:15:249:15 | X |
|
||||
| calls.rb:249:25:249:30 | call to bar | calls.rb:249:25:249:25 | X |
|
||||
| calls.rb:253:8:253:10 | call to foo | calls.rb:253:8:253:10 | self |
|
||||
| calls.rb:254:8:254:10 | call to bar | calls.rb:254:8:254:10 | self |
|
||||
| calls.rb:257:8:257:13 | call to foo | calls.rb:257:8:257:8 | X |
|
||||
| calls.rb:258:8:258:13 | call to bar | calls.rb:258:8:258:8 | X |
|
||||
| calls.rb:262:1:262:3 | call to foo | calls.rb:262:1:262:3 | self |
|
||||
| calls.rb:262:12:262:14 | call to bar | calls.rb:262:12:262:14 | self |
|
||||
| calls.rb:263:1:263:6 | call to foo | calls.rb:263:1:263:1 | X |
|
||||
| calls.rb:263:15:263:20 | call to bar | calls.rb:263:15:263:15 | X |
|
||||
| calls.rb:266:1:266:9 | call to foo | calls.rb:266:1:266:9 | self |
|
||||
| calls.rb:266:6:266:8 | call to bar | calls.rb:266:6:266:8 | self |
|
||||
| calls.rb:267:1:267:12 | call to foo | calls.rb:267:1:267:12 | self |
|
||||
| calls.rb:267:6:267:11 | call to bar | calls.rb:267:6:267:6 | X |
|
||||
| calls.rb:270:1:270:9 | call to foo | calls.rb:270:1:270:9 | self |
|
||||
| calls.rb:270:6:270:8 | call to bar | calls.rb:270:6:270:8 | self |
|
||||
| calls.rb:271:1:271:12 | call to foo | calls.rb:271:1:271:12 | self |
|
||||
| calls.rb:271:6:271:11 | call to bar | calls.rb:271:6:271:6 | X |
|
||||
| calls.rb:274:1:274:10 | call to foo | calls.rb:274:1:274:10 | self |
|
||||
| calls.rb:274:7:274:9 | call to bar | calls.rb:274:7:274:9 | self |
|
||||
| calls.rb:275:1:275:13 | call to foo | calls.rb:275:1:275:13 | self |
|
||||
| calls.rb:275:7:275:12 | call to bar | calls.rb:275:7:275:7 | X |
|
||||
| calls.rb:278:1:278:14 | call to foo | calls.rb:278:1:278:14 | self |
|
||||
| calls.rb:278:11:278:13 | call to bar | calls.rb:278:11:278:13 | self |
|
||||
| calls.rb:279:1:279:17 | call to foo | calls.rb:279:1:279:17 | self |
|
||||
| calls.rb:279:11:279:16 | call to bar | calls.rb:279:11:279:11 | X |
|
||||
| calls.rb:303:5:303:7 | call to foo | calls.rb:303:5:303:7 | self |
|
||||
| calls.rb:303:5:303:13 | call to super | calls.rb:303:5:303:7 | call to foo |
|
||||
| calls.rb:304:5:304:14 | call to super | calls.rb:304:5:304:8 | self |
|
||||
| calls.rb:305:5:305:15 | call to super | calls.rb:305:5:305:9 | call to super |
|
||||
| calls.rb:310:1:310:3 | call to foo | calls.rb:310:1:310:3 | self |
|
||||
| calls.rb:310:1:310:6 | call to call | calls.rb:310:1:310:3 | call to foo |
|
||||
| calls.rb:311:1:311:3 | call to foo | calls.rb:311:1:311:3 | self |
|
||||
| calls.rb:311:1:311:7 | call to call | calls.rb:311:1:311:3 | call to foo |
|
||||
| calls.rb:314:1:314:8 | call to foo= | calls.rb:314:1:314:4 | self |
|
||||
| calls.rb:315:1:315:3 | call to foo | calls.rb:315:1:315:3 | self |
|
||||
| calls.rb:315:1:315:6 | ...[...] | calls.rb:315:1:315:3 | call to foo |
|
||||
| calls.rb:316:1:316:8 | call to foo= | calls.rb:316:1:316:4 | self |
|
||||
| calls.rb:316:12:316:19 | call to bar= | calls.rb:316:12:316:15 | self |
|
||||
| calls.rb:316:22:316:24 | call to foo | calls.rb:316:22:316:24 | self |
|
||||
| calls.rb:316:22:316:27 | ...[...] | calls.rb:316:22:316:24 | call to foo |
|
||||
| calls.rb:317:5:317:7 | call to foo | calls.rb:317:5:317:7 | self |
|
||||
| calls.rb:317:5:317:10 | ...[...] | calls.rb:317:5:317:7 | call to foo |
|
||||
| calls.rb:318:1:318:10 | call to count/count= | calls.rb:318:1:318:4 | self |
|
||||
| calls.rb:319:1:319:3 | call to foo | calls.rb:319:1:319:3 | self |
|
||||
| calls.rb:319:1:319:6 | ...[...] | calls.rb:319:1:319:3 | call to foo |
|
||||
callsWithBlock
|
||||
| calls.rb:17:1:17:17 | call to foo | calls.rb:17:5:17:17 | { ... } |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -26,11 +26,11 @@ definition
|
||||
| parameters.rb:35:1:38:3 | <uninitialized> | parameters.rb:35:16:35:16 | b |
|
||||
| parameters.rb:35:11:35:11 | a | parameters.rb:35:11:35:11 | a |
|
||||
| parameters.rb:35:16:35:20 | ... = ... | parameters.rb:35:16:35:16 | b |
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b |
|
||||
| parameters.rb:40:1:43:3 | <uninitialized> | parameters.rb:40:15:40:15 | e |
|
||||
| parameters.rb:40:12:40:12 | d | parameters.rb:40:12:40:12 | d |
|
||||
| parameters.rb:40:15:40:19 | ... = ... | parameters.rb:40:15:40:15 | e |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e |
|
||||
| parameters.rb:45:20:45:20 | _ | parameters.rb:45:20:45:20 | _ |
|
||||
| parameters.rb:49:13:49:13 | a | parameters.rb:49:13:49:13 | a |
|
||||
| parameters.rb:49:15:49:15 | b | parameters.rb:49:15:49:15 | b |
|
||||
@@ -38,7 +38,7 @@ definition
|
||||
| parameters.rb:54:9:57:3 | <captured> | parameters.rb:53:1:53:1 | x |
|
||||
| parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y |
|
||||
| parameters.rb:54:19:54:23 | ... = ... | parameters.rb:53:1:53:1 | x |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x |
|
||||
| scopes.rb:4:4:4:8 | ... = ... | scopes.rb:4:4:4:4 | a |
|
||||
| scopes.rb:7:1:7:5 | ... = ... | scopes.rb:7:1:7:1 | a |
|
||||
| scopes.rb:9:9:18:3 | <captured> | scopes.rb:7:1:7:1 | a |
|
||||
@@ -68,7 +68,7 @@ definition
|
||||
| ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x |
|
||||
| ssa.rb:49:1:51:3 | <uninitialized> | ssa.rb:49:14:49:14 | y |
|
||||
| ssa.rb:49:14:49:19 | ... = ... | ssa.rb:49:14:49:14 | y |
|
||||
| ssa.rb:50:8:50:8 | phi | ssa.rb:49:14:49:14 | y |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y |
|
||||
| ssa.rb:53:8:53:10 | foo | ssa.rb:53:8:53:10 | foo |
|
||||
| ssa.rb:54:3:54:11 | ... = ... | ssa.rb:54:3:54:3 | x |
|
||||
| ssa.rb:59:3:59:8 | ... = ... | ssa.rb:59:3:59:3 | x |
|
||||
@@ -113,14 +113,14 @@ read
|
||||
| parameters.rb:30:24:30:29 | middle | parameters.rb:30:24:30:29 | middle | parameters.rb:31:20:31:25 | middle |
|
||||
| parameters.rb:30:36:30:39 | last | parameters.rb:30:36:30:39 | last | parameters.rb:31:30:31:33 | last |
|
||||
| parameters.rb:35:11:35:11 | a | parameters.rb:35:11:35:11 | a | parameters.rb:37:11:37:11 | a |
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:40:12:40:12 | d | parameters.rb:40:12:40:12 | d | parameters.rb:42:11:42:11 | d |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:45:20:45:20 | _ | parameters.rb:45:20:45:20 | _ | parameters.rb:46:8:46:8 | _ |
|
||||
| parameters.rb:49:13:49:13 | a | parameters.rb:49:13:49:13 | a | parameters.rb:50:11:50:11 | a |
|
||||
| parameters.rb:49:15:49:15 | b | parameters.rb:49:15:49:15 | b | parameters.rb:50:16:50:16 | b |
|
||||
| parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | parameters.rb:56:9:56:9 | y |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| scopes.rb:4:4:4:8 | ... = ... | scopes.rb:4:4:4:4 | a | scopes.rb:5:9:5:9 | a |
|
||||
| scopes.rb:7:1:7:5 | ... = ... | scopes.rb:7:1:7:1 | a | scopes.rb:8:6:8:6 | a |
|
||||
| scopes.rb:9:9:18:3 | <captured> | scopes.rb:7:1:7:1 | a | scopes.rb:10:9:10:9 | a |
|
||||
@@ -153,7 +153,7 @@ read
|
||||
| ssa.rb:40:3:40:9 | ... = ... | ssa.rb:40:3:40:4 | m3 | ssa.rb:41:8:41:9 | m3 |
|
||||
| ssa.rb:44:8:44:8 | b | ssa.rb:44:8:44:8 | b | ssa.rb:45:12:45:12 | b |
|
||||
| ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x | ssa.rb:46:8:46:8 | x |
|
||||
| ssa.rb:50:8:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:53:8:53:10 | foo | ssa.rb:53:8:53:10 | foo | ssa.rb:54:7:54:9 | foo |
|
||||
| ssa.rb:54:3:54:11 | ... = ... | ssa.rb:54:3:54:3 | x | ssa.rb:55:8:55:8 | x |
|
||||
| ssa.rb:59:3:59:8 | ... = ... | ssa.rb:59:3:59:3 | x | ssa.rb:60:3:60:3 | x |
|
||||
@@ -193,14 +193,14 @@ firstRead
|
||||
| parameters.rb:30:24:30:29 | middle | parameters.rb:30:24:30:29 | middle | parameters.rb:31:20:31:25 | middle |
|
||||
| parameters.rb:30:36:30:39 | last | parameters.rb:30:36:30:39 | last | parameters.rb:31:30:31:33 | last |
|
||||
| parameters.rb:35:11:35:11 | a | parameters.rb:35:11:35:11 | a | parameters.rb:37:11:37:11 | a |
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:40:12:40:12 | d | parameters.rb:40:12:40:12 | d | parameters.rb:42:11:42:11 | d |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:45:20:45:20 | _ | parameters.rb:45:20:45:20 | _ | parameters.rb:46:8:46:8 | _ |
|
||||
| parameters.rb:49:13:49:13 | a | parameters.rb:49:13:49:13 | a | parameters.rb:50:11:50:11 | a |
|
||||
| parameters.rb:49:15:49:15 | b | parameters.rb:49:15:49:15 | b | parameters.rb:50:16:50:16 | b |
|
||||
| parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | parameters.rb:56:9:56:9 | y |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| scopes.rb:4:4:4:8 | ... = ... | scopes.rb:4:4:4:4 | a | scopes.rb:5:9:5:9 | a |
|
||||
| scopes.rb:7:1:7:5 | ... = ... | scopes.rb:7:1:7:1 | a | scopes.rb:8:6:8:6 | a |
|
||||
| scopes.rb:9:9:18:3 | <captured> | scopes.rb:7:1:7:1 | a | scopes.rb:10:9:10:9 | a |
|
||||
@@ -223,7 +223,7 @@ firstRead
|
||||
| ssa.rb:40:3:40:9 | ... = ... | ssa.rb:40:3:40:4 | m3 | ssa.rb:41:8:41:9 | m3 |
|
||||
| ssa.rb:44:8:44:8 | b | ssa.rb:44:8:44:8 | b | ssa.rb:45:12:45:12 | b |
|
||||
| ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x | ssa.rb:46:8:46:8 | x |
|
||||
| ssa.rb:50:8:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:53:8:53:10 | foo | ssa.rb:53:8:53:10 | foo | ssa.rb:54:7:54:9 | foo |
|
||||
| ssa.rb:54:3:54:11 | ... = ... | ssa.rb:54:3:54:3 | x | ssa.rb:55:8:55:8 | x |
|
||||
| ssa.rb:59:3:59:8 | ... = ... | ssa.rb:59:3:59:3 | x | ssa.rb:60:3:60:3 | x |
|
||||
@@ -262,14 +262,14 @@ lastRead
|
||||
| parameters.rb:30:24:30:29 | middle | parameters.rb:30:24:30:29 | middle | parameters.rb:31:20:31:25 | middle |
|
||||
| parameters.rb:30:36:30:39 | last | parameters.rb:30:36:30:39 | last | parameters.rb:31:30:31:33 | last |
|
||||
| parameters.rb:35:11:35:11 | a | parameters.rb:35:11:35:11 | a | parameters.rb:37:11:37:11 | a |
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:37:16:37:16 | b |
|
||||
| parameters.rb:40:12:40:12 | d | parameters.rb:40:12:40:12 | d | parameters.rb:42:11:42:11 | d |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:42:16:42:16 | e |
|
||||
| parameters.rb:45:20:45:20 | _ | parameters.rb:45:20:45:20 | _ | parameters.rb:46:8:46:8 | _ |
|
||||
| parameters.rb:49:13:49:13 | a | parameters.rb:49:13:49:13 | a | parameters.rb:50:11:50:11 | a |
|
||||
| parameters.rb:49:15:49:15 | b | parameters.rb:49:15:49:15 | b | parameters.rb:50:16:50:16 | b |
|
||||
| parameters.rb:54:14:54:14 | y | parameters.rb:54:14:54:14 | y | parameters.rb:56:9:56:9 | y |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:55:9:55:9 | x |
|
||||
| scopes.rb:4:4:4:8 | ... = ... | scopes.rb:4:4:4:4 | a | scopes.rb:5:9:5:9 | a |
|
||||
| scopes.rb:7:1:7:5 | ... = ... | scopes.rb:7:1:7:1 | a | scopes.rb:8:6:8:6 | a |
|
||||
| scopes.rb:9:9:18:3 | <captured> | scopes.rb:7:1:7:1 | a | scopes.rb:11:4:11:4 | a |
|
||||
@@ -293,7 +293,7 @@ lastRead
|
||||
| ssa.rb:40:3:40:9 | ... = ... | ssa.rb:40:3:40:4 | m3 | ssa.rb:41:8:41:9 | m3 |
|
||||
| ssa.rb:44:8:44:8 | b | ssa.rb:44:8:44:8 | b | ssa.rb:45:12:45:12 | b |
|
||||
| ssa.rb:45:3:45:12 | phi | ssa.rb:45:3:45:3 | x | ssa.rb:46:8:46:8 | x |
|
||||
| ssa.rb:50:8:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:50:8:50:8 | y |
|
||||
| ssa.rb:53:8:53:10 | foo | ssa.rb:53:8:53:10 | foo | ssa.rb:54:7:54:9 | foo |
|
||||
| ssa.rb:54:3:54:11 | ... = ... | ssa.rb:54:3:54:3 | x | ssa.rb:55:8:55:8 | x |
|
||||
| ssa.rb:59:3:59:8 | ... = ... | ssa.rb:59:3:59:3 | x | ssa.rb:60:3:60:3 | x |
|
||||
@@ -320,12 +320,12 @@ adjacentReads
|
||||
| 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:66:11:70:5 | <captured> | ssa.rb:65:3:65:10 | captured | ssa.rb:68:10:68:17 | captured | ssa.rb:69:5:69:12 | captured |
|
||||
phi
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:35:1:38:3 | <uninitialized> |
|
||||
| parameters.rb:37:11:37:11 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:35:16:35:20 | ... = ... |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:1:43:3 | <uninitialized> |
|
||||
| parameters.rb:42:11:42:11 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:15:40:19 | ... = ... |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:9:57:3 | <captured> |
|
||||
| parameters.rb:55:9:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:19:54:23 | ... = ... |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:35:1:38:3 | <uninitialized> |
|
||||
| parameters.rb:37:3:37:18 | phi | parameters.rb:35:16:35:16 | b | parameters.rb:35:16:35:20 | ... = ... |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:1:43:3 | <uninitialized> |
|
||||
| parameters.rb:42:3:42:18 | phi | parameters.rb:40:15:40:15 | e | parameters.rb:40:15:40:19 | ... = ... |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:9:57:3 | <captured> |
|
||||
| parameters.rb:55:4:55:9 | phi | parameters.rb:53:1:53:1 | x | parameters.rb:54:19:54:23 | ... = ... |
|
||||
| ssa.rb:5:3:13:5 | phi | ssa.rb:2:3:2:3 | i | ssa.rb:6:5:6:9 | ... = ... |
|
||||
| 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 |
|
||||
@@ -334,5 +334,5 @@ phi
|
||||
| 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:8:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:1:51:3 | <uninitialized> |
|
||||
| ssa.rb:50:8:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:14:49:19 | ... = ... |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:1:51:3 | <uninitialized> |
|
||||
| ssa.rb:50:3:50:8 | phi | ssa.rb:49:14:49:14 | y | ssa.rb:49:14:49:19 | ... = ... |
|
||||
|
||||
Reference in New Issue
Block a user