Break locations around function calls Running test: testFunctionCallAsArgument Break locations in expression: function test() { |C|foo2(|C|foo1()) } Breakpoint at: function test() { #foo2(foo1()) } Break at: function test() { #foo2(foo1()) } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo2(#foo1()) } Break at: function test() { foo2(#foo1()) } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at expression line. function test() { #foo2(foo1()) } Debugger.stepInto called function foo1() {#} function foo2() {} Running test: testFunctionCallAsArgument Break locations in expression: function test() { |C|foo2(|C|foo1()); } Breakpoint at: function test() { #foo2(foo1()); } Break at: function test() { #foo2(foo1()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo2(#foo1()); } Break at: function test() { foo2(#foo1()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at expression line. function test() { #foo2(foo1()); } Debugger.stepInto called function foo1() {#} function foo2() {} Running test: testFunctionCallAsArguments Break locations in expression: function test() { |C|foo3(|C|foo1(), |C|foo2()); } Breakpoint at: function test() { #foo3(foo1(), foo2()); } Break at: function test() { #foo3(foo1(), foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo3(#foo1(), foo2()); } Break at: function test() { foo3(#foo1(), foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo3(foo1(), #foo2()); } Break at: function test() { foo3(foo1(), #foo2()); } Debugger.stepInto called function foo1() {} function foo2() {#} function foo3() {} Breakpoint at expression line. function test() { #foo3(foo1(), foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {} Running test: testFunctionCallInBinaryExpression Break locations in expression: function test() { |C|foo3(|C|foo1() + |C|foo2()); } Breakpoint at: function test() { #foo3(foo1() + foo2()); } Break at: function test() { #foo3(foo1() + foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo3(#foo1() + foo2()); } Break at: function test() { foo3(#foo1() + foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {} Breakpoint at: function test() { foo3(foo1() + #foo2()); } Break at: function test() { foo3(foo1() + #foo2()); } Debugger.stepInto called function foo1() {} function foo2() {#} function foo3() {} Breakpoint at expression line. function test() { #foo3(foo1() + foo2()); } Debugger.stepInto called function foo1() {#} function foo2() {}