chromium/v8/src/d8/d8.h

// Copyright 2012 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.

#ifndef V8_D8_D8_H_
#define V8_D8_D8_H_

#include <iterator>
#include <map>
#include <memory>
#include <optional>
#include <queue>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>

#include "include/v8-array-buffer.h"
#include "include/v8-isolate.h"
#include "include/v8-script.h"
#include "include/v8-value-serializer.h"
#include "src/base/once.h"
#include "src/base/platform/time.h"
#include "src/base/platform/wrappers.h"
#include "src/d8/async-hooks-wrapper.h"
#include "src/handles/global-handles.h"
#include "src/heap/parked-scope.h"

namespace v8 {

class BackingStore;
class CompiledWasmModule;
class D8Console;
class Message;
class TryCatch;

enum class ModuleType {};

namespace internal {
class CancelableTaskManager;
}  // namespace internal

struct DynamicImportData;

// A single counter in a counter collection.
class Counter {};

// A set of counters and associated information.  An instance of this
// class is stored directly in the memory-mapped counters file if
// the --map-counters options is used
class CounterCollection {};

using CounterMap = std::unordered_map<std::string, Counter*>;

class SourceGroup {};

class SerializationData {};

class SerializationDataQueue {};

class Worker : public std::enable_shared_from_this<Worker> {};

class PerIsolateData {};

extern bool check_d8_flag_contradictions;

class ShellOptions {};

class Shell : public i::AllStatic {};

class FuzzerMonitor : public i::AllStatic {};

}  // namespace v8

#endif  // V8_D8_D8_H_