� L�Zc�����������@`�sr��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�Z�d��d�l�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�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 �e'�f�d�������YZ(�d�e)�f�d�������YZ*�d�S(���i����(���t���absolute_import(���t���division(���t���print_function(���t���unicode_literalsNi���(���t���ast(���t���message(���t���utils(���t ���CacheStore(���t ���GIRParser(���t���SourceSymbolt ���ctype_namet ���CTYPE_POINTERt���CTYPE_BASIC_TYPEt���CTYPE_UNIONt���CTYPE_ARRAYt ���CTYPE_TYPEDEFt ���CTYPE_VOIDt ���CTYPE_ENUMt���CTYPE_FUNCTIONt���CTYPE_STRUCTt���CSYMBOL_TYPE_FUNCTIONt���CSYMBOL_TYPE_TYPEDEFt���CSYMBOL_TYPE_STRUCTt���CSYMBOL_TYPE_ENUMt���CSYMBOL_TYPE_UNIONt���CSYMBOL_TYPE_OBJECTt���CSYMBOL_TYPE_MEMBERt���CSYMBOL_TYPE_ELLIPSISt���CSYMBOL_TYPE_CONSTt���TYPE_QUALIFIER_CONSTt���TYPE_QUALIFIER_VOLATILEt���TransformerExceptionc�����������B`�s���e��Z�RS(����(���t���__name__t ���__module__(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR���-���s���t���Transformerc�����������B`�s6��e��Z�e�d�������Z�e�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�e�d7�d�����Z�e�d���Z�d����Z�d����Z�e�d���Z�d����Z�d����Z�d����Z�d����Z�d����Z�d7�d7�d���Z�d����Z�d����Z �d����Z!�d����Z"�d����Z#�d����Z$�d ����Z%�d7�d!���Z&�d"����Z'�d#����Z(�e�e�d$���Z)�d7�e�d7�d%���Z*�e�e�e�d7�d&���Z+�d'����Z,�d(����Z-�d)����Z.�e�d*���Z/�d+����Z0�d,����Z1�d-����Z2�d.����Z3�e�d/���Z4�d0����Z5�d1����Z6�d2����Z7�d3����Z8�d4����Z9�d5����Z:�d6����Z;�RS(8���c���������C`�s���|��j��S(���N(���t ���_namespace(���t���self(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���<lambda>2���s����u����c���������C`�sm���t�����|��_�|�|��_�|�|��_�t����|��_�i��|��_�i��|��_�g��|��_�t �|��_ �|�|��_�|�|��_�i��|��_ �d��S(���N(���R���t���_cachestoret���_accept_unprefixedR#���t���sett���_pkg_config_packagest���_typedefs_nst���_parsed_includest ���_includepathst���Falset���_passthrough_modet���_identifier_filter_cmdt���_symbol_filter_cmdt���_tag_ns(���R$���t ���namespacet���accept_unprefixedt���identifier_filter_cmdt���symbol_filter_cmd(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���__init__4���s���� c���������C`�s���|��j��S(���N(���R)���(���R$���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���get_pkgconfig_packagesF���s����c���������C`�s ���d��|��_�d��S(���N(���t���NoneR&���(���R$���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���disable_cacheI���s����c���������C`�s ���t��|��_�d��S(���N(���t���TrueR.���(���R$���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���set_passthrough_modeL���s����c���������C`�s����|��j��j�|�j���}�t�|�t�j���r<�t�|�t�j���r<�nk�|�|�k�rK�n\�|�r��t����}�|�j�|�j���|�j�|�j���t �j �d�|�j�f�|���n�|��j��j�|���d��S(���Nu���Namespace conflict for '%s'(���R#���t���gett���namet ���isinstanceR���t���ConstantR(���t���updatet���file_positionsR���t���fatalt���append(���R$���t���nodet���originalt ���positions(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_append_new_nodeO���s����$ c���������C`�s@��x��|�D]��}�|�j��d�k�r"�q�n��y�|��j�|���}�Wn&�t�k �r]�}�t�j�|�|���q�n�X|�r}�|�j�r}�|��j�|���n��t�|�t�j ���r�|�j �r�|�j �|��j�k�r�|�|��j�|�j �<q�q�Wxx�|��j�j����D]g�\�}�}�|�j�s��y)�|��j �|���}�|�|�_�|��j�|���Wq8t�k �r4}�t�j�|�|���q8Xq��q��Wd��S(���Nu���gst_g_error_get_type(���u���gst_g_error_get_type(���t���identt ���_traverse_oneR���R���t���warn_symbolR=���RG���R>���R���t���Compoundt���tag_nameR1���t���itemst���strip_identifiert ���warn_node(���R$���t���symbolst���symbolRD���t���eRL���t���structR=���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���parsef���s*���� c���������C`�s���t��|���|��_�d��S(���N(���t���listR,���(���R$���t���paths(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���set_include_paths����s����c���������C`�sI���|�|��j��j�k�r�d��S|��j��j�j�|���|��j�|���}�|��j�|���d��S(���N(���R#���t���includest���addt ���_find_includet���_parse_include(���R$���t���includet���filename(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���register_include����s ����c���������C`�s����t��j�j�|���}�|�j�d���s7�t�d�|�f�����n��|�d� }�t�j�j�|���}�|�|��j�j �k�ri�d��S|��j�j �j �|���|��j�|�d�t��d��S(���Nu���.giru8���Include path '%s' must be a filename path ending in .giri����t���uninstalled( ���t���ost���patht���basenamet���endswitht ���SystemExitR���t���Includet���from_stringR#���RX���RY���R[���R:���(���R$���t���include_pathRb���t���girnameR\���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���register_include_uninstalled����s���� c���������C`�s����d�|�k�r�|��j��j�|���S|�j�d�d���\�}�}�|�|��j��j�k�rV�|��j��j�|���S|�|��j��j�k�r��|�|��j�k�r��t�j�d�d�|�|�f���|��j��j�|���S|��j�|�}�|�j�|���Sd�S(���u����Given a name of the form Foo or Bar.Foo, return the corresponding ast.Node, or None if none available. Will throw KeyError however for unknown namespaces.u���.i���u#���Deprecated reference to identifier u���prefix %s in GIName %sN(���R#���R<���t���splitR=���t���identifier_prefixesR+���R���t���warn(���R$���R=���t���nst���ginameR\���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���lookup_giname����s����! c���������C`�s���|�j��r�|��j�|�j����Sd�S(���ui���Given a Type object, if it points to a giname, calls lookup_giname() on the name. Otherwise return None.N(���t ���target_ginameRo���R8���(���R$���t���typeobj(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���lookup_typenode����s���� c���������C`�s<���t��j����}�|�j�t���t�j�d�k�r8�|�j�d���n��|�S(���Nu���ntu ���/usr/share(���R���t���get_system_data_dirsRC���t���DATADIRR`���R=���(���R$���t ���data_dirs(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_get_gi_data_dirs����s ���� c���������C`�s����|��j��}�x0�|��j����D]"�}�|�j�t�j�j�|�d�����q�W|�j�t�j�j�t�d�����d�|�j�|�j�f�}�x9�|�D]1�}�t�j�j�|�|���}�t�j�j �|���rv�|�Sqv�Wt �j�j�d�|�|�f���t �j �d���d��S(���Nu���gir-1.0u ���%s-%s.giru/���Couldn't find include '%s' (search path: '%s') i���(���R,���Rv���RC���R`���Ra���t���joinRt���R=���t���versiont���existst���syst���stderrt���writet���exit(���R$���R\���t ���searchdirsRa���Rh���t���d(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyRZ�������s���� c���������C`�sd���|��d����}�|�d��k �r(�|�j�|���n��|�j����|�j�|���}�|�j����|�_�|�j�|�j�j�=|�S(���N(���R8���RW���R;���R[���t ���get_namespaceR#���R+���R=���(���t���clsR]���t���extra_include_dirsR$���t���parser(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���parse_from_gir����s���� c���������C`�s��d��}�|��j�d��k �r*�|��j�j�|���}�n��|�d��k�r~�t�d�|��j���}�|�j�|���|��j�d��k �r~�|��j�j�|�|���q~�n��xH�|�j����j�D]7�}�|�j �|��j �k�r��|��j�|���}�|��j�|���q��q��W|�s��x*�|�j����j �D]�}�|��j�j�|���q��Wn��|�j����}�|�|��j �|�j �<|�S(���Nt ���types_only(���R8���R&���t���loadR���R.���RT���t���storeR����RX���R=���R+���RZ���R[���t���exported_packagesR)���RY���(���R$���R]���R_���R����R\���t���dep_filenamet���pkgR2���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR[�������s$���� c���������c`�s+���|��j��Vx�|��j�j����D]�}�|�Vq�Wd�S(���uZ���Return an iterator over all included namespaces; the currently-scanned namespace is first.N(���R#���R+���t���values(���R$���Rm���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_iter_namespaces����s����c���������C`�s3���|�d�|��j��k�r!�d�|�d�f�Sd�|�d�f�Sd�S(���u����Key sort which ensures items in self._namespace are last by returning a tuple key starting with 1 for self._namespace entries and 0 for everythin else. i����i���i���N(���R#���(���R$���t���val(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���_sort_matches����s����c������ ���C`�s ��|�r��|��j��r��t�j�|��j��d�t�j�d�t�j�d�t�j�d�t��}�|�}�|�j�|�j������\�}�}�|�j�r��t�d�|��j��|�j�|�f�����n��|�j �d���}�n��g��}�g��}�x��|��j ����D]��} �|�r��| �j�} �n%�|�d�j����r��| �j �} �n �| �j�} �| �rnx{�| �D]c�}�|�r.|�j�d���r.|�d�}�n��|�j�|���r|�j�| �|�t�|���t�|���f���PqqWq��|�j�| ���q��W|�r�|�j�d �|��j���t�t�d ����|�����S|��j�r�|��j�|�f�g�S|�r�x*�|�D]�} �|�| �k�r�| �|�f�g�Sq�Wn��t�d�|�rd�n�d �|�f�����d��S(���Nt���stdint���stdoutR{���t���shellu&���filter: "%s" exited: %d with error: %su���asciii����u���_t���keyc���������S`�s���|��d�|��d�f�S(���Ni����i���(����(���t���x(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR%���#��s����u���Unknown namespace for %s '%s'u ���identifieru���symbol(���R0���t ���subprocesst���Popent���PIPER:���t���communicatet���encodet ���returncodet ���ValueErrort���decodeR����Rk���t���isuppert���_ucase_symbol_prefixest���symbol_prefixesRc���t ���startswithRC���t���lent���sortR����RU���t���mapR'���R#���(���R$���R=���t ���is_identifiert���proct���_namet ���proc_namet���errt���matchest���unprefixed_namespacesRm���t���prefixest���prefix(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt%���_split_c_string_for_namespace_matches��sN���� & c���������C`�s���|��j��|�d�t��S(���u����Given a StudlyCaps string identifier like FooBar, return a list of (namespace, stripped_identifier) sorted by namespace length, or raise ValueError. As a special case, if the current namespace matches, it is always biggest (i.e. last).R����(���R����R:���(���R$���RH���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���split_ctype_namespaces0��s����c���������C`�s���|��j��|�d�t��S(���u����Given a C symbol like foo_bar_do_baz, return a list of (namespace, stripped_symbol) sorted by namespace match probablity, or raise ValueError.R����(���R����R-���(���R$���RQ���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���split_csymbol_namespaces7��s����c���������C`�s���|��j��|�d�t��}�|�d�S(���uw���Given a C symbol like foo_bar_do_baz, return the most probable (namespace, stripped_symbol) match, or raise ValueError.R����i����(���R����R-���(���R$���RQ���R����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���split_csymbol=��s����c��� ��� ���C`�sV��|��j��r��t�j�|��j��d�t�j�d�t�j�d�t�j�d�t��}�|�j�|�j������\�}�}�|�j�r��t�d�|��j��|�j�|�f�����n��|�j �d���}�n��|�j �d���}�|�r��|�d�}�n��y�|��j�|���}�Wn%�t�k �r��}�t�t �|�������n�Xx5�|�D]-�\�}�} �|�|��j�k�r��|�r!d�| �S| �Sq��W|�d �\�}�} �t�d �|�|�j�f�����d��S(���NR����R����R{���R����u&���filter: "%s" exited: %d with error: %su���asciiu���_i���i����u2���Skipping foreign identifier '%s' from namespace %s(���R/���R����R����R����R:���R����R����R����R����R����R����R����R���t���strR#���R=���R8���( ���R$���RH���R����t ���proc_identR����t���hiddenR����RR���Rm���R=���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyRN���C��s6���� c���������C`�s����|�j��}�|�j�d���}�|�r+�|�d�}�n��y�|��j�|���\�}�}�Wn%�t�k �rk�}�t�t�|�������n�X|�|��j�k�r��t�d�|�j�f�����n��|�r��d�|�S|�S(���Nu���_i���u)���Skipping foreign symbol from namespace %s(���RH���R����R����R����R���R����R#���R=���(���R$���RQ���RH���R����Rm���R=���RR���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���_strip_symbola��s���� c���������C`�s����|�d��k�r�|�j�}�n��|�t�k�r1�|��j�|���S|�t�k�rJ�|��j�|���S|�t�k�ri�|��j�t�j �|���S|�t �k�r��|��j�|���S|�t�k�r��|��j �|�|���S|�t�k�r��|��j�t�j�|���S|�t�k�r��|��j�|���S|�t�k�r��n�t�d�|�f���d��S(���Nu#���transformer: unhandled symbol: '%s'(���R8���t���typeR���t���_create_functionR���t���_create_typedefR���t���_create_tag_ns_compoundR���t���RecordR���t���_create_enumR���t���_create_memberR���t���UnionR���t ���_create_constR���t���print(���R$���RQ���t���stypet ���parent_symbol(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyRI���q��s&���� c���������C`�s����d����}�t��t�|�j�j�����d�k��r+�d��Sd��}�xN�|�j�j�D]@�}�|�d��k�r\�|�j�}�q>�|�|�|�j���}�|�d�k�r>�d��Sq>�W|�S(���Nc���������S`�so���g��}�xY�t��|��j�d���|�j�d�����D]6�\�}�}�|�|�k�rQ�d�j�|���d�S|�j�|���q(�Wt�|��|���S(���Nu���_(���t���zipRj���Rw���RC���t���min(���t���at���bt���commonpartst���awordt���bword(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt ���common_prefix���s����.i���u����(���R����RU���t ���base_typet ���child_listR8���RH���(���R$���RQ���R����R����t���child(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_enum_common_prefix���s���� c��� ������C`�s��|��j��|���}�|�r$�t�|���}�n�d�}�g��}�xy�|�j�j�D]k�}�|�j�rR�q=�n��|�d�k�rn�|�j�|�}�n�|��j�|���}�|�j�t�j �|�j ����|�j�|�j�d������q=�W|��j �|�j���}�|�j�j�r��t�j�}�n �t�j�}�|�|�|�j�d�|��} �| �j�|���| �S(���Ni����t���members(���R����R����R����R����t���privateRH���R����RC���R���t���Membert���lowert ���const_intR8���RN���t���is_bitfieldt���Bitfieldt���Enumt���add_symbol_reference( ���R$���RQ���R����t ���prefixlenR����R����R=���t ���enum_namet���klassRD���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s,���� c���������C`�s����|�j��j�d���r�d��St�|��j�|�|�j�����}�|��j�|�j�j���}�|��j�|���}�t�j �|�|�|�t �|�j����}�|�j�|���|�S(���Nu���_(���RH���R����R8���RU���t���_create_parametersR����t���_create_returnR����R���t���FunctionR-���R����(���R$���RQ���t ���parameterst���return_R=���t���func(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s���� c���������C`�s����|�j��t�k�r�d�}�n��|�j��t�k�r3�|�j�}�nh�|�j��t�k�rN�|�j�}�nM�|�j��t�k�rm�|��j�|�j���S|�j��t�k�r��|��j�|�j���d�}�n�d�}�|�S(���Nu���voidu���*u���gpointer( ���R����R���R���R=���R���R���t���_create_source_typeR����R���(���R$���t���source_typet���value(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s���� c���������C`�s)��|�j��t�@}�|�j��t�@}�|�j�t�k�r-�d�S|�j�t�t�t�t�t �g�k�r��|�j �}�|�sc�d�}�n��|�rv�d�|�}�n��|�r%d�|�}�q%n��|�j�t�k�r��|��j�|�j ���S|�j�t�k�r��|��j�|�j ���d�}�|�r��|�d�7}�n��|�r%|�d�7}�q%n,�|�rd�}�n�d�}�|�r!d�|�}�n��|�S|�S( ���Nu���voidu���gpointeru���const u ���volatile u���*u��� constu ��� volatileu ���gconstpointer(���t���type_qualifierR���R���R����R���R���R���R���R ���R���R=���R���t���_create_complete_source_typeR����R���(���R$���R����t���constt���volatileR����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s>���� c���������c`�s8���x1�t��|�j���D] �\�}�}�|��j�|�|�|���Vq�Wd��S(���N(���t ���enumerateR����t���_create_parameter(���R$���RQ���R����t���iR����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR������s����c��� ������C`�s����|�j��}�|�j�d���}�|�r+�|�d�}�n��|��j�|���}�|�d�\�}�}�|�r]�d�|�}�n��t�j�d�|�|�j��f���}�|��j�|�j�|���|��j�|���t�j�d�d�|�j �|�j �f���} �| �S(���Nu���_i���i����u ���%s__%s__unionRp���u���%s.%s( ���RH���R����R����R���R����t ���_parse_fieldsR����RG���t���TypeR=���( ���R$���RQ���R����t���parent_identR����R����R2���t���parent_namet ���fake_uniont ���fake_type(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_synthesize_union_type��s���� c������ ���C`�sU��|�j��}�|�j�t�k�rE�|�j��j��j�t�k�rE�|��j�|�d�t��}�n|�j�t�k�r{�|�j�d��k�r{�|��j �t �j�|���}�n�|�j�t�k�r��|�j�d��k�r��|��j �t �j �|���}�n�|�j�t�k�r�|��j�|���}�|�j��j�t�k�r |�j��j�d��k�r |��j�|�|���}�t �j�d��|�d�|��}�n��|��j�|���}�|��j�|���} �| �d�d�k�r[| �d� } �n�| �} �|�d�d�k�r~|�d� }�n�|�}�|��j�|�d�|��}�t �j�d��|�d�| �d�|��}�t�|�j��j���} �t�|�_�| �r�| �d�j�|�_�q�n�|��j�|�j����}�t �j�|�j�|�d�t�d�t�d �|�j��}�|�j�rQt�|�_�t�|�_ �t�|�_�n��|�S( ���Nt���membert���complete_ctypei����u���*t���ctypei����t���readablet���writablet���bits(!���R����R����R���R���t���_create_callbackR:���R���R=���R8���t���_create_member_compoundR���R����R ���R����R���R����R����t���ArrayR����t���_canonicalize_ctypet���create_type_from_ctype_stringRU���R����R-���t���zeroterminatedR����t���sizet���_create_type_from_baset���FieldRH���R����R����R����(���R$���RQ���R����R����RD���R����t���synthesized_typet���ftypeR����t���canonical_ctypet���derefed_namet���derefed_complete_ctypet ���from_ctypeR����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR������sP���� c���������C`�s���|�j��j�}�|�t�k�r?�|�j��j��j�t�k�r?�|��j�|���}�nX|�t�k�r]�|��j�|���}�n:|�t�k�r��|�j��j��j�t�k�r��|��j�t�j�|�d�t ��}�n��|�t�k�r��|��j�t�j�|���}�n��|�t �k�r��|��j�t�j�|���}�n��|�t�k�r��|��j �|���S|�t�t�t�t�f�k�rx|��j�|�j���}�|��j�|�j����}�|�t�j�k�rLd��S|�j�d���r_d��St�j�|�|�d�|�j��St�d�|�j�t�|���f�����|�S(���Nt ���disguisedu���_autoptrR����u���symbol '%s' of type %s(���R����R����R���R���t���_create_typedef_callbackR���t���_create_typedef_compoundR���R����R:���R ���R����R���R����R���R���R���RN���RH���R����t ���type_namesR8���Rc���t���Aliast���NotImplementedErrorR ���(���R$���RQ���R����RD���R=���t���target(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����U��s6����!! c���������C`�sY���t��j�j�|���}�|�r�|�j�S|�j�d���s2�|�S|�d� }�|��j�|���}�|�d�}�|�S(���Nu���*i����(���R���R��R<���t���target_fundamentalRc���R����(���R$���R����t ���firstpasst���baset���canonical_baset ���canonical(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����t��s���� c������ ���C`�sb���|��j��|���}�|��j�|���}�|�j�t�k�o:�|�j�j�t�@}�|��j�|�d�|�d�|�d�|�d�|��S(���Nt���is_constt���is_parametert ���is_returnR����(���R����R����R����R���R����R����R���R����(���R$���R����R��R��R����R����R����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s����c������ ���C`�s����|�d�k�rT�|�d�k�r)�d�|�d�}�n�|�}�t��j�|�t��j�d�|�d�|�d �|��S|�d�k�r��d�|�k�r��d�|�j�d�d���d�}�n�d�|�d�}�t��j�|�t��j�d�|�d�|�d �|��S|�d�k�r��t��j�t��j�t��j�d�|�d�|�d �|��Sd��S(���Nu���GListu���GSListu ���GLib.Listu ���GLib.SListu���GLib.i���R����R��R����u���GArrayu ���GPtrArrayu ���GByteArrayu ���GLib.Arrayu ���GLib.PtrArrayu���GLib.ByteArrayu ���GObject.Arrayu���GObject.PtrArrayu���GObject.ByteArrayu���.u ���GHashTableu���GLib.HashTableu���GObject.HashTable(���u���GListu���GSListu ���GLib.Listu ���GLib.SList(���u���GListu���GSList( ���u���GArrayu ���GPtrArrayu ���GByteArrayu ���GLib.Arrayu ���GLib.PtrArrayu���GLib.ByteArrayu ���GObject.Arrayu���GObject.PtrArrayu���GObject.ByteArray(���u ���GHashTableu���GLib.HashTableu���GObject.HashTable(���R���t���Listt���TYPE_ANYRj���R����t���MapR8���(���R$���R ��R����R��R����R=���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_create_bare_container_type���s$���� � !c������ ���C`�s��|��j��|���}�|�j�d�d���}�|�r3�|�d�k�s?�|�d�k�ry�t�j�j����}�d��|�_�t�j�d��|�d�|�d�|�d�|��St�j�j �|���} �| �d��k �r��t�j �d�| �j�d�|�d�|�d�|���S|��j�|�d�|�d�|�d�|��} �| �r��| �St�j �d�|�d�|�d�|���S( ���Nu���*u����u���utf8*u���GStrvR����R��R����R��( ���R����t���replaceR���t���TYPE_STRINGt���cloneR8���R����R����R��R<���R����R��R��(���R$���R����R��R��R��R����R��R ��t ���bare_utf8t���fundamentalt ���container(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s"���� c���������C`�s����|�j��t�k�r%�t�j�d�t�j������S|��j�|�j�d�t��}�|�j�d��k�r��|�j�rz�|�j�j��t �k�rz�t�j�|�d���n��d�|�f�}�n �|�j�}�t�j�|�|���Sd��S(���Nu���...R��u&���missing parameter name; undocumentableu���arg%d( ���R����R���R���t ���Parametert���VarargsR����R����R:���RH���R8���R���R���RJ���(���R$���R����t���indexRQ���t���ptypeRH���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s���� c���������C`�s"���|��j��|�d�t��}�t�j�|���S(���NR��(���R����R:���R���t���Return(���R$���R����t���typeval(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������s����c���������C`�sE��|�j��j�d���r�d��S|�j�d��k�s8�|�j�j�d���r<�d��S|��j�|���}�|�j�d��k �ro�t�j�}�|�j�}�n�|�j �d��k �r�|�j �d��k �r��|��j�|�j ���}�n �t�j�}�|�}�|��j �|���|�j�r|�j�r|��j�|�j���}�|��j�|���}�t�|�t�j���r|�}�qn��|�t�j�k�r4t�|�j �d ���}�q|�t�j�k�rYt�|�j �d���}�q|�t�j�k�r~t�|�j �d���}�q|�t�j�k�r�t�|�j �d ���}�qt�|�j ���}�nd�|�j�d��k �r�t�j�}�|�j�r�d�n�d�}�n4�|�j�d��k �rt�j�}�d �|�j�f�}�n �t������t�j�|�|�|�|�j����}�|�j�|���|�S(���Nu���_u���.hi���i@���i ���i���u���trueu���falseu���%fl������������I�������i���i���( ���RH���R����R8���t���source_filenameRc���R����t���const_stringR���R��R����R����R����t���TYPE_INTt���_resolve_type_from_ctypeRp���R����Ro���t���resolve_aliasesR>���R����t���TYPE_UINT64R����t���TYPE_UINT32t���TYPE_UINT16t ���TYPE_UINT8t ���const_booleant���TYPE_BOOLEANt���const_doublet���TYPE_DOUBLEt���AssertionErrorR?���R����(���R$���RQ���R=���R"��R����t ���unaliasedR ��R����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR�������sN����" c���������C`�s����|��j��|�j���}�|�j�j�r-�|�j�j�}�n�d��}�|�|��j�k�r��|��j�|�}�|�j�r��|�|�|�j�d�|��}�|�j�|�_�|�j�|���|�S|�|�_�|�j�|�_�n@�|�|�|�j�d�|�d�|��}�|�r��t �|�_ �n�|��j�|�|���|�j�|���|�S(���NRL���R��(���RN���RH���R����R=���R8���R1���t���fieldsR����R����R:���R��R����(���R$���t���compound_classRQ���R��R=���RL���t���compoundt���new_compound(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����s&���� c���������C`�sj���|�j��|��j�k�r%�|��j�|�j��}�n�|�d��|�j��d�|�j���}�t�|�_�|��j�|�|���|�j�|���|�S(���NRL���(���RH���R1���R8���R-���R��R����R����(���R$���R3��RQ���R4��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����@��s���� c���������C`�s6���|�|�j��|�j����}�|��j�|�|���|�j�|���|�S(���N(���RH���R����R����(���R$���R3��RQ���R4��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����P��s���� c���������C`�s���|��j��|���}�|�s�d��S|�S(���N(���R����R8���(���R$���RQ���t���callback(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR��V��s����c���������C`�s����x��|�j��j�D]s�}�|��j�|�d�|��}�|�s4�q �n��t�|�t�j���rO�|�}�n!�t�j�|�j�d��t�t �d�|��}�|�j �j�|���q �Wd��S(���NR����t���anonymous_node(���R����R����RI���R>���R���R����RH���R8���R:���R-���R2��RC���(���R$���RQ���R4��R����t ���child_nodet���field(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����\��s���� c���������C`�sN��|�j��j�t�k�r*�|�j��}�|�j��j��}�n0�|�j��j�t�k�rZ�|�j��j��}�|�j��j��j��}�n��t�|��j�|�|�����}�|��j�|���}�xJ�t�|���D]<�\�}�}�|�j�j�d�k�r��|�j �d�k�r��|�j �|�_ �q��q��W|�r��|�j�} �n<�|�j�j�d���d�k�r |��j �|���} �n�|��j�|�j���} �t�j�| �|�|�t�d�|�j��} �| �j�|���| �S(���Nu���gpointeru ���user_datau���_i����R����(���R����R����R���R���RU���R����R����R����R��t���argnamet���closure_nameRH���t���findR����RN���R���t���CallbackR-���R����(���R$���RQ���R����t ���paramtypet ���retvaltypeR����t���retvalR����t���paramR=���R6��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR����h��s(���� ! c���������C`�st���d�|�k�r?�|��j��|���}�|�r*�|�}�qN�|��j�j�|���}�n�|��j�|���}�|��j�|���|�j�rp�d�|�_�n��|�S(���u����Parse a C type string (as might be given from an annotation) and resolve it. For compatibility, we can consume both GI type string (utf8, Foo.Bar) style, as well as C (char *, FooBar) style. Note that type resolution may not succeed.u���.N(���R��R#���t���type_from_nameR����t���resolve_typet���resolvedR8���R����(���R$���t���typestrR��R"��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���create_type_from_user_string���s���� c���������C`�sP���xI�|��j��j����D]8�}�|�j�|���}�|�r�d�|�j�|�j�f�|�_�t�Sq�Wt�S(���Nu���%s.%s(���R+���R����t���get_by_ctypeR=���Rp���R:���R-���(���R$���R"��t���pointer_strippedR2���R ��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt'���_resolve_type_from_ctype_all_namespaces���s����c���������C`�s����|�j��j�d�d���}�y�|��j�|���}�Wn�t�k �rH�|��j�|�|���SXx^�|�D]V�\�}�}�|�j�|���}�|�s��|�j�|���}�n��|�rP�d�|�j�|�j�f�|�_�t �SqP�Wt �S(���Nu���*u����u���%s.%s(���R����R��R����R����RI��R<���RG��R=���Rp���R:���R-���(���R$���R"��RH��R����R2���R=���R ��(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR&�����s���� c���������C`�s\���xU�|��j�����D]G�}�|�j�j�|�j�d����}�|�d��k �r �d�|�j�|�j�f�|�_�t�Sq �Wt�S(���Nu���%s.%s( ���R����R��R<���t ���gtype_nameR8���R=���Rp���R:���R-���(���R$���R"��Rm���RD���(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_resolve_type_from_gtype_name���s����c���������C`�s����t��|�t�j�t�j�f���r+�|��j�|�j���St��|�t�j���rk�|��j�|�j���}�|��j�|�j���}�|�oj�|�S|�j �rx�t �S|�j�r��|��j�|���S|�j �r��|��j�|���Sd��S(���N(���R>���R���R����R��RC��t���element_typeR��t���key_typet ���value_typeRD��R:���R����R&��RJ��RK��(���R$���R"��t���key_resolvedt���value_resolved(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���_resolve_type_internal���s���� c���������C`�sx���|��j��|���s�t�S|�j�s%�|�j�r)�t�Sy�|��j�|�j���}�Wn�t�k �rX�d��}�n�X|�d��k�rq�d��|�_�n��|�j �S(���N( ���RQ��R-���R��t���target_foreignR:���Ro���Rp���t���KeyErrorR8���RD��(���R$���R"��t���type_(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyRC�����s���� c���������C`�sf���x_�t��|�t�j���ra�|�j�j�d�k �r?�|��j�|�j�j���}�q�|�j�j�d�k �r]�|�j�}�q�Pq�W|�S(���u����Removes all aliases from typenode, returns first non-alias in the typenode alias chain. Returns typenode argument if it is not an alias.N(���R>���R���R��R ��Rp���R8���Ro���R��(���R$���t���typenode(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR'�����s����N(<���R ���R!���t���propertyR2���R-���R6���R7���R9���R;���RG���RT���RW���R^���Ri���Ro���Rr���Rv���RZ���t���classmethodR8���R����R[���R����R����R����R����R����R����RN���R����RI���R����R����R����R����R����R����R����R����R����R����R����R��R����R����R����R����R��R����R����R��R����R����RF��RI��R&��RK��RQ��RC��R'��(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyR"���1���sv��� / ) 8 08 (+���t ���__future__R����R���R���R���R`���Rz���R����t����R���R���R���t ���cachestoreR���t ���girparserR���t ���sourcescannerR ���R ���R���R���R ���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���R���t ���ExceptionR���t���objectR"���(����(����(����su���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/transformer.pyt���<module>���s����