v8/test/inspector/debugger/get-possible-breakpoints-expected.txt
Leszek Swirski 08f68102f8 [parser] Allow declaring variables without a proxy
Declare Variables with a name and position, rather than by passing
through a VariableProxy. This allows us to not create dummy proxies
for things like function declarations, and allows us to consider those
declarations unused.

As a side-effect, we also have to check if a variable is unused in the
bytecode generator (as it will no longer be allocated), and we end up
skip generating code/SFIs for dead variables/functions.

Change-Id: I4c2c872473f23e124f9456b4b92f87159658f8e0
Reviewed-on: https://chromium-review.googlesource.com/c/1414916
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59088}
2019-01-25 09:10:59 +00:00

289 lines
8.2 KiB
Plaintext

Test for Debugger.getPossibleBreakpoints
Running test: getPossibleBreakpointsInRange
Test start.scriptId != end.scriptId.
{
error : {
code : -32000
message : Locations should contain the same scriptId
}
id : <messageId>
}
Test not existing scriptId.
{
error : {
code : -32000
message : Script not found
}
id : <messageId>
}
Test end < start.
function foo(){ return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test empty range in first line.
function foo(){ return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test one character range in first line.
function foo(){ #return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test empty range in not first line.
function foo(){ return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test one character range in not first line.
function foo(){ return Promise.resolve(); }
function boo(){ #return Promise.resolve().then(() => 42); }
Test end is undefined
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test end.lineNumber > scripts.lineCount()
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
Test one string
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Test end.columnNumber > end.line.length(), should be the same as previous.
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Running test: getPossibleBreakpointsInArrow
function foo() { #return Promise.#resolve().#then(() => #239#).#then(() => #42#).#then(() => #() => #42#)# }#
Running test: arrowFunctionFirstLine
function foo1() { #Promise.#resolve().#then(() => #42#) #}
function foo2() { Promise.resolve().then(() => 42) }
paused in foo1
function foo1() { ^Promise.resolve().then(() => 42) }
function foo2() { Promise.resolve().then(() => 42) }
paused in foo1
function foo1() { Promise.^resolve().then(() => 42) }
function foo2() { Promise.resolve().then(() => 42) }
paused in foo1
function foo1() { Promise.resolve().^then(() => 42) }
function foo2() { Promise.resolve().then(() => 42) }
paused in foo1
function foo1() { Promise.resolve().then(() => 42) ^}
function foo2() { Promise.resolve().then(() => 42) }
paused in
function foo1() { Promise.resolve().then(() => ^42) }
function foo2() { Promise.resolve().then(() => 42) }
paused in
function foo1() { Promise.resolve().then(() => 42^) }
function foo2() { Promise.resolve().then(() => 42) }
Running test: arrowFunctionOnPause
#debugger; function foo3() { #Promise.#resolve().#then(() => #42#) #}
function foo4() { #Promise.#resolve().#then(() => #42#) #};
#foo3();
#foo4();#
paused in
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
^foo3();
foo4();
paused in foo3
debugger; function foo3() { ^Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in foo3
debugger; function foo3() { Promise.^resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in foo3
debugger; function foo3() { Promise.resolve().^then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in foo3
debugger; function foo3() { Promise.resolve().then(() => 42) ^}
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
^foo4();
paused in foo4
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { ^Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in foo4
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.^resolve().then(() => 42) };
foo3();
foo4();
paused in foo4
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().^then(() => 42) };
foo3();
foo4();
paused in foo4
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) ^};
foo3();
foo4();
paused in
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();^
paused in
debugger; function foo3() { Promise.resolve().then(() => ^42) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in
debugger; function foo3() { Promise.resolve().then(() => 42^) }
function foo4() { Promise.resolve().then(() => 42) };
foo3();
foo4();
paused in
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => ^42) };
foo3();
foo4();
paused in
debugger; function foo3() { Promise.resolve().then(() => 42) }
function foo4() { Promise.resolve().then(() => 42^) };
foo3();
foo4();
Running test: getPossibleBreakpointsInRangeWithOffset
Test empty range in first line.
function foo(){ return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test one character range in first line.
function foo(){ #return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test empty range in not first line.
function foo(){ return Promise.resolve(); }
function boo(){ return Promise.resolve().then(() => 42); }
Test one character range in not first line.
function foo(){ return Promise.resolve(); }
function boo(){ #return Promise.resolve().then(() => 42); }
Test end is undefined
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test end.lineNumber > scripts.lineCount()
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
Test one string
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Test end.columnNumber > end.line.length(), should be the same as previous.
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Running test: withOffset
function foo5() { #Promise.#resolve().#then(() => #42#) #}
function foo6() { #Promise.#resolve().#then(() => #42#) #}
#
paused in foo5
function foo5() { ^Promise.resolve().then(() => 42) }
function foo6() { Promise.resolve().then(() => 42) }
paused in foo5
function foo5() { Promise.^resolve().then(() => 42) }
function foo6() { Promise.resolve().then(() => 42) }
paused in foo5
function foo5() { Promise.resolve().^then(() => 42) }
function foo6() { Promise.resolve().then(() => 42) }
paused in foo5
function foo5() { Promise.resolve().then(() => 42) ^}
function foo6() { Promise.resolve().then(() => 42) }
paused in foo6
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { ^Promise.resolve().then(() => 42) }
paused in foo6
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { Promise.^resolve().then(() => 42) }
paused in foo6
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { Promise.resolve().^then(() => 42) }
paused in foo6
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { Promise.resolve().then(() => 42) ^}
paused in
function foo5() { Promise.resolve().then(() => ^42) }
function foo6() { Promise.resolve().then(() => 42) }
paused in
function foo5() { Promise.resolve().then(() => 42^) }
function foo6() { Promise.resolve().then(() => 42) }
paused in
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { Promise.resolve().then(() => ^42) }
paused in
function foo5() { Promise.resolve().then(() => 42) }
function foo6() { Promise.resolve().then(() => 42^) }
Running test: arrowFunctionReturn
#() => #239#
#
function foo() { function boo() { return 239 } #}
#
function foo() { function boo() { #return 239# }; #boo #}
#
function foo() { let boo = #function() { #return 239# }; #}
#
#() => { #239 #}
#
function foo() { #239 #}
#
#() => #239#
#() => { #return 239# }#
Running test: argumentsAsCalls
function foo(){#}
function boo(){#}
function main(f1,f2){#}
#main(#foo(), #boo());
#