�
^9�Uc�����������@���s����d��d�l��Z��d�d�l�m�Z�d�d�l�m�Z�d�e�f�d�������YZ�d�e�f�d�������YZ�d	�e�f�d
�������YZ�d����Z	�d����Z
�d
����Z�d�S(���i����Ni���(���t���ast(���t���to_underscorest���SectionsFilec�����������B���s���e��Z�d�����Z�RS(���c���������C���s
���|�|��_��d��S(���N(���t���sections(���t���selfR���(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���__init__���s����(���t���__name__t
���__module__R���(����(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR������s���t���Sectionc�����������B���s���e��Z�d�����Z�RS(���c���������C���s(���d��|��_�d��|��_�d��|��_�g��|��_�d��S(���N(���t���Nonet���filet���titlet���includest���subsections(���R���(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR������s����			(���R���R���R���(����(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR������s���t
���Subsectionc�����������B���s���e��Z�d�����Z�RS(���c���������C���s���|�|��_��g��|��_�d��S(���N(���t���namet���symbols(���R���R���(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���'���s����	(���R���R���R���(����(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyR���&���s���c���������C���s���g��}�d��}�d��}�x�|��D]�}�|�j����}�|�s�|�j����rD�q�n��|�d�k�r��t����}�|�j�|���t�d����}�|�j�j�|���q�n��|�d�k�r��d��}�q�n��t�j�d�|���}�|�r��|�j	�d�|�_
�q�n��t�j�d�|���}�|�r��|�j	�d�|�_�q�n��t�j�d�|���}�|�r*|�j	�d�|�_�q�n��t�j�d�|���}�|�rst�|�j	�j
�d�d������}�|�j�j�|���q�n��|�j�d	���r�|�j�d
���r�q�n��|�j�j�|���q�Wt�|���S(���Ns	���<SECTION>s
���</SECTION>s���<FILE>(?P<contents>.*)</FILE>t���contentss���<TITLE>(?P<contents>.*)</TITLE>s#���<INCLUDE>(?P<contents>.*)</INCLUDE>s���<SUBSECTION(?: (?P<name>.*))?>R���t���<t���>(���R	���t���rstript���isspaceR���t���appendR���R
���t���ret���matcht	���groupdictR
���R���R���t���gett
���startswitht���endswithR���R���(���t���linesR���t���current_sectiont���current_subsectiont���lineR���(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���parse_sections_file,���sJ����
	
c���������C���s$��x|�j��D]}�|��j�d���|�j�d��k	�rF�|��j�d�|�j�f���n��|�j�d��k	�ro�|��j�d�|�j�f���n��|�j�d��k	�r��|��j�d�|�j�f���n��t�}�x{�|�j�D]p�}�|�j�d��k	�r��|��j�d�|�j�f���n�|�s��|��j�d���n��t	�}�x"�|�j
�D]�}�|��j�|�d���q��Wq��Wq
�Wd��S(���Ns���
<SECTION>
s���<FILE>%s</FILE>
s���<TITLE>%s</TITLE>
s���<INCLUDE>%s</INCLUDE>
s���<SUBSECTION %s>
s���
<SUBSECTION>
s���
(���R���t���writeR
���R	���R���R���t���TrueR
���R���t���FalseR���(���t���ft
���sections_filet���sectiont���is_first_subsectiont
���subsectiont���symbol(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���write_sections_file`���s"����
c���
���������sD��|��j��}�g��������f�d����}�d����}�|�d�d���}�x|�j����D]��}�t�|�t�j���rn�|�|�|�j���qC�t�|�t�j�t�j�f���rC�|�j�}�t	�|���j
�d�d���j����}�|�|�|���}�|�|�|���|�|�|�j�j
�j
�d�d�����x!�|�j�D]�}	�|�|�|	�j���q��Wx$�|�j�D]�}	�|�|�|	�j���qWqC�qC�Wt������S(	���Nc������������sB���t�����}�|��|�_�|�|�_�|�j�j�t�d���������j�|���|�S(���N(���R���R
���R���R
���R���R���R	���(���t���file_R���R'���(���R���(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���new_section|���s����			
c���������S���s���|��j��d�j�j�|���d��S(���Ni����(���R
���R���R���(���R'���t���sym(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt
���append_symbol����s����t���maint���Maint���_t���-t���.t����(���t	���namespacet
���itervaluest
���isinstanceR����t���FunctionR*���t���Classt	���Interfacet
���gtype_nameR���t���replacet���lowert���glib_type_structt
���target_ginamet���methodst���static_methodsR���(
���t���transformert���nsR-���R/���t���general_sectiont���nodeR<���t	���file_nameR'���t���meth(����(���R���sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���generate_sections_filew���s&����			
(���R���R5���R����t���utilsR���t���objectR���R���R���R!���R+���RI���(����(����(����sw���/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyt���<module>���s���	4