// Copyright 2021 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 INCLUDE_V8_WEAK_CALLBACK_INFO_H_ #define INCLUDE_V8_WEAK_CALLBACK_INFO_H_ #include "v8config.h" // NOLINT(build/include_directory) namespace v8 { class Isolate; namespace api_internal { V8_EXPORT void InternalFieldOutOfBounds(int index); } // namespace api_internal static const int kInternalFieldsInWeakCallback = …; static const int kEmbedderFieldsInWeakCallback = …; template <typename T> class WeakCallbackInfo { … }; /** * Weakness type for weak handles. */ enum class WeakCallbackType { … }; template <class T> void* WeakCallbackInfo<T>::GetInternalField(int index) const { … } } // namespace v8 #endif // INCLUDE_V8_WEAK_CALLBACK_INFO_H_