v8  9.0.257(node16.0.0)
V8 is Google's open source JavaScript engine
NameProvider Class Referenceabstract

#include <name-provider.h>

Public Member Functions

virtual ~NameProvider ()=default
virtual const char * GetName () const =0

Static Public Member Functions

static constexpr bool HideInternalNames ()

Static Public Attributes

static constexpr const char kHiddenName [] = "InternalNode"
static constexpr const char kNoNameDeducible [] = "<No name>"

Detailed Description

NameProvider allows for providing a human-readable name for garbage-collected objects.

There's two cases of names to distinguish: a. Explicitly specified names via using NameProvider. Such names are always preserved in the system. b. Internal names that Oilpan infers from a C++ type on the class hierarchy of the object. This is not necessarily the type of the actually instantiated object.

Depending on the build configuration, Oilpan may hide names, i.e., represent them with kHiddenName, of case b. to avoid exposing internal details.

Definition at line 26 of file name-provider.h.

Constructor & Destructor Documentation

◆ ~NameProvider()

virtual ~NameProvider ( )

Member Function Documentation

◆ GetName()

virtual const char* GetName ( ) const
pure virtual

Specifies a name for the garbage-collected object. Such names will never be hidden, as they are explicitly specified by the user of this API.

a human readable name for the object.

◆ HideInternalNames()

static constexpr bool HideInternalNames ( )

Indicating whether internal names are hidden or not.

true if C++ names should be hidden and represented by kHiddenName.

Definition at line 44 of file name-provider.h.

Field Documentation

◆ kHiddenName

constexpr const char kHiddenName[] = "InternalNode"

Name that is used when hiding internals.

Definition at line 31 of file name-provider.h.

◆ kNoNameDeducible

constexpr const char kNoNameDeducible[] = "<No name>"

Name that is used in case compiler support is missing for composing a name from C++ types.

Definition at line 37 of file name-provider.h.

The documentation for this class was generated from the following file: