1 // Copyright 2021 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 INCLUDE_V8_FORWARD_H_
6 #define INCLUDE_V8_FORWARD_H_
7 
8 // This header is intended to be used by headers that pass around V8 types,
9 // either by pointer or using Local<Type>. The full definitions can be included
10 // either via v8.h or the more fine-grained headers.
11 
12 #include "v8-local-handle.h"  // NOLINT(build/include_directory)
13 
14 namespace v8 {
15 
16 class AccessorSignature;
17 class Array;
18 class ArrayBuffer;
19 class ArrayBufferView;
20 class BigInt;
21 class BigInt64Array;
22 class BigIntObject;
23 class BigUint64Array;
24 class Boolean;
25 class BooleanObject;
26 class Context;
27 class DataView;
28 class Data;
29 class Date;
30 class Extension;
31 class External;
32 class FixedArray;
33 class Float32Array;
34 class Float64Array;
35 class Function;
36 template <class F>
37 class FunctionCallbackInfo;
38 class FunctionTemplate;
39 class Int16Array;
40 class Int32;
41 class Int32Array;
42 class Int8Array;
43 class Integer;
44 class Isolate;
45 class Map;
46 class Module;
47 class Name;
48 class Number;
49 class NumberObject;
50 class Object;
51 class ObjectTemplate;
52 class Platform;
53 class Primitive;
54 class Private;
55 class Promise;
56 class Proxy;
57 class RegExp;
58 class Script;
59 class Set;
60 class SharedArrayBuffer;
61 class Signature;
62 class String;
63 class StringObject;
64 class Symbol;
65 class SymbolObject;
66 class Template;
67 class TryCatch;
68 class TypedArray;
69 class Uint16Array;
70 class Uint32;
71 class Uint32Array;
72 class Uint8Array;
73 class Uint8ClampedArray;
74 class UnboundModuleScript;
75 class Value;
76 class WasmMemoryObject;
77 class WasmModuleObject;
78 
79 }  // namespace v8
80 
81 #endif  // INCLUDE_V8_FORWARD_H_
82