mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 07:28:11 +00:00
DevTools+LibJS+LibWeb: Change class_name to use StringView
This helps make the overall codebase consistent. `class_name()` in `Kernel` is always `StringView`, but not elsewhere. Additionally, this results in the `strlen` (which needs to be done when printing or other operations) always being computed at compile-time.
This commit is contained in:
parent
5b7a5b3c01
commit
a0367aa43b
17 changed files with 37 additions and 20 deletions
|
@ -10,6 +10,7 @@
|
|||
#include <AK/Badge.h>
|
||||
#include <AK/HashMap.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <LibJS/Forward.h>
|
||||
#include <LibJS/Heap/Cell.h>
|
||||
#include <LibJS/Heap/MarkedVector.h>
|
||||
|
@ -27,7 +28,7 @@ namespace JS {
|
|||
#define JS_OBJECT(class_, base_class) \
|
||||
public: \
|
||||
using Base = base_class; \
|
||||
virtual const char* class_name() const override { return #class_; }
|
||||
virtual StringView class_name() const override { return #class_; }
|
||||
|
||||
struct PrivateElement {
|
||||
enum class Kind {
|
||||
|
@ -166,7 +167,7 @@ public:
|
|||
bool has_parameter_map() const { return m_has_parameter_map; }
|
||||
void set_has_parameter_map() { m_has_parameter_map = true; }
|
||||
|
||||
virtual const char* class_name() const override { return "Object"; }
|
||||
virtual StringView class_name() const override { return "Object"sv; }
|
||||
virtual void visit_edges(Cell::Visitor&) override;
|
||||
|
||||
Value get_direct(size_t index) const { return m_storage[index]; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue