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 10namespace v8 { 11namespace internal { 12 13class Expression; 14class 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. 23void 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