/* * Copyright (c) 2026, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace JS::Bytecode { struct ClassElementDescriptor { enum class Kind : u8 { Method, Getter, Setter, Field, StaticInitializer, }; Kind kind; bool is_static; bool is_private; Optional private_identifier; Optional shared_function_data_index; bool has_initializer { false }; Optional literal_value; }; struct ClassBlueprint { u32 constructor_shared_function_data_index; bool has_super_class; bool has_name; Utf16FlyString name; Utf16View source_text; Vector elements; }; }