Coverage Report

Created: 2025-09-05 06:52

/src/serenity/Userland/Libraries/LibJS/Runtime/SymbolObject.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2020, Matthew Olsson <mattco@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <LibJS/Runtime/Object.h>
10
#include <LibJS/Runtime/Symbol.h>
11
12
namespace JS {
13
14
class SymbolObject : public Object {
15
    JS_OBJECT(SymbolObject, Object);
16
    JS_DECLARE_ALLOCATOR(SymbolObject);
17
18
public:
19
    static NonnullGCPtr<SymbolObject> create(Realm&, Symbol&);
20
21
    virtual ~SymbolObject() override = default;
22
23
0
    Symbol& primitive_symbol() { return m_symbol; }
24
0
    Symbol const& primitive_symbol() const { return m_symbol; }
25
26
private:
27
    SymbolObject(Symbol&, Object& prototype);
28
29
    virtual void visit_edges(Visitor&) override;
30
31
    NonnullGCPtr<Symbol> m_symbol;
32
};
33
34
}