| Index: src/ast/ast.cc
|
| diff --git a/src/ast/ast.cc b/src/ast/ast.cc
|
| index a2fc8997a4a07be151afd82ac4c6de0016c762e7..12e6f206711dba957124c7639a25b4c1c9e89dcd 100644
|
| --- a/src/ast/ast.cc
|
| +++ b/src/ast/ast.cc
|
| @@ -204,6 +204,18 @@ VariableProxy::VariableProxy(Zone* zone, const AstRawString* name,
|
| raw_name_(name),
|
| next_unresolved_(nullptr) {}
|
|
|
| +VariableProxy::VariableProxy(Zone* zone, const VariableProxy* copy_from)
|
| + : Expression(zone, copy_from->position(), kVariableProxy),
|
| + bit_field_(copy_from->bit_field_),
|
| + end_position_(copy_from->end_position_),
|
| + next_unresolved_(nullptr) {
|
| + if (copy_from->is_resolved()) {
|
| + var_ = copy_from->var_;
|
| + } else {
|
| + raw_name_ = copy_from->raw_name_;
|
| + }
|
| +}
|
| +
|
| void VariableProxy::BindTo(Variable* var) {
|
| DCHECK((is_this() && var->is_this()) || raw_name() == var->raw_name());
|
| set_var(var);
|
|
|