Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
synfigstudio / opt / synfig / lib / gobject-introspection / giscanner / annotationparser.pyc
Size: Mime:
Ñò
pì©Uc @@sÊdZddklZddkZddkZddklZddklZl	Z	l
Z
ddklZlZddk
lZlZlZdZdZd	Zd
ZdZdZd
ZdZeeeegZdZdZeegZdZdZeegZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)e e!e"e#e$e%e&e'e(e)g
Z*eeee*Z+dZ,dZ-dZ.d Z/dZ0d!Z1d"Z2d#Z3d$Z4d%Z5d&Z6d'Z7d(Z8d)Z9d*Z:d+Z;d,Z<d-Z=d.Z>d/Z?d0Z@d1ZAdZBdZCd2ZDdZEdZFe.e:e;e/e0e1e2e3e4e5e6e7e8e9e<e=e>e?e@eAeBeCeDeEeFgZGd3ZHd4ZIeHeIgZJeGeJZKe/e0gZLgZMeKD]ZNeNeLjoeMeNnqœ[MZOd5ZPd6ZQd7ZRePeQeRgZSd8ZTd9ZUeTeUgZVd:ZWd;ZXd<ZYeWeXeYgZZd=Z[d>Z\d?Z]d@Z^e[e\e]e^gZ_ei`dAeiaƒZbei`dBeiaeicBƒZdei`dCeiaeicBƒZeei`dDeiaeicBƒZfei`dEeiaeicBƒZgei`dFeiaeicBƒZhei`dGeiaeicBƒZiei`dHeiaeicBƒZjei`dIeiaeicBƒZkei`dJeiaeicBƒZlei`dKeiaeicBƒZmdLine+ƒiodMdNƒZpei`dOepdPeiaeicBeiqBƒZrei`dQeiaeicBƒZsei`dReiaeicBeiqBƒZtdSefdT„ƒYZudUevfdV„ƒYZwdWewfdX„ƒYZxdYewfdZ„ƒYZyd[ewfd\„ƒYZzed]d^d_d`dagƒZ{ed]d^d_dgƒZ|dbevfdc„ƒYZ}ddevfde„ƒYZ~dS(fsp
GTK-Doc comment block format
----------------------------

A GTK-Doc comment block is built out of multiple parts. Each part can be further
divided into fields which are separated by a colon ("``:``") delimiter.

Known parts and the fields they are constructed from look like the following
(optional fields are enclosed in square brackets)::

    ┌───────────────────────────────────────────────────────────┐
    │ /**                                                       │ ─▷ start token
    ├────────────────────┬──────────────────────────────────────┤
    │  * identifier_name │ [: annotations]                      │ ─▷ identifier part
    ├────────────────────┼─────────────────┬────────────────────┤
    │  * @parameter_name │ [: annotations] │ : description      │ ─▷ parameter part
    ├────────────────────┴─────────────────┴────────────────────┤
    │  *                                                        │ ─▷ comment block description
    │  * comment_block_description                              │
    ├─────────────┬─────────────────┬───────────┬───────────────┤
    │  * tag_name │ [: annotations] │ [: value] │ : description │ ─▷ tag part
    ├─────────────┴─────────────────┴───────────┴───────────────┤
    │  */                                                       │ ─▷ end token
    └───────────────────────────────────────────────────────────┘

There are two conditions that must be met before a comment block is recognized
as a GTK-Doc comment block:

#. The comment block is opened with a GTK-Doc start token ("``/**``")
#. The first line following the start token contains a valid identifier part

Once a GTK-Doc comment block has been identified as such and has been stripped
from its start and end tokens the remaining parts have to be written in a
specific order:

#. There must be exactly 1 `identifier` part on the first line of the
   comment block which consists of:

   * a required `identifier_name` field
   * an optional `annotations` field

#. Zero or more `parameter` parts, each consisting of:

   * a required `parameter_name` field
   * an optional `annotations` field
   * a required `description` field (can be the empty string)

#. One optional `comment block description` part which must begin with at
   least 1 empty line signaling the start of this part.

#. Zero or more `tag` parts, each consisting of:

   * a required `tag_name` field
   * an optional `annotations` field
   * an optional `value` field
   * a required `description` field (can be the empty string)

Additionally, the following restrictions are in effect:

#. Separating parts with an empty line:

   * `identifier` and `parameter` parts cannot be separated from each other by
     an empty line as this would signal the start of the
     `comment block description` part (see above).
   * it is required to separate the `comment block description` part from the
     `identifier` or `parameter` parts with an empty line (see above)
   * `comment block description` and `tag` parts can optionally be separated
     by an empty line

#. Parts and fields cannot span multiple lines, except for:

   * the `comment_block_description` part
   * `parameter description` and `tag description` fields

#. Taking the above restrictions into account, spanning multiple paragraphs is
   limited to the `comment block description` part and `tag description` fields.

Refer to the `GTK-Doc manual`_ for more detailed usage information.

.. _GTK-Doc manual:
        http://developer.gnome.org/gtk-doc-manual/1.18/documenting.html.en
i(tabsolute_importN(t
namedtuple(tnetgttlti(tCountertOrderedDict(tPositiontwarnterroriit
deprecatedtreturnstsincet	stabilitytdescriptionsreturn valuetreturns
returns valuet
attributessget value funcsref funcs	rename tosset value functtransferttypes
unref functvaluetvirtualt(t)s
allow-nonetarraytclosuretconstructortdestroyselement-typetforeignsget-value-functintinouttmethodtnullabletoptionaltoutsref-funcs	rename-totscopesset-value-functskips
unref-funct	attributesin-outs
fixed-sizetlengthszero-terminatedscallee-allocatesscaller-allocatestasynctcalltnotifiedt	containertfloatingtfulltnones
\r\n|\r|\nsV
    ^                                                    # start
    (?P<code>.*?)                                        # whitespace, code, ...
    \s*                                                  # 0 or more whitespace characters
    (?P<token>/\*{2}(?![\*/]))                           # 1 forward slash character followed
                                                         #   by exactly 2 asterisk characters
                                                         #   and not followed by a slash character
    \s*                                                  # 0 or more whitespace characters
    (?P<comment>.*?)                                     # GTK-Doc comment text
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    sû
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<comment>.*?)                                     # GTK-Doc comment text
    \s*                                                  # 0 or more whitespace characters
    (?P<token>\*+/)                                      # 1 or more asterisk characters followed
                                                         #   by exactly 1 forward slash character
    (?P<code>.*?)                                        # whitespace, code, ...
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    s

    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<comment>.*?)                                     # invalid comment text
    \s*                                                  # 0 or more whitespace characters
    \*                                                   # 1 asterisk character
    \s?                                                  # 0 or 1 whitespace characters
                                                         #   WARNING: removing more than 1
                                                         #   whitespace character breaks
                                                         #   embedded example program indentation
    ss
    ^
    (?P<indentation>\s*)                                 # 0 or more whitespace characters
    .*
    $
    sà
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    s0
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    SECTION                                              # SECTION
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<section_name>\w\S+?)                             # section name
    \s*                                                  # 0 or more whitespace characters
    :?                                                   # invalid delimiter
    \s*                                                  # 0 or more whitespace characters
    $
    sz
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<symbol_name>[\w-]*\w)                            # symbol name
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<fields>.*?)                                      # annotations + description
    \s*                                                  # 0 or more whitespace characters
    :?                                                   # invalid delimiter
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    sÄ
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<class_name>[\w]+)                                # class name
    \s*                                                  # 0 or more whitespace characters
    :{1}                                                 # 1 required colon
    \s*                                                  # 0 or more whitespace characters
    (?P<property_name>[\w-]*\w)                          # property name
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<fields>.*?)                                      # annotations + description
    \s*                                                  # 0 or more whitespace characters
    :?                                                   # invalid delimiter
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    sÃ
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<class_name>[\w]+)                                # class name
    \s*                                                  # 0 or more whitespace characters
    :{2}                                                 # 2 required colons
    \s*                                                  # 0 or more whitespace characters
    (?P<signal_name>[\w-]*\w)                            # signal name
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<fields>.*?)                                      # annotations + description
    \s*                                                  # 0 or more whitespace characters
    :?                                                   # invalid delimiter
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    s'
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    @                                                    # @ character
    (?P<parameter_name>[\w-]*\w|.*?\.\.\.)               # parameter name
    \s*                                                  # 0 or more whitespace characters
    :{1}                                                 # 1 required delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<fields>.*?)                                      # annotations + description
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    t|t s\ss®
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<tag_name>s)                 # tag name
    \s*                                                  # 0 or more whitespace characters
    :{1}                                                 # 1 required delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<fields>.*?)                                      # annotations + value + description
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    s¾
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<value>([0-9\.])*)                                # value
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<description>.*?)                                 # description
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    s¾
    ^                                                    # start
    \s*                                                  # 0 or more whitespace characters
    (?P<value>(stable|unstable|private|internal)?)       # value
    \s*                                                  # 0 or more whitespace characters
    (?P<delimiter>:?)                                    # delimiter
    \s*                                                  # 0 or more whitespace characters
    (?P<description>.*?)                                 # description
    \s*                                                  # 0 or more whitespace characters
    $                                                    # end
    tGtkDocAnnotationscB@s eZdZdZdd„ZRS(só
    An ordered dictionary mapping annotation names to annotation options (if any). Annotation
    options can be either a :class:`list`, a :class:`giscanner.collections.OrderedDict`
    (depending on the annotation name)or :const:`None`.
    tpositioncC@sti|ƒ||_dS(N(Rt__init__R0(tselfR0((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1þs
N(t__name__t
__module__t__doc__t	__slots__tNoneR1(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR/õstGtkDocAnnotatablecB@s7eZdZd!Zd"Zd#d„Zd„Zd„Zd„Z	d#d#d#d#d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d „Z#RS($sK
    Base class for GTK-Doc comment block parts that can be annotated.
    R0tannotationscC@s||_tƒ|_dS(N(R0R/R9(R2R0((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1s	cC@sd|ifS(Ns<GtkDocAnnotatable %r %r>(R9(R2((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt__repr__scC@sº|io¬|ii}x|iiƒD]ˆ\}}||ijo3t|d|iddƒƒ}||||ƒq&|tjotd|f|ƒq&td|f|ƒq&WndS(sa
        Validate annotations stored by the :class:`GtkDocAnnotatable` instance, if any.
        t
_do_validate_t-t_sunexpected annotation: %ssunknown annotation: %sN(R9R0titemstvalid_annotationstgetattrtreplacetALL_ANNOTATIONSR(R2R0tann_nametoptionstvalidate((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyREs

c	C@s”|djo
d}nd|f}|djo
d}n%|djo
d}nd|f}|||ƒo!td||||f|ƒnd	S(
s,
        Validate the number of options held by an annotation according to the test
        ``operator(n_options, expected_n_options)``.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param n_options: number of options held by the annotation
        :param expected_n_options: number of expected options
        :param operator: an operator function from python's :mod:`operator` module, for example
                         :func:`operator.ne` or :func:`operator.lt`
        :param message: warning message used when the test
                        ``operator(n_options, expected_n_options)`` fails.
        iR,s%ds
no optionsis
one options
%d optionss"%s" annotation %s %s, %s givenN(R(	R2R0RCt	n_optionstexpected_n_optionstoperatortmessagettts((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_validate_options3s







c
C@sát|ƒ}|dj	o |i||||tdƒn|dj	o |i||||tdƒn|dj	o |i||||tdƒn|oC|dj	o6|d}	|	|jotd||	f|ƒqÝndS(sß
        Validate an annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to be validated
        :param choices: an iterable of allowed option names or :const:`None` to skip this test
        :param exact_n_options: exact number of expected options or :const:`None` to skip this test
        :param min_n_options: minimum number of expected options or :const:`None` to skip this test
        :param max_n_options: maximum number of expected options or :const:`None` to skip this test
        tneedsstakes at leasts
takes at mostis$invalid "%s" annotation option: "%s"N(tlenR7RLRRRR(
R2R0RCRDtchoicestexact_n_optionst
min_n_optionst
max_n_optionsRFtoption((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_validate_annotationSs
	
	
	

cC@s|i|||ddƒdS(sm
        Validate the ``(allow-none)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options held by the annotation
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_allow_noneus
cC@s	t|ƒdjodSxê|iƒD]Ü\}}|ttgjopyt|ƒWqttfj
oI|djotd||f|ƒq°td|||f|ƒqXq%|t	jo)|djotd|f|ƒqq%td||f|ƒq%WdS(sh
        Validate the ``(array)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options held by the annotation
        iNs)"%s" annotation option "%s" needs a valuesBinvalid "%s" annotation option "%s" value "%s", must be an integers-"%s" annotation option "length" needs a values$invalid "%s" annotation option: "%s"(
RNR>tOPT_ARRAY_ZERO_TERMINATEDtOPT_ARRAY_FIXED_SIZEtintt	TypeErrort
ValueErrorR7RtOPT_ARRAY_LENGTH(R2R0RCRDRSR((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_arrays(






cC@sdS(sb
        Validate the ``(attributes)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        N((R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_attributes¢scC@s|i|||ddƒdS(s_
        Validate the ``(closure)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RRiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_closure¯s
cC@s|i|||ddƒdS(sc
        Validate the ``(constructor)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_constructor»s
cC@s|i|||ddƒdS(s_
        Validate the ``(destroy)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_destroyÇs
cC@s#|i|||ddddƒdS(s_
        Validate the ``(element)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RQiRRiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_element_typeÓs
cC@s|i|||ddƒdS(s_
        Validate the ``(foreign)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_foreignßs
cC@s|i|||ddƒdS(sb
        Validate the ``(value-func)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_get_value_funcës
cC@s|i|||ddƒdS(sZ
        Validate the ``(in)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_in÷s
cC@s|i|||ddƒdS(s^
        Validate the ``(in-out)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_inouts
cC@s|i|||ddƒdS(s^
        Validate the ``(method)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_methods
cC@s|i|||ddƒdS(sk
        Validate the ``(nullable)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options held by the annotation
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_nullables
cC@s|i|||ddƒdS(sk
        Validate the ``(optional)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options held by the annotation
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_optional's
cC@s#|i|||dddtƒdS(s[
        Validate the ``(out)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RRiRON(RTtOUT_OPTIONS(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_out3s
cC@s|i|||ddƒdS(s`
        Validate the ``(ref-func)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_ref_func@s
cC@s|i|||ddƒdS(sa
        Validate the ``(rename-to)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_rename_toLs
cC@s#|i|||dddtƒdS(s]
        Validate the ``(scope)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiRON(RTt
SCOPE_OPTIONS(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_scopeXs
cC@s|i|||ddƒdS(sb
        Validate the ``(value-func)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_set_value_funces
cC@s|i|||ddƒdS(s\
        Validate the ``(skip)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_skipqs
cC@s#|i|||dddtƒdS(s`
        Validate the ``(transfer)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiRON(RTtTRANSFER_OPTIONS(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_transfer}s
cC@s|i|||ddƒdS(s\
        Validate the ``(type)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_typeŠs
cC@s|i|||ddƒdS(sb
        Validate the ``(unref-func)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_unref_func–s
cC@s|i|||ddƒdS(s]
        Validate the ``(value)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_value¢s
cC@s|i|||ddƒdS(s_
        Validate the ``(virtual)`` annotation.

        :param position: :class:`giscanner.message.Position` of the line in the source file
                         containing the annotation to be validated
        :param ann_name: name of the annotation holding the options to validate
        :param options: annotation options to validate
        RPiN(RT(R2R0RCRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_do_validate_virtual®s
(spositionsannotations(N($R3R4R5R6R?R7R1R:RERLRTRUR\R]R^R_R`RaRbRcRdReRfRgRhRjRkRlRnRoRpRrRsRtRuRv(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR8sD				 !		!	
												
			
			
			tGtkDocParametercB@s\eZdZdZeeeeee	e
eee
eeeeefZdd„Zd„ZRS(s.
    Represents a GTK-Doc parameter part.
    tnameRcC@s&ti||ƒ||_d|_dS(N(R8R1RxR7R(R2RxR0((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1Æs	cC@sd|i|ifS(Ns<GtkDocParameter %r %r>(RxR9(R2((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR:Ïs(snamesdescriptionN(R3R4R5R6tANN_ALLOW_NONEt	ANN_ARRAYtANN_ATTRIBUTEStANN_CLOSUREtANN_DESTROYtANN_ELEMENT_TYPEtANN_INt	ANN_INOUTtANN_OUTt	ANN_SCOPEtANN_SKIPtANN_TRANSFERtANN_TYPEtANN_OPTIONALtANN_NULLABLER?R7R1R:(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRw»s	t	GtkDocTagc	B@sJeZdZdZeeeeee	e
eef	Z
dd„Zd„ZRS(s(
    Represents a GTK-Doc tag part.
    RxRRcC@s/ti||ƒ||_d|_d|_dS(N(R8R1RxR7RR(R2RxR0((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1Ýs		cC@sd|i|ifS(Ns<GtkDocTag %r %r>(RxR9(R2((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR:és(snamesvaluesdescriptionN(R3R4R5R6RyRzR{R~RƒR„R…R‡R†R?R7R1R:(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRˆÓstGtkDocCommentBlockcB@skeZdZdZeeeeee	e
eee
eeeefZd
d„Zd	„Zd
„Zd„ZRS(s-
    Represents a GTK-Doc comment block.
    tcode_beforet
code_aftertindentationRxtparamsRttagscC@sYti||ƒd|_d|_g|_||_tƒ|_d|_	tƒ|_
dS(N(R8R1R7RŠR‹RŒRxRRRRŽ(R2RxR0((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1ús					cC@st|i|iƒS(N(tcmpRx(R2tother((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt__cmp__scC@sd|i|ifS(Ns<GtkDocCommentBlock %r %r>(RxR9(R2((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR:scC@sYti|ƒx!|iiƒD]}|iƒqWx!|iiƒD]}|iƒqAWdS(sz
        Validate annotations applied to the :class:`GtkDocCommentBlock` identifier, parameters
        and tags.
        N(R8RERtvaluesRŽ(R2tparamttag((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyREs
(scode_befores
code_aftersindentationsnamesparamssdescriptionstagsN(R3R4R5R6R{tANN_CONSTRUCTORtANN_FOREIGNtANN_GET_VALUE_FUNCt
ANN_METHODtANN_REF_FUNCt
ANN_RENAME_TOtANN_SET_VALUE_FUNCRƒR„R…tANN_UNREF_FUNCt	ANN_VALUEt	ANN_VFUNCR?R7R1R‘R:RE(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR‰ís		tResulttsuccessR9t	start_postend_postGtkDocCommentBlockParsercB@sqeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
ed	„Zeed
„Z
RS(s»
    Parse GTK-Doc comment blocks into a parse tree built out of :class:`GtkDocCommentBlock`,
    :class:`GtkDocParameter`, :class:`GtkDocTag` and :class:`GtkDocAnnotations`
    objects. This parser tries to accept malformed input whenever possible and does
    not cause the process to exit on syntax errors. It does however emit:

        * warning messages at the slightest indication of recoverable malformed input and
        * error messages for unrecoverable malformed input

    whenever possible. Recoverable, in this context, means that we can serialize the
    :class:`GtkDocCommentBlock` instance using a :class:`GtkDocCommentBlockWriter` without
    information being lost. It is usually a good idea to heed these warning and error messages
    as malformed input can result in both:

        * invalid GTK-Doc output (HTML, pdf, ...) when the comment blocks are parsed
          with GTK-Doc's gtkdoc-mkdb
        * unexpected introspection behavior, for example missing parameters in the
          generated .gir and .typelib files

    .. NOTE:: :class:`GtkDocCommentBlockParser` functionality is heavily based on gtkdoc-mkdb's
        `ScanSourceFile()`_ function and is currently in sync with GTK-Doc
        commit `47abcd5`_.

    .. _ScanSourceFile():
           http://git.gnome.org/browse/gtk-doc/tree/gtkdoc-mkdb.in#n3722
    .. _47abcd5:
           https://git.gnome.org/browse/gtk-doc/commit/?id=47abcd53b8489ebceec9e394676512a181c1f1f6
    c		C@sìh}xß|D]×\}}}y|i|||ƒ}Wn,tj
o tdt||ƒƒq
nX|dj	os|i|joR||i}tii|i	i
ƒ}td|i|i	i|ƒf|i	ƒn|||i<q
q
W|S(sç
        Parse multiple GTK-Doc comment blocks.

        :param comments: an iterable of ``(comment, filename, lineno)`` tuples
        :returns: a dictionary mapping identifier names to :class:`GtkDocCommentBlock` objects
        sˆunrecoverable parse error, please file a GObject-Introspection bugreport including the complete comment block at the indicated location.sJmultiple comment blocks documenting '%s:' identifier (already seen at %s).N(
tparse_comment_blockt	ExceptionR	RR7RxtostpathtdirnameR0tfilenameRtformat(	R2tcommentstcomment_blockstcommentR©tlinenot
comment_blockt	firstseenR§((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pytparse_comment_blocksQs$

c0	C@sd}d}t||ƒ}titd|ƒidƒ}t|ƒ}ti|dƒ}	|	o|djoFt||ƒ}
d|	idƒd}t	d|d|f|
ƒd8S|	idƒ}|	id	ƒ}|oEt||ƒ}
d|	idƒd}td
|d|f|
ƒn|oOt||ƒ}
d|	i
d	ƒd}td|d|f|
ƒ||d<q|d=nd8Sti|dƒ}	|	oÛ|	idƒ}|	id	ƒ}|oMt|||dƒ}
d|	idƒd}td
|d|f|
ƒn|oWt|||dƒ}
d|	id	ƒd}td|d|f|
ƒ||d<qz|d=nd8Sd8}t}
g}d8}d8}d8}d8}t}x×|D]Ï}|d7}t||ƒ}
|}d}ti|ƒ}	|i|	idƒƒti|ƒ}	|	on|	id	ƒ}|o2d|	i
d	ƒd}t	d||f|
ƒn|	idƒ}||	idƒ}nti|ƒ}	t|	idƒiddƒƒ}|d8jo·ti|ƒ}	|	o,d|	idƒf}d8}d8}d8}n0ti|ƒ}	|	oSd|	idƒ|	idƒf}|	idƒ}|	idƒ}|	i
dƒ}nÇti|ƒ}	|	oSd|	idƒ|	idƒf}|	idƒ}|	idƒ}|	i
dƒ}n^ti|ƒ}	|	oGd|	idƒf}|	idƒ}|	idƒ}|	i
dƒ}n|	o÷t}|}t||ƒ}||_||_|o¿|i|
||||ƒ}|io•||iiƒod8}	d8}d8}d8}q)|i |_ |oM|i oC||	i
dƒ}d|d}td|d||f|
ƒq)q-q1n|	p:|
p/t!}
d|d}t	d||f|
ƒqrq±q±nt"i|ƒ}	|	o@|}|	id ƒ}|i#ƒ}|	idƒ}|	i
dƒ} d|	i
d ƒ|d}|tt$gjotd!|||f|
ƒnt$}|t%jo¤t%}|p
t!}nt	d"|i&f|
ƒt't%|
ƒ}!|oF|i(|
|| ||ƒ}	|	io|	i |!_ |	i)|!_)q·n|!|i*t%<|!}q±nO|d#jp|i+d$ƒo1|d$jo$td%|||f|
ƒd$}n||i,i-ƒjo$t	d&||i&||f|
ƒnt.||
ƒ}"|oF|i(|
|| ||ƒ}	|	io|	i |"_ |	i)|"_)qµn|"|i,|<|"}q±nt/i|ƒo&|tt$gjot0}|}q±nt1i|ƒ}	|	oR||joE|}|	id'ƒ}#|#i#ƒ}$|	idƒ}%|	i
dƒ}&d|	i
d'ƒ|d}|$t2joìtd(|#||f|
ƒ|$idd)ƒ}'|$t3josd}(|i(|
|	i
d'ƒ|||%iƒttƒ}	|	io.x£|	i D]˜})|i4|
|||)ƒ}*t|*ƒ}+|+djod*|(|*df}(q
|+d+jod,|(|*d|*df}(q
t	d-||f|
ƒd8}(q
W|(o}d*|'|(iƒf}(|i5|
||&||(ƒ\}'},|i i6d.ƒ}-|-ot	d/||f|
ƒq3|,|i |'<q7qtq±|i5|
||&|d*|'|%fƒ\}'}.|.|i |'<q±ne|$t7joWtd0||f|
ƒt0}|i)d8jo
|%|_)q±|i)d1|%f7_)q±n|t0jp;|t$jo|i)p#|tjo |i,o|i)o
t8}n|t8jo$t8}td2|#||f|
ƒn|$t9t%t:t;gjož|p
t!}nt	d3|i&f|
ƒt't%|
ƒ}!|%oF|i(|
||&||%ƒ}	|	io|	i |!_ |	i)|!_)qÿn|!|i*t%<|!}q±qm|$|i*i-ƒjo$t	d4|#|i&||f|
ƒnt'|$|
ƒ}!|%oê|i(|
||&||%ƒ}	|	ioÀ|	i ot	d5|#f|
ƒn|$t<t=gjo:t>i|	i)ƒ}	|	id6ƒ|!_?|	id7ƒ|!_)qO|$t@jo@tAi|	i)ƒ}	|	id6ƒiBƒ|!_?|	id7ƒ|!_)qOqSn|!|i*|$<|!}q±nt/i|ƒd8jo|iCƒ}n|tt0gjol|i)p+|tjo|iD||||
ƒqÛn|i)d8jo
||_)q±|i)d|7_)q±q±|t$t8gjo[|i)p|iD||||
ƒn|i)d8jo
||_)q±|i)d|7_)q±q±q±W|o†|i)o|i)iƒ|_)nx$|i*iEƒD]}!|iF|!ƒq»Wx$|i,iEƒD]}/|iF|/ƒqâW||_G|iHƒ|Sd8Sd8S(9s¼
        Parse a single GTK-Doc comment block.

        :param comment: string representing the GTK-Doc comment block including it's
                        start ("``/**``") and end ("``*/``") tokens.
        :param filename: source file name where the comment block originated from
        :param lineno: line number in the source file where the comment block starts
        :returns: a :class:`GtkDocCommentBlock` object or ``None``
        ts
iiR.tcodet^s-Skipping invalid GTK-Doc comment block:
%s
%sR­sMGTK-Doc comment block start token "/**" should not be preceded by code:
%s
%ssUGTK-Doc comment block start token "/**" should not be followed by comment text:
%s
%siÿÿÿÿsJGTK-Doc comment block end token "*/" should not be followed by code:
%s
%ssRGTK-Doc comment block end token "*/" should not be preceded by comment text:
%s
%sRŒsinvalid comment text:
%s
%ss	s  s
SECTION:%stsection_names%s:%st
class_namet
property_namet	delimitertfieldss%s::%stsignal_names%stsymbol_namesmissing ":" at column %s:
%s
%ss-identifier not found on the first line:
%s
%stparameter_names2"@%s" parameter unexpected at this location:
%s
%ss;encountered multiple "Returns" parameters or tags for "%s".tVarargss...s?"@%s" parameter is deprecated, please use "@..." instead:
%s
%ss4multiple "@%s" parameters for identifier "%s":
%s
%sttag_names|GObject-Introspection specific GTK-Doc tag "%s" has been deprecated, please use annotations on the identifier instead:
%s
%sR<s%s %sis%s %s=%ss2malformed "Attributes:" tag will be ignored:
%s
%sRs9Duplicate "Attributes:" annotation will be ignored:
%s
%ss5GTK-Doc tag "Description:" has been deprecated:
%s
%ss
%ss,"%s:" tag unexpected at this location:
%s
%ss>encountered multiple return value parameters or tags for "%s".s.multiple "%s:" tags for identifier "%s":
%s
%ss(annotations not supported for tag "%s:".RRN(IRtretsubt
LINE_BREAK_REtsplitRNtCOMMENT_BLOCK_START_REtmatchtendR	R7tgroupRtstarttCOMMENT_BLOCK_END_REtFalsetINDENTATION_REtappendtCOMMENT_ASTERISK_RERAt
SECTION_REtPROPERTY_REt	SIGNAL_REt	SYMBOL_REtPART_IDENTIFIERR‰RŠR‹t_parse_annotationsR R¢tstripR9tTruetPARAMETER_REtlowertPART_PARAMETERStTAG_RETURNSRxRˆt
_parse_fieldsRRŽtendswithRtkeysRwt
EMPTY_LINE_REtPART_DESCRIPTIONtTAG_REtDEPRECATED_GI_ANN_TAGStTAG_ATTRIBUTESt_parse_annotation_options_listt_parse_annotationtgettTAG_DESCRIPTIONt	PART_TAGSt
TAG_RETURNtTAG_RETURN_VALUEtTAG_RETURNS_VALUEtTAG_DEPRECATEDt	TAG_SINCEtTAG_VALUE_VERSION_RERt
TAG_STABILITYtTAG_VALUE_STABILITY_REt
capitalizetrstript+_validate_multiline_annotation_continuationR’t_clean_description_fieldRŒRE(0R2R­R©R®RŠR‹tcomment_block_post
comment_linestcomment_lines_lentresultR0tmarkerR¯tidentifier_warnedtblock_indenttline_indenttpart_indenttin_parttcurrent_parttreturns_seentlinet
original_linet
column_offsettidentifier_nametidentifier_delimitertidentifier_fieldstidentifier_fields_starttrestmarker_positiont
param_nametparam_name_lowertparam_fieldstparam_fields_startR”t	parameterR¾ttag_name_lowert
tag_fieldsttag_fields_startRCttransformedt
annotationtann_optionsRFt
docannotationtstored_annotationRDR“((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR¤us²


!

				






		




		


#


			







	







	

		

		










	
cC@s€|ior|iiƒdjo
d|_q|ti|iiddƒdƒo|iiƒ|_q||iiƒ|_ndS(sª
        Remove extraneous leading and trailing whitespace from description fields.

        :param part: a GTK-Doc comment block part having a description field
        R²s
iiN(RRÓR7RÜRÄRÂRï(R2tpart((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRñ\s

#cC@s`|i||||ƒ}|io:|io0d|i|d}td||f|ƒndS(s0
        Validate annotatable parts' source text ensuring annotations don't span multiple lines.
        For example, the following comment block would result in a warning being emitted for
        the forth line::

            /**
             * shiny_function:
             * @array_: (out caller-allocates) (array)
             *          (element-type utf8) (transfer full): A beautiful array
             */

        :param line: line to validate, stripped from  ("``*/``") at start of the line.
        :param original_line: original line (including  ("``*/``"))  being validated
        :param column_offset: number of characters stripped from `line` when   ("``*/``")
                              was removed
        :param position: :class:`giscanner.message.Position` of `line` in the source file
        R.R´s9ignoring invalid multiline annotation continuation:
%s
%sN(RÒR R9R¡R	(R2RþRÿRR0RõRö((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRðls
cC@s…g}|ot|idƒ}|djoEd||d}td||f|ƒ|i||||ƒ}q|idƒ}n|S(s£
        Parse annotation options into a list. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ 'option1 option2 option3'                                    │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ ['option1', 'option2', 'option3']                            │ ◁─ parsed options
            └──────────────────────────────────────────────────────────────┘

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of the `options` in the source file
        :param line: complete source line
        :param options: annotation options to parse
        :returns: a list of annotation options
        t=iR.R´sSinvalid annotation options: expected a "list" but received "key=value pairs":
%s
%s(tfindRt!_parse_annotation_options_unknownRÂ(R2R0tcolumnRþRDtparsedRõRö((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRáˆs

c
C@s|tƒ}|ohxe|idƒD]P}|iddƒ}|d}t|ƒdjo|dnd}	|	||<q Wn|S(s²
        Parse annotation options into a dict. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ 'option1=value1 option2 option3=value2'                      │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ {'option1': 'value1', 'option2': None, 'option3': 'value2'}  │ ◁─ parsed options
            └──────────────────────────────────────────────────────────────┘

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of the `options` in the source file
        :param line: complete source line
        :param options: annotation options to parse
        :returns: an ordered dictionary of annotation options
        R.RiiiN(RRÂRNR7(
R2R0RRþRDRtptpartstkeyR((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_parse_annotation_options_dict¨s	
$cC@s|o|iƒgSdS(s
        Parse annotation options into a list holding a single item. This is used when the
        annotation options to parse in not known to be a list nor dict. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ '   option1 option2   option3=value1   '                     │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ ['option1 option2   option3=value1']                         │ ◁─ parsed options
            └──────────────────────────────────────────────────────────────┘

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of the `options` in the source file
        :param line: complete source line
        :param options: annotation options to parse
        :returns: a list of annotation options
        N(RÓ(R2R0RRþRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRÄsc
C@s|idtƒidtƒ}|iddƒ}|diƒ}t|ƒdjo|dnd}|tjo5d|d}tdtt	||f|ƒt	}nÔ|t
joÆd|d}tdt
t||f|ƒt}|i||||ƒ}t|ƒ}	|	djo|d}qy|	djod	|d|df}qyd|d}t
d
||f|ƒdSn|t|ƒd7}|tjo|i||||ƒ}nB|tjo|i||||ƒ}n|i||||ƒ}||fS(
s}
        Parse an annotation into the annotation name and a list or dict (depending on the
        name of the annotation) holding the options. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ 'name opt1=value1 opt2=value2 opt3'                          │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ 'name', {'opt1': 'value1', 'opt2':'value2', 'opt3':None}     │ ◁─ parsed annotation
            └──────────────────────────────────────────────────────────────┘

            ┌──────────────────────────────────────────────────────────────┐
            │ 'name   opt1 opt2'                                           │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ 'name', ['opt1', 'opt2']                                     │ ◁─ parsed annotation
            └──────────────────────────────────────────────────────────────┘

            ┌──────────────────────────────────────────────────────────────┐
            │ 'unkownname   unknown list of options'                       │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ 'unkownname', ['unknown list of options']                    │ ◁─ parsed annotation
            └──────────────────────────────────────────────────────────────┘

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of the `annotation` in the source file
        :param line: complete source line
        :param annotation: annotation to parse
        :returns: a tuple containing the annotation name and options
        t<t>R.iiiR´sC"%s" annotation has been deprecated, please use "%s" instead:
%s
%ss%s=%ss9malformed "(attribute)" annotation will be ignored:
%s
%sN(NN(RAtANN_LPARtANN_RPARRÂRÖRNR7t
ANN_INOUT_ALTRR€t
ANN_ATTRIBUTER{RáR	tLIST_ANNOTATIONStDICT_ANNOTATIONSRR(
R2R0RRþRRRCRRöRF((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRâÙsF$







	cC@sF|ot|ƒ}ng}d}d}d}	g}
d}d}x¡t|ƒD]“\}}
|
iƒ}|
tjo|d7}|djo
|}n|	tjo=d||d}td||f|ƒttd	d	d	ƒS|djo|
i|
ƒqÛnÜ|
t	jo†|d8}|	tjo=d||d}td||f|ƒttd	d	d	ƒS|djo=d||d}td||f|ƒttd	d	d	ƒS|djoÊ|d}|t
jo|i||||di|
ƒi
ƒƒ\}}|d	j	oK||jo0d||d}td|||f|ƒn|||<qxn|idi|
ƒi
ƒƒg}
qÛ|
i|
ƒnI|o"|djo|
i|
ƒqÛn |djoPn|
i|
ƒ|
}	qNW|djo=d||d}td||f|ƒttd	d	d	ƒStt
|||ƒSd	S(
sÌ
        Parse annotations into a :class:`GtkDocAnnotations` object.

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of the `annotations` in the source file
        :param line: complete source line
        :param fields: string containing the fields to parse
        :param parse_options: whether options will be parsed into a :class:`GtkDocAnnotations`
                              object or into a :class:`list`
        :returns: if `parse_options` evaluates to True a :class:`GtkDocAnnotations` object,
                  a :class:`list` otherwise. If `line` does not contain any annotations,
                  :const:`None`
        iR²iR.R´s:unexpected parentheses, annotations will be ignored:
%s
%ss:unbalanced parentheses, annotations will be ignored:
%s
%ss multiple "%s" annotations:
%s
%sN(R/t	enumeratetisspaceR R	t_ParseAnnotationsResultRÉR7RËR!RÔRâtjoinRÓ(R2R0RRþR¹t
parse_optionstparsed_annotationstitparens_levelt	prev_chartchar_bufferR¡R¢tcur_chartcur_char_is_spaceRöRxRD((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRÒ%sˆ
















	








cC@sÕd}|i|||||ƒ}|io”||iiƒ}|ov|oo|idƒo|d}q»|idjo=||i}	d|	d}
td|	d||
f|ƒq»q¿nt|i|i|ƒS(s‚
        Parse annotations out of field data. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ '(skip): description of some parameter                       │ ─▷ source
            ├──────────────────────────────────────────────────────────────┤
            │ ({'skip': []}, 'description of some parameter')              │ ◁─ annotations and
            └──────────────────────────────────────────────────────────────┘    remaining fields

        :param position: :class:`giscanner.message.Position` of `line` in the source file
        :param column: start column of `fields` in the source file
        :param line: complete source line
        :param fields: string containing the fields to parse
        :param parse_options: whether options will be parsed into a :class:`GtkDocAnnotations`
                              object or into a :class:`list`
        :param validate_description_field: :const:`True` to validate the description field
        :returns: if `parse_options` evaluates to True a :class:`GtkDocAnnotations` object,
                  a :class:`list` otherwise. If `line` does not contain any annotations,
                  :const:`None` and a string holding the remaining fields
        R²t:iiR.R´smissing ":" at column %s:
%s
%s(RÒR R¢RÓt
startswithRt_ParseFieldsResultR9(R2R0RRþR¹R*tvalidate_description_fieldtdescription_fieldRõRRö((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyRوs

(R3R4R5R±R¤RñRðRáRRRâRÔRÒRÙ(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR£3s	$	ÿè			 			LctGtkDocCommentBlockWritercB@s>eZdZed„Zd„Zd„Zd„Zd„ZRS(sU
    Serialized :class:`GtkDocCommentBlock` objects into GTK-Doc comment blocks.
    cC@s
||_dS(N(tindent(R2R8((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR1¶scC@sèg}xÒ|iƒD]Ä\}}|ot|tƒodi|ƒ}n`d}xJ|iƒD]<\}}|o|d||f7}q\|d|f7}q\W|iƒ}|id||fƒq|id|fƒqWdi|ƒS(sA

        Serialize an annotation field. For example::

            ┌──────────────────────────────────────────────────────────────┐
            │ {'name': {'opt1': 'value1', 'opt2':'value2', 'opt3':None}    │ ◁─ GtkDocAnnotations
            ├──────────────────────────────────────────────────────────────┤
            │ '(name opt1=value1 opt2=value2 opt3)'                        │ ─▷ serialized
            └──────────────────────────────────────────────────────────────┘

            ┌──────────────────────────────────────────────────────────────┐
            │ {'name': ['opt1', 'opt2']}                                   │ ◁─ GtkDocAnnotations
            ├──────────────────────────────────────────────────────────────┤
            │ '(name opt1 opt2)'                                           │ ─▷ serialized
            └──────────────────────────────────────────────────────────────┘

            ┌──────────────────────────────────────────────────────────────┐
            │ {'unkownname': ['unknown list of options']}                  │ ◁─ GtkDocAnnotations
            ├──────────────────────────────────────────────────────────────┤
            │ '(unkownname unknown list of options)'                       │ ─▷ serialized
            └──────────────────────────────────────────────────────────────┘

        :param annotations: :class:`GtkDocAnnotations` to be serialized
        :returns: a string
        R.R²s%s=%s s%s s(%s %s)s(%s)(R>t
isinstancetlistR)RÓRË(R2R9t
serializedRCRDtserialize_optionsRR((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_serialize_annotations»s 

cC@s–d|if}|io|d|i|iƒ7}n|io=|iidƒo|d|i7}q‰|d|i7}n|d7}|idƒS(sˆ
        Serialize a parameter.

        :param parameter: :class:`GtkDocParameter` to be serialized
        :returns: a string
        s@%ss: s
R2(RxR9R=RR3RÂ(R2RR;((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_serialize_parameterìs	


cC@sÎ|iiƒ}|io|d|i|iƒ7}n|io|d|i7}n|io=|iidƒo|d|i7}q|d|i7}n|io|io|d7}n|idƒS(sv
        Serialize a tag.

        :param tag: :class:`GtkDocTag` to be serialized
        :returns: a string
        s: s
R2(RxRîR9R=RRR3RÂ(R2R”R;((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt_serialize_tags	


cC@s³|djodSg}|iidƒo|i|iƒnR|io0|i|iƒ}|id|i|fƒn|id|ifƒx-|iiƒD]}|i|i	|ƒƒq W|i
o;|idƒx+|i
idƒD]}|i|ƒqêWn|ioA|idƒx1|iiƒD]}|i|i
|ƒƒq,Wn|io_t|iƒidƒddpd}|id	ƒo|}|d}	qÅ|d
 }|}	n
d}d}	d}
x\|
t|ƒjoH||
}|od|	|f||
<nd|	f||
<|
d7}
qÎW|idd
|fƒ|id|	fƒ|io|idd|ifƒn|io|id|ifƒndi|ƒSdS(s 
        Serialize a :class:`GtkDocCommentBlock` object.

        :param block: :class:`GtkDocCommentBlock` to be serialized
        :returns: a string
        R²tSECTIONs%s: %ss%s:s
iiR.s	iÿÿÿÿs%s* %s
s%s*
s%s/**
s%s*/
s%s
N(R7RxR3RËR9R=RR’textendR>RRÂRŽR?R8RRŒtmost_commonRÚRNtinsertRŠR‹R)(R2tblocktlinesR9R“tlR”R8tstart_indentRùR,Rþ((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pytwrite%s\






'




(	R3R4R5RÔR1R=R>R?RH(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyR7±s	1		(R5t
__future__RR¦R¿tcollectionsRRHRRRRRRIRRR	RÑR×RÝRåRéRØRêRìtGTKDOC_TAGSRäRçtDEPRECATED_GTKDOC_TAGSRæRètDEPRECATED_GI_TAGSRàtTAG_GET_VALUE_FUNCtTAG_REF_FUNCt
TAG_RENAME_TOtTAG_SET_VALUE_FUNCtTAG_TRANSFERtTAG_TYPEtTAG_UNREF_FUNCt	TAG_VALUEt	TAG_VFUNCRßtALL_TAGSR R!RyRzR{R|R•R}R~R–R—RR€R˜R‡R†RR™RšR‚R›RƒR„R…RœRžRtGI_ANNSR#R"tDEPRECATED_GI_ANNSRBR%t_[1]tannR$RWR[RVt
ARRAY_OPTIONStOPT_OUT_CALLEE_ALLOCATEStOPT_OUT_CALLER_ALLOCATESRitOPT_SCOPE_ASYNCtOPT_SCOPE_CALLtOPT_SCOPE_NOTIFIEDRmtOPT_TRANSFER_CONTAINERtOPT_TRANSFER_FLOATINGtOPT_TRANSFER_FULLtOPT_TRANSFER_NONERqtcompiletUNICODERÁtVERBOSERÃRÈRÌRÊRÜRÍRÐRÎRÏRÕR)RAt	_all_tagst
IGNORECASERÞRëRíR/tobjectR8RwRˆR‰R(R4R£R7(((se/home/zelgadis/synfig-buildroot/linux64/build/lib/gobject-introspection/giscanner/annotationparser.pyt<module>jst						
2				

ÿ¶@ÿÿÿ