�
��2Yc�����������@`�s���d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l��m�Z�d��d�l�Z�d�d�l�m�Z�d�d�l�m�Z�d�d	�l	�m
�Z
�m�Z�m�Z�m
�Z
�d�d
�l	�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m �Z �m!�Z!�m"�Z"�m#�Z#�m$�Z$�m%�Z%�m&�Z&�m'�Z'�d�d�l	�m(�Z(�m)�Z)�m*�Z*�m+�Z+�m,�Z,�m-�Z-�m.�Z.�m/�Z/�m0�Z0�d�d�l1�m2�Z2�d
�e3�f�d�������YZ4�d�S(���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsNi���(���t���ast(���t���message(���t���TAG_DEPRECATEDt	���TAG_SINCEt
���TAG_STABILITYt���TAG_RETURNS(���t���ANN_ALLOW_NONEt	���ANN_ARRAYt���ANN_ATTRIBUTESt���ANN_CLOSUREt���ANN_CONSTRUCTORt���ANN_DESTROYt���ANN_ELEMENT_TYPEt���ANN_FOREIGNt���ANN_GET_VALUE_FUNCt���ANN_INt	���ANN_INOUTt
���ANN_METHODt���ANN_OUTt���ANN_REF_FUNCt
���ANN_RENAME_TOt	���ANN_SCOPEt���ANN_SET_VALUE_FUNCt���ANN_SKIPt���ANN_TRANSFERt���ANN_TYPEt���ANN_UNREF_FUNCt	���ANN_VALUEt	���ANN_VFUNCt���ANN_NULLABLEt���ANN_OPTIONALt���ANN_NOT(	���t���OPT_ARRAY_FIXED_SIZEt���OPT_ARRAY_LENGTHt���OPT_ARRAY_ZERO_TERMINATEDt���OPT_OUT_CALLEE_ALLOCATESt���OPT_OUT_CALLER_ALLOCATESt���OPT_TRANSFER_CONTAINERt���OPT_TRANSFER_FLOATINGt���OPT_TRANSFER_NONEt���OPT_NOT_NULLABLE(���t���to_underscores_noprefixt���MainTransformerc�����������B`�s$��e��Z�d�����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z	�d����Z
�d	����Z�d
����Z�d����Z
�d����Z�d:�d:�d:�d
���Z�d:�d:�d:�d���Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z!�d����Z"�d ����Z#�d!����Z$�d"����Z%�d#����Z&�d$����Z'�d%����Z(�d&����Z)�d'����Z*�d(����Z+�d)����Z,�d*����Z-�d+����Z.�d,����Z/�d-����Z0�d.����Z1�d/����Z2�d0����Z3�d1����Z4�d2����Z5�d3����Z6�d4����Z7�d5����Z8�d6����Z9�d7����Z:�d8����Z;�d9����Z<�RS(;���c���������C`�s+���|�|��_��|�|��_�|�j�|��_�i��|��_�d��S(���N(���t���_transformert���_blockst	���namespacet
���_namespacet���_uscore_type_names(���t���selft���transformert���blocks(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���__init__.���s����		c���������C`�s���|��j��j�s�t�j�d���n��|��j��j�|��j���|��j��j�|��j���|��j��j�|��j���|��j��j�|��j���|��j��j�|��j	���|��j��j�|��j���x��|��j��j
����D]z�}�t�|�t�j
���r��|�j�d��k	�r��|�|��j�|�j�<q��t�|�t�j�t�j�f���r��t�|�j���j����}�|�|��j�|�<q��q��Wxj�t�|��j��j
������D]S�}�t�|�t�j���rZ|��j�|���n��t�|�t�j�t�j�f���r2|��j�|���q2q2W|��j��j�|��j���|��j��j�|��j���|��j��j�|��j���|��j����d��S(���Nuj���Namespace is empty; likely causes are:
* Not including .h files to be scanned
* Broken --identifier-prefix( ���R2���t���namesR���t���fatalt���walkt���_pass_fixup_hidden_fieldst���_pass_type_resolutiont���_pass_read_annotations_earlyt���_pass_callable_defaultst���_pass_read_annotationst���valuest
���isinstanceR���t
���Registeredt���get_typet���NoneR3���t���c_symbol_prefixt���Recordt���UnionR-���t���namet���lowert���listt���Functiont���_pair_functiont���Classt	���Interfacet���_pair_class_virtualst���_pass_read_annotations2t���_pass3t���_pair_quarks_with_enums(���R4���t���nodet���uscored(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt	���transform6���s.����!c���������C`�s����t��|�t�j�t�j�t�j�t�j�f���r��xk�|�j�D]]�}�|�r1�|�j�d�k	�r1�|�j�j	�d���r1�|�j
�d�k	�r1�t��|�j
�t�j���r1�t�|�_
�q1�q1�Wn��t�S(���u^���Hide all callbacks starting with _; the typical
        usage is void (*_gtk_reserved1)(void);u���_N(���RA���R���RM���RN���RF���RG���t���fieldsRH���RD���t
���startswitht���anonymous_nodet���Callbackt���Falset���introspectablet���True(���R4���RS���t���chaint���field(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR;���n���s����'c���������C`�s����y�|�j��|���}�Wn�t�k
�r,�d��}�n�X|�d��k�r��t�|�t�j���r^�d�|�j�f�}�n�d�}�t�j�t�j	�|�d�|�|�|�j
�f���n��|�j�S(���Nu���parameter %su���return valueu0���can't find parameter %s referenced by %s of '%s'(���t
���get_parametert
���ValueErrorRD���RA���R���t	���Parametert���argnameR���t���log_nodet���FATALRH���(���R4���t���parentt
���param_namet���origint���paramt���origin_name(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_get_validate_parameter_name{���s����

	c���������C`�sy���y�|�j��|���}�Wn�t�k
�r,�d��}�n�X|�d��k�rr�d�|�j�f�}�t�j�t�j�|�d�|�|�|�j�f���n��|�j�S(���Nu���field %su,���can't find field %s referenced by %s of '%s'(���t	���get_fieldR`���RD���RH���R���Rc���Rd���(���R4���Re���t
���field_nameRg���R^���Ri���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_get_validate_field_name����s����

	c���������C`�s����|�s
�d��S|�j��j�t���}�|�s&�d��S|�d�}�|��j�j�|���}�|�sb�t�j�|�d�|�f���nv�|�j�r��t�j�|�d�|�j�|�j�|�f���nG�|�j	�r��t�j�|�d�|�j�|�j	�|�f���n�|�j
�|�_�|�j
�|�_	�d��S(���Ni����u;���Can't find symbol '%s' referenced by "rename-to" annotationuA���Function '%s' already shadowed by '%s', can't overwrite with '%s'uC���Function '%s' already shadows '%s', can't multiply shadow with '%s'(���t���annotationst���getR���R2���t
���get_by_symbolR���t	���warn_nodet���shadowed_byt���symbolt���shadowsRH���(���R4���RS���R]���t���blockt	���rename_tot���target(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_annotation_rename_to����s0����
					c���������C`�s,���|��j��j�|�j���}�|��j�|�|�|���d��S(���N(���R0���Ro���Rs���t���_apply_annotations_callable(���R4���RS���R]���Ru���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_annotations_function����s����c���������C`�se���t��|�t�j���ra�|�j�d��k	�r9�|��j�j�|�j���}�n�|��j�j�|�j���}�|��j�|�|���n��t	�S(���N(
���RA���R���RF���t���ctypeRD���R0���Ro���t���c_namet���_apply_annotations_annotatedR\���(���R4���RS���R]���Ru���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR=�������s����c���������C`�s����t��|�t�j�t�j�f���r��x8�|�j�D]-�}�|�j�d��k�r%�|��j�|�|���|�_�q%�q%�W|�j�j�d��k�r��|��j�|�|�j���|�j�_�q��n��t	�S(���N(
���RA���R���t���Callablet���Signalt
���parameterst���transferRD���t���_get_transfer_defaultt���retvalR\���(���R4���RS���R]���Rh���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR>�������s����!c���������C`�s����t��|�t�j�t�j�t�j�t�j�t�j�t�j�t�j�t�j	�t�j
�f	���r��|�j�d��k	�r[�|�j�St��|�t�j
���r��|�j�d��k	�r��|�j�S|�j�St�d�|�f�����d��S(���Nu���Unhandled node '%s'(���RA���R���RM���RN���RF���RG���t���Enumt���BitfieldRY���t���Aliast���ConstantR{���RD���RB���t
���gtype_nameR|���t���AssertionError(���R4���RS���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_get_annotation_name����s����!c���������C`�s���|��j��j�|��j�|�����S(���N(���R0���Ro���R����(���R4���RS���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt
���_get_block����s����c���
������C`�s(��|�j��s
�t�St�|�t�j���r2�|��j�|�|���n��t�|�t�j���rW�|��j�|�|���n��t�|�t�j���r��|��j	�|�|�d�|��j
�|����n��t�|�t�j�t�j�t�j
�t�j�t�j�t�j�f���r��|��j�|�|��j
�|�����n��t�|�t�j�t�j�f���r|��j�|�|��j
�|�����n��t�|�t�j�t�j�t�j�t�j
�f���r�|��j
�|���}�x$�|�j�D]�}�|��j�|�|�|���qQW|��j�|���}�d�|�j����f�}�|��j�j�|���}�|�r�|�j�r�|�j�|�_�q�n��t�|�t�j�t�j�f���r)x!�|�j�D]�}�|��j�|�|���q�Wx$�|�j�D]�}�|��j�|�|���qWn��t�|�t�j���r|��j
�|���}�|�r|�j�j�t ���}	�|	�rr|	�d�n�d��|�_"�|�j�j�t#���}	�|	�r�|	�d�n�d��|�_$�|�j�j�t%���}	�|	�r�|	�d�n�d��|�_&�|�j�j�t'���}	�|	�r�|	�d�n�d��|�_(�qn��t�|�t�j)���r$|��j*�|���n��t+�S(���NRu���u
���SECTION:%si����(,���R1���RZ���RA���R���R����t���_apply_annotations_aliasRK���Rz���RY���Ry���R����RM���RN���RG���R����R����R}���t���_apply_annotations_enum_membersRF���RV���t���_apply_annotations_fieldR����RI���R0���Ro���t���descriptiont���doct
���propertiest���_apply_annotations_propertyt���signalst���_apply_annotations_signalRn���R���RD���t
���unref_funcR���t���ref_funcR���t���set_value_funcR���t���get_value_funcR����t���_apply_annotations_constantR\���(
���R4���RS���R]���Ru���R^���RH���t���section_namet���propt���sigt
���annotation(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR?�������sR����	"'c���������C`�ss���t��|�k�r"�|��j�|�|�|���n"�t�|�k�rD�|��j�|�|�|���n��t�|�j�t�j���ro�|��j�|�j�|���n��d��S(���N(	���R���t���_apply_annotations_arrayR���t���_apply_annotations_element_typeRA���t���typeR���t���Arrayt���_check_array_element_type(���R4���Re���RS���Rn���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_adjust_container_type��s����c���������`�s������f�d��������f�d����}���f�d������������f�d����}�����|�|������\�}�}�|�rw�t��j�d���f���n��|�j�s��d��}	�|�d��k	�r��t�|�t�j���r��|�j�}
���j�|�|���}	�n���}
�t��j	�|�d�|
���f�d�|	��n��|�S(���Nc���������`�s����t��j�d�|��d���}�t�|���d�k�r:�|�d�d�d�g�n�|�\�}�}�}�|�|���g�}�|�d�k�sp�|�d�k�r��|�d�k�r��d�n�d�}	�xZ�|�|	�k�r�����|�|�|�|���\�}
�}�|�j�|
���|�d�|�d�}�}�q��Wn
�|�|�}�|�|����|�f�S(	���u����Return a complete type, and the trailing string part after it.
            Use resolver() on each identifier, and combiner() on the parts of
            each complete type. (top_combiner is used on the top-most type.)u	���([,<>()])i���i����u����u���<u���(u���>u���)(���t���ret���splitt���lent���append(���t���type_strt���resolvert���top_combinert���combinert���bitst���firstt���sept���restt���argst���lastsept���next(���t���grab_one(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����4

c���������`�s������j��j�|����}�|�S(���N(���R/���t���create_type_from_user_string(���t���identt���res(���R4���(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����c���������`�s����|�s
�|��St��|��t�j���rA�t�|���d�k�rA�t�j�|��j�|���St��|��t�j���rv�t�|���d�k�rv�|�d�|��_�|��St��|��t�j���r��t�|���d�k�r��t�j�|����St�j	�d����f���|��S(���Ni���i����i���u.���Too many parameters in type specification '%s'(
���RA���R���t���ListR����RH���R����t���element_typet���MapR���t���warn(���t���baseR����(���R����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����#��s����$$
$
c���������`�s:�����d��k	�r-�t���t�j���r-���j�|��_�n�����|��|���S(���N(���RD���RA���R���t���Typet���is_const(���R����R����(���R����t	���type_node(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����1��s����u.���Trailing components in type specification '%s'u���%s: Unknown type: '%s't	���positions(
���R���R����t���resolvedRD���RA���R���RK���Rs���t
���_get_positionRq���(���R4���R����R����RS���Re���R����R����t���resultR����t���positiont���text(����(���R����R����R4���R����R����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_resolve
��s"����			c���������C`�s@���|��j��|�d�|�d�|�d�|��}�|�d�k	�r<�|�j�|�_�n��|�S(���uJ���Like _resolve(), but attempt to preserve more attributes of original type.R����RS���Re���N(���R����RD���R{���(���R4���R����R����RS���Re���R����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_resolve_toplevelF��s����!c���������C`�s����|��j��j�|�j���}�|�r��t�|�t�j���rE�|�j�j�|�j���}�n-�t�|�t�j���rl�|�j	�j�t
���}�n�d��}�|�j�r��|�j�Sn��|�j�S(���N(
���R0���Ro���Rs���RA���R���Ra���t���paramsRb���t���Returnt���tagsR	���RD���R����(���R4���t���funcRh���Ru���t���part(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����O��s����	
c���������C`�s����|�j��}�|�j�}�|�t�j�j�k�rv�|�t�j�k�rB�|�t�j�k�s]�t�|�t�j�t�j	�f���rv�t
�j�d�|�j���qv�n��|�t�j�j
�k�r��|�t�j�k�r��t�j�|�_�q��|�t�j�t�j�t�j�g�k�r��t
�j�d�|�j���q��n��d��S(���Nu9���invalid (element-type) for a GPtrArray, must be a pointeruN���invalid (element-type) for a GByteArray, must be one of guint8, gint8 or gchar(���t
���array_typeR����R���R����t
���GLIB_PTRARRAYt���BASIC_GIR_TYPESt
���POINTER_TYPESRA���R����R����R���R����R����t���GLIB_BYTEARRAYt���TYPE_ANYt
���TYPE_UINT8t	���TYPE_INT8t	���TYPE_CHAR(���R4���t���arrayRn���R����R����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����^��s����				c���
������C`�s\��|�j��t���}�|�r7�|��j�|�d�|�j�|�|���}�ng�t�|�j�t�j���r[�|�j�j�}�nC�|�j�j����}�|�j	�d��k	�r��|�j	�j�d���r��|�j	�d� |�_	�n��t�|�j�t�j���r��|�j�j�}�n�d��}�|�j��t
���}�t�j�|�|�d�|�j�j	�d�|�j�j��}�|�j��t�d���d�k�r%t�|�_�n6�t�|�k�sF|�j��t���d�k�rRt�|�_�n	�t�|�_�|�j��t���}	�|	�r	t�|�t�j���r�|��j�|�|	�|���}
�nZ�|��j�|�|	�|���}
�|
�r�|�j�|
���}�|�j�|�_�|�j�t�j�k�r�t�j�|�_�q�n��|
�r	|
�|�_�q	n��|�j��t���}�|�rOy�t�|���|�_�WqOt �t!�f�k
�rKd��SXn��|�|�_�d��S(���Ni����u���*i����R{���R����u���0u���1("���Ro���R���R����R����RA���R���R����R����t���cloneR{���RD���t���endswithR����R���R����R&���RZ���t���zeroterminatedR\���R%���t���CompoundRm���Rj���R_���t	���directiont���PARAM_DIRECTION_OUTt���PARAM_TRANSFER_FULLR����t���length_param_nameR$���t���intt���sizet	���TypeErrorR`���(
���R4���Re���RS���Rn���t���element_type_optionst���element_type_nodeR����t
���array_optionst���container_typet���lengtht	���paramnameRh���t���fixed(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����t��sP����
!	c���������C`�s���|�j��t���}�|�d��k�r�d��St�|�j�t�j���r��t�|���d�k�rj�t�j	�d�t�|���f�|�j
���d��S|��j�|�d�|�j�|�|���|�j�_�n(t�|�j�t�j
���r*t�|���d�k�r��t�j	�d�t�|���f�|�j
���d��S|��j�|�d�|�j�|�|���|�j�_�|��j�|�d�|�j�|�|���|�j�_�n��t�|�j�t�j���r�t�|���d�k�rut�j	�d�t�|���f�|�j
���d��S|��j�|�d�|�j�|�|���|�j�_�n�t�j	�d�|�j�f�|�j
���d��S(���Ni���uQ���"element-type" annotation for a list must have exactly one option, not %d optionsi����i���uZ���"element-type" annotation for a hash table must have exactly two options, not %d option(s)uS���"element-type" annotation for an array must have exactly one option, not %d optionsu0���Unknown container %r for element-type annotation(���Ro���R���RD���RA���R����R���R����R����R���R����R����R����R����R����t���key_typet
���value_typeR����(���R4���Re���RS���Rn���R����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR�������sF����










c���������C`�s9���|�j��t�j�t�j�g�k�r2�|�j�r+�t�j�St�j�St�j�S(���N(���R����R���t���PARAM_DIRECTION_INOUTR����t���caller_allocatest���PARAM_TRANSFER_NONER����(���R4���Re���RS���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_get_transfer_default_param���s����	c���������C`�sg���|�j��t�j���s6�|�j�s6�|�j��t�j�t�j�f���r=�t�j�S|�j��t�j���rV�t�j�S|�j	�rc�d��Sd��S(���N(���t���is_equivR���R����R����R����t	���TYPE_NONER����t���TYPE_STRINGR����t���target_fundamentalRD���(���R4���t���typeval(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt&���_get_transfer_default_returntype_basic���s����		c���������C`�sf���|��j��j�|���}�|��j��j�|���}�|�|�k�r4�t�S|�j�rb�|�j�j�d�k�rb�|��j�|�j�|���St�S(���Nu���GObject.Object(���R/���t���lookup_typenodeR\���t���parent_typet
���target_ginamet���_is_gi_subclassRZ���(���R4���R����t
���supercls_typet���clst���supercls(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR�������s����c���	������C`�s���|�j��}�|��j�|���}�|�r"�|�S|�j�s/�d��S|��j�j�|���}�t�|�t�j���rc�|��j�|�j	���St�|�t�j
���s��t�|�t�j�t�j�f���r��|�j
�d��k	�s��|�j�r��t�j�St�|�t�j�t�j�f���r��t�j�St�|�t�j���r�|�j�r�t�|�t�j���rvt�j�d�d���}�y�|��j�j�|���}�Wn$�t�k
�rL}�t�j�|�d���d��SX|�rl|��j�|�|���rlt�j�St�j�Sq�t�|�t�j�t�j�f���r�t�j�St�d�����n)�t�|�t�j�t�j�t�j�f���r�d��Sd��Sd��S(���NR����u���GObject.InitiallyUnownedu0���constructor found but GObject is not in includesu���Invalid constructor(���R����R����R����RD���R/���R����RA���R���R����Rw���t���BoxedRF���RG���R����t���foreignR����R����R����R����RK���t���is_constructorRM���R����t���KeyErrorR���t
���error_nodeR����R����(	���R4���Re���RS���R����t���basicRw���t���initially_unowned_typet���initially_unownedt���e(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_get_transfer_default_return���s@����		
!c���������C`�s����|�j��j�t�j���s*�t�|�j��t�j���r1�t�j�St�|�t�j���rS�|��j�|�|���St�|�t�j	���ru�|��j
�|�|���St�|�t�j���r��t�j�St�|�t�j���r��t�j�St
�|�����d��S(���N(���R����R����R���R����RA���t���VarargsR����Ra���R����R����R��t���Fieldt���PropertyR����(���R4���Re���RS���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����*c���������C`�s����t��|�t�j���r2�|�j�t�j�t�j�f�k�r2�t�S|��j�j�|�j	���}�|��j�j
�|���}�|�d��k�rn�|�j	�n�|�}�t��|�t�j���p��|�t�j
�k�p��|�j�j�d���S(���Nu���*(���RA���R���R����R����R����R����R\���R/���R����R����t���resolve_aliasesRD���R����t���BASIC_TYPESR{���R����(���R4���RS���Rn���Rw���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_is_pointer_type&��s����c������
���C`�s���|�j��t���}�|�s(�t�|���d�k�r,�d��S|�d�}�|��j�j�|�j���}�|��j�j�|���}�|�d��k�rr�|�j�n�|�}�t�|�t	�j
���r��|�n�|�j�}�|�t�k�r��t�}�t�|�t	�j
�t	�j�f���r�|�j�d�k�r�t�j�d�j�|���|�j���d��Sn��|�t�k�rVt�|�k�r�t�|�t	�j�t	�j�t	�j�f���r�t�j�d�j�|���|�j���d��Sn��|��j�|�|���r�|�t	�j�t	�j�f�k�r�t�|�t	�j�t	�j�t	�j�t	�j�t	�j�t	�j�t	�j
�t	�j�f���r�t�j�d�j�|���|�j���d��S|�|�_�d��S(���Ni���i����u���GLib.VariantuO���invalid "transfer" annotation for {0}: only valid for object and GVariant typesuE���invalid "transfer" annotation for {0}: only valid for container typesum���invalid "transfer" annotation for {0}: only valid for array, struct, union, boxed, object and interface types( ���Ro���R���R����R/���R����R����R��RD���RA���R���R����R*���R+���RM���RN���R����R���R����t���formatR����R)���R���R����R����R����R
��R����t
���TYPE_FILENAMERF���R����R����R����(���R4���Re���RS���Rn���t���transfer_annotationR����Rw���t	���node_type(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_transfer_annotation4��sB����
!
"

c���������C`�s��|�r�|�j��n�i��}�|�j�t���}�|�rO�|��j�|�d�|�j�|�|���|�_�n��t�}�d��}�t�|�k�rs�t�j	�}�nt
�|�k�rct�j�}�|�t
�}�t�|���d�k�r,|�j�j
�r#|�j�j�r#|��j�j�|�j�j
���}	�|��j�j�|	���}	�d�|�j�j�k�}
�t�|	�t�j�t�j�f���}�|
�o|�}�q`t�}�q{|�d�}�|�t�k�rKt�}�q{|�t�k�r{t�}�q{n�t�|�k�r{t�j�}�n��|�d��k	�r�|�|�j�k�r�|�|�_�|�|�_�|��j�|�|���|�_�n��|��j�|�|�|���|��j�|�|�|���|�j�j �t�j!���rt�|�_"�n��t#�|�k�rP|��j$�|�|���r:t�|�_"�t�|�_%�qPt&�j'�d�|�j(���n��t)�|�k�r�t�|�t�j*���r�|�j�t�j�k�r�t�|�_+�q�t&�j'�d�|�j(���n��t,�|�k�r|�j�t�j�k�r�t�|�t�j*���r�t�|�_+�q|��j$�|�|���r�t�|�_"�qt&�j'�d�|�j(���n��|�j�t�j�k�rV|�j�j
�d�k�sJ|�j�j
�d�k�rVt�|�_"�n��t-�|�k�rwt�|�_"�t�|�_%�n��|�r�|�j.�r�|�j.�|�_/�n��t0�|�k�r�t�|�_1�n��|�r|�j�t2���}
�|
�d��k	�rx3�|
�j3����D]"�\�}�}�|�r�|�|�j4�|�<q�q�Wqn��d��S(���Ni����u���**uN���invalid "nullable" annotation: only valid for pointer types and out parametersu<���invalid "optional" annotation: only valid for out parametersuP���invalid "allow-none" annotation: only valid for pointer types and out parametersu���Gio.AsyncReadyCallbacku���Gio.Cancellable(5���Rn���Ro���R���R����R����RZ���RD���R���R���R����R���R����R����R����R{���R/���t
���lookup_ginameR��RA���RF���RG���R(���R\���R'���R���t���PARAM_DIRECTION_INR����R����R����R����R��R����R����R����t���nullableR!���R
��t���not_nullableR���R����R����R"���R����t���optionalR
���R#���R����R����R���t���skipR���t���itemst
���attributes(���R4���Re���RS���t���tagRn���t���type_annotationR����t���annotated_directiont���optionsRw���t���has_double_indirectiont���is_structure_or_uniont���optiont���attributes_annotationt���keyt���value(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt#���_apply_annotations_param_ret_common_��s�����
	
	
					
	
	
	c���	������C`�s���|�d��k�r�d��S|�j�r(�|�j�|�_�n��|�j�j�t���}�|�d��k	�ry�|�j�r^�|�j�|�_�n��|�j�ry�|�j�|�_�qy�n��|�j�j�t	���}�|�d��k	�r��|�j�r��|�j�|�_
�n��|�j�r��|�j�|�_�q��n��|�j�j�t���}�|�d��k	�r|�j�r�|�j�|�_
�n��|�j�r|�j�|�_�qn��|�j�j�t���}�|�d��k	�rox3�|�j����D]"�\�}�}�|�rF|�|�j�|�<qFqFWn��t�|�j�k�r�t�|�_�n��t�|�j�k�r�t�|�_�n��t�|�j�k�r�t�|�t�j���r�t�|�_�n��t�|�j�k�r�t�|�_�n��d��S(���N(���RD���R����R����R����Ro���R���R!��t���versiont���version_docR���t
���deprecatedt���deprecated_docR���t	���stabilityt
���stability_docRn���R���R��R��R���R\���R��R���R����R���RA���R���RK���R����R���t	���is_method(	���R4���RS���Ru���t	���since_tagt���deprecated_tagt
���stability_tagR��R ��R!��(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR}������sF����							!c���������C`�s#���|��j��|���}�|��j�|�|���d��S(���N(���R����R}���(���R4���RS���R]���Ru���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR�������s����c���	������C`�ss��|�r�|�j��n�i��}�t�|�t�j�t�j�f���r,|�j�t���}�|�rs�t�|���d�k�rs�|�d�|�_�t�j	�|�_
�n��|�j�t���}�|�r��|��j�|�|�d�|���|�_
�|�j
�d��k	�r��t�j�|�_�|�j�|�j
���}�t�j�|�_�q��n��|�j�t���}�|�r\t�|���d�k�r\|��j�|�|�d�|���|�_�q\n0�t�|�t�j���r\t�|�k�r\|�j�|�_�q\n��|��j�|�|�|���d��S(���Ni���i����(���Rn���RA���R���RK���t	���VFunctionRo���R���R����t���scopeR����R����R���Rj���t���destroy_nameRD���t���PARAM_SCOPE_NOTIFIEDR_���R
���t���closure_nameRY���Rb���R"��(	���R4���Re���Rh���R��Rn���t���scope_annotationt���destroy_annotationt
���destroy_paramt���closure_annotation(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_annotations_param���s0����
		c���������C`�s|���|�r�|�j��j�t���}�n�d��}�|�d��k	�re�|�j�t�j�k�re�t�j�d�|�j	�f�|�j
���d��}�n��|��j�|�|�|���d��S(���Nu���%s: invalid return annotation(���R����Ro���R	���RD���R����R���R����R���R����RH���R����R"��(���R4���Re���t���return_Ru���R��(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_annotations_return��s����
	c���������C`�s���t��g����}�|�j�rh�|�r6�|�j�j�|�j�j���}�n�d��}�|��j�|�|�j�|���|�j�|�j�j���n��xU�|�D]M�}�|�r��|�j�j�|�j���}�n�d��}�|��j�|�|�|���|�j�|�j���qo�W|�s��d��St��|�j���}�|�|�}�|�|�}	�x��|�D]��}
�t�|	���d�k�rd�}�nQ�t�|	���d�k�r@|	�\�}�d�|�f�}�n&�d�d�j	�d����t
�|	���D����f�}�|�j�j�|
���}�t�j�d�|�j
�|
�|�f�|�j���q��Wd��S(	���Ni����u����i���u���, should be '%s'u���, should be one of %su���, c���������s`�s���|��]�}�d��|�Vq�d�S(���u���'%s'N(����(���t���.0t���p(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pys	���<genexpr>J��s����u5���%s: unknown parameter '%s' in documentation comment%s(���t���sett���instance_parameterR����Ro���Rb���RD���R6��t���addR����t���joint���sortedR���R����RH���R����(���R4���Re���R����Ru���t
���declparamst	���doc_paramRh���t	���docparamst���unknownt���unusedt���doc_nameR����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_apply_annotations_params)��s<����	



		#	c���������C`�s@���|��j��|�|���|��j�|�|�j�|���|��j�|�|�j�|���d��S(���N(���R}���RF��R����R8��R����(���R4���RS���R]���Ru���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRy���Q��s����c���������C`�s����|�s
�d��S|�j��j�|�j���}�|�s)�d��S|�j�j�t���}�|�r]�|��j�j�|�d���|�_�n��|�j�|�_	�y�|��j
�|�|�|�j���Wn�t�k
�r��}�t�|���n�Xd��S(���Ni����(
���R����Ro���RH���Rn���R���R/���R����R����R����R����R����t���AttributeErrort���print(���R4���Re���Ru���R^���R��R��t���ex(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����V��s����c���������C`�s����|��j��|���}�|��j�j�d�|�|�j�f���}�|��j�|�|���|�sH�d��S|�j�j�t���}�|�d��k	�r��|�d�}�|�t�k�r��t	�}�n��|�|�_
�n�|��j�|�|���|�_
�|�j�j�t���}�|�r��|��j
�|�d�|�j�|�|���|�_�n��d��S(���Nu���%s:%si����(���R����R0���Ro���RH���R}���Rn���R���RD���R*���R+���R����R����R���R����R����(���R4���Re���R����t���prefixRu���R
��R����R��(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����e��s����
	c���������C`�s���g��}�|��j��|���}�|��j�j�d�|�|�j�f���}�|�r��|��j�|�|���t�|�j���t�|�j���k�r��|�j�j����}�xb�t	�|�j���D]#�\�}�}�|�|�d�\�|�_
�}�q��Wq��t�|�j���d�k�r��t�j�d�|�j
���q��n��x��t	�|�j���D]��\�}�}�|�r^|�|�d�\�}	�}�|�rd|�j�j�t���}
�|
�r[|��j�|
�d�|�j�|�|���|�_�q[qdn�d��}�|��j�|�|�|���q��W|��j�|�|�j�|���d��S(���Nu���%s::%si���i����uW���incorrect number of parameters in comment block, parameter annotations will be ignored.(���R����R0���Ro���RH���R}���R����R����R����R��t	���enumerateRb���R���R����R����Rn���R���R����R����RD���R6��R8��R����(���R4���Re���t���signalR8���RJ��Ru���t���iRh���R��RH���R��(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR����w��s.����	c���������C`�s[���|��j��|���}�|�d��k�r�d��S|��j�|�|���|�j�j�t���}�|�rW�|�d�|�_�n��d��S(���Ni����(���R����RD���R}���Rn���Ro���R���R!��(���R4���RS���Ru���t���value_annotation(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR�������s����c���������C`�s^���|�d��k�r�d��SxG�|�j�D]<�}�|�j�j�|�j�d����}�|�r�|�j�r�|�j�|�_�q�q�Wd��S(���N(���RD���t���membersR����Ro���Rs���R����R����(���R4���RS���Ru���t���mRh���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR�������s����c���	������C`�s��t��|�t�j���r��|��j�j�|�j���}�|��j�|�|�|���|�rJ�|�d�n�d��}�|�r��|�r��|�j�j�t	���}�|�r��|�d�}�t
�}�xL�|�j�D]A�}�|�j�|�k�r��t
�}�|�j�|�_�|��j�|�|�g�|���Pq��q��W|�s��t�j�|�d�|�t	�f���q��q��q��n��t
�S(���Ni����i����u/���Virtual slot '%s' not found for '%s' annotation(���RA���R���RK���R0���Ro���Rs���Rx���RD���Rn���R ���RZ���t���virtual_methodsRH���R\���t���invokerRy���R���Rq���(	���R4���RS���R]���Ru���Re���t���virtual_annotationt���invoker_namet���matchedt���vfunc(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRP������s(����
	c���������C`�sI���t��|���}�x6�|�D].�}�|��j�j�|���}�|�s�|�j�|���q�q�W|�S(���uh���Given a list of Type instances, return a new list of types with
the ones that failed to resolve removed.(���RJ���R/���t���resolve_typet���remove(���R4���t���typelistt���new_typelistR����R����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_resolve_and_filter_type_list���s����
c���
������C`�se��t��|�t�j���r(�|��j�j�|�j���n��t��|�t�j���rz�x$�|�j�D]�}�|��j�j�|�j���qD�W|��j�j�|�j	�j���n��t��|�t�j
���r��|��j�j�|�j���n��t��|�t�j�t�j
�t�j�t�j�f���r��x3�|�j�D]%�}�|�j�r��q��|��j�j�|�j���q��Wn��t��|�t�j�t�j
�f���r
x��|�j�D]V�}�y�|��j�j�|���Wn�t�k
�rTq$n�X|��j�j�|���}�|�r$|�|�_�Pq$q$Wt��|�t�j
���r�t�j�d�d���|�_�n��x$�|�j�D]�}�|��j�j�|�j���q�Wx;�|�j�D]-�}�x$�|�j�D]�}	�|��j�j�|	�j���q�Wq�Wn��t��|�t�j���r7|��j�|�j���|�_�n��t��|�t�j
���ra|��j�|�j���|�_�n��t�S(���NR����u���GObject.Object(���RA���R���R����R/���RW��Rw���R~���R����R����R����R����R����RM���RN���RF���RG���RV���RX���t���parent_chainR`���R����R����R����R����R����R[��t
���interfacest
���prerequisitesR\���(
���R4���RS���R]���t	���parameterR^���Re���Rw���R����R����Rh���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR<������sF����'	
	c���������C`�s`��i��}�x[�|��j��j����D]J�}�t�|�t�j���s4�q�n��t�|�j���j����}�|�|�|�<|�|�|�j�<q�Wx��|��j��j����D]��}�t�|�t�j���s��qt�n��|�j	�t
�d��� }�|��j�j�|�j	���\�}�}�|�t
�d��� }�|�d�k�r��|��j��j
�d���}�n0�|��j�j
�|���}�|�d��k�r#|�j
�|���}�n��|�d��k	�r>|�j�|�_�qt�t�j�|�d�|�j	�f���qt�Wd��S(���Nu���_quarku
���g_io_erroru���IOErrorEnumu+���%s: Couldn't find corresponding enumeration(���R2���R@���RA���R���R����R-���RH���RI���t���ErrorQuarkFunctionRs���R����R/���t
���split_csymbolRo���R3���RD���t���error_domainR���Rq���(���R4���t���uscore_enumst���enumRT���RS���t���fullt���nst���short(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRR������s,����
	c���������C`�s����d�}�d�}�d�}�x��t�r��|�j�d�|���}�t�|���|�k�rC�d�St�|���}�|�d�}�|��j�j�|���}�|�r��|�d�j�|�d���f�S|�d�7}�q�Wd�S(���u1��'uscored' should be an un-prefixed uscore string.  This
function searches through the namespace for the longest type which
prefixes uscored, and returns (type, suffix).  Example, assuming
namespace Gtk, type is TextBuffer:

_split_uscored_by_type(text_buffer_try_new) -> (ast.Class(TextBuffer), 'try_new')i����i����u���_i���N(���RD���R\���t���rsplitR����R3���Ro���R>��(���R4���RT���RS���t���countt���prev_split_countt
���componentst���type_string(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_split_uscored_by_type��s����	
c���������C`�s����|�j��j�d���s�|�j����r"�d�S|��j�j�|�j����\�}�}�|��j�|�|���rc�|��j�|�|���d�S|��j�|�|���r��|��j�|�|���d�S|��j	�|�|���r��d�Sd�S(���uX���Check to see whether a toplevel function should be a
method or constructor of some type.u���_N(
���Rs���RW���t���is_type_meta_functionR/���Ra��t���_is_constructort���_set_up_constructort
���_is_methodt
���_setup_methodt���_pair_static_method(���R4���R����Rf��t	���subsymbol(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRL���0��s����c���������C`�s���|�j�����}�t�|���j����S(���u;���Given a Type(target_giname='Foo.BarBaz'), return 'bar_baz'.(���t
���get_ginameR-���RI���(���R4���R����RH���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_uscored_identifier_for_typeC��s����c���������C`�s���|�j��s3�|�j�r/�t�j�|�d�|�j�f���n��t�S|�j��d�}�|��j�j�|�j���}�t	�|�t
�j�t
�j�t
�j
�t
�j�t
�j�f���s��|�j�r��t�j�|�d�|�j�f���n��t�S|�j�|��j�k�r��|�j�r��t�j�|�d�|�j�f���n��t�S|�j�t
�j�k�r$|�j�r t�j�|�d�|�j�f���n��t�S|�j�j�d��k	�rU|�j�j�j�d���d�k�rUt�S|�j�s�|��j�|�|���}�|�j�|���s�t�Sn��t�S(���Nu ���%s: Methods must have parametersi����u8���%s: Methods must have a pointer as their first parameteruI���%s: Methods must belong to the same namespace as the class they belong tou;���%s: The first argument of methods cannot be an out-argumentu���*i���(���R����R)��R���Rq���Rs���RZ���R/���R����R����RA���R���RM���RN���RF���RG���R����R1���R2���R����R����R{���RD���Ri��t���_get_uscored_prefixRW���R\���(���R4���R����Rt��R����Rw���t���uscored_prefix(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRq��H��sD����			
						-	c���������C`�sC��|��j��|�|���}�|��j�j�|�j�d�j���}�|�j�r��|�j�|�d���r��|�j����}�|�j�|�_	�|�j�j
�d���|�_�|�j�j
�|���}�|�j�|�t�|���d�|�_�t�|�_�|�j�j�|���nz�|�j�j
�d���|�_�|��j�j�|���|�j�s/|�j�j
�|���}�|�j�|�t�|���d�|�_�t�|�_�n��|�j�j�|���d��S(���Ni����u���_i���(���Rw��R/���R����R����R����R)��RW���R����RH���t���moved_tot���popR<��Rs���t���findR����R\���t���methodsR����R2���t���float(���R4���R����Rt��Rx��Rw���t���newfunct
���subsym_idx(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRr��q��s"����		c���������C`�s����t��}�d��}�|�j�d�}�|��j�j�|�j���}�t�|�d���rs�|�j�d��k	�rs�|�j�|�j���}�|�rs�|�j�}�qs�n��|�s��|��j	�|�j���}�n��|�S(���Ni����u���c_symbol_prefix(
���RZ���RD���R����R/���R����R����t���hasattrRE���RW���Rv��(���R4���R����Rt��t���prefix_matchesRx��t	���first_argRw���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRw�����s����
c���������C`�s����|��j��|���}�|�d��k�r�t�S|�\�}�}�|�d�k�r;�t�St�|�t�j���rz�|��j�j�|���|�|�_�|�j	�j
�|���t�St�|�t�j�t�j
�t�j�t�j�t�j�t�j�f���r��|�j����}�|�|�_�|�j	�j
�|���|�j�d�|�j�|�_�t�St�S(���Nu����u���.(���Rm��RD���RZ���RA���R���RM���R2���R}��RH���t���static_methodsR����R\���RN���RF���RG���R����R����R����R����Ry��(���R4���R����Rt��R����RS���t���funcnamet���new_func(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs�����s&����		c���������C`�s~���|��j��j�|���|��j�|�|���|�_�|��j�|�|���}�|�j�j�|���t�|�_�|�j	�j
�sz�|��j�|�|�j	���|�j	�_
�n��d��S(���N(���R2���R}��t���_get_constructor_nameRH���t���_get_constructor_classt���constructorsR����R\���R����R����R����R��(���R4���R����Rt��t���origin_node(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRp�����s����		c���������C`�sX���d��}�|��j�|���}�|�d��k�rH�|�j�rT�|��j�j�|�j�j���}�qT�n�|�\�}�}�|�S(���N(���RD���Rm��R����R/���R����R����R����(���R4���R����Rt��R���R����t���_(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����	c���������C`�sI���d��}�|��j�|���}�|�d��k�r9�|�j�rE�|�j�}�qE�n�|�\�}�}�|�S(���N(���RD���Rm��R����RH���(���R4���R����Rt��RH���R����R���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����	c���������C`�s:���|�j��d���r�t�Sd�|�k�r#�t�S|�j��d���r6�t�St�S(���Nu���_newu���_new_u���_newv(���R����R\���RZ���(���R4���Rs���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���_guess_constructor_by_name���s����c���������C`�s���|�j��s"�|��j�|�j���s"�t�Sn��|��j�j�|�j�j���}�t�|�t	�j
���p��t�|�t	�j�t	�j�t	�j
�f���o��|�j�d��k	�p��|�j�s��|�j��r��t�j�|�d�|�j�f���n��t�S|��j�|�|���}�|�d��k�r��|�j��r��t�j�|�d�|�j�f���n��t�St�|�t	�j
���p?t�|�t	�j�t	�j�t	�j
�f���o?|�j�d��k	�p?|�j�sFt�S|�j�|��j�k�r�|�j��r~t�j�|�d�|�j�f���n��t�S|�j��r�t�|�j���d�k�r�|��j�j�|�j�d�j���}�|�d��k	�r�|�j�|�j�k�r�t�Sn��t�|�t	�j
���r�|�}�x��|�r�|�j�d�k�r�|�|�k�r#Pn��|�j�rD|��j�j�|�j���}�n�d��}�|�d��k�r�t�j�|�d�|�j�t�|�j������t�|�j�j���f���t�Sq�WnH�|�|�k�r�t�j�|�d�|�j�t�|�j������t�|�j�j���f���t�St�S(���Nu7���%s: Constructors must return an instance of their classu5���Can't find matching type for constructor; symbol='%s'uN���%s: Constructors must belong to the same namespace as the class they belong toi����u���GObject.ObjectuX���Return value is not superclass for constructor; symbol='%s' constructed='%s' return='%s'uI���Constructor return type mismatch symbol='%s' constructed='%s' return='%s'(���R����R���Rs���RZ���R/���R����R����R����RA���R���RM���RF���RG���R����RC���RD���R����R���Rq���R���R1���R2���R����R����t���gi_nameR����t���strt���create_typeR\���(���R4���R����Rt��Rw���R���R���Re���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRo�����sp����	!			!					c���������C`�s���|�j��s
�d�S|�j����}�|��j�j�|�j����}�x/�|�j�D]$�}�t�|�t�j���r8�t�|�_	�q8�q8�Wx@|�j�D]5}�d�}�t�|�j�t�j���r��|�j�}�nB�|�j
�d�k	�rj�|��j�j�|�j
���}�t�|�t�j���s��qj�q��n�qj�t�|�j���d�k�r��qj�n��|�j�d�j
�}�|�|�k�rqj�n��t�j�j�|�j�|���}�|�j�d�|�_�|�j�|���|��j�|���}�|��j�j�d�|�|�j�f���}	�|��j�|�|�g�|	���|�j�j�|���qj�Wx|�j�D]��}�x��|�j�D]��}
�|
�j�|�j�k�r�q�n��|
�j�j
�|�j�j
�k�r�q�n��t�|
�j���t�|�j���k�rq�n��xO�t�t�|
�j�����D]8�}�|
�j�|�j
�}�|�j�|�j
�}
�|�|
�k�r3q3q3q3W|
�j�|�_�|��j�j�|
�j���}	�|��j�|�g��|	���Pq�Wq�Wd�S(���u2���Look for virtual methods from the class structure.Ni����u���%s::%s( ���t���glib_type_structR���R/���R����RV���RA���R���R��RZ���t���writableRD���RX���RY���R����R����R����R-��t
���from_callbackRH���R<��t���inherit_file_positionsR����R0���Ro���Ry���RQ��R����R|��R����t���rangeRR��Rs���(���R4���RS���R��t���class_structR^���t���callbackt���firstparam_typeRV��RJ��Ru���t���methodRM��t���m_typet���v_type(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRO���A��sZ����		

c���������C`�s3���t��|�t�j���r/�|��j�|���|��j�|���n��t�S(���uK���Pass 3 is after we've loaded GType data and performed type
        closure.(���RA���R���R~���t���_pass3_callable_callbackst���_pass3_callable_throwsR\���(���R4���RS���R]���(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRQ������s����
c���	������C`�s���|�j��}�xe�|�D]]�}�|��j�j�|�j���}�t�|�t�j���r�|�j�j�d�k�rm�t�j�|�_	�t�j
�|�_�qm�q�q�Wd�}�x��|�D]��}�|��j�j�|�j���}�t
�}�t�|�t�j���r��|�j�j�d�k�r��t�}�q��|�}�q~�n��|�d�k�r��q~�n��|�r|�j�|�_�t�j�|�_	�t�j
�|�_�q~�|�j�j�t�j���r~�|�j�d�k	�r~�|�j�j�d���r~�|�j�|�_�q~�q~�WxQ�|�D]I�}�|�j�d�k	�rg|�j�|�j���}�|�|�}�|�j�s�t�|�_�q�qgqgWd�S(���ua���Check to see if we have anything that looks like a
        callback+user_data+GDestroyNotify set.u���Gio.AsyncReadyCallbacku���GLib.DestroyNotifyu���dataN(���u���Gio.AsyncReadyCallbacku���GLib.DestroyNotify(���R����R/���R����R����RA���R���RY���R����t���PARAM_SCOPE_ASYNCR.��R����R����RD���RZ���R\���Rb���R/��R0��R����R����R����R1��t���get_parameter_indexR��R��(	���R4���RS���R����Rh���t���argnodet���callback_paramt���is_destroynotifyt���idxt
���closure_param(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������sB����	
		
	

	c���������C`�sI���|�j��s
�d�S|�j��d�}�|�j�j�d�k�rE�|�j��j����t�|�_�n��d�S(���ua���Check to see if we have anything that looks like a
        callback+user_data+GDestroyNotify set.Ni����u���GError**(���R����R����R{���Rz��R\���t���throws(���R4���RS���t
���last_param(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR������s����	

N(=���t���__name__t
���__module__R7���RU���R;���Rj���Rm���Rx���Rz���R=���R>���R����R����R?���R����RD���R����R����R����R����R����R����R����R����R����R��R����R
��R��R"��R}���R����R6��R8��RF��Ry���R����R����R����R����R����RP���R[��R<���RR���Rm��RL���Rv��Rq��Rr��Rw��Rs��Rp��R���R���R���Ro��RO���RQ���R���R���(����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR.���,���st���		8	
											+		9				6	'		
		'			+	f	.		%	
	(				#						'	!				)	"		#					F	C		-(5���t
���__future__R����R���R���R���R����t����R���R���t���annotationparserR���R���R���R	���R
���R���R���R
���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R ���R!���R"���R#���R$���R%���R&���R'���R(���R)���R*���R+���R,���t���utilsR-���t���objectR.���(����(����(����sy���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt���<module>���s���"�@