Home | History | Annotate | Download | only in parsing
      1 // Copyright 2015 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef V8_PARSING_PARAMETER_EXPRESSION_REWRITER_H_
      6 #define V8_PARSING_PARAMETER_EXPRESSION_REWRITER_H_
      7 
      8 #include "src/ast/ast-types.h"
      9 
     10 namespace v8 {
     11 namespace internal {
     12 
     13 class Expression;
     14 class Scope;
     15 
     16 // When an extra declaration scope needs to be inserted to account for
     17 // a sloppy eval in a default parameter or function body, the expressions
     18 // needs to be in that new inner scope which was added after initial
     19 // parsing.
     20 //
     21 // param_scope is the new inner scope, and its outer_scope() is assumed
     22 // to be the function scope which was used during the initial parse.
     23 void ReparentParameterExpressionScope(uintptr_t stack_limit, Expression* expr,
     24                                       Scope* param_scope);
     25 
     26 }  // namespace internal
     27 }  // namespace v8
     28 
     29 #endif  // V8_PARSING_PARAMETER_EXPRESSION_REWRITER_H_
     30