Cleanups needed for this-scoping in arrow functions
authoraperez <aperez@igalia.com>
Tue, 24 Mar 2015 13:08:26 +0000 (06:08 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 24 Mar 2015 13:08:34 +0000 (13:08 +0000)
commit00844d466be3d809b95d439fdd14566601780458
tree972731cf1dc75944d068b0a79f8ff5703bac4087
parentae461b9ed0bbe51f4681902f2c3ad1bd16432986
Cleanups needed for this-scoping in arrow functions

Remove Variable::IsValidReference(), and the Variable::is_valid_ref_
member: This was "false" only for "this", and for internal variables.
For the first, VariableProxy::is_this() can be used for the check
instead; and for internal variables, it is guaranteed they they will
not be written to (because the V8 code does not do it, and they are
not accessible from JavaScript).

The "bool is_this" parameter of VariableProxy() constructor is
changed to use Variable::Kind. This will allow to later on adding
a parameter to create unresolved variables of any kind, which in
turn will be used to make references to "this" initially unresolved,
and use the existing variable resolution mechanics for "this".

BUG=v8:2700
LOG=N

Review URL: https://codereview.chromium.org/1024703004

Cr-Commit-Position: refs/heads/master@{#27404}
src/ast.cc
src/ast.h
src/parser.cc
src/scopes.cc
src/scopes.h
src/variables.cc
src/variables.h