v8
10.1.124 (node 18.2.0)
V8 is Google's open source JavaScript engine
v8-primitive-object.h
Go to the documentation of this file.
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_PRIMITIVE_OBJECT_H_
6
#
define
INCLUDE_V8_PRIMITIVE_OBJECT_H_
7
8
#
include
"v8-local-handle.h"
// NOLINT(build/include_directory)
9
#
include
"v8-object.h"
// NOLINT(build/include_directory)
10
#
include
"v8config.h"
// NOLINT(build/include_directory)
11
12
namespace
v8
{
13
14
class
Isolate
;
15
16
/**
17
* A Number object (ECMA-262, 4.3.21).
18
*/
19
class
V8_EXPORT
NumberObject
:
public
Object
{
20
public
:
21
static
Local
<
Value
>
New
(
Isolate
* isolate,
double
value);
22
23
double
ValueOf
()
const
;
24
25
V8_INLINE
static
NumberObject
*
Cast
(
Value
* value) {
26
#
ifdef
V8_ENABLE_CHECKS
27
CheckCast(value);
28
#
endif
29
return
static_cast
<
NumberObject
*>(value);
30
}
31
32
private
:
33
static
void
CheckCast(
Value
* obj);
34
};
35
36
/**
37
* A BigInt object (https://tc39.github.io/proposal-bigint)
38
*/
39
class
V8_EXPORT
BigIntObject
:
public
Object
{
40
public
:
41
static
Local
<
Value
>
New
(
Isolate
* isolate, int64_t value);
42
43
Local
<
BigInt
>
ValueOf
()
const
;
44
45
V8_INLINE
static
BigIntObject
*
Cast
(
Value
* value) {
46
#
ifdef
V8_ENABLE_CHECKS
47
CheckCast(value);
48
#
endif
49
return
static_cast
<
BigIntObject
*>(value);
50
}
51
52
private
:
53
static
void
CheckCast(
Value
* obj);
54
};
55
56
/**
57
* A Boolean object (ECMA-262, 4.3.15).
58
*/
59
class
V8_EXPORT
BooleanObject
:
public
Object
{
60
public
:
61
static
Local
<
Value
>
New
(
Isolate
* isolate,
bool
value);
62
63
bool
ValueOf
()
const
;
64
65
V8_INLINE
static
BooleanObject
*
Cast
(
Value
* value) {
66
#
ifdef
V8_ENABLE_CHECKS
67
CheckCast(value);
68
#
endif
69
return
static_cast
<
BooleanObject
*>(value);
70
}
71
72
private
:
73
static
void
CheckCast(
Value
* obj);
74
};
75
76
/**
77
* A String object (ECMA-262, 4.3.18).
78
*/
79
class
V8_EXPORT
StringObject
:
public
Object
{
80
public
:
81
static
Local
<
Value
>
New
(
Isolate
* isolate,
Local
<
String
> value);
82
83
Local
<
String
>
ValueOf
()
const
;
84
85
V8_INLINE
static
StringObject
*
Cast
(
Value
* value) {
86
#
ifdef
V8_ENABLE_CHECKS
87
CheckCast(value);
88
#
endif
89
return
static_cast
<
StringObject
*>(value);
90
}
91
92
private
:
93
static
void
CheckCast(
Value
* obj);
94
};
95
96
/**
97
* A Symbol object (ECMA-262 edition 6).
98
*/
99
class
V8_EXPORT
SymbolObject
:
public
Object
{
100
public
:
101
static
Local
<
Value
>
New
(
Isolate
* isolate,
Local
<
Symbol
> value);
102
103
Local
<
Symbol
>
ValueOf
()
const
;
104
105
V8_INLINE
static
SymbolObject
*
Cast
(
Value
* value) {
106
#
ifdef
V8_ENABLE_CHECKS
107
CheckCast(value);
108
#
endif
109
return
static_cast
<
SymbolObject
*>(value);
110
}
111
112
private
:
113
static
void
CheckCast(
Value
* obj);
114
};
115
116
}
// namespace v8
117
118
#
endif
// INCLUDE_V8_PRIMITIVE_OBJECT_H_
include
v8-primitive-object.h
Generated on Tue May 24 2022 19:29:01 for v8 by
1.9.1