#ifndef V8_TEST_CCTEST_TEST_API_H_
#define V8_TEST_CCTEST_TEST_API_H_
#include "src/api/api-inl.h"
#include "src/execution/isolate.h"
#include "src/execution/vm-state.h"
#include "test/cctest/cctest.h"
template <typename T>
static i::Tagged<i::Object> Get(v8::ReturnValue<T> return_value) { … }
template <typename T>
static void CheckReturnValueImpl(v8::Isolate* v8_isolate,
v8::ReturnValue<T> return_value,
i::Address callback) { … }
template <typename TCallbackInfo>
static void CheckReturnValue(const TCallbackInfo& info, i::Address callback) { … }
template <typename T>
static void CheckInternalFieldsAreZero(v8::Local<T> value) { … }
template <typename T>
struct ConvertJSValue { … };
template <>
struct ConvertJSValue<int32_t> { … };
template <>
struct ConvertJSValue<uint32_t> { … };
template <>
struct ConvertJSValue<std::nullptr_t> { … };
template <>
struct ConvertJSValue<int64_t> { … };
template <>
struct ConvertJSValue<uint64_t> { … };
template <>
struct ConvertJSValue<v8::BigInt> { … };
template <>
struct ConvertJSValue<float> { … };
template <>
struct ConvertJSValue<double> { … };
template <>
struct ConvertJSValue<bool> { … };
#endif