5 #ifndef INCLUDE_V8_FUNCTION_CALLBACK_H_
6 #define INCLUDE_V8_FUNCTION_CALLBACK_H_
22 class FunctionCallbackArguments;
23 class PropertyCallbackArguments;
27 class ConsoleCallArguments;
35 static_assert(std::is_base_of<T, S>::value,
"type check");
72 template <
class F,
class G,
class H>
125 friend class debug::ConsoleCallArguments;
144 template <
typename T>
236 friend class MacroAssembler;
255 template <
typename T>
258 template <
typename T>
259 template <
typename S>
261 static_assert(std::is_base_of<T, S>::value,
"type check");
263 *value_ = GetDefaultValue();
269 template <
typename T>
270 template <
typename S>
272 static_assert(std::is_base_of<T, S>::value,
"type check");
274 *value_ = GetDefaultValue();
280 template <
typename T>
281 template <
typename S>
283 static_assert(std::is_void<T>::value || std::is_base_of<T, S>::value,
286 *value_ = GetDefaultValue();
292 template <
typename T>
294 static_assert(std::is_base_of<T,
Number>::value,
"type check");
298 template <
typename T>
300 static_assert(std::is_base_of<T,
Integer>::value,
"type check");
309 template <
typename T>
311 static_assert(std::is_base_of<T,
Integer>::value,
"type check");
313 bool fits_into_int32_t = (i & (1U << 31)) == 0;
315 Set(
static_cast<int32_t>(i));
321 template <
typename T>
323 static_assert(std::is_base_of<T,
Boolean>::value,
"type check");
334 template <
typename T>
336 static_assert(std::is_base_of<T,
Primitive>::value,
"type check");
341 template <
typename T>
343 static_assert(std::is_base_of<T,
Primitive>::value,
"type check");
348 template <
typename T>
350 static_assert(std::is_base_of<T,
String>::value,
"type check");
355 template <
typename T>
358 return *
reinterpret_cast<
Isolate**>(&value_[-2]);
361 template <
typename T>
369 template <
typename T>
370 template <
typename S>
372 static_assert(
sizeof(S) < 0,
"incompilable to prevent inadvertent misuse");
375 template <
typename T>
381 template <
typename T>
387 template <
typename T>
394 template <
typename T>
400 template <
typename T>
406 template <
typename T>
412 template <
typename T>
417 template <
typename T>
422 template <
typename T>
427 template <
typename T>
432 template <
typename T>
437 template <
typename T>
442 template <
typename T>
447 template <
typename T>
452 template <
typename T>
457 template <
typename T>
462 template <
typename T>