5#ifndef INCLUDE_SOURCE_LOCATION_H_
6#define INCLUDE_SOURCE_LOCATION_H_
9#include <source_location>
14#define V8_SUPPORTS_SOURCE_LOCATION 1
29 const std::source_location& loc = std::source_location::current()) {
34 const std::source_location& loc = std::source_location::current()) {
52 constexpr const char*
Function()
const {
return loc_.function_name(); }
59 constexpr const char*
FileName()
const {
return loc_.file_name(); }
66 constexpr size_t Line()
const {
return loc_.line(); }
74 if (loc_.line() == 0) {
77 return std::string(loc_.function_name()) +
"@" + loc_.file_name() +
":" +
78 std::to_string(loc_.line());
85 std::source_location loc_;
Definition: v8-source-location.h:22
std::string ToString() const
Definition: v8-source-location.h:73
static constexpr SourceLocation CurrentIfDebug()
Definition: v8-source-location.h:38
constexpr size_t Line() const
Definition: v8-source-location.h:66
constexpr SourceLocation()=default
constexpr const char * FileName() const
Definition: v8-source-location.h:59
constexpr const char * Function() const
Definition: v8-source-location.h:52
static constexpr SourceLocation Current(const std::source_location &loc=std::source_location::current())
Definition: v8-source-location.h:28
Definition: libplatform.h:15
#define V8_EXPORT
Definition: v8config.h:860