� ~��Xc�����������@��s����d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l�m�Z�d�d�l�m �Z �d �e �f�d �������YZ�d�S(���i����(���t���with_statement(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literals(���t���contextmanageri���(���t���astt���CCodeGeneratorc�����������B��s����e��Z�g��g��g��g��g��d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�e �d������Z �d����Z�d ����Z�d ����Z �d����Z�RS(���c ��� ������C��sU���|�|��_��|�|��_�|�|��_�|�|��_�|�|��_�|�|��_�|�|��_�i��|��_�|�|��_�d��S(���N( ���t���out_h_filenamet���out_c_filenamet���function_decorationt���include_first_headert���include_last_headert���include_first_srct���include_last_srct���_function_bodiest ���namespace( ���t���selfR���R���R ���R ���R���R���R ���R���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���__init__!���s���� c���������C��s*���|�j��d�d���}�d�|��j�j�d�|�f�S(���Nu��� u���_u���%s_%si����(���t���replaceR���t���symbol_prefixes(���R���t���name(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt ���gen_symbol3���s����c���������C��s����t��|�t�j���r6�|�j�t�j�t�j�f�k�r6�d�}�n�d�}�|�j�j�t�j�t�j �f���rt�|�j �t�j�k�rt�d�|�S|�j�j�|�S(���Nu���*u����u���const gchar*( ���t ���isinstanceR���t ���Parametert ���directiont���PARAM_DIRECTION_OUTt���PARAM_DIRECTION_INOUTt���typet���is_equivt���TYPE_STRINGt ���TYPE_FILENAMEt���transfert���PARAM_TRANSFER_NONEt���ctype(���R���t���paramt���suffix(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_typecontainer_to_ctype7���s���� c���������C��s����|��j��r)�|�j�d�d�j�|��j������n��|�j�d�|��j�|�j���|�j�f���t�|�j���}�|�j�r��xv�t�|�j���D]U�\�}�}�|��j�|���}�|�j�d�|�|�j �f���|�|�d�k��rw�|�j�d���qw�qw�Wn �|�j�d���|�j�d���d��S( ���Nu��� %su��� u��� %s %s (u���%s %si���u���, u���voidu���)( ���R ���t���writet���joinR%���t���retvalt���symbolt���lent ���parameterst ���enumeratet���argname(���R���t���outt���funct���lt���iR#���R"���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_write_preludeD���s���� c���������C��s'���|��j��|��j�|���|��j�j�d���d��S(���Nu���; (���R2���t���out_hR&���(���R���R/���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_write_prototypeW���s����c���������C��sH���|�j��t�j�k�s'�|�j��j�j�d���rD�|��j�j�d�|�j�f���n��d��S(���Nu���*u��� (transfer %s)(���R���R���t���BASIC_TYPESR"���t���endswitht���out_cR&���R ���(���R���t���node(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_write_annotation_transfer[���s����c���������C��s4��|��j��j�d�|�j�f���x��|�j�D]��}�|��j��j�d�|�j�f���|�j�t�j�t�j�f�k�r��|�j �rq�d�}�n�d�}�|��j��j�d�|�j�|�f���|��j �|���n��|��j��j�d���q$�W|��j��j�d���|��j��j�d���|�j�j�t�j �k�r |��j��j�d ���|��j��j�d ���|��j �|�j���n��|��j��j�d���d��S(���Nu���/** * %s: u��� * @%su��� caller-allocatesu����u ���: (%s%s) u���: u��� * u��� * Undocumented.u��� * u��� * Returns: u��� */(���R7���R&���R)���R+���R-���R���R���R���R���t���caller_allocatesR9���R(���R���t ���TYPE_NONE(���R���R/���R#���t���allocate_string(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_write_docs`���s&���� c���������c��sV���|��j��|���|��j�|���|��j�|��j�|���|��j�j�d���d��V|��j�j�d���d��S(���Nu��� { u���} (���R4���R=���R2���R7���R&���(���R���R/���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt ���_functionv���s���� c���������C��s��d�}�|��j��j�|���|��j�j�j����}�x%�|��j�D]�}�|��j��j�d�|���q2�W|��j��j�d�|�|�f���x%�|��j�D]�}�|��j��j�d�|���qt�W|��j�j�|���x%�|��j�D]�}�|��j�j�d�|���q��W|��j�j�d�|��j �f���x%�|��j �D]�}�|��j�j�d�|���q��Wd��S(���Nu0���/* GENERATED BY testcodegen.py; DO NOT EDIT */ u���#include "%s" u>��� #ifndef __%s_H__ #define __%s_H__ #include <glib-object.h> u���#include "%s" (���R3���R&���R���R���t���upperR���R���R7���R ���R���R���(���R���t���warningt���nsuppert���header(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_codegen_start���s���� c���������C��s.���|��j��j�d���|��j��j����|��j�j����d��S(���Nu���#endif (���R3���R&���t���closeR7���(���R���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���_codegen_end����s���� c���������C��s���|�|��j��|�<d��S(���N(���R���(���R���R8���t���body(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���set_function_body����s����c���������C��s����t��|��j�d���|��_�t��|��j�d���|��_�|��j����xs�|��j�j����D]b�}�t�|�t �j ���rD�|��j�|����6�|��j�j �|���}�|�s��d�}�n��|��j�j�|���Wd��QXqD�qD�W|��j����d��S(���Nu���wu����(���t���openR���R3���R ���R7���RC���R���t���valuesR���R���t���FunctionR>���R���t���getR&���RE���(���R���R8���RF���(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���codegen����s���� (���t���__name__t ���__module__R���R���R%���R2���R4���R9���R=���R���R>���RC���RE���RG���RL���(����(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyR��� ���s ��� N(���t ���__future__R����R���R���R���R���t ���contextlibR���t����R���t���objectR���(����(����(����sq���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/codegen.pyt���<module>���s���