Index: src/ast/variables.cc |
diff --git a/src/ast/variables.cc b/src/ast/variables.cc |
index bce552c2c16f6236ccebdc35fb8ed2437ea698bc..df839c5d8ccf21c95bc12f6c0e24686a2ff55c28 100644 |
--- a/src/ast/variables.cc |
+++ b/src/ast/variables.cc |
@@ -13,6 +13,26 @@ |
// ---------------------------------------------------------------------------- |
// Implementation Variable. |
+ |
+Variable::Variable(Scope* scope, const AstRawString* name, VariableMode mode, |
+ VariableKind kind, InitializationFlag initialization_flag, |
+ MaybeAssignedFlag maybe_assigned_flag) |
+ : scope_(scope), |
+ name_(name), |
+ local_if_not_shadowed_(nullptr), |
+ next_(nullptr), |
+ index_(-1), |
+ initializer_position_(kNoSourcePosition), |
+ bit_field_(MaybeAssignedFlagField::encode(maybe_assigned_flag) | |
+ InitializationFlagField::encode(initialization_flag) | |
+ VariableModeField::encode(mode) | IsUsedField::encode(false) | |
+ ForceContextAllocationField::encode(false) | |
+ ForceHoleInitializationField::encode(false) | |
+ LocationField::encode(VariableLocation::UNALLOCATED) | |
+ VariableKindField::encode(kind)) { |
+ // Var declared variables never need initialization. |
+ DCHECK(!(mode == VAR && initialization_flag == kNeedsInitialization)); |
+} |
Variable::Variable(Variable* other) |
: scope_(other->scope_), |