v8
13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Functions
a
c
d
e
f
g
i
j
k
m
n
o
p
r
s
t
u
v
Variables
f
g
i
k
m
t
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
e
g
h
i
j
k
l
m
n
p
s
t
w
Enumerator
a
b
c
d
e
g
i
j
k
l
n
o
p
r
s
Concepts
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
d
g
i
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
Enumerator
b
c
d
e
h
j
k
n
o
p
r
s
t
u
w
Related Symbols
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Files
File List
Globals
All
a
c
d
e
p
s
v
Macros
a
c
d
e
p
s
v
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Concepts
Loading...
Searching...
No Matches
v8-source-location.h
Go to the documentation of this file.
1
// Copyright 2020 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_SOURCE_LOCATION_H_
6
#define INCLUDE_SOURCE_LOCATION_H_
7
8
#include <cstddef>
9
#include <string>
10
11
#include "
v8config.h
"
// NOLINT(build/include_directory)
12
13
#if defined(__has_builtin)
14
#define V8_SUPPORTS_SOURCE_LOCATION \
15
(__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \
16
__has_builtin(__builtin_LINE))
// NOLINT
17
#elif defined(V8_CC_GNU) && __GNUC__ >= 7
18
#define V8_SUPPORTS_SOURCE_LOCATION 1
19
#elif defined(V8_CC_INTEL) && __ICC >= 1800
20
#define V8_SUPPORTS_SOURCE_LOCATION 1
21
#else
22
#define V8_SUPPORTS_SOURCE_LOCATION 0
23
#endif
24
25
namespace
v8
{
26
31
class
V8_EXPORT
SourceLocation
final {
32
public
:
37
#if V8_SUPPORTS_SOURCE_LOCATION
38
static
constexpr
SourceLocation
Current
(
39
const
char
* function = __builtin_FUNCTION(),
40
const
char
* file = __builtin_FILE(),
size_t
line = __builtin_LINE()) {
41
return
SourceLocation
(function, file, line);
42
}
43
#else
44
static
constexpr
SourceLocation
Current
() {
return
SourceLocation
(); }
45
#endif
// V8_SUPPORTS_SOURCE_LOCATION
46
50
constexpr
SourceLocation
() =
default
;
51
58
constexpr
const
char
*
Function
()
const
{
return
function_; }
59
65
constexpr
const
char
*
FileName
()
const
{
return
file_; }
66
72
constexpr
size_t
Line
()
const
{
return
line_; }
73
79
std::string
ToString
()
const
{
80
if
(!file_) {
81
return
{};
82
}
83
return
std::string(function_) +
"@"
+ file_ +
":"
+ std::to_string(line_);
84
}
79
std::string
ToString
()
const
{
…
}
85
86
private
:
87
constexpr
SourceLocation
(
const
char
* function,
const
char
* file,
size_t
line)
88
: function_(function), file_(file), line_(line) {}
89
90
const
char
* function_ =
nullptr
;
91
const
char
* file_ =
nullptr
;
92
size_t
line_ = 0u;
93
};
31
class
V8_EXPORT
SourceLocation
final {
…
};
94
95
}
// namespace v8
96
97
#endif
// INCLUDE_SOURCE_LOCATION_H_
v8::SourceLocation
Definition
v8-source-location.h:31
v8::SourceLocation::Line
constexpr size_t Line() const
Definition
v8-source-location.h:72
v8::SourceLocation::ToString
std::string ToString() const
Definition
v8-source-location.h:79
v8::SourceLocation::SourceLocation
constexpr SourceLocation()=default
v8::SourceLocation::FileName
constexpr const char * FileName() const
Definition
v8-source-location.h:65
v8::SourceLocation::Function
constexpr const char * Function() const
Definition
v8-source-location.h:58
v8::SourceLocation::Current
static constexpr SourceLocation Current()
Definition
v8-source-location.h:44
v8
Definition
libplatform.h:15
v8config.h
V8_EXPORT
#define V8_EXPORT
Definition
v8config.h:800
include
v8-source-location.h
Generated on Fri May 30 2025 01:56:44 for v8 by
1.13.2