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