1 // Copyright 2016 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 #include "src/ast/ast-function-literal-id-reindexer.h"
6 #include "src/objects-inl.h"
7 
8 #include "src/ast/ast.h"
9 
10 namespace v8 {
11 namespace internal {
12 
AstFunctionLiteralIdReindexer(size_t stack_limit,int delta)13 AstFunctionLiteralIdReindexer::AstFunctionLiteralIdReindexer(size_t stack_limit,
14                                                              int delta)
15     : AstTraversalVisitor(stack_limit), delta_(delta) {}
16 
~AstFunctionLiteralIdReindexer()17 AstFunctionLiteralIdReindexer::~AstFunctionLiteralIdReindexer() {}
18 
Reindex(Expression * pattern)19 void AstFunctionLiteralIdReindexer::Reindex(Expression* pattern) {
20   Visit(pattern);
21 }
22 
VisitFunctionLiteral(FunctionLiteral * lit)23 void AstFunctionLiteralIdReindexer::VisitFunctionLiteral(FunctionLiteral* lit) {
24   AstTraversalVisitor::VisitFunctionLiteral(lit);
25   lit->set_function_literal_id(lit->function_literal_id() + delta_);
26 }
27 
28 }  // namespace internal
29 }  // namespace v8
30