1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:37:36 +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:
Lenny Maiorani 2022-03-16 18:26:49 -06:00 committed by Linus Groh
parent 5b7a5b3c01
commit a0367aa43b
17 changed files with 37 additions and 20 deletions

View file

@ -6,6 +6,7 @@
#pragma once
#include <AK/StringView.h>
#include <LibJS/Runtime/Completion.h>
#include <LibJS/Runtime/Object.h>
@ -19,7 +20,7 @@ struct Variable {
#define JS_ENVIRONMENT(class_, base_class) \
public: \
using Base = base_class; \
virtual char const* class_name() const override { return #class_; }
virtual StringView class_name() const override { return #class_; }
class Environment : public Cell {
public:
@ -47,7 +48,7 @@ public:
template<typename T>
bool fast_is() const = delete;
virtual char const* class_name() const override { return "Environment"; }
virtual StringView class_name() const override { return "Environment"sv; }
// This flag is set on the entire variable environment chain when direct eval() is performed.
// It is used to disable non-local variable access caching.