Description[strong] Check strong mode free variables against the global object.
Gather references to unbound variables where the reference (VariableProxy) is
inside strong mode. Check them against the global object when a script is bound
to a context (during compilation).
This CL only checks unbound variables which are not inside lazy functions - TBD
how do we solve that; alternatives: add developer mode which disables laziness /
do the check whenever lazy functions are really compiled.
BUG=v8:3956
LOG=N
Committed: https://crrev.com/cb7279da811f7add2f2f6a3bfbf0528834354fa3
Cr-Commit-Position: refs/heads/master@{#27422}
Patch Set 1 #Patch Set 2 : moar strawmanning #Patch Set 3 : rebased #Patch Set 4 : error reporting, y u no work #Patch Set 5 : errors now reported, location not yet there #
Total comments: 2
Patch Set 6 : tests + fixed lexical vars #Patch Set 7 : eval tests, adding variable name #Patch Set 8 : better tests #Patch Set 9 : fix: we need to track whether the *proxy* is in strong mode, not the *variable* #Patch Set 10 : . #Patch Set 11 : . #
Total comments: 4
Patch Set 12 : code review (dslomov) #Patch Set 13 : unused var fix #Patch Set 14 : arrow func param fix #
Messages
Total messages: 13 (4 generated)
|