| // Copyright 2010 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/parsing/preparse-data.h" |
| #include "src/base/hashmap.h" |
| #include "src/base/logging.h" |
| #include "src/globals.h" |
| #include "src/objects-inl.h" |
| #include "src/parsing/parser.h" |
| |
| namespace v8 { |
| namespace internal { |
| |
| PreParseData::FunctionData PreParseData::GetFunctionData(int start) const { |
| auto it = functions_.find(start); |
| if (it != functions_.end()) { |
| return it->second; |
| } |
| return FunctionData(); |
| } |
| |
| void PreParseData::AddFunctionData(int start, FunctionData&& data) { |
| DCHECK(data.is_valid()); |
| functions_[start] = std::move(data); |
| } |
| |
| void PreParseData::AddFunctionData(int start, const FunctionData& data) { |
| DCHECK(data.is_valid()); |
| functions_[start] = data; |
| } |
| |
| size_t PreParseData::size() const { return functions_.size(); } |
| |
| PreParseData::const_iterator PreParseData::begin() const { |
| return functions_.begin(); |
| } |
| |
| PreParseData::const_iterator PreParseData::end() const { |
| return functions_.end(); |
| } |
| |
| } // namespace internal |
| } // namespace v8. |