Line data Source code
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 :
13 284 : AstFunctionLiteralIdReindexer::AstFunctionLiteralIdReindexer(size_t stack_limit,
14 : int delta)
15 284 : : AstTraversalVisitor(stack_limit), delta_(delta) {}
16 :
17 : AstFunctionLiteralIdReindexer::~AstFunctionLiteralIdReindexer() = default;
18 :
19 633 : void AstFunctionLiteralIdReindexer::Reindex(Expression* pattern) {
20 633 : Visit(pattern);
21 633 : }
22 :
23 320 : void AstFunctionLiteralIdReindexer::VisitFunctionLiteral(FunctionLiteral* lit) {
24 320 : AstTraversalVisitor::VisitFunctionLiteral(lit);
25 320 : lit->set_function_literal_id(lit->function_literal_id() + delta_);
26 320 : }
27 :
28 : } // namespace internal
29 120216 : } // namespace v8
|