Something.foo.withCallback do |a, b| #$ source=Member[Something].Method[foo].ReturnValue a.something #$ source=Member[Something].Method[foo].ReturnValue.Method[withCallback].Argument[block].Argument[0].Method[something].ReturnValue b.somethingElse #$ source=Member[Something].Method[foo].ReturnValue.Method[withCallback].Argument[block].Argument[1].Method[somethingElse].ReturnValue end #$ source=Member[Something].Method[foo].ReturnValue.Method[withCallback].ReturnValue Something.withNamedArg do |a:, b: nil| #$ source=Member[Something] a.something #$ source=Member[Something].Method[withNamedArg].Argument[block].Parameter[a:].Method[something].ReturnValue b.somethingElse #$ source=Member[Something].Method[withNamedArg].Argument[block].Parameter[b:].Method[somethingElse].ReturnValue end #$ source=Member[Something].Method[withNamedArg].ReturnValue Something.withLambda ->(a, b) { #$ source=Member[Something] a.something #$ source=Member[Something].Method[withLambda].Argument[0].Parameter[0].Method[something].ReturnValue b.something #$ source=Member[Something].Method[withLambda].Argument[0].Parameter[1].Method[something].ReturnValue } #$ source=Member[Something].Method[withLambda].ReturnValue Something.namedCallback( #$ source=Member[Something] onEvent: ->(a, b) { a.something #$ source=Member[Something].Method[namedCallback].Argument[onEvent:].Parameter[0].Method[something].ReturnValue b.something #$ source=Member[Something].Method[namedCallback].Argument[onEvent:].Parameter[1].Method[something].ReturnValue } ) #$ source=Member[Something].Method[namedCallback].ReturnValue Something.nestedCall1 do |a| #$ source=Member[Something] a.nestedCall2 do |b:| #$ reachableFromSource=Member[Something].Method[nestedCall1].Argument[block].Parameter[0] b.something #$ source=Member[Something].Method[nestedCall1].Argument[block].Parameter[0].Method[nestedCall2].Argument[block].Parameter[b:].Method[something].ReturnValue end #$ source=Member[Something].Method[nestedCall1].Argument[block].Parameter[0].Method[nestedCall2].ReturnValue end #$ source=Member[Something].Method[nestedCall1].ReturnValue def getCallback() ->(x) { x.something #$ source=Member[Something].Method[indirectCallback].Argument[0].Parameter[0].Method[something].ReturnValue } end Something.indirectCallback(getCallback()) #$ source=Member[Something].Method[indirectCallback].ReturnValue Something.withMixed do |a, *args, b| #$ source=Member[Something] a.something #$ source=Member[Something].Method[withMixed].Argument[block].Parameter[0].Method[something].ReturnValue # b.something # not currently handled correctly end #$ source=Member[Something].Method[withMixed].ReturnValue