
    \jr              
          S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SKJ
r
  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S\S\S\SS4S jrS\S\S\S\SS4
S jrg)    )TextIO)overload_resolution)attribute_getter_callback_name)attribute_has_setter)attribute_setter_callback_name)define_the_regular_attributes)!define_the_unforgeable_attributes)write_attribute_getter)write_attribute_setter)define_the_constants)GenerationContext)idl_identifier_cpp_name)GeneratedIncludes)define_the_regular_operations)define_the_stringifier)%write_regular_operations_for_receiver)write_stringifier)	Interfaceoutcontext	interfacereturnNc           	         U R                  SUR                   SUR                   SUR                   S35        [        5       nUR                   H  nSUR                  ;   a  M  [        U5      nXS;  a&  UR                  U5        U R                  SU S35        [        U5      (       d  M]  [        U5      nXc;  d  Mo  UR                  U5        U R                  SU S35        M     [        R                  " U5      R                  5        H  nUS   n[        U5      n	X;  a&  UR                  U	5        U R                  SU	 S35        [        U5      S	:  d  MO  [        U5       H;  u  p[        XS
9nX;  d  M  UR                  U5        U R                  SU S35        M=     M     UR                  b(  SU;  a"  UR                  S5        U R                  S5        U R                  S5        g )Nzclass zGlobalMixin {
public:
    void initialize(JS::Realm&, JS::Object&);
    void define_unforgeable_attributes(JS::Realm&, JS::Object&);
    zGlobalMixin();
    virtual ~zGlobalMixin();

private:
FIXMEz    JS_DECLARE_NATIVE_FUNCTION(z);
r      )suffix	to_stringz+    JS_DECLARE_NATIVE_FUNCTION(to_string);
z};

)writenamesetregular_attributesextended_attributesr   addr   r   r   operation_overload_setsvaluesr   len	enumeratestringifier)r   r   r   declared_callbacks	attributegetter_callbacksetter_callback
operations	operationcallbackoverload_indexoverloaded_operationoverloaded_callbacks                [/mnt/mint/home/seanl/public/Repos/ladybird/Meta/Generators/libweb_bindings/global_mixins.pywrite_global_mixin_declarationr4      s   II9>>" # ^^ nn 	
 $'511	i3338C4""?3II77HMN	**<YGO8"&&7		;O;LDQR 2 *AA)LSSU
qM	*95-""8,II7zFGz?Q8A*8M4&=>R&j#&@&**+>?II ?@S?TTXYZ	 9N V ([@R-R{+		@AII	    includesc                 L   SUR                   ;  a  g UR                  S5        U R                  UR                   SUR                   SUR                   SUR                   SUR                   SUR                   SUR
                   S	35        [        XU5        [        XU5        [        XU5        [        XX#5        U R                  S
UR                   S35        [        XU5        [        XUSS9  [        XUSS9  U R                  S5        [        5       nUR                   H  nSUR                   ;   a  M  [        U5      nXd;  a+  UR                  U5        [        XX#XSR                   S35        [        U5      (       d  Mb  [!        U5      nXt;  d  Mt  UR                  U5        [#        XX#XSR                   S35        M     [%        XX#UR                   S3U5        UR&                  b3  SU;  a,  UR                  S5        [)        XX#UR                   S35        g g g )NGlobalzLibWeb/Bindings/Intrinsics.hzGlobalMixin::zGlobalMixin() = default;
zGlobalMixin::~zGlobalMixin() = default;

void a-  GlobalMixin::initialize(JS::Realm& realm, [[maybe_unused]] JS::Object& object)
{
    [[maybe_unused]] auto& vm = realm.vm();
    [[maybe_unused]] u8 default_attributes = JS::Attribute::Enumerable | JS::Attribute::Configurable | JS::Attribute::Writable;

    object.set_prototype(&ensure_web_prototype<z
>(realm, "z"_fly_string));
z}

void zGlobalMixin::define_unforgeable_attributes(JS::Realm& realm, [[maybe_unused]] JS::Object& object)
{
    [[maybe_unused]] auto& vm = realm.vm();
    [[maybe_unused]] u8 default_attributes = JS::Attribute::Enumerable;
T)unforgeablez}

r   GlobalMixinr   )r"   r#   r   r   prototype_classnamespaced_namer   r   r   r   r	   r    r!   r   r
   r   r   r   r   r(   r   )r   r   r6   r   defined_callbacksr*   r+   r,   s           r3   !write_global_mixin_implementationr>   J   s)    y444LL/0II^^M)..)9 :
 y~~. /nn 0
 1:0I0I/J*U^UnUnTo p		 "#;!#;3)4x;IInn 	 &cY?!#M3)FII	 #&%11	i3338C3!!/2"3iTbTbSccnQop	**<YGO7!%%o6&sX)XfXfWggrUst 2 *hinn-=[+IK\ ([@Q-Qk*#	?O{=[\ .R(r5   )typingr   Generators.libweb_bindingsr   %Generators.libweb_bindings.attributesr   r   r   r   r	   r
   r   $Generators.libweb_bindings.constantsr   "Generators.libweb_bindings.contextr   $Generators.libweb_bindings.cpp_typesr   #Generators.libweb_bindings.includesr   %Generators.libweb_bindings.operationsr   r   r   r   Utils.webidl_parserr   r4   r>    r5   r3   <module>rI      s     : P F P O S H H E @ H A O H W C ), ,9J ,W` ,ei ,^<]	<]+<]7H<]U^<]	<]r5   