All classes:
- xdg.Exceptions.Error
- xdg.Exceptions.ValidationError
- xdg.Exceptions.ParsingError
- xdg.Exceptions.NoKeyError
- xdg.Exceptions.DuplicateKeyError
- xdg.Exceptions.NoGroupError
- xdg.Exceptions.DuplicateGroupError
- xdg.Exceptions.NoThemeError
- xdg.IniFile.IniFile
- xdg.DesktopEntry.DesktopEntry
- lxml.ElementInclude.FatalIncludeError
- lxml.ElementInclude.LimitedRecursiveIncludeError
- lxml.doctestcompare.LXMLOutputChecker
- lxml.doctestcompare.LHTMLOutputChecker
- lxml.doctestcompare._RestoreChecker
- lxml.cssselect.LxmlTranslator
- lxml.cssselect.LxmlHTMLTranslator
- lxml.cssselect.CSSSelector
- lxml.isoschematron.Schematron
- lxml.html._setmixin.SetMixin
- lxml.html.Classes
- lxml.html.HtmlMixin
- lxml.html._MethodFunc
- lxml.html.HtmlComment
- lxml.html.HtmlElement
- lxml.html.HtmlProcessingInstruction
- lxml.html.HtmlEntity
- lxml.html.HtmlElementClassLookup
- lxml.html.FormElement
- lxml.html.FieldsDict
- lxml.html.InputGetter
- lxml.html.InputMixin
- lxml.html.TextareaElement
- lxml.html.SelectElement
- lxml.html.MultipleSelectOptions
- lxml.html.RadioGroup
- lxml.html.CheckboxGroup
- lxml.html.CheckboxValues
- lxml.html.InputElement
- lxml.html.LabelElement
- lxml.html.HTMLParser
- lxml.html.XHTMLParser
- lxml.html.soupparser._PseudoTag
- lxml.html.formfill.FormNotFound
- lxml.html.formfill.DefaultErrorCreator
- lxml.html.html5parser.HTMLParser
- lxml.html.html5parser.XHTMLParser
- lxml.html._html5builder.DocumentType
- lxml.html._html5builder.Document
- lxml.html._html5builder.TreeBuilder
- xdg.IconTheme.IconTheme
- xdg.IconTheme.IconData
- xdg.Menu.Menu
- xdg.Menu.Move
- xdg.Menu.Layout
- xdg.Menu.Rule
- xdg.Menu.MenuEntry
- xdg.Menu.Separator
- xdg.Menu.Header
- xdg.Menu.XMLMenuBuilder
- xdg.Menu.MenuEntryCache
- xdg.MenuEditor.MenuEditor
- xdg.RecentFiles.RecentFiles
- xdg.RecentFiles.RecentFile
- xdg.Mime.MIMEtype
- xdg.Mime.UnknownMagicRuleFormat
- xdg.Mime.DiscardMagicRules
- xdg.Mime.MagicRule
- xdg.Mime.MagicMatchAny
- xdg.Mime.MagicDB
- xdg.Mime.GlobDB
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_desktop_entry'
    functionSourceFile: '...fuzz_desktop_entry'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    - '...fuzz_desktop_entry.main'
    - atheris.instrument_func
    - atheris.instrument_all
    - atheris.instrument_imports
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_func
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - input_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 25
    functionName: '...fuzz_desktop_entry.TestOneInput'
    functionSourceFile: '...fuzz_desktop_entry'
    functionUses: 0
    functionsReached:
    - os.path.split
    - xdg.IniFile.IniFile.checkNumber
    - f.write
    - line.strip
    - item.startswith
    - xdg.DesktopEntry.DesktopEntry.checkOnlyShowIn
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - os.path.join
    - re.split
    - xdg.IniFile.IniFile.set
    - os.getcwd
    - xdg.IniFile.IniFile.checkString
    - xdg.DesktopEntry.DesktopEntry.checkKey
    - xdg.IniFile.IniFile.checkPoint
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - xdg.IniFile.IniFile.checkRegex
    - os.path.splitext
    - s.encode
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.hasKey
    - re.match
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.is_ascii
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - line.lstrip
    - xdg.IniFile.IniFile.get
    - xdg.IniFile.IniFile.checkInteger
    - xdg.IniFile.IniFile.checkValue
    - fdp.ConsumeString
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.DesktopEntry.DesktopEntry.checkCategories
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.IniFile.IniFile.checkBoolean
    - <builtin>.any
    - xdg.DesktopEntry.DesktopEntry.checkType
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - os.remove
    - xdg.IniFile.IniFile.hasGroup
    - list.pop
    - <builtin>.open
    - value.strip
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getcwd
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 69
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c193d0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 26
    functionName: xdg.DesktopEntry.DesktopEntry.__init__
    functionSourceFile: xdg.DesktopEntry
    functionUses: 29
    functionsReached:
    - os.path.split
    - line.strip
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.__addLocale
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - line.lstrip
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - list.pop
    - value.strip
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 41
    functionName: xdg.DesktopEntry.DesktopEntry.parse
    functionSourceFile: xdg.DesktopEntry
    functionUses: 38
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.strip
    - xdg.IconTheme.IconData.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.remove
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 51
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 72
    ICount: 82
    IfCount: 51
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 212
    functionName: xdg.DesktopEntry.DesktopEntry.checkKey
    functionSourceFile: xdg.DesktopEntry
    functionUses: 2
    functionsReached:
    - xdg.IniFile.IniFile.checkNumber
    - item.startswith
    - xdg.DesktopEntry.DesktopEntry.checkOnlyShowIn
    - re.split
    - xdg.IniFile.IniFile.checkString
    - xdg.IniFile.IniFile.checkPoint
    - <builtin>.float
    - xdg.IniFile.IniFile.checkRegex
    - s.encode
    - re.match
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - xdg.IniFile.is_ascii
    - result.append
    - xdg.IniFile.IniFile.checkInteger
    - xdg.IniFile.IniFile.get
    - xdg.IniFile.IniFile.checkValue
    - <builtin>.int
    - xdg.DesktopEntry.DesktopEntry.checkCategories
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - re.search
    - xdg.IniFile.IniFile.getList
    - xdg.IniFile.IniFile.checkBoolean
    - <builtin>.any
    - xdg.DesktopEntry.DesktopEntry.checkType
    - list.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: '...fuzz_desktop_entry.main'
    functionSourceFile: '...fuzz_desktop_entry'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Exceptions
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: xdg.Exceptions.Error.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 7
    functionsReached:
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: Exception.__init__
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: xdg.Exceptions.Error.__str__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 20
    functionName: xdg.Exceptions.ValidationError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 30
    functionName: xdg.Exceptions.ParsingError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - group
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: xdg.Exceptions.NoKeyError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - group
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: xdg.Exceptions.DuplicateKeyError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - group
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: xdg.Exceptions.NoGroupError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - group
    - file
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: xdg.Exceptions.DuplicateGroupError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - theme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: xdg.Exceptions.NoThemeError.__init__
    functionSourceFile: xdg.Exceptions
    functionUses: 0
    functionsReached:
    - xdg.Exceptions.Error.__init__
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg
    functionSourceFile: xdg
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.DesktopEntry
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: <builtin>
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 157
    functionName: xdg.DesktopEntry.DesktopEntry.new
    functionSourceFile: xdg.DesktopEntry
    functionUses: 30
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - os.path.splitext
    - xdg.IniFile.IniFile.hasGroup
    - xdg.IniFile.IniFile.__getBoolean
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - xdg.IniFile.IniFile.set
    - value.split
    - re.compile
    - result.append
    - <builtin>.dict
    - re.search
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 38
    functionName: xdg.DesktopEntry.DesktopEntry.__str__
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 67
    functionName: xdg.DesktopEntry.DesktopEntry.getName
    functionSourceFile: xdg.DesktopEntry
    functionUses: 13
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 23
    functionName: xdg.IconTheme.IconTheme.parse
    functionSourceFile: xdg.IconTheme
    functionUses: 38
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.strip
    - xdg.IconTheme.IconData.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 199
    functionName: xdg.IconTheme.IconData.parse
    functionSourceFile: xdg.IconTheme
    functionUses: 38
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.strip
    - xdg.IconTheme.IconData.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02919f48e0>
    argNames:
    - self
    - filename
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: xdg.IniFile.IniFile.parse
    functionSourceFile: xdg.IniFile
    functionUses: 39
    functionsReached:
    - line.lstrip
    - io.open
    - line.strip
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - value.strip
    linkageType: pythonLinkage
    raised:
    - DuplicateGroupError
    - ParsingError
    - DuplicateKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 50
    functionName: xdg.DesktopEntry.DesktopEntry.findTryExec
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - shutil.which
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f02925a8970>
    - <ast.Constant object at 0x7f02925a8dc0>
    - <ast.Constant object at 0x7f02925a8190>
    - <ast.Constant object at 0x7f02925a8a60>
    - <ast.Constant object at 0x7f02925a8f40>
    argNames:
    - self
    - key
    - group
    - locale
    - type
    - list
    - strict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: xdg.IniFile.IniFile.get
    functionSourceFile: xdg.IniFile
    functionUses: 115
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - NoGroupError
    - NoKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.which
    functionSourceFile: shutil
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 60
    functionName: xdg.DesktopEntry.DesktopEntry.getType
    functionSourceFile: xdg.DesktopEntry
    functionUses: 34
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: xdg.DesktopEntry.DesktopEntry.getVersion
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 65
    functionName: xdg.DesktopEntry.DesktopEntry.getVersionString
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 69
    functionName: xdg.DesktopEntry.DesktopEntry.getGenericName
    functionSourceFile: xdg.DesktopEntry
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 71
    functionName: xdg.DesktopEntry.DesktopEntry.getNoDisplay
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 73
    functionName: xdg.DesktopEntry.DesktopEntry.getComment
    functionSourceFile: xdg.DesktopEntry
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 75
    functionName: xdg.DesktopEntry.DesktopEntry.getIcon
    functionSourceFile: xdg.DesktopEntry
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 77
    functionName: xdg.DesktopEntry.DesktopEntry.getHidden
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 79
    functionName: xdg.DesktopEntry.DesktopEntry.getOnlyShowIn
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 81
    functionName: xdg.DesktopEntry.DesktopEntry.getNotShowIn
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 83
    functionName: xdg.DesktopEntry.DesktopEntry.getTryExec
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 85
    functionName: xdg.DesktopEntry.DesktopEntry.getExec
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 87
    functionName: xdg.DesktopEntry.DesktopEntry.getPath
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 89
    functionName: xdg.DesktopEntry.DesktopEntry.getTerminal
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 91
    functionName: xdg.DesktopEntry.DesktopEntry.getMimeType
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 94
    functionName: xdg.DesktopEntry.DesktopEntry.getMimeTypes
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: xdg.DesktopEntry.DesktopEntry.getCategories
    functionSourceFile: xdg.DesktopEntry
    functionUses: 28
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 98
    functionName: xdg.DesktopEntry.DesktopEntry.getStartupNotify
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 100
    functionName: xdg.DesktopEntry.DesktopEntry.getStartupWMClass
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 102
    functionName: xdg.DesktopEntry.DesktopEntry.getURL
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 107
    functionName: xdg.DesktopEntry.DesktopEntry.getServiceTypes
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 109
    functionName: xdg.DesktopEntry.DesktopEntry.getDocPath
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 111
    functionName: xdg.DesktopEntry.DesktopEntry.getKeywords
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 113
    functionName: xdg.DesktopEntry.DesktopEntry.getInitialPreference
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 115
    functionName: xdg.DesktopEntry.DesktopEntry.getDev
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 117
    functionName: xdg.DesktopEntry.DesktopEntry.getFSType
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 119
    functionName: xdg.DesktopEntry.DesktopEntry.getMountPoint
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 121
    functionName: xdg.DesktopEntry.DesktopEntry.getReadonly
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 123
    functionName: xdg.DesktopEntry.DesktopEntry.getUnmountIcon
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 128
    functionName: xdg.DesktopEntry.DesktopEntry.getMiniIcon
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 130
    functionName: xdg.DesktopEntry.DesktopEntry.getTerminalOptions
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 132
    functionName: xdg.DesktopEntry.DesktopEntry.getDefaultApp
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: xdg.DesktopEntry.DesktopEntry.getProtocols
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 136
    functionName: xdg.DesktopEntry.DesktopEntry.getExtensions
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 138
    functionName: xdg.DesktopEntry.DesktopEntry.getBinaryPattern
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: xdg.DesktopEntry.DesktopEntry.getMapNotify
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 142
    functionName: xdg.DesktopEntry.DesktopEntry.getEncoding
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: xdg.DesktopEntry.DesktopEntry.getSwallowTitle
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 146
    functionName: xdg.DesktopEntry.DesktopEntry.getSwallowExec
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 148
    functionName: xdg.DesktopEntry.DesktopEntry.getSortOrder
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 150
    functionName: xdg.DesktopEntry.DesktopEntry.getFilePattern
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 152
    functionName: xdg.DesktopEntry.DesktopEntry.getActions
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: xdg.IniFile.IniFile.addGroup
    functionSourceFile: xdg.IniFile
    functionUses: 31
    functionsReached:
    - xdg.IniFile.IniFile.hasGroup
    linkageType: pythonLinkage
    raised:
    - DuplicateGroupError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f02919f37f0>
    - <ast.Constant object at 0x7f02919f37c0>
    argNames:
    - self
    - key
    - value
    - group
    - locale
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 347
    functionName: xdg.IniFile.IniFile.set
    functionSourceFile: xdg.IniFile
    functionUses: 31
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.len
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - xdg.IniFile.IniFile.__getBoolean
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - value.split
    - re.compile
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - NoGroupError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: xdg.DesktopEntry.DesktopEntry.checkExtras
    functionSourceFile: xdg.DesktopEntry
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 201
    functionName: xdg.DesktopEntry.DesktopEntry.checkGroup
    functionSourceFile: xdg.DesktopEntry
    functionUses: 1
    functionsReached:
    - xdg.IniFile.is_ascii
    - re.match
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 12
    functionName: xdg.IniFile.is_ascii
    functionSourceFile: xdg.IniFile
    functionUses: 10
    functionsReached:
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c424c0>
    - <ast.Constant object at 0x7f0291c42d60>
    argNames:
    - self
    - key
    - value
    - type
    - list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 241
    functionName: xdg.IniFile.IniFile.checkValue
    functionSourceFile: xdg.IniFile
    functionUses: 5
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.IniFile.IniFile.checkNumber
    - <builtin>.float
    - xdg.IniFile.IniFile.checkBoolean
    - xdg.IniFile.IniFile.checkRegex
    - xdg.IniFile.IniFile.checkInteger
    - s.encode
    - <builtin>.int
    - re.split
    - list.pop
    - re.match
    - re.compile
    - xdg.IniFile.is_ascii
    - xdg.IniFile.IniFile.checkString
    - xdg.IniFile.IniFile.checkPoint
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 404
    functionName: xdg.DesktopEntry.DesktopEntry.checkOnlyShowIn
    functionSourceFile: xdg.DesktopEntry
    functionUses: 3
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - re.split
    - list.pop
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 400
    functionName: xdg.DesktopEntry.DesktopEntry.checkType
    functionSourceFile: xdg.DesktopEntry
    functionUses: 3
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 412
    functionName: xdg.DesktopEntry.DesktopEntry.checkCategories
    functionSourceFile: xdg.DesktopEntry
    functionUses: 4
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.any
    - item.startswith
    - re.split
    - list.pop
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: xdg.IniFile.IniFile.getList
    functionSourceFile: xdg.IniFile
    functionUses: 121
    functionsReached:
    - re.split
    - list.pop
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 426
    functionName: xdg.DesktopEntry.DesktopEntry.checkCategorie
    functionSourceFile: xdg.DesktopEntry
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.any
    - item.startswith
    - warnings.warn
    - re.split
    - list.pop
    - xdg.DesktopEntry.DesktopEntry.checkCategories
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.util
    functionSourceFile: xdg.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: xdg.util.u
    functionSourceFile: xdg.util
    functionUses: 4
    functionsReached:
    - s.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.BinOp object at 0x7f0292595700>
    - <ast.Constant object at 0x7f02925951c0>
    argNames:
    - cmd
    - mode
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: xdg.util.which
    functionSourceFile: xdg.util
    functionUses: 0
    functionsReached:
    - cmd.lower
    - xdg.util.which._access_check
    - <builtin>.any
    - ext.lower
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - os.path.join
    - <builtin>.set
    - os.path.normcase
    - path.insert
    - seen.add
    - os.environ.get
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - fn
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: xdg.util.which._access_check
    functionSourceFile: xdg.util
    functionUses: 1
    functionsReached:
    - os.path.exists
    - os.path.isdir
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.access
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.get
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ext.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cmd.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.normcase
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seen.add
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.IniFile
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.encode
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f02919f4eb0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 28
    functionName: xdg.IniFile.IniFile.__init__
    functionSourceFile: xdg.IniFile
    functionUses: 5
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.strip
    - xdg.IconTheme.IconData.parse
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: xdg.IniFile.IniFile.__cmp__
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isfile
    functionSourceFile: os
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.open
    functionSourceFile: io
    functionUses: 44
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.lstrip
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 406
    functionName: xdg.IniFile.IniFile.hasGroup
    functionSourceFile: ''
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.split
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.strip
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f029212aac0>
    argNames:
    - self
    - key
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 409
    functionName: xdg.IniFile.IniFile.hasKey
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strip
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d4d880>
    argNames:
    - self
    - key
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: xdg.IniFile.IniFile.__addLocale
    functionSourceFile: ''
    functionUses: 116
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - boolean
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 171
    functionName: xdg.IniFile.IniFile.__getBoolean
    functionSourceFile: ''
    functionUses: 116
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 138
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 119
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 136
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.split
    functionSourceFile: <builtin>
    functionUses: 116
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 116
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.search
    functionSourceFile: re
    functionUses: 133
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.split
    functionSourceFile: re
    functionUses: 122
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.pop
    functionSourceFile: <builtin>
    functionUses: 122
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d4dfd0>
    argNames:
    - self
    - report
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 193
    functionName: xdg.IniFile.IniFile.validate
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.checkExtras
    - xdg.IniFile.IniFile.checkNumber
    - xdg.IconTheme.IconTheme.getDirectories
    - item.startswith
    - xdg.DesktopEntry.DesktopEntry.checkOnlyShowIn
    - re.split
    - xdg.IconTheme.IconData.checkExtras
    - xdg.IniFile.IniFile.checkString
    - xdg.IniFile.IniFile.checkPoint
    - xdg.DesktopEntry.DesktopEntry.checkKey
    - <builtin>.float
    - xdg.DesktopEntry.DesktopEntry.checkExtras
    - xdg.IniFile.IniFile.checkRegex
    - os.path.splitext
    - s.encode
    - xdg.IconTheme.IconData.checkKey
    - xdg.DesktopEntry.DesktopEntry.checkGroup
    - xdg.DesktopEntry.DesktopEntry.getType
    - re.match
    - xdg.IniFile.IniFile.__addLocale
    - xdg.IniFile.IniFile.checkKey
    - value.split
    - group.encode
    - result.append
    - xdg.IniFile.is_ascii
    - xdg.IniFile.IniFile.get
    - xdg.IniFile.IniFile.checkInteger
    - xdg.IniFile.IniFile.checkValue
    - <builtin>.int
    - xdg.DesktopEntry.DesktopEntry.checkCategories
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - re.search
    - xdg.IniFile.IniFile.getList
    - xdg.IconTheme.IconTheme.checkGroup
    - xdg.IniFile.IniFile.checkBoolean
    - <builtin>.any
    - xdg.DesktopEntry.DesktopEntry.checkType
    - xdg.IconTheme.IconData.checkGroup
    - list.pop
    - xdg.IconTheme.IconTheme.checkExtras
    - xdg.IniFile.IniFile.checkGroup
    - xdg.IconTheme.IconTheme.checkKey
    linkageType: pythonLinkage
    raised:
    - ValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: xdg.IniFile.IniFile.checkExtras
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: xdg.IconTheme.IconData.checkExtras
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: xdg.IconTheme.IconTheme.checkExtras
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 233
    functionName: xdg.IniFile.IniFile.checkGroup
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 114
    functionName: xdg.IconTheme.IconTheme.checkGroup
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IconTheme.IconTheme.getDirectories
    - xdg.IniFile.IniFile.get
    - s.encode
    - xdg.IniFile.IniFile.__getBoolean
    - re.split
    - re.match
    - xdg.IniFile.IniFile.__addLocale
    - <builtin>.int
    - value.split
    - xdg.IniFile.is_ascii
    - list.pop
    - re.compile
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: xdg.IconTheme.IconData.checkGroup
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - group.encode
    - xdg.IniFile.is_ascii
    - re.match
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 237
    functionName: xdg.IniFile.IniFile.checkKey
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 227
    functionName: xdg.IconTheme.IconData.checkKey
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.IniFile.IniFile.checkNumber
    - <builtin>.float
    - xdg.IniFile.IniFile.checkBoolean
    - xdg.IniFile.IniFile.checkRegex
    - xdg.IniFile.IniFile.checkInteger
    - xdg.IniFile.IniFile.checkValue
    - s.encode
    - <builtin>.int
    - re.split
    - re.match
    - list.pop
    - re.compile
    - xdg.IniFile.is_ascii
    - xdg.IniFile.IniFile.checkString
    - xdg.IniFile.IniFile.checkPoint
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 32
    ICount: 18
    IfCount: 22
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - group
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 137
    functionName: xdg.IconTheme.IconTheme.checkKey
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.checkNumber
    - xdg.IconTheme.IconTheme.getDirectories
    - re.split
    - xdg.IniFile.IniFile.checkString
    - xdg.IniFile.IniFile.checkPoint
    - <builtin>.float
    - xdg.IniFile.IniFile.checkRegex
    - s.encode
    - re.match
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.IniFile.is_ascii
    - xdg.IniFile.IniFile.get
    - xdg.IniFile.IniFile.checkInteger
    - xdg.IniFile.IniFile.checkValue
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - re.search
    - xdg.IniFile.IniFile.getList
    - xdg.IniFile.IniFile.checkBoolean
    - list.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: xdg.IniFile.IniFile.checkString
    functionSourceFile: xdg.IniFile
    functionUses: 6
    functionsReached:
    - xdg.IniFile.is_ascii
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 270
    functionName: xdg.IniFile.IniFile.checkBoolean
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: xdg.IniFile.IniFile.checkNumber
    functionSourceFile: xdg.IniFile
    functionUses: 6
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: xdg.IniFile.IniFile.checkInteger
    functionSourceFile: xdg.IniFile
    functionUses: 6
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: xdg.IniFile.IniFile.checkRegex
    functionSourceFile: xdg.IniFile
    functionUses: 6
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: xdg.IniFile.IniFile.checkPoint
    functionSourceFile: xdg.IniFile
    functionUses: 6
    functionsReached:
    - re.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0292595df0>
    - <ast.Constant object at 0x7f0292595910>
    argNames:
    - self
    - filename
    - trusted
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: xdg.IniFile.IniFile.write
    functionSourceFile: xdg.IniFile
    functionUses: 3
    functionsReached:
    - io.open
    - fp.write
    - xdg.util.u
    - os.path.isdir
    - os.path.dirname
    - s.decode
    - group.items
    - os.makedirs
    - os.chmod
    - os.stat
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.makedirs
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.write
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: group.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.stat
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chmod
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 118
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 370
    functionName: xdg.IniFile.IniFile.removeGroup
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NoGroupError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02919ebfa0>
    - <ast.Constant object at 0x7f02919ebf70>
    argNames:
    - self
    - key
    - group
    - locales
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 380
    functionName: xdg.IniFile.IniFile.removeKey
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - re.match
    linkageType: pythonLinkage
    raised:
    - NoGroupError
    - NoKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: xdg.IniFile.IniFile.groups
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: xdg.IniFile.IniFile.getFileName
    functionSourceFile: xdg.IniFile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: xdg.Locale
    functionSourceFile: xdg.Locale
    functionUses: 0
    functionsReached:
    - locale.normalize.find
    - xdg.Locale.update
    - <builtin>.range
    - val.split
    - xdg.Locale._expand_lang
    - nelangs.append
    - locale.normalize
    - ret.append
    - ret.reverse
    - os.environ.get
    - xdg.Locale.expand_languages
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - locale
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: xdg.Locale._expand_lang
    functionSourceFile: xdg.Locale
    functionUses: 4
    functionsReached:
    - locale.normalize.find
    - <builtin>.range
    - locale.normalize
    - ret.append
    - ret.reverse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.normalize
    functionSourceFile: locale
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.normalize.find
    functionSourceFile: locale
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.reverse
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f0291f00100>
    argNames:
    - languages
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: xdg.Locale.expand_languages
    functionSourceFile: xdg.Locale
    functionUses: 3
    functionsReached:
    - locale.normalize.find
    - <builtin>.range
    - val.split
    - xdg.Locale._expand_lang
    - nelangs.append
    - locale.normalize
    - ret.append
    - ret.reverse
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.split
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nelangs.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f02922b9490>
    argNames:
    - language
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 71
    functionName: xdg.Locale.update
    functionSourceFile: xdg.Locale
    functionUses: 2
    functionsReached:
    - locale.normalize.find
    - <builtin>.range
    - val.split
    - xdg.Locale._expand_lang
    - nelangs.append
    - locale.normalize
    - ret.append
    - ret.reverse
    - os.environ.get
    - xdg.Locale.expand_languages
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml
    functionSourceFile: lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: lxml.get_include
    functionSourceFile: lxml
    functionUses: 0
    functionsReached:
    - os.listdir
    - includes.append
    - os.path.join
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: includes.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.etree
    functionSourceFile: lxml.etree
    functionUses: 0
    functionsReached:
    - lxml.etree.__bootstrap__
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.etree.__bootstrap__
    functionSourceFile: lxml.etree
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pkg_resources.resource_filename
    functionSourceFile: pkg_resources
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: imp.load_dynamic
    functionSourceFile: imp
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.sax
    functionSourceFile: lxml.sax
    functionUses: 0
    functionsReached:
    - pkg_resources.resource_filename
    - lxml.sax.__bootstrap__
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.sax.__bootstrap__
    functionSourceFile: lxml.sax
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.ElementInclude
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02925ace50>
    argNames:
    - href
    - parse
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: lxml.ElementInclude.default_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached:
    - file.close
    - data.decode
    - file.read
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d4d8b0>
    - <ast.Constant object at 0x7f0291d4d460>
    argNames:
    - href
    - parse
    - encoding
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: lxml.ElementInclude._lxml_default_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached:
    - urllib2.urlopen
    - data.decode
    - urllib2.urlopen.read
    - urllib.request.urlopen
    - <builtin>.open
    - urllib2.urlopen.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen
    functionSourceFile: urllib2
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.urlopen
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen.read
    functionSourceFile: urllib2
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib2.urlopen.close
    functionSourceFile: urllib2
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - loader
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: lxml.ElementInclude._wrap_et_loader
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292494ee0>
    - <ast.Constant object at 0x7f0292494dc0>
    argNames:
    - href
    - parse
    - encoding
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: lxml.ElementInclude._wrap_et_loader.load
    functionSourceFile: lxml.ElementInclude
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292494d30>
    - <ast.Constant object at 0x7f0292494e80>
    - <ast.Name object at 0x7f0292494250>
    argNames:
    - elem
    - loader
    - base_url
    - max_depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 156
    functionName: lxml.ElementInclude.include
    functionSourceFile: lxml.ElementInclude
    functionUses: 0
    functionsReached:
    - urllib.request.urlopen
    - lxml.ElementInclude._lxml_default_loader
    - e.get
    - lxml.ElementInclude._include
    - urllib2.urlopen.read
    - lxml.ElementInclude._wrap_et_loader
    - urllib2.urlopen.close
    - elem.iter
    - parent.remove
    - <builtin>.list
    - urllib2.urlopen
    - e.getprevious
    - <builtin>.hasattr
    - urlparse.urljoin
    - parent.replace
    - urllib.parse.urljoin
    - elem.getroottree
    - lxml.ElementInclude._wrap_et_loader.load
    - data.decode
    - elem.getroot
    - <builtin>.open
    - <builtin>.set
    - e.getparent
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.getroottree
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 2
    IfCount: 15
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0292389220>
    - <ast.Constant object at 0x7f0292389bb0>
    - <ast.Name object at 0x7f0292389760>
    - <ast.Constant object at 0x7f0292389490>
    argNames:
    - elem
    - loader
    - base_url
    - max_depth
    - _parent_hrefs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: lxml.ElementInclude._include
    functionSourceFile: lxml.ElementInclude
    functionUses: 1
    functionsReached:
    - urllib.request.urlopen
    - lxml.ElementInclude._lxml_default_loader
    - e.get
    - lxml.ElementInclude._include
    - urllib2.urlopen.read
    - lxml.ElementInclude._wrap_et_loader
    - urllib2.urlopen.close
    - elem.iter
    - parent.remove
    - <builtin>.list
    - urllib2.urlopen
    - e.getprevious
    - urlparse.urljoin
    - parent.replace
    - urllib.parse.urljoin
    - elem.getroottree
    - lxml.ElementInclude._wrap_et_loader.load
    - data.decode
    - <builtin>.open
    - <builtin>.set
    - e.getparent
    linkageType: pythonLinkage
    raised:
    - FatalIncludeError
    - LimitedRecursiveIncludeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.iter
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.urljoin
    functionSourceFile: urlparse
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urljoin
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.getparent
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.getprevious
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.remove
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.doctestcompare
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - doctest.register_optionflag
    - doctest.testmod
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.register_optionflag
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: lxml.doctestcompare.strip
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - v.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: lxml.doctestcompare.norm_whitespace
    functionSourceFile: lxml.doctestcompare
    functionUses: 7
    functionsReached:
    - _norm_whitespace_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _norm_whitespace_re.sub
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: lxml.doctestcompare.html_fromstring
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 90
    functionName: lxml.doctestcompare.LXMLOutputChecker.check_output
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - want.attrib.keys
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - got.split
    - got.attrib.keys
    - want.startswith
    - lxml.doctestcompare.LXMLOutputChecker.get_parser
    - _norm_whitespace_re.sub
    - <builtin>.len
    - <builtin>.sorted
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - re.escape
    - got.strip
    - want_children.pop
    - <builtin>.list
    - want.split
    - s.startswith
    - s.strip
    - _repr_re.search
    - re.search
    - lxml.doctestcompare.html_fromstring
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.compare_docs
    - <builtin>.getattr
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - doctest.OutputChecker.check_output
    - doctest.OutputChecker._temp_call_super_check_output
    - want.strip
    - want.replace
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 111
    functionName: lxml.doctestcompare.LXMLOutputChecker.get_parser
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - s.startswith
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - want.strip
    - s.strip
    - got.strip
    - _repr_re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.check_output
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker._temp_call_super_check_output
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 132
    functionName: lxml.doctestcompare.LXMLOutputChecker.compare_docs
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - want.attrib.keys
    - got.split
    - got.attrib.keys
    - want.startswith
    - _norm_whitespace_re.sub
    - <builtin>.len
    - <builtin>.sorted
    - re.escape
    - want_children.pop
    - <builtin>.list
    - want.split
    - re.search
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.compare_docs
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - want.replace
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - s.startswith
    - _repr_re.search
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 370
    functionName: lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _repr_re.search
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: lxml.doctestcompare.LXMLOutputChecker.tag_compare
    functionSourceFile: lxml.doctestcompare
    functionUses: 5
    functionsReached:
    - want.startswith
    - want.split
    - got.split
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 161
    functionName: lxml.doctestcompare.LXMLOutputChecker.text_compare
    functionSourceFile: lxml.doctestcompare
    functionUses: 6
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - _norm_whitespace_re.sub
    - re.escape
    - want.replace
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.attrib.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.attrib.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want_children.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got_children.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 103
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - example
    - got
    - optionflags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 188
    functionName: lxml.doctestcompare.LXMLOutputChecker.output_difference
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - errors.append
    - lxml.doctestcompare.LXMLOutputChecker._looks_like_markup
    - got.split
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - want.startswith
    - html.escape
    - lxml.doctestcompare.LXMLOutputChecker.get_parser
    - parts.append
    - _norm_whitespace_re.sub
    - el.attrib.items
    - <builtin>.len
    - <builtin>.sorted
    - attrs.append
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff
    - cgi.escape
    - lxml.doctestcompare.LXMLOutputChecker.get_default_parser
    - lxml.doctestcompare.LHTMLOutputChecker.get_default_parser
    - sys.exc_info
    - re.escape
    - got.strip
    - want_children.pop
    - <builtin>.list
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - lxml.doctestcompare.strip
    - s.startswith
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - s.strip
    - doctest.OutputChecker.output_difference
    - _repr_re.search
    - re.search
    - want.attrib.items
    - lxml.doctestcompare.html_fromstring
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - want.strip
    - v.strip
    - text.strip
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    - got.attrib.items
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.output_difference
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 21
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f02929e4730>
    argNames:
    - self
    - doc
    - html
    - indent
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 230
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_doc
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - <builtin>.len
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - <builtin>.sorted
    - attrs.append
    - text.strip
    - lxml.doctestcompare.strip
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - <builtin>.isinstance
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - html.escape
    - v.strip
    - parts.append
    - cgi.escape
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - el.attrib.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 21
    IfCount: 6
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    - html
    - indent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 289
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - lxml.doctestcompare.LXMLOutputChecker.format_tag
    - got.split
    - got.attrib.items
    - lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    - want.startswith
    - html.escape
    - parts.append
    - _norm_whitespace_re.sub
    - el.attrib.items
    - <builtin>.len
    - <builtin>.sorted
    - attrs.append
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff
    - re.escape
    - want_children.pop
    - <builtin>.list
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    - lxml.doctestcompare.strip
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - lxml.doctestcompare.LXMLOutputChecker.format_doc
    - re.search
    - want.attrib.items
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - v.strip
    - text.strip
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    - cgi.escape
    - got_children.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02920306a0>
    argNames:
    - self
    - el
    - html
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: lxml.doctestcompare.LXMLOutputChecker.html_empty_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - attrs.append
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - <builtin>.isinstance
    - html.escape
    - text.strip
    - cgi.escape
    - el.attrib.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0292a07a30>
    argNames:
    - self
    - text
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 265
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_text
    functionSourceFile: lxml.doctestcompare
    functionUses: 6
    functionsReached:
    - text.strip
    - cgi.escape
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: lxml.doctestcompare.LXMLOutputChecker.format_end_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.strip
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cgi.escape
    functionSourceFile: cgi
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape
    functionSourceFile: html
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.attrib.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 327
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - got.split
    - got.attrib.items
    - want.startswith
    - html.escape
    - _norm_whitespace_re.sub
    - <builtin>.sorted
    - attrs.append
    - re.escape
    - want.split
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - want.attrib.items
    - re.search
    - lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - <builtin>.isinstance
    - want.replace
    - lxml.doctestcompare.LXMLOutputChecker.tag_compare
    - text.strip
    - cgi.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291f92130>
    argNames:
    - self
    - want
    - got
    - strip
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 361
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_text
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - lxml.doctestcompare.norm_whitespace
    - text.strip
    - cgi.escape
    - lxml.doctestcompare.LXMLOutputChecker.text_compare
    - lxml.doctestcompare.LXMLOutputChecker.format_text
    - html.escape
    - _norm_whitespace_re.sub
    - re.escape
    - want.replace
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - want
    - got
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 354
    functionName: lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: got.attrib.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: want.attrib.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f0291fb0850>
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: lxml.doctestcompare.install
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291fb04f0>
    - <ast.Constant object at 0x7f0291fb04c0>
    argNames:
    - html
    - del_module
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 385
    functionName: lxml.doctestcompare.temp_install
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_clone
    - sys._getframe
    - lxml.doctestcompare._find_doctest_frame
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare._RestoreChecker.__init__
    - doctest.OutputChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 478
    functionName: lxml.doctestcompare._find_doctest_frame
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - sys._getframe
    linkageType: pythonLinkage
    raised:
    - LookupError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.OutputChecker.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - dt_self
    - old_checker
    - new_checker
    - check_func
    - clone_func
    - del_module
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 425
    functionName: lxml.doctestcompare._RestoreChecker.__init__
    functionSourceFile: lxml.doctestcompare
    functionUses: 3
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_clone
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 436
    functionName: lxml.doctestcompare._RestoreChecker.install_clone
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 450
    functionName: lxml.doctestcompare._RestoreChecker.install_dt_self
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 445
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_clone
    functionSourceFile: lxml.doctestcompare
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_dt_self
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 455
    functionName: lxml.doctestcompare._RestoreChecker.uninstall_module
    functionSourceFile: lxml.doctestcompare
    functionUses: 1
    functionsReached:
    - <builtin>.delattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.delattr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 463
    functionName: lxml.doctestcompare._RestoreChecker.__call__
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.uninstall_clone
    - lxml.doctestcompare._RestoreChecker.uninstall_module
    - <builtin>.delattr
    - lxml.doctestcompare._RestoreChecker.uninstall_dt_self
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: lxml.doctestcompare._RestoreChecker.call_super
    functionSourceFile: lxml.doctestcompare
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.uninstall_clone
    - lxml.doctestcompare._RestoreChecker.install_clone
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    functionSourceFile: sys
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctest.testmod
    functionSourceFile: doctest
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.objectify
    functionSourceFile: lxml.objectify
    functionUses: 0
    functionsReached:
    - pkg_resources.resource_filename
    - lxml.objectify.__bootstrap__
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.objectify.__bootstrap__
    functionSourceFile: lxml.objectify
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.usedoctest
    functionSourceFile: lxml.usedoctest
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_clone
    - sys._getframe
    - lxml.doctestcompare._find_doctest_frame
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare.temp_install
    - lxml.doctestcompare._RestoreChecker.__init__
    - doctest.OutputChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.pyclasslookup
    functionSourceFile: lxml.pyclasslookup
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml._elementpath
    functionSourceFile: lxml._elementpath
    functionUses: 0
    functionsReached:
    - lxml._elementpath.__bootstrap__
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml._elementpath.__bootstrap__
    functionSourceFile: lxml._elementpath
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.builder
    functionSourceFile: lxml.builder
    functionUses: 0
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    - lxml.builder.__bootstrap__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.builder.__bootstrap__
    functionSourceFile: lxml.builder
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.cssselect
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - xpath
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: lxml.cssselect.LxmlTranslator.xpath_contains_function
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - cssselect.GenericTranslator.xpath_literal
    - value.lower
    - function.argument_types
    - xpath.add_condition
    linkageType: pythonLinkage
    raised:
    - ExpressionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: function.argument_types
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.xpath_literal
    functionSourceFile: cssselect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xpath.add_condition
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - context
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: lxml.cssselect._make_lower_case
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - s.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02924b4730>
    - <ast.Constant object at 0x7f02924b4df0>
    argNames:
    - self
    - css
    - namespaces
    - translator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: lxml.cssselect.CSSSelector.__init__
    functionSourceFile: lxml.cssselect
    functionUses: 1
    functionsReached:
    - cssselect.GenericTranslator.css_to_xpath
    - <builtin>.super
    - cssselect.GenericTranslator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cssselect.GenericTranslator.css_to_xpath
    functionSourceFile: cssselect
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: lxml.cssselect.CSSSelector.__repr__
    functionSourceFile: lxml.cssselect
    functionUses: 0
    functionsReached:
    - <builtin>.abs
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.abs
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.isoschematron
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: lxml.isoschematron.stylesheet_params
    functionSourceFile: lxml.isoschematron
    functionUses: 2
    functionsReached:
    - kwargs.items
    - _etree.XSLT.strparam
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _etree.XSLT.strparam
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - paramsDict
    - kwargsDict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 98
    functionName: lxml.isoschematron._stylesheet_param_dict
    functionSourceFile: lxml.isoschematron
    functionUses: 1
    functionsReached:
    - kwargsDict.items
    - _etree.XSLT.strparam
    - <builtin>.isinstance
    - lxml.isoschematron.stylesheet_params
    - <builtin>.dict
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargsDict.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 206
    functionName: lxml.isoschematron.Schematron._extract
    functionSourceFile: lxml.isoschematron
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 1
    IfCount: 12
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f0291be6820>
    - <ast.Constant object at 0x7f0291be6700>
    - <ast.Constant object at 0x7f0291be6580>
    - <ast.Constant object at 0x7f0291be6a30>
    - <ast.Dict object at 0x7f0291be65b0>
    - <ast.Dict object at 0x7f0291be6310>
    - <ast.Dict object at 0x7f0291be6df0>
    - <ast.Constant object at 0x7f0291be6460>
    - <ast.Constant object at 0x7f0291be68b0>
    - <ast.Constant object at 0x7f0291be6ac0>
    - <ast.Constant object at 0x7f0291be6a00>
    - <ast.Name object at 0x7f0291be66a0>
    argNames:
    - self
    - etree
    - file
    - include
    - expand
    - include_params
    - expand_params
    - compile_params
    - store_schematron
    - store_xslt
    - store_report
    - phase
    - error_finder
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 234
    functionName: lxml.isoschematron.Schematron.__init__
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - lxml.isoschematron.Schematron._extract
    - kwargsDict.items
    - etree.getroot
    - lxml.isoschematron._stylesheet_param_dict
    - <builtin>.isinstance
    - <builtin>.super
    - lxml.isoschematron.stylesheet_params
    - kwargs.items
    - _etree.XSLT.strparam
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etree
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: lxml.isoschematron.Schematron.__call__
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached:
    - etree.getroottree
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.getroottree
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 316
    functionName: lxml.isoschematron.Schematron.schematron
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 323
    functionName: lxml.isoschematron.Schematron.validator_xslt
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 330
    functionName: lxml.isoschematron.Schematron.validation_report
    functionSourceFile: lxml.isoschematron
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.html
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html._MethodFunc.__init__
    - lxml.html.HTMLParser.__init__
    - lxml.html.XHTMLParser.__init__
    - etree.XPath
    - mixers.setdefault
    - <builtin>.type
    - <builtin>.getattr
    - lxml.html.__fix_docstring
    - lxml.html.HtmlElementClassLookup.__init__
    - <builtin>.super
    - classes.get
    - classes.keys
    - etree.CustomElementClassLookup.__init__
    - <builtin>.tuple
    - mixers.items
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: lxml.html.__fix_docstring
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.XPath
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - s
    - pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: lxml.html._unquote_match
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - typ
    - result
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: lxml.html._transform_result
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - lxml.html.tostring
    - <builtin>.bytes
    - <builtin>.isinstance
    - etree.tostring
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c27610>
    - <ast.Constant object at 0x7f0291c275e0>
    - <ast.Constant object at 0x7f0291c275b0>
    - <ast.Constant object at 0x7f0291c27580>
    - <ast.Constant object at 0x7f0291c27550>
    - <ast.Constant object at 0x7f0291c27520>
    argNames:
    - doc
    - pretty_print
    - include_meta_content_type
    - encoding
    - method
    - with_tail
    - doctype
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1801
    functionName: lxml.html.tostring
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached:
    - etree.tostring
    - <builtin>.bytes
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - tag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: lxml.html._nons
    functionSourceFile: lxml.html
    functionUses: 23
    functionsReached:
    - tag.split
    - <builtin>.len
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.split
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attributes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: lxml.html.Classes.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: lxml.html.Classes.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: lxml.html.Classes.discard
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: lxml.html.Classes.remove
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: lxml.html.Classes.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: lxml.html.Classes.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: lxml.html.Classes.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: lxml.html.Classes.update
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: lxml.html.Classes.toggle
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - classes.remove
    - classes.append
    - re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02922b9610>
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: lxml.html.HtmlMixin.set
    functionSourceFile: lxml.html
    functionUses: 8
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - classes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 258
    functionName: lxml.html.HtmlMixin.classes
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - functools.partial
    - lxml.html.Classes.__init__
    - classes._get_class_value
    - <builtin>.isinstance
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes._get_class_value
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: lxml.html.HtmlMixin.base_url
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: lxml.html.HtmlMixin.forms
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 284
    functionName: lxml.html.HtmlMixin.body
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 292
    functionName: lxml.html.HtmlMixin.head
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: lxml.html.HtmlMixin.label
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - tag.split
    - lxml.html._nons
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: lxml.html.HtmlMixin.drop_tree
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - parent.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 348
    functionName: lxml.html.HtmlMixin.drop_tag
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - parent.index
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 380
    functionName: lxml.html.HtmlMixin.find_rel_links
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - rel.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rel.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.get
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - class_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 388
    functionName: lxml.html.HtmlMixin.find_class
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - id
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 394
    functionName: lxml.html.HtmlMixin.get_element_by_id
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: lxml.html.HtmlMixin.text_content
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291b44c70>
    argNames:
    - self
    - expr
    - translator
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 421
    functionName: lxml.html.HtmlMixin.cssselect
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - cssselect.GenericTranslator.css_to_xpath
    - <builtin>.super
    - cssselect.GenericTranslator.__init__
    - lxml.cssselect.CSSSelector.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291b44ca0>
    - <ast.Constant object at 0x7f0291b44eb0>
    - <ast.Constant object at 0x7f0291b44910>
    argNames:
    - self
    - base_url
    - resolve_base_href
    - handle_failures
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 438
    functionName: lxml.html.HtmlMixin.make_links_absolute
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - link.strip
    - attribs.get
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - match.group
    - lxml.html.HtmlMixin.make_links_absolute
    - lxml.html.HtmlMixin.iterlinks
    - _archive_re.finditer
    - <builtin>.len
    - el.set
    - urls.sort
    - content.find
    - <builtin>.list
    - b.get
    - lxml.html._nons
    - urlparse.urljoin
    - valuetype.lower
    - lxml.html.HtmlMixin.rewrite_links
    - lxml.html.HtmlMixin.resolve_base_href
    - urllib.parse.urljoin
    - tag.split
    - b.drop_tree
    - match.start
    - <builtin>.isinstance
    - el.get
    - lxml.html._unquote_match
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d4dfd0>
    argNames:
    - self
    - handle_failures
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 483
    functionName: lxml.html.HtmlMixin.resolve_base_href
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - link.strip
    - attribs.get
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - match.group
    - lxml.html.HtmlMixin.make_links_absolute
    - lxml.html.HtmlMixin.iterlinks
    - _archive_re.finditer
    - <builtin>.len
    - el.set
    - urls.sort
    - content.find
    - <builtin>.list
    - b.get
    - lxml.html._nons
    - urlparse.urljoin
    - valuetype.lower
    - lxml.html.HtmlMixin.rewrite_links
    - lxml.html.HtmlMixin.resolve_base_href
    - urllib.parse.urljoin
    - tag.split
    - b.drop_tree
    - match.start
    - <builtin>.isinstance
    - el.get
    - lxml.html._unquote_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - href
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: lxml.html.HtmlMixin.make_links_absolute.link_repl
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - urlparse.urljoin
    - urllib.parse.urljoin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cac400>
    - <ast.Constant object at 0x7f0291cac3d0>
    argNames:
    - self
    - link_repl_func
    - resolve_base_href
    - base_href
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 594
    functionName: lxml.html.HtmlMixin.rewrite_links
    functionSourceFile: lxml.html
    functionUses: 2
    functionsReached:
    - link.strip
    - attribs.get
    - lxml.html.HtmlMixin.make_links_absolute.link_repl
    - match.group
    - lxml.html.HtmlMixin.make_links_absolute
    - lxml.html.HtmlMixin.iterlinks
    - _archive_re.finditer
    - <builtin>.len
    - el.set
    - urls.sort
    - content.find
    - <builtin>.list
    - b.get
    - lxml.html._nons
    - urlparse.urljoin
    - valuetype.lower
    - lxml.html.HtmlMixin.rewrite_links
    - lxml.html.HtmlMixin.resolve_base_href
    - urllib.parse.urljoin
    - tag.split
    - b.drop_tree
    - match.start
    - <builtin>.isinstance
    - el.get
    - lxml.html._unquote_match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b.drop_tree
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 10
    IfCount: 16
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 504
    functionName: lxml.html.HtmlMixin.iterlinks
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - _archive_re.finditer
    - urllib.parse.urljoin
    - <builtin>.list
    - attribs.get
    - tag.split
    - <builtin>.len
    - urls.sort
    - lxml.html._nons
    - match.start
    - match.group
    - <builtin>.isinstance
    - el.get
    - lxml.html._unquote_match
    - content.find
    - urlparse.urljoin
    - valuetype.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _archive_re.finditer
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.start
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attribs.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.find
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: valuetype.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urls.sort
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: link.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.set
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cf07c0>
    - <ast.Name object at 0x7f0291cf0790>
    argNames:
    - self
    - name
    - copy
    - source_class
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 652
    functionName: lxml.html._MethodFunc.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - doc
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 656
    functionName: lxml.html._MethodFunc.__call__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.iter
    - other_body.drop_tree
    - lxml.html.fromstring
    - other_head.drop_tree
    - <builtin>.len
    - lxml.html.Element
    - doc.findall
    - etree.fromstring
    - <builtin>.bytes
    - lxml.html._transform_result
    - copy.deepcopy
    - kw.pop
    - html_parser.makeelement
    - lxml.html._nons
    - head.extend
    - lxml.html._contains_block_level_tag
    - <builtin>.issubclass
    - value.insert
    - value.append
    - lxml.html.tostring
    - body.extend
    - tag.split
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.getattr
    - etree.tostring
    - body.text.strip
    - value.find
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 5
    IfCount: 14
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f029234bfd0>
    - <ast.Constant object at 0x7f029234bfa0>
    argNames:
    - html
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 858
    functionName: lxml.html.fromstring
    functionSourceFile: lxml.html
    functionUses: 4
    functionsReached:
    - el.iter
    - other_body.drop_tree
    - other_head.drop_tree
    - <builtin>.len
    - lxml.html.Element
    - doc.findall
    - etree.fromstring
    - html_parser.makeelement
    - lxml.html._nons
    - head.extend
    - lxml.html._contains_block_level_tag
    - value.insert
    - value.append
    - body.extend
    - tag.split
    - <builtin>.isinstance
    - body.text.strip
    - value.find
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cd14c0>
    - <ast.Constant object at 0x7f0291cd1490>
    argNames:
    - self
    - classes
    - mixins
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 715
    functionName: lxml.html.HtmlElementClassLookup.__init__
    functionSourceFile: lxml.html
    functionUses: 3
    functionsReached:
    - mixers.setdefault
    - <builtin>.type
    - classes.get
    - classes.keys
    - <builtin>.tuple
    - etree.CustomElementClassLookup.__init__
    - mixers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.CustomElementClassLookup.__init__
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.keys
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mixers.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mixers.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: classes.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - node_type
    - document
    - namespace
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 733
    functionName: lxml.html.HtmlElementClassLookup.lookup
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cd8490>
    - <ast.Constant object at 0x7f0291cd8460>
    argNames:
    - html
    - parser
    - ensure_head_body
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 756
    functionName: lxml.html.document_fromstring
    functionSourceFile: lxml.html
    functionUses: 7
    functionsReached:
    - lxml.html.Element
    - etree.fromstring
    - html_parser.makeelement
    - value.insert
    - value.append
    - value.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.fromstring
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.find
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1936
    functionName: lxml.html.Element
    functionSourceFile: lxml.html
    functionUses: 9
    functionsReached:
    - html_parser.makeelement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.insert
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cd66a0>
    - <ast.Constant object at 0x7f0291cd6670>
    - <ast.Constant object at 0x7f0291cd6640>
    argNames:
    - html
    - no_leading_text
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 770
    functionName: lxml.html.fragments_fromstring
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - elements.append
    - lxml.html.Element
    - tag.split
    - etree.fromstring
    - html_parser.makeelement
    - lxml.html._nons
    - <builtin>.isinstance
    - value.insert
    - elements.extend
    - value.append
    - body.text.strip
    - value.find
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.text.strip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elements.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elements.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ce2af0>
    - <ast.Constant object at 0x7f0291ce2ac0>
    - <ast.Constant object at 0x7f0291ce2a90>
    argNames:
    - html
    - create_parent
    - base_url
    - parser
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 809
    functionName: lxml.html.fragment_fromstring
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - lxml.html.fragments_fromstring
    - elements.append
    - lxml.html.Element
    - <builtin>.len
    - tag.split
    - new_root.extend
    - html_parser.makeelement
    - etree.fromstring
    - lxml.html._nons
    - <builtin>.isinstance
    - value.insert
    - elements.extend
    - value.append
    - body.text.strip
    - value.find
    - el.tail.strip
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_root.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.tail.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.findall
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other_body.drop_tree
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: head.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other_head.drop_tree
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 940
    functionName: lxml.html._contains_block_level_tag
    functionSourceFile: lxml.html
    functionUses: 6
    functionsReached:
    - tag.split
    - el.iter
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292351250>
    - <ast.Constant object at 0x7f0292351220>
    argNames:
    - filename_or_url
    - parser
    - base_url
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 926
    functionName: lxml.html.parse
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.parse
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.iter
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 949
    functionName: lxml.html._element_name
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - tag.split
    - lxml.html._nons
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 968
    functionName: lxml.html.FormElement.inputs
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.InputGetter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - form
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1185
    functionName: lxml.html.InputGetter.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 986
    functionName: lxml.html.FormElement.fields
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - prev_keys.remove
    - value.items
    - lxml.html.FieldsDict.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - inputs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1144
    functionName: lxml.html.FieldsDict.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev_keys.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1000
    functionName: lxml.html.FormElement._name
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - forms.index
    - <builtin>.str
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: forms.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1011
    functionName: lxml.html.FormElement.form_values
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - tag.split
    - <builtin>.len
    - results.append
    - lxml.html._nons
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1060
    functionName: lxml.html.FormElement.action
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - urlparse.urljoin
    - urllib.parse.urljoin
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1074
    functionName: lxml.html.FormElement.method
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - value.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f029236fcd0>
    - <ast.Constant object at 0x7f029236fca0>
    argNames:
    - form
    - extra_values
    - open_http
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1081
    functionName: lxml.html.submit_form
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - extra_values.items
    - urllib.urlopen
    - values.extend
    - form.form_values
    - <builtin>.isinstance
    - urllib.urlencode
    - urllib.urlencode.encode
    - urllib.request.urlopen
    - <builtin>.hasattr
    - lxml.html.open_http_urllib
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.form_values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra_values.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - method
    - url
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1119
    functionName: lxml.html.open_http_urllib
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - urllib.urlopen
    - <builtin>.isinstance
    - urllib.urlencode
    - urllib.urlencode.encode
    - urllib.request.urlopen
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlencode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlencode.encode
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.urlopen
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1146
    functionName: lxml.html.FieldsDict.__getitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - item
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1148
    functionName: lxml.html.FieldsDict.__setitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1150
    functionName: lxml.html.FieldsDict.__delitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1153
    functionName: lxml.html.FieldsDict.keys
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1155
    functionName: lxml.html.FieldsDict.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1157
    functionName: lxml.html.FieldsDict.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1159
    functionName: lxml.html.FieldsDict.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1162
    functionName: lxml.html.FieldsDict.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1188
    functionName: lxml.html.InputGetter.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - forms.index
    - <builtin>.str
    - <builtin>.list
    - lxml.html.FormElement._name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1196
    functionName: lxml.html.InputGetter.__getitem__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1214
    functionName: lxml.html.InputGetter.__contains__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.InputGetter.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1250
    functionName: lxml.html.InputGetter.__iter__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1220
    functionName: lxml.html.InputGetter.keys
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.InputGetter.__iter__
    - seen.add
    - names.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: names.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1235
    functionName: lxml.html.InputGetter.items
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.InputGetter.__iter__
    - seen.add
    - items.append
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1253
    functionName: lxml.html.InputGetter.__len__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1273
    functionName: lxml.html.InputMixin.name
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1278
    functionName: lxml.html.InputMixin.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1315
    functionName: lxml.html.TextareaElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.tostring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.tostring
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1387
    functionName: lxml.html.SelectElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - lxml.html.MultipleSelectOptions.__init__
    - <builtin>.next
    - <builtin>.isinstance
    - selected_option.get
    - el.get
    - <builtin>.reversed
    - checked_option.set
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - select
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1434
    functionName: lxml.html.MultipleSelectOptions.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selected_option.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checked_option.set
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1395
    functionName: lxml.html.SelectElement.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - options.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1416
    functionName: lxml.html.SelectElement.multiple
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1438
    functionName: lxml.html.MultipleSelectOptions.options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1444
    functionName: lxml.html.MultipleSelectOptions.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1452
    functionName: lxml.html.MultipleSelectOptions.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1464
    functionName: lxml.html.MultipleSelectOptions.remove
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1480
    functionName: lxml.html.MultipleSelectOptions.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1524
    functionName: lxml.html.RadioGroup.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - checked_option.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1528
    functionName: lxml.html.RadioGroup.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1534
    functionName: lxml.html.RadioGroup.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.__repr__
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1569
    functionName: lxml.html.CheckboxGroup.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - lxml.html.CheckboxValues.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1590
    functionName: lxml.html.CheckboxValues.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1573
    functionName: lxml.html.CheckboxGroup.value_options
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1579
    functionName: lxml.html.CheckboxGroup.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1593
    functionName: lxml.html.CheckboxValues.__iter__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1599
    functionName: lxml.html.CheckboxValues.add
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - el.get
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1607
    functionName: lxml.html.CheckboxValues.remove
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - el.get
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1620
    functionName: lxml.html.CheckboxValues.__repr__
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1672
    functionName: lxml.html.InputElement.value
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1687
    functionName: lxml.html.InputElement.type
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1691
    functionName: lxml.html.InputElement.checkable
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1710
    functionName: lxml.html.InputElement.checked
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1751
    functionName: lxml.html.LabelElement.for_element
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - other.get
    - <builtin>.super
    - lxml.html.HtmlMixin.set
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1764
    functionName: lxml.html.html_to_xhtml
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - html.getroot
    - html.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.iter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - xhtml
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1779
    functionName: lxml.html.xhtml_to_html
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - xhtml.getroot
    - xhtml.iter
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xhtml.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xhtml.iter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c259a0>
    argNames:
    - doc
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1878
    functionName: lxml.html.open_in_browser
    functionSourceFile: lxml.html
    functionUses: 0
    functionsReached:
    - etree.ElementTree
    - tempfile.mkstemp
    - <builtin>.print
    - <builtin>.isinstance
    - fn.replace
    - webbrowser.open
    - doc.write
    - os.fdopen
    - f.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etree.ElementTree
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.mkstemp
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fdopen
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fn.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webbrowser.open
    functionSourceFile: webbrowser
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1909
    functionName: lxml.html.HTMLParser.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - mixers.setdefault
    - <builtin>.type
    - <builtin>.super
    - classes.get
    - lxml.html.HtmlElementClassLookup.__init__
    - classes.keys
    - <builtin>.tuple
    - etree.CustomElementClassLookup.__init__
    - mixers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1931
    functionName: lxml.html.XHTMLParser.__init__
    functionSourceFile: lxml.html
    functionUses: 1
    functionsReached:
    - mixers.setdefault
    - <builtin>.type
    - <builtin>.super
    - classes.get
    - lxml.html.HtmlElementClassLookup.__init__
    - classes.keys
    - <builtin>.tuple
    - etree.CustomElementClassLookup.__init__
    - mixers.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html_parser.makeelement
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._setmixin
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: lxml.html._setmixin.SetMixin.__len__
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - lxml.html._setmixin.SetMixin.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._setmixin.SetMixin.__iter__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: lxml.html._setmixin.SetMixin.__contains__
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - lxml.html._setmixin.SetMixin.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: lxml.html._setmixin.SetMixin.copy
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: lxml.html._setmixin.SetMixin.update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: lxml.html._setmixin.SetMixin.intersection_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: lxml.html._setmixin.SetMixin.difference_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: lxml.html._setmixin.SetMixin.symmetric_difference_update
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 48
    functionName: lxml.html._setmixin.SetMixin.discard
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - lxml.html.MultipleSelectOptions.remove
    - collections.abc.MutableSet.remove
    - el.get
    - lxml.html.CheckboxValues.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.abc.MutableSet.remove
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - it
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html._setmixin.SetMixin._from_iterable
    functionSourceFile: lxml.html._setmixin
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.defs
    functionSourceFile: lxml.html.defs
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.clean
    functionSourceFile: lxml.html.clean
    functionUses: 0
    functionsReached:
    - pkg_resources.resource_filename
    - lxml.html.clean.__bootstrap__
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.html.clean.__bootstrap__
    functionSourceFile: lxml.html.clean
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html.ElementSoup
    functionSourceFile: lxml.html.ElementSoup
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f029202cf10>
    - <ast.Constant object at 0x7f0291da3a60>
    argNames:
    - file
    - beautifulsoup
    - makeelement
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 8
    functionName: lxml.html.ElementSoup.parse
    functionSourceFile: lxml.html.ElementSoup
    functionUses: 0
    functionsReached:
    - lxml.html.soupparser._convert_tree
    - lxml.html.soupparser._PseudoTag.__init__
    - prev.addprevious
    - prev.addnext
    - <builtin>.len
    - BeautifulSoup.BeautifulSoup
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters
    - res_root.getroottree
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - root.getroot
    - roots.index
    - <builtin>.reversed
    - lxml.html.soupparser._parse
    - <builtin>.hasattr
    - <builtin>.enumerate
    - lxml.html.soupparser.parse
    - bs4.BeautifulSoup
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ee9730>
    - <ast.Constant object at 0x7f0291ee9700>
    argNames:
    - file
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 36
    functionName: lxml.html.soupparser.parse
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - lxml.html.soupparser._convert_tree
    - lxml.html.soupparser._PseudoTag.__init__
    - prev.addprevious
    - prev.addnext
    - <builtin>.len
    - BeautifulSoup.BeautifulSoup
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters
    - res_root.getroottree
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - roots.index
    - <builtin>.reversed
    - lxml.html.soupparser._parse
    - <builtin>.hasattr
    - <builtin>.enumerate
    - bs4.BeautifulSoup
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getroot
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.soupparser
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ee9af0>
    - <ast.Constant object at 0x7f0291ee9ac0>
    argNames:
    - data
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 21
    functionName: lxml.html.soupparser.fromstring
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - lxml.html.soupparser._convert_tree
    - lxml.html.soupparser._PseudoTag.__init__
    - prev.addprevious
    - prev.addnext
    - <builtin>.len
    - BeautifulSoup.BeautifulSoup
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters
    - res_root.getroottree
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - roots.index
    - <builtin>.reversed
    - lxml.html.soupparser._parse
    - <builtin>.hasattr
    - <builtin>.enumerate
    - bs4.BeautifulSoup
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - source
    - beautifulsoup
    - makeelement
    - bsargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 69
    functionName: lxml.html.soupparser._parse
    functionSourceFile: lxml.html.soupparser
    functionUses: 3
    functionsReached:
    - lxml.html.soupparser._convert_tree
    - lxml.html.soupparser._PseudoTag.__init__
    - prev.addprevious
    - prev.addnext
    - <builtin>.len
    - BeautifulSoup.BeautifulSoup
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters
    - res_root.getroottree
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - roots.index
    - <builtin>.reversed
    - <builtin>.hasattr
    - <builtin>.enumerate
    - bs4.BeautifulSoup
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0292b33be0>
    argNames:
    - beautiful_soup_tree
    - makeelement
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: lxml.html.soupparser.convert_tree
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - root.getchildren
    - lxml.html.soupparser._convert_tree
    - root.remove
    - lxml.html.soupparser._PseudoTag.__init__
    - prev.addprevious
    - prev.addnext
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters
    - res_root.getroottree
    - ordered_node_types.append
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - roots.index
    - <builtin>.reversed
    - <builtin>.enumerate
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 2
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - beautiful_soup_tree
    - makeelement
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: lxml.html.soupparser._convert_tree
    functionSourceFile: lxml.html.soupparser
    functionUses: 5
    functionsReached:
    - e.name.lower
    - lxml.html.soupparser._init_node_converters.convert_node
    - declaration.output_ready
    - lxml.html.soupparser._init_node_converters.converter.add
    - match.groups
    - lxml.html.soupparser._init_node_converters.converter
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - lxml.html.soupparser._PseudoTag.__init__
    - <builtin>.isinstance
    - <builtin>.type
    - roots.index
    - lxml.html.soupparser._init_node_converters
    - <builtin>.reversed
    - prev.addprevious
    - res_root.getroottree
    - <builtin>.enumerate
    - prev.addnext
    - ordered_node_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: BeautifulSoup.BeautifulSoup
    functionSourceFile: BeautifulSoup
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs4.BeautifulSoup
    functionSourceFile: bs4
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: lxml.html.soupparser._PseudoTag.__init__
    functionSourceFile: lxml.html.soupparser
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: lxml.html.soupparser._PseudoTag.__iter__
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.name.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: roots.index
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - makeelement
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 190
    functionName: lxml.html.soupparser._init_node_converters
    functionSourceFile: lxml.html.soupparser
    functionUses: 6
    functionsReached:
    - lxml.html.soupparser._init_node_converters.converter.add
    - lxml.html.soupparser._init_node_converters.converter
    - ordered_node_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291cb2550>
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: lxml.html.soupparser._init_node_converters.convert_node
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached:
    - <builtin>.type
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev.addprevious
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev.addnext
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: declaration.output_ready
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.groups
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: res_root.getroottree
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - types
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: lxml.html.soupparser._init_node_converters.converter
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: lxml.html.soupparser._init_node_converters.converter.add
    functionSourceFile: lxml.html.soupparser
    functionUses: 7
    functionsReached:
    - ordered_node_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ordered_node_types.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: lxml.html.soupparser._init_node_converters.find_best_converter
    functionSourceFile: lxml.html.soupparser
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - bs_attrs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: lxml.html.soupparser._init_node_converters.map_attrs
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - lxml.html.soupparser.unescape
    - bs_attrs.items
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_attrs.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 305
    functionName: lxml.html.soupparser.unescape
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - parent
    - text
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: lxml.html.soupparser._init_node_converters.append_text
    functionSourceFile: lxml.html.soupparser
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 238
    functionName: lxml.html.soupparser._init_node_converters.convert_tag
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - lxml.html.soupparser.unescape
    - lxml.html.soupparser._init_node_converters.convert_node
    - lxml.html.soupparser._init_node_converters.find_best_converter
    - <builtin>.isinstance
    - <builtin>.type
    - bs_attrs.items
    - lxml.html.soupparser._init_node_converters.map_attrs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: lxml.html.soupparser._init_node_converters.convert_comment
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - parent.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: lxml.html.soupparser._init_node_converters.convert_pi
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - bs_node.split
    - parent.append
    - bs_node.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_node.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs_node.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - bs_node
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: lxml.html.soupparser._init_node_converters.convert_text
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - lxml.html.soupparser.unescape
    - <builtin>.len
    - lxml.html.soupparser._init_node_converters.append_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - m
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 309
    functionName: lxml.html.soupparser.unescape.unescape_entity
    functionSourceFile: lxml.html.soupparser
    functionUses: 0
    functionsReached:
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.group
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html._diffcommand
    functionSourceFile: lxml.html._diffcommand
    functionUses: 0
    functionsReached:
    - optparse.OptionParser
    - parser.add_option
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: optparse.OptionParser
    functionSourceFile: optparse
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.add_option
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f0292a225b0>
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 32
    functionName: lxml.html._diffcommand.main
    functionSourceFile: lxml.html._diffcommand
    functionUses: 0
    functionsReached:
    - sys.stdin.read
    - f.write
    - lxml.html._diffcommand.read_file
    - os.path.exists
    - lxml.html._diffcommand.split_body
    - lxml.html._diffcommand.annotate
    - parser.print_help
    - result.endswith
    - <builtin>.len
    - match.end
    - sys.stdout.write
    - sys.exit
    - body_end_re.search
    - <builtin>.print
    - f.read
    - parser.parse_args
    - match.start
    - <builtin>.open
    - body_start_re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - options
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: lxml.html._diffcommand.annotate
    functionSourceFile: lxml.html._diffcommand
    functionUses: 1
    functionsReached:
    - <builtin>.print
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.print_help
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: lxml.html._diffcommand.read_file
    functionSourceFile: lxml.html._diffcommand
    functionUses: 1
    functionsReached:
    - os.path.exists
    - f.read
    - <builtin>.open
    - sys.stdin.read
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - html
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: lxml.html._diffcommand.split_body
    functionSourceFile: lxml.html._diffcommand
    functionUses: 1
    functionsReached:
    - match.end
    - body_end_re.search
    - body_start_re.search
    - match.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.read
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_start_re.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_end_re.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.diff
    functionSourceFile: lxml.html.diff
    functionUses: 0
    functionsReached:
    - lxml.html.diff.__bootstrap__
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1
    functionName: lxml.html.diff.__bootstrap__
    functionSourceFile: lxml.html.diff
    functionUses: 1
    functionsReached:
    - pkg_resources.resource_filename
    - imp.load_dynamic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: lxml.html.usedoctest
    functionSourceFile: lxml.html.usedoctest
    functionUses: 0
    functionsReached:
    - lxml.doctestcompare._RestoreChecker.install_clone
    - sys._getframe
    - lxml.doctestcompare._find_doctest_frame
    - lxml.doctestcompare._RestoreChecker.install_dt_self
    - lxml.doctestcompare.temp_install
    - lxml.doctestcompare._RestoreChecker.__init__
    - doctest.OutputChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: lxml.html.builder
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: lxml.html.builder.CLASS
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - v
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: lxml.html.builder.FOR
    functionSourceFile: lxml.html.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.formfill
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - kw.items
    - lxml.html.formfill.DefaultErrorCreator.__init__
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f029250ccd0>
    - <ast.Constant object at 0x7f029250cca0>
    argNames:
    - el
    - values
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 29
    functionName: lxml.html.formfill.fill_form
    functionSourceFile: lxml.html.formfill
    functionUses: 1
    functionsReached:
    - lxml.html.formfill._find_form
    - values.get
    - lxml.html.formfill._takes_multiple
    - <builtin>.len
    - el.set
    - lxml.html.formfill._fill_form
    - option.text_content
    - input.get
    - counts.get
    - lxml.html.formfill._fill_multiple
    - el.get_element_by_id
    - input.set
    - lxml.html.formfill._fill_single
    - lxml.html._nons
    - lxml.html.formfill._check
    - lxml.html.formfill._select
    - <builtin>.hasattr
    - tag.split
    - option.get
    - <builtin>.isinstance
    - values.mixed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291baae20>
    - <ast.Constant object at 0x7f0291baa520>
    argNames:
    - el
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: lxml.html.formfill._find_form
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.get_element_by_id
    linkageType: pythonLinkage
    raised:
    - FormNotFound
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: lxml.html.formfill._fill_form
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - tag.split
    - <builtin>.len
    - el.set
    - lxml.html.formfill._fill_single
    - input.set
    - values.get
    - option.get
    - option.text_content
    - lxml.html._nons
    - <builtin>.isinstance
    - lxml.html.formfill._takes_multiple
    - input.get
    - lxml.html.formfill._fill_multiple
    - lxml.html.formfill._check
    - lxml.html.formfill._select
    - <builtin>.hasattr
    - counts.get
    - values.mixed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f029250c880>
    - <ast.Constant object at 0x7f029250c850>
    argNames:
    - html
    - values
    - form_id
    - form_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 38
    functionName: lxml.html.formfill.fill_form_html
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - lxml.html.formfill._find_form
    - el.iter
    - values.get
    - other_body.drop_tree
    - lxml.html.fromstring
    - lxml.html.formfill._takes_multiple
    - other_head.drop_tree
    - <builtin>.len
    - el.set
    - lxml.html.Element
    - lxml.html.formfill._fill_form
    - doc.findall
    - option.text_content
    - etree.fromstring
    - <builtin>.bytes
    - input.get
    - lxml.html._transform_result
    - counts.get
    - copy.deepcopy
    - lxml.html.formfill._fill_multiple
    - el.get_element_by_id
    - lxml.html.formfill._fill_single
    - input.set
    - html_parser.makeelement
    - lxml.html._nons
    - lxml.html.formfill._check
    - head.extend
    - lxml.html.formfill._select
    - lxml.html._contains_block_level_tag
    - <builtin>.issubclass
    - value.insert
    - value.append
    - <builtin>.hasattr
    - lxml.html.formfill.fill_form
    - lxml.html.tostring
    - body.extend
    - tag.split
    - option.get
    - <builtin>.isinstance
    - <builtin>.type
    - etree.tostring
    - body.text.strip
    - value.find
    - values.mixed
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.mixed
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input.get
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: lxml.html.formfill._takes_multiple
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - tag.split
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.isinstance
    - input.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - input
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: lxml.html.formfill._fill_multiple
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - el.set
    - tag.split
    - <builtin>.len
    - option.get
    - option.text_content
    - lxml.html._nons
    - <builtin>.isinstance
    - lxml.html.formfill._check
    - input.get
    - lxml.html.formfill._select
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: counts.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - input
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: lxml.html.formfill._fill_single
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - tag.split
    - <builtin>.len
    - input.set
    - lxml.html._nons
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - check
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: lxml.html.formfill._check
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: option.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: option.text_content
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - select
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: lxml.html.formfill._select
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.get_element_by_id
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: lxml.html.formfill._find_form_ids
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - form.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: lxml.html.formfill.DefaultErrorCreator.__init__
    functionSourceFile: lxml.html.formfill
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    - kw.items
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - el
    - is_block
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: lxml.html.formfill.DefaultErrorCreator.__call__
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - error_el.append
    - el.append
    - el.insert
    - error_el.get
    - error_el.set
    - <builtin>.isinstance
    - el.getparent
    - parent.index
    - el.makeelement
    - parent.insert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.makeelement
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_el.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.getparent
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.insert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f02922ab1f0>
    - <ast.Constant object at 0x7f02922aba00>
    - <ast.Constant object at 0x7f02922ab970>
    - <ast.Name object at 0x7f02922ab2b0>
    argNames:
    - el
    - errors
    - form_id
    - form_index
    - error_class
    - error_creator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 231
    functionName: lxml.html.formfill.insert_errors
    functionSourceFile: lxml.html.formfill
    functionUses: 1
    functionsReached:
    - lxml.html.formfill._find_form
    - lxml.html.formfill._add_class
    - name.startswith
    - el.set
    - <builtin>.len
    - errors.items
    - form.get_element_by_id
    - kw.items
    - el.get_element_by_id
    - <builtin>.setattr
    - lxml.html._nons
    - <builtin>.hasattr
    - tag.split
    - lxml.html.formfill._find_elements_for_name
    - <builtin>.isinstance
    - <builtin>.type
    - el.get
    - <builtin>.zip
    - lxml.html.formfill._insert_error
    - lxml.html.formfill.DefaultErrorCreator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - form
    - name
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: lxml.html.formfill._find_elements_for_name
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - <builtin>.zip
    - form.get_element_by_id
    - name.startswith
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - el
    - error
    - error_class
    - error_creator
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 257
    functionName: lxml.html.formfill._insert_error
    functionSourceFile: lxml.html.formfill
    functionUses: 2
    functionsReached:
    - lxml.html.formfill._add_class
    - el.set
    - kw.items
    - tag.split
    - <builtin>.len
    - lxml.html._nons
    - <builtin>.setattr
    - <builtin>.isinstance
    - el.get
    - <builtin>.hasattr
    - lxml.html.formfill.DefaultErrorCreator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - html
    - values
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 248
    functionName: lxml.html.formfill.insert_errors_html
    functionSourceFile: lxml.html.formfill
    functionUses: 0
    functionsReached:
    - lxml.html.formfill._find_form
    - lxml.html.formfill._add_class
    - el.iter
    - name.startswith
    - other_body.drop_tree
    - lxml.html.fromstring
    - other_head.drop_tree
    - <builtin>.len
    - el.set
    - lxml.html.Element
    - errors.items
    - doc.findall
    - form.get_element_by_id
    - etree.fromstring
    - <builtin>.bytes
    - lxml.html._transform_result
    - copy.deepcopy
    - kw.items
    - el.get_element_by_id
    - html_parser.makeelement
    - lxml.html._nons
    - <builtin>.setattr
    - head.extend
    - lxml.html._contains_block_level_tag
    - <builtin>.issubclass
    - value.insert
    - value.append
    - <builtin>.hasattr
    - lxml.html.tostring
    - body.extend
    - tag.split
    - lxml.html.formfill.insert_errors
    - lxml.html.formfill._find_elements_for_name
    - <builtin>.isinstance
    - <builtin>.type
    - el.get
    - etree.tostring
    - body.text.strip
    - <builtin>.zip
    - value.find
    - lxml.html.formfill._insert_error
    - lxml.html.formfill.DefaultErrorCreator.__init__
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - class_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: lxml.html.formfill._add_class
    functionSourceFile: lxml.html.formfill
    functionUses: 3
    functionsReached:
    - el.get
    - el.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: form.get_element_by_id
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: lxml.html.html5parser
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - html5lib.XHTMLParser.__init__
    - lxml.html.html5parser.XHTMLParser.__init__
    - html5lib.HTMLParser.__init__
    - lxml.html.html5parser.HTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291b33c10>
    argNames:
    - self
    - strict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: lxml.html.html5parser.HTMLParser.__init__
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.HTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.__init__
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291b33640>
    argNames:
    - self
    - strict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: lxml.html.html5parser.XHTMLParser.__init__
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.XHTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.XHTMLParser.__init__
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - tree
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: lxml.html.html5parser._find_tag
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - tree.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tree.find
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291be6190>
    - <ast.Constant object at 0x7f0291be6310>
    argNames:
    - html
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html.html5parser.document_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.HTMLParser.parse
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.parse
    functionSourceFile: html5lib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292a07d30>
    - <ast.Constant object at 0x7f0292a07ee0>
    - <ast.Constant object at 0x7f0292a07ca0>
    argNames:
    - html
    - no_leading_text
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: lxml.html.html5parser.fragments_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - html5lib.HTMLParser.parseFragment
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser.parseFragment
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292b33cd0>
    - <ast.Constant object at 0x7f0292b33d30>
    - <ast.Constant object at 0x7f0292b33ee0>
    argNames:
    - html
    - create_parent
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: lxml.html.html5parser.fragment_fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - lxml.html.html5parser.fragments_fromstring
    - <builtin>.len
    - lxml.html.Element
    - new_root.extend
    - html_parser.makeelement
    - <builtin>.isinstance
    - result.tail.strip
    - html5lib.HTMLParser.parseFragment
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.tail.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02925a81c0>
    - <ast.Constant object at 0x7f02925a8910>
    argNames:
    - html
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: lxml.html.html5parser.fromstring
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - start.decode
    - start.startswith
    - <builtin>.len
    - el.iter
    - tag.split
    - tree.find
    - lxml.html._nons
    - <builtin>.isinstance
    - lxml.html.html5parser.document_fromstring
    - html5lib.HTMLParser.parse
    - lxml.html._contains_block_level_tag
    - start.lstrip
    - body.text.strip
    - lxml.html.html5parser._find_tag
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: start.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0292a31040>
    - <ast.Constant object at 0x7f0292a31760>
    argNames:
    - filename_url_or_file
    - guess_charset
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: lxml.html.html5parser.parse
    functionSourceFile: lxml.html.html5parser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - urllib2.urlopen
    - <builtin>.isinstance
    - html5lib.HTMLParser.parse
    - urlparse.urlparse
    - urllib.request.urlopen
    - lxml.html.html5parser._looks_like_url
    - <builtin>.open
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: lxml.html.html5parser._looks_like_url
    functionSourceFile: lxml.html.html5parser
    functionUses: 1
    functionsReached:
    - urlparse.urlparse
    - <builtin>.len
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.urlparse
    functionSourceFile: urlparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.html._html5builder
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - publicId
    - systemId
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: lxml.html._html5builder.DocumentType.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: lxml.html._html5builder.Document.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: lxml.html._html5builder.Document.appendChild
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: lxml.html._html5builder.TreeBuilder.__init__
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.__init__
    - html5lib.treebuilders.etree.getETreeModule
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.etree.getETreeModule
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.__init__
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: lxml.html._html5builder.TreeBuilder.reset
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.reset
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: lxml.html._html5builder.TreeBuilder.getDocument
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: lxml.html._html5builder.TreeBuilder.getFragment
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - element.getchildren
    - fragment.append
    - fragment.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fragment.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.getchildren
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fragment.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - publicId
    - systemId
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: lxml.html._html5builder.TreeBuilder.insertDoctype
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - lxml.html._html5builder.DocumentType.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0292595fa0>
    argNames:
    - self
    - data
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: lxml.html._html5builder.TreeBuilder.insertComment
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.insertComment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.insertComment
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 75
    functionName: lxml.html._html5builder.TreeBuilder.insertRoot
    functionSourceFile: lxml.html._html5builder
    functionUses: 0
    functionsReached:
    - el.iter
    - other_body.drop_tree
    - buf.append
    - lxml.html.fromstring
    - other_head.drop_tree
    - <builtin>.len
    - lxml.html.Element
    - lxml.html._html5builder.Document.__init__
    - doc.findall
    - etree.fromstring
    - root.addprevious
    - html_parser.makeelement
    - html5lib.treebuilders._base.TreeBuilder.openElements.append
    - lxml.html._nons
    - head.extend
    - lxml.html._contains_block_level_tag
    - value.insert
    - value.append
    - root.getroottree
    - body.extend
    - tag.split
    - <builtin>.isinstance
    - body.text.strip
    - value.find
    - lxml.html.document_fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.addprevious
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.getroottree
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.openElements.append
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.includes
    functionSourceFile: lxml.includes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.MenuEditor
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02921127c0>
    - <ast.Constant object at 0x7f0292112790>
    - <ast.Constant object at 0x7f0292112760>
    argNames:
    - self
    - menu
    - filename
    - root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 26
    functionName: xdg.MenuEditor.MenuEditor.__init__
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - _list.reverse
    - ast.In
    - xdg.Menu.XMLMenuBuilder.__init__
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - xdg.Menu.XMLMenuBuilder.handle_moves
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - move_from_menu.Parent.Submenus.remove
    - child.tail.strip
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - ast.literal_eval
    - m.DirectoryDirs.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - xdg.MenuEditor.MenuEditor.parse
    - node.attrib.get
    - _set.setdefault
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - xml.etree.cElementTree.fromstring
    - child.text.strip
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - xdg.Menu._get_menu_file_path
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - submenu.getMenuEntry
    - ast.And
    - submenu.getMenu
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - rule.apply
    - line.strip
    - subprocess.Popen
    - order.append
    - os.path.dirname
    - ast.fix_missing_locations
    - entry.getType
    - xdg.Menu.Header.__init__
    - menu.DirectoryDirs.reverse
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - menu.AppDirs.reverse
    - filename.endswith
    - ast.Expression
    - entry.DesktopEntry.getOnlyShowIn
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - entry.DesktopEntry.findTryExec
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - menu.Directories.reverse
    - xdg.Menu.XMLMenuBuilder.parse
    - xdg.Menu.Menu.sort
    - m.AppDirs.append
    - xdg.Menu.XMLMenuBuilder.post_parse
    - parent.DirectoryDirs.append
    - entry.DesktopEntry.getNoDisplay
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - submenu.getGenericName
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - xdg.Menu._dedupe
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - submenu.getComment
    - ast.BoolOp
    - menuentry.getType
    - xdg.MenuEditor.MenuEditor.__remove_whitespace_nodes
    - move.New.split
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.environ.get
    - os.path.abspath
    - line.lstrip
    - <builtin>.list
    - ast.Or
    - xml.etree.ElementTree.ElementTree
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.generate_only_allocated
    - xdg.Menu.MenuEntryCache.__init__
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - path.split
    - ast.Eq
    - _entries.add
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - submenu.getName
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - dirs.pop
    - xml.etree.ElementTree.parse
    - ast.NameConstant
    - entries.append
    - xml.etree.ElementTree.fromstring
    - entries.index
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - menus.pop
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - menuentry.Parents.append
    - xml.etree.cElementTree.ElementTree
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - xdg.Menu.Menu.getMenu
    - xdg.Config.setRootMode
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ae3fa0>
    argNames:
    - self
    - debug
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 612
    functionName: xdg.Menu.XMLMenuBuilder.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292112070>
    - <ast.Constant object at 0x7f0292112040>
    - <ast.Constant object at 0x7f029210afd0>
    argNames:
    - self
    - menu
    - filename
    - root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 36
    functionName: xdg.MenuEditor.MenuEditor.parse
    functionSourceFile: xdg.MenuEditor
    functionUses: 1
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - _list.reverse
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - xdg.Menu.XMLMenuBuilder.handle_moves
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - move_from_menu.Parent.Submenus.remove
    - child.tail.strip
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - ast.literal_eval
    - m.DirectoryDirs.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - node.attrib.get
    - _set.setdefault
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - xml.etree.cElementTree.fromstring
    - child.text.strip
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - xdg.Menu._get_menu_file_path
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - submenu.getMenuEntry
    - ast.And
    - submenu.getMenu
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - rule.apply
    - line.strip
    - subprocess.Popen
    - order.append
    - os.path.dirname
    - ast.fix_missing_locations
    - entry.getType
    - xdg.Menu.Header.__init__
    - menu.DirectoryDirs.reverse
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - menu.AppDirs.reverse
    - filename.endswith
    - ast.Expression
    - entry.DesktopEntry.getOnlyShowIn
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - entry.DesktopEntry.findTryExec
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - menu.Directories.reverse
    - xdg.Menu.XMLMenuBuilder.parse
    - xdg.Menu.Menu.sort
    - m.AppDirs.append
    - xdg.Menu.XMLMenuBuilder.post_parse
    - parent.DirectoryDirs.append
    - entry.DesktopEntry.getNoDisplay
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - submenu.getGenericName
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - xdg.Menu._dedupe
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - submenu.getComment
    - ast.BoolOp
    - menuentry.getType
    - xdg.MenuEditor.MenuEditor.__remove_whitespace_nodes
    - move.New.split
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.environ.get
    - os.path.abspath
    - line.lstrip
    - <builtin>.list
    - ast.Or
    - xml.etree.ElementTree.ElementTree
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.generate_only_allocated
    - xdg.Menu.MenuEntryCache.__init__
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - path.split
    - _entries.add
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - submenu.getName
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - dirs.pop
    - xml.etree.ElementTree.parse
    - ast.NameConstant
    - entries.append
    - xml.etree.ElementTree.fromstring
    - entries.index
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - menus.pop
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - menuentry.Parents.append
    - xml.etree.cElementTree.ElementTree
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - xdg.Menu.Menu.getMenu
    - xdg.Config.setRootMode
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - boolean
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: xdg.Config.setRootMode
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ae3df0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 615
    functionName: xdg.Menu.XMLMenuBuilder.parse
    functionSourceFile: xdg.Menu
    functionUses: 3
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - _list.reverse
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - xdg.Menu.XMLMenuBuilder.handle_moves
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - move_from_menu.Parent.Submenus.remove
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - ast.literal_eval
    - m.DirectoryDirs.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - node.attrib.get
    - _set.setdefault
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - xdg.Menu._get_menu_file_path
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - submenu.getMenuEntry
    - ast.And
    - submenu.getMenu
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - rule.apply
    - line.strip
    - subprocess.Popen
    - order.append
    - os.path.dirname
    - ast.fix_missing_locations
    - entry.getType
    - xdg.Menu.Header.__init__
    - menu.DirectoryDirs.reverse
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - menu.AppDirs.reverse
    - entry.DesktopEntry.getOnlyShowIn
    - filename.endswith
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - entry.DesktopEntry.findTryExec
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - menu.Directories.reverse
    - xdg.Menu.Menu.sort
    - m.AppDirs.append
    - xdg.Menu.XMLMenuBuilder.post_parse
    - parent.DirectoryDirs.append
    - entry.DesktopEntry.getNoDisplay
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - submenu.getGenericName
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - xdg.Menu._dedupe
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - submenu.getComment
    - ast.BoolOp
    - menuentry.getType
    - move.New.split
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - os.environ.get
    - line.lstrip
    - <builtin>.list
    - ast.Or
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.generate_only_allocated
    - xdg.Menu.MenuEntryCache.__init__
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - path.split
    - _entries.add
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - submenu.getName
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - dirs.pop
    - xml.etree.ElementTree.parse
    - ast.NameConstant
    - entries.append
    - entries.index
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - menus.pop
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - menuentry.Parents.append
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - xdg.Menu.Menu.getMenu
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.split
    functionSourceFile: os
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.parse
    functionSourceFile: xml
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.parse
    functionSourceFile: xml
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.fromstring
    functionSourceFile: xml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.fromstring
    functionSourceFile: xml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.ElementTree
    functionSourceFile: xml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.ElementTree
    functionSourceFile: xml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 521
    functionName: xdg.MenuEditor.MenuEditor.__remove_whitespace_nodes
    functionSourceFile: xdg.MenuEditor
    functionUses: 2
    functionsReached:
    - child.text.strip
    - <builtin>.len
    - child.tail.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 71
    functionName: xdg.MenuEditor.MenuEditor.save
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - xdg.Menu.Menu.getEntries
    - xdg.IniFile.IniFile.write
    - io.open
    - fp.write
    - os.stat
    - xdg.Menu.MenuEntry.save
    - xdg.util.u
    - os.path.isdir
    - <builtin>.isinstance
    - os.path.dirname
    - s.decode
    - group.items
    - os.makedirs
    - xdg.MenuEditor.MenuEditor.__saveEntries
    - os.chmod
    - xdg.MenuEditor.MenuEditor.__saveMenu
    - entry.save
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 322
    functionName: xdg.MenuEditor.MenuEditor.__saveEntries
    functionSourceFile: xdg.MenuEditor
    functionUses: 1
    functionsReached:
    - xdg.Menu.Menu.getEntries
    - xdg.IniFile.IniFile.write
    - io.open
    - fp.write
    - os.stat
    - xdg.Menu.MenuEntry.save
    - xdg.util.u
    - os.path.isdir
    - <builtin>.isinstance
    - os.path.dirname
    - s.decode
    - group.items
    - os.makedirs
    - xdg.MenuEditor.MenuEditor.__saveEntries
    - os.chmod
    - entry.save
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 333
    functionName: xdg.MenuEditor.MenuEditor.__saveMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 1
    functionsReached:
    - os.path.dirname
    - os.makedirs
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f02924991f0>
    - <ast.Constant object at 0x7f0292499910>
    - <ast.Constant object at 0x7f0292499a60>
    - <ast.Constant object at 0x7f0291bd0880>
    - <ast.Constant object at 0x7f0291bd0a90>
    - <ast.Constant object at 0x7f0291bd0eb0>
    - <ast.Constant object at 0x7f0291bd0820>
    argNames:
    - self
    - parent
    - name
    - command
    - genericname
    - comment
    - icon
    - terminal
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 75
    functionName: xdg.MenuEditor.MenuEditor.createMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - re.split
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - layout.parseMenuname
    - xdg.DesktopEntry.DesktopEntry.new
    - value.split
    - result.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - parent.Entries.append
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - element.remove
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - <builtin>.str
    - list.pop
    - <builtin>.set
    - submenu.getMenuEntry
    - submenu.getMenu
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - line.strip
    - os.path.dirname
    - xdg.Menu.Header.__init__
    - xdg.MenuEditor.MenuEditor.__getFileName
    - entry.DesktopEntry.getOnlyShowIn
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.float
    - layout.parseSeparator
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - entry.DesktopEntry.findTryExec
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - os.path.split
    - submenu.getGenericName
    - os.path.isfile
    - os.path.join
    - entry.Parents.append
    - xdg.Menu.MenuEntry.getDir
    - submenu.getComment
    - parent.Entries.insert
    - xdg.IniFile.IniFile.__addLocale
    - xdg.MenuEditor.MenuEditor.__addLayout
    - line.lstrip
    - layout.parseFilename
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.IniFile.IniFile.parse
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - parent.addSubmenu
    - xdg.Menu.Layout.__init__
    - parent.Entries.index
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - path.split
    - _entries.add
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - parent.getPath
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.editMenuEntry
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - parent.MenuEntries.append
    - element.findall
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - node.find
    - xdg.IniFile.IniFile.getList
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xdg.Menu.Menu.getMenu
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - extension
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 338
    functionName: xdg.MenuEditor.MenuEditor.__getFileName
    functionSourceFile: xdg.MenuEditor
    functionUses: 5
    functionsReached:
    - <builtin>.str
    - os.path.isfile
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02922da790>
    - <ast.Constant object at 0x7f02922da760>
    argNames:
    - self
    - filename
    - dir
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 459
    functionName: xdg.Menu.MenuEntry.__init__
    functionSourceFile: xdg.Menu
    functionUses: 27
    functionsReached:
    - os.path.split
    - line.strip
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - list.pop
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 16
    IfCount: 15
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f0291bb9c40>
    - <ast.Constant object at 0x7f0291bb99d0>
    - <ast.Constant object at 0x7f0291bb9a90>
    - <ast.Constant object at 0x7f0291bb9f40>
    - <ast.Constant object at 0x7f0291bb9e20>
    - <ast.Constant object at 0x7f0291bb9cd0>
    - <ast.Constant object at 0x7f0292a311f0>
    - <ast.Constant object at 0x7f0292a31370>
    argNames:
    - self
    - menuentry
    - name
    - genericname
    - comment
    - command
    - icon
    - terminal
    - nodisplay
    - hidden
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 145
    functionName: xdg.MenuEditor.MenuEditor.editMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 3
    functionsReached:
    - os.path.split
    - line.strip
    - submenu.getGenericName
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.Menu.Header.__init__
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntry.getDir
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.MenuEntry.getType
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - entry.DesktopEntry.getNotShowIn
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - xdg.Menu.Menu.sort
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - xdg.Menu.Separator.__init__
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - <builtin>.isinstance
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenu
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c1e340>
    - <ast.Constant object at 0x7f0291c1e310>
    argNames:
    - self
    - parent
    - entry
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 472
    functionName: xdg.MenuEditor.MenuEditor.__addEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 7
    functionsReached:
    - entry.Parents.append
    - path.split
    - parent.Entries.insert
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - layout.parseFilename
    - element.findall
    - parent.MenuEntries.append
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - parent.Entries.append
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - node.find
    - xml.etree.ElementTree.SubElement
    - element.remove
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Layout.__init__
    - parent.Entries.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 47
    ICount: 13
    IfCount: 33
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: xdg.Menu.Menu.sort
    functionSourceFile: xdg.Menu
    functionUses: 22
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.len
    - submenu.getName
    - submenu.getMenu
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenuEntry
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f02924945b0>
    - <ast.Constant object at 0x7f0292494fd0>
    - <ast.Constant object at 0x7f0291c424c0>
    - <ast.Constant object at 0x7f0291c42280>
    - <ast.Constant object at 0x7f0291c42370>
    argNames:
    - self
    - parent
    - name
    - genericname
    - comment
    - icon
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 85
    functionName: xdg.MenuEditor.MenuEditor.createMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - re.split
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - layout.parseMenuname
    - xdg.DesktopEntry.DesktopEntry.new
    - value.split
    - result.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - parent.Entries.append
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - element.remove
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.hasGroup
    - <builtin>.str
    - list.pop
    - <builtin>.set
    - submenu.getMenu
    - submenu.getMenuEntry
    - xdg.Menu.Menu.getPath
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - xdg.DesktopEntry.DesktopEntry.getName
    - line.strip
    - os.path.dirname
    - xdg.Menu.Header.__init__
    - xdg.MenuEditor.MenuEditor.__getFileName
    - entry.DesktopEntry.getOnlyShowIn
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.float
    - layout.parseSeparator
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - entry.DesktopEntry.findTryExec
    - xdg.MenuEditor.MenuEditor.editMenu
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - names.pop
    - os.path.split
    - submenu.getGenericName
    - os.path.isfile
    - os.path.join
    - entry.Parents.append
    - xdg.Menu.MenuEntry.getDir
    - submenu.getComment
    - parent.Entries.insert
    - xdg.IniFile.IniFile.__addLocale
    - xdg.MenuEditor.MenuEditor.__addLayout
    - line.lstrip
    - layout.parseFilename
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.IniFile.IniFile.parse
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - parent.addSubmenu
    - names.append
    - xdg.Menu.Layout.__init__
    - parent.Entries.index
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - path.split
    - _entries.add
    - names.reverse
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - parent.getPath
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - xml.etree.cElementTree.SubElement
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - parent.MenuEntries.append
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - xdg.Menu.Menu.__init__
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - node.find
    - xdg.IniFile.IniFile.getList
    - filename.replace
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xdg.Menu.Menu.getMenu
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: xdg.Menu.Menu.__init__
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 16
    IfCount: 16
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f0291f00040>
    - <ast.Constant object at 0x7f0291f00100>
    - <ast.Constant object at 0x7f0291f001c0>
    - <ast.Constant object at 0x7f0291f00850>
    - <ast.Constant object at 0x7f0291f00700>
    - <ast.Constant object at 0x7f0291f00250>
    argNames:
    - self
    - menu
    - name
    - genericname
    - comment
    - icon
    - nodisplay
    - hidden
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 187
    functionName: xdg.MenuEditor.MenuEditor.editMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 3
    functionsReached:
    - re.split
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - result.append
    - value.split
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.hasGroup
    - <builtin>.str
    - list.pop
    - <builtin>.set
    - submenu.getMenu
    - submenu.getMenuEntry
    - xdg.Menu.Menu.getPath
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - xdg.DesktopEntry.DesktopEntry.getName
    - line.strip
    - os.path.dirname
    - xdg.Menu.Header.__init__
    - xdg.MenuEditor.MenuEditor.__getFileName
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.float
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - entry.DesktopEntry.findTryExec
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - names.pop
    - os.path.split
    - submenu.getGenericName
    - os.path.isfile
    - os.path.join
    - xdg.Menu.MenuEntry.getDir
    - submenu.getComment
    - xdg.IniFile.IniFile.__addLocale
    - line.lstrip
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.IniFile.IniFile.parse
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - names.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - path.split
    - _entries.add
    - names.reverse
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - xml.etree.cElementTree.SubElement
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - node.find
    - xdg.IniFile.IniFile.getList
    - filename.replace
    - xdg.Menu.Menu.getMenu
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c42e50>
    - <ast.Constant object at 0x7f0291c42550>
    argNames:
    - self
    - parent
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 101
    functionName: xdg.MenuEditor.MenuEditor.createSeparator
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - entry.Parents.append
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - parent.Entries.insert
    - <builtin>.len
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - submenu.getMenuEntry
    - submenu.getName
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getHidden
    - layout.parseFilename
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - parent.MenuEntries.append
    - element.findall
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - parent.Entries.append
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenu
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 552
    functionName: xdg.Menu.Separator.__init__
    functionSourceFile: ''
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f02922b9850>
    - <ast.Constant object at 0x7f02922b9fa0>
    argNames:
    - self
    - menuentry
    - oldparent
    - newparent
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 110
    functionName: xdg.MenuEditor.MenuEditor.moveMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - entry.Parents.append
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - parent.Entries.insert
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.len
    - submenu.getName
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - submenu.getMenu
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - parent.MenuEntries.append
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - parent.Entries.append
    - node.find
    - xdg.Menu.Menu.sort
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenuEntry
    - entry.Parents.remove
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291e11310>
    - <ast.Constant object at 0x7f0291e11340>
    argNames:
    - self
    - parent
    - entry
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 495
    functionName: xdg.MenuEditor.MenuEditor.__deleteEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 6
    functionsReached:
    - parent.Submenus.remove
    - path.split
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - layout.parseFilename
    - element.findall
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - node.find
    - xml.etree.ElementTree.SubElement
    - element.remove
    - <builtin>.isinstance
    - xdg.Menu.Layout.__init__
    - entry.Parents.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f02922b9eb0>
    - <ast.Constant object at 0x7f02922b9460>
    argNames:
    - self
    - menu
    - oldparent
    - newparent
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 118
    functionName: xdg.MenuEditor.MenuEditor.moveMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - xdg.MenuEditor.MenuEditor.__addXmlMove
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - os.path.join
    - entry.Parents.append
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - parent.Entries.insert
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.len
    - submenu.getMenuEntry
    - submenu.getName
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - parent.MenuEntries.remove
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - parent.MenuEntries.append
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - newparent.getPath
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - parent.Entries.append
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - parent.Entries.remove
    - oldparent.getPath
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenu
    - entry.Parents.remove
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0292143850>
    - <ast.Constant object at 0x7f0292143820>
    argNames:
    - self
    - path
    - create
    - element
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 359
    functionName: xdg.MenuEditor.MenuEditor.__getXmlMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 15
    functionsReached:
    - element.findall
    - xml.etree.ElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - node.find
    - xml.etree.cElementTree.SubElement
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: oldparent.getPath
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: newparent.getPath
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - element
    - old
    - new
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 424
    functionName: xdg.MenuEditor.MenuEditor.__addXmlMove
    functionSourceFile: xdg.MenuEditor
    functionUses: 1
    functionsReached:
    - xml.etree.ElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xml.etree.cElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f02925a8790>
    - <ast.Constant object at 0x7f02925a8340>
    argNames:
    - self
    - separator
    - parent
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 130
    functionName: xdg.MenuEditor.MenuEditor.moveSeparator
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - entry.Parents.append
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - parent.Entries.insert
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.len
    - submenu.getName
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - submenu.getMenu
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - parent.MenuEntries.append
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - parent.Entries.append
    - node.find
    - xdg.Menu.Menu.sort
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenuEntry
    - entry.Parents.remove
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f02925a8b20>
    - <ast.Constant object at 0x7f02925a85b0>
    argNames:
    - self
    - menuentry
    - oldparent
    - newparent
    - after
    - before
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 138
    functionName: xdg.MenuEditor.MenuEditor.copyMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - entry.Parents.append
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - parent.Entries.insert
    - <builtin>.len
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - submenu.getMenuEntry
    - submenu.getName
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - parent.MenuEntries.append
    - element.findall
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - parent.Entries.append
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.MenuEditor.MenuEditor.__addEntry
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - parent.addSubmenu
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenu
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 508
    functionName: xdg.Menu.MenuEntry.updateAttributes
    functionSourceFile: xdg.Menu
    functionUses: 8
    functionsReached:
    - os.path.split
    - line.strip
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntry.getDir
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291bc1670>
    - <ast.Constant object at 0x7f0292851400>
    argNames:
    - self
    - org
    - toplevel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 190
    functionName: xdg.Menu.Menu.getPath
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - names.reverse
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - names.append
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.__getBoolean
    - re.split
    - os.path.join
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - value.split
    - re.compile
    - result.append
    - names.pop
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - element
    - name
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: xdg.MenuEditor.MenuEditor.__addXmlTextElement
    functionSourceFile: xdg.MenuEditor
    functionUses: 18
    functionsReached:
    - xml.etree.ElementTree.SubElement
    - xml.etree.cElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02922dbf10>
    - <ast.Constant object at 0x7f02922dbee0>
    argNames:
    - self
    - filename
    - dir
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 500
    functionName: xdg.Menu.MenuEntry.setAttributes
    functionSourceFile: xdg.Menu
    functionUses: 28
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.int
    - re.split
    - os.path.join
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - result.append
    - os.path.isabs
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.replace
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menuentry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 238
    functionName: xdg.MenuEditor.MenuEditor.hideMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - os.path.split
    - line.strip
    - submenu.getGenericName
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.Menu.Header.__init__
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntry.getDir
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.MenuEntry.getType
    - xdg.MenuEditor.MenuEditor.editMenuEntry
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - entry.DesktopEntry.getNotShowIn
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - xdg.Menu.Menu.sort
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - xdg.Menu.Separator.__init__
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - <builtin>.isinstance
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenu
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menuentry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 241
    functionName: xdg.MenuEditor.MenuEditor.unhideMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - os.path.split
    - line.strip
    - submenu.getGenericName
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.Menu.Header.__init__
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntry.getDir
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.MenuEntry.getType
    - xdg.MenuEditor.MenuEditor.editMenuEntry
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - entry.DesktopEntry.getNotShowIn
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - xdg.Menu.Menu.sort
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - xdg.Menu.Separator.__init__
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - <builtin>.isinstance
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenu
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 244
    functionName: xdg.MenuEditor.MenuEditor.hideMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - re.split
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - result.append
    - value.split
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.hasGroup
    - <builtin>.str
    - list.pop
    - <builtin>.set
    - submenu.getMenu
    - submenu.getMenuEntry
    - xdg.Menu.Menu.getPath
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - xdg.DesktopEntry.DesktopEntry.getName
    - line.strip
    - os.path.dirname
    - xdg.Menu.Header.__init__
    - xdg.MenuEditor.MenuEditor.__getFileName
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.float
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - entry.DesktopEntry.findTryExec
    - xdg.MenuEditor.MenuEditor.editMenu
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - names.pop
    - os.path.split
    - submenu.getGenericName
    - os.path.isfile
    - os.path.join
    - xdg.Menu.MenuEntry.getDir
    - submenu.getComment
    - xdg.IniFile.IniFile.__addLocale
    - line.lstrip
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.IniFile.IniFile.parse
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - names.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - path.split
    - _entries.add
    - names.reverse
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - xml.etree.cElementTree.SubElement
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - node.find
    - xdg.IniFile.IniFile.getList
    - filename.replace
    - xdg.Menu.Menu.getMenu
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 247
    functionName: xdg.MenuEditor.MenuEditor.unhideMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - re.split
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - result.append
    - value.split
    - xml_menu.remove
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.hasGroup
    - <builtin>.str
    - list.pop
    - <builtin>.set
    - submenu.getMenu
    - submenu.getMenuEntry
    - xdg.Menu.Menu.getPath
    - os.path.isabs
    - value.strip
    - xml_menu.findall
    - entry.DesktopEntry.getNotShowIn
    - xdg.DesktopEntry.DesktopEntry.getName
    - line.strip
    - os.path.dirname
    - xdg.Menu.Header.__init__
    - xdg.MenuEditor.MenuEditor.__getFileName
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.float
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - entry.DesktopEntry.findTryExec
    - xdg.MenuEditor.MenuEditor.editMenu
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - names.pop
    - os.path.split
    - submenu.getGenericName
    - os.path.isfile
    - os.path.join
    - xdg.Menu.MenuEntry.getDir
    - submenu.getComment
    - menu.getPath
    - xdg.IniFile.IniFile.__addLocale
    - line.lstrip
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.IniFile.IniFile.parse
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - names.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - path.split
    - _entries.add
    - names.reverse
    - submenu.getName
    - xdg.Menu.MenuEntry.updateAttributes
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - xml.etree.cElementTree.SubElement
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - node.find
    - xdg.IniFile.IniFile.getList
    - filename.replace
    - xdg.Menu.Menu.getMenu
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menu.getPath
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml_menu.findall
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml_menu.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menuentry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 255
    functionName: xdg.MenuEditor.MenuEditor.deleteMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - entry.getType
    - xdg.Menu.Header.__init__
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.len
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - entry.Directory.getType
    - submenu.getName
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - xdg.MenuEditor.MenuEditor.__deleteFile
    - layout.parseSeparator
    - parent.getPath
    - submenu.getMenu
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - element.findall
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getTryExec
    - xdg.MenuEditor.MenuEditor.getAction
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - os.remove
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenuEntry
    - entry.Parents.remove
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - entry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: xdg.MenuEditor.MenuEditor.getAction
    functionSourceFile: xdg.MenuEditor
    functionUses: 4
    functionsReached:
    - entry.Directory.getType
    - <builtin>.len
    - entry.getType
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 511
    functionName: xdg.MenuEditor.MenuEditor.__deleteFile
    functionSourceFile: xdg.MenuEditor
    functionUses: 4
    functionsReached:
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menuentry
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 263
    functionName: xdg.MenuEditor.MenuEditor.revertMenuEntry
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - entry.getType
    - xdg.Menu.Header.__init__
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - <builtin>.len
    - entry.Directory.getType
    - menuentry.Original.Parents.append
    - submenu.getName
    - xdg.MenuEditor.MenuEditor.__deleteFile
    - submenu.getMenu
    - parent.MenuEntries.index
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - xdg.MenuEditor.MenuEditor.getAction
    - menuentry.DesktopEntry.set
    - xdg.Menu.Menu.sort
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.Separator.__init__
    - os.remove
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenuEntry
    - parent.Entries.index
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Entries.index
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.MenuEntries.index
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menuentry.Original.Parents.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 276
    functionName: xdg.MenuEditor.MenuEditor.deleteMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - entry.getType
    - xdg.Menu.Header.__init__
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - <builtin>.len
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - entry.Directory.getType
    - submenu.getName
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - menu.getPath
    - xdg.MenuEditor.MenuEditor.__deleteFile
    - layout.parseSeparator
    - parent.getPath
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - parent.remove
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - layout.parseFilename
    - entry.DesktopEntry.getTryExec
    - xdg.MenuEditor.MenuEditor.getAction
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - xdg.MenuEditor.MenuEditor.__iter_parent
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - os.remove
    - xdg.MenuEditor.MenuEditor.__get_parent_node
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenu
    - entry.Parents.remove
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 532
    functionName: xdg.MenuEditor.MenuEditor.__get_parent_node
    functionSourceFile: xdg.MenuEditor
    functionUses: 1
    functionsReached:
    - xdg.MenuEditor.MenuEditor.__iter_parent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 286
    functionName: xdg.MenuEditor.MenuEditor.revertMenu
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - entry.getType
    - xdg.Menu.Header.__init__
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - <builtin>.len
    - entry.Directory.getType
    - submenu.getName
    - xdg.MenuEditor.MenuEditor.__deleteFile
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - entry.DesktopEntry.getTryExec
    - xdg.MenuEditor.MenuEditor.getAction
    - menuentry.DesktopEntry.set
    - xdg.Menu.Menu.sort
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - os.remove
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - submenu.getMenu
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - separator
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 293
    functionName: xdg.MenuEditor.MenuEditor.deleteSeparator
    functionSourceFile: xdg.MenuEditor
    functionUses: 0
    functionsReached:
    - submenu.getGenericName
    - xdg.Menu.Header.__init__
    - parent.Submenus.remove
    - path.split
    - submenu.getComment
    - _entries.add
    - entry.DesktopEntry.getOnlyShowIn
    - submenu.getMenuEntry
    - xdg.MenuEditor.MenuEditor.__addXmlLayout
    - <builtin>.len
    - submenu.getName
    - parent.MenuEntries.remove
    - layout.parseMenuname
    - layout.parseSeparator
    - parent.getPath
    - xdg.MenuEditor.MenuEditor.__deleteEntry
    - xml.etree.cElementTree.SubElement
    - xdg.MenuEditor.MenuEditor.__addLayout
    - entry.Directory.DesktopEntry.getHidden
    - entry.DesktopEntry.findTryExec
    - layout.parseFilename
    - element.findall
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - xdg.Menu.Menu.merge_inline
    - entry.DesktopEntry.getHidden
    - xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    - entry.DesktopEntry.getTryExec
    - menuentry.DesktopEntry.set
    - xdg.MenuEditor.MenuEditor.__getXmlMenu
    - xdg.MenuEditor.MenuEditor.__addXmlFilename
    - parent.Entries.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xdg.Menu.Menu.sort
    - node.find
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - entry.DesktopEntry.getNoDisplay
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.Menu.Menu.getMenu
    - <builtin>.set
    - xdg.Menu.Layout.__init__
    - submenu.getMenu
    - entry.Parents.remove
    - entry.DesktopEntry.getNotShowIn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.Directory.getType
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.getType
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 479
    functionName: xdg.Menu.MenuEntry.save
    functionSourceFile: xdg.Menu
    functionUses: 2
    functionsReached:
    - xdg.IniFile.IniFile.write
    - io.open
    - fp.write
    - xdg.util.u
    - os.path.isdir
    - os.path.dirname
    - s.decode
    - group.items
    - os.makedirs
    - os.chmod
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f02924a23d0>
    argNames:
    - self
    - show_hidden
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 159
    functionName: xdg.Menu.Menu.getEntries
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.save
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.split
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.findall
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.find
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - element
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 391
    functionName: xdg.MenuEditor.MenuEditor.__addXmlMenuElement
    functionSourceFile: xdg.MenuEditor
    functionUses: 16
    functionsReached:
    - xml.etree.ElementTree.SubElement
    - xml.etree.cElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.SubElement
    functionSourceFile: xml
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.SubElement
    functionSourceFile: xml
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c24c70>
    argNames:
    - self
    - element
    - filename
    - type_
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 402
    functionName: xdg.MenuEditor.MenuEditor.__addXmlFilename
    functionSourceFile: xdg.MenuEditor
    functionUses: 12
    functionsReached:
    - element.findall
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xml.etree.cElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.remove
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - element
    - layout
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 430
    functionName: xdg.MenuEditor.MenuEditor.__addXmlLayout
    functionSourceFile: xdg.MenuEditor
    functionUses: 12
    functionsReached:
    - element.findall
    - xml.etree.ElementTree.SubElement
    - element.remove
    - xdg.MenuEditor.MenuEditor.__addXmlTextElement
    - xml.etree.cElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 449
    functionName: xdg.MenuEditor.MenuEditor.__addLayout
    functionSourceFile: xdg.MenuEditor
    functionUses: 12
    functionsReached:
    - layout.parseFilename
    - layout.parseMenuname
    - layout.parseSeparator
    - <builtin>.isinstance
    - xdg.Menu.Layout.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f02922ce550>
    - <ast.Constant object at 0x7f02922ce520>
    - <ast.Constant object at 0x7f02922ce4f0>
    - <ast.Constant object at 0x7f02922ce4c0>
    - <ast.Constant object at 0x7f02922ce490>
    argNames:
    - self
    - show_empty
    - inline
    - inline_limit
    - inline_header
    - inline_alias
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 383
    functionName: xdg.Menu.Layout.__init__
    functionSourceFile: ''
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: layout.parseMenuname
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: layout.parseFilename
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: layout.parseSeparator
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Entries.insert
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Entries.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.getPath
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.MenuEntries.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.Parents.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.addSubmenu
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Entries.remove
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.Parents.remove
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.MenuEntries.remove
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Submenus.remove
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.text.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.tail.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 538
    functionName: xdg.MenuEditor.MenuEditor.__iter_parent
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Config
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - wm
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: xdg.Config.setWindowManager
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - theme
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: xdg.Config.setIconTheme
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - size
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: xdg.Config.setIconSize
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - time
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: xdg.Config.setCacheTime
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - lang
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 30
    functionName: xdg.Config.setLocale
    functionSourceFile: xdg.Config
    functionUses: 0
    functionsReached:
    - os.environ.get
    - locale.normalize.find
    - locale.setlocale
    - xdg.Locale.update
    - <builtin>.range
    - val.split
    - xdg.Locale._expand_lang
    - locale.normalize
    - ret.append
    - ret.reverse
    - nelangs.append
    - xdg.Locale.expand_languages
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.setlocale
    functionSourceFile: locale
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: xdg.IconTheme
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - os.path.join
    - icondirs.append
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 17
    functionName: xdg.IconTheme.IconTheme.__init__
    functionSourceFile: xdg.IconTheme
    functionUses: 2
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.IniFile.IniFile.__init__
    - value.strip
    - xdg.IconTheme.IconData.parse
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: xdg.IconTheme.IconTheme.__repr__
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: xdg.IconTheme.IconTheme.getDir
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 32
    functionName: xdg.IconTheme.IconTheme.getName
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 34
    functionName: xdg.IconTheme.IconTheme.getComment
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 36
    functionName: xdg.IconTheme.IconTheme.getInherits
    functionSourceFile: xdg.IconTheme
    functionUses: 2
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 38
    functionName: xdg.IconTheme.IconTheme.getDirectories
    functionSourceFile: xdg.IconTheme
    functionUses: 3
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 40
    functionName: xdg.IconTheme.IconTheme.getScaledDirectories
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 42
    functionName: xdg.IconTheme.IconTheme.getHidden
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 44
    functionName: xdg.IconTheme.IconTheme.getExample
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 48
    functionName: xdg.IconTheme.IconTheme.getSize
    functionSourceFile: xdg.IconTheme
    functionUses: 2
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 50
    functionName: xdg.IconTheme.IconTheme.getContext
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 52
    functionName: xdg.IconTheme.IconTheme.getType
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 58
    functionName: xdg.IconTheme.IconTheme.getMaxSize
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconTheme.getSize
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 64
    functionName: xdg.IconTheme.IconTheme.getMinSize
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconTheme.getSize
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 70
    functionName: xdg.IconTheme.IconTheme.getThreshold
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 77
    functionName: xdg.IconTheme.IconTheme.getScale
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 189
    functionName: xdg.IconTheme.IconData.__init__
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - os.path.split
    - line.lstrip
    - io.open
    - line.strip
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - os.path.dirname
    - key.strip
    - os.path.isfile
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.parse
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.IniFile.IniFile.__init__
    - value.strip
    - xdg.IconTheme.IconData.parse
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 192
    functionName: xdg.IconTheme.IconData.__repr__
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.IconTheme.IconData.getDisplayName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: xdg.IconTheme.IconData.getDisplayName
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 206
    functionName: xdg.IconTheme.IconData.getEmbeddedTextRectangle
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 210
    functionName: xdg.IconTheme.IconData.getAttachPoints
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: group.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: icondirs.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.expanduser
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c424f0>
    - <ast.Constant object at 0x7f0291c42f70>
    - <ast.List object at 0x7f0291c429d0>
    argNames:
    - iconname
    - size
    - theme
    - extensions
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 254
    functionName: xdg.IconTheme.getIconPath
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - os.path.split
    - line.strip
    - dir_cache.items
    - os.path.dirname
    - xdg.IconTheme.LookupIcon
    - xdg.IconTheme.IconTheme.getInherits
    - os.path.isfile
    - os.path.join
    - re.split
    - time.time
    - xdg.IniFile.IniFile.__init__
    - theme.getMaxSize
    - <builtin>.float
    - os.path.splitext
    - theme.getMinSize
    - xdg.IniFile.IniFile.__addLocale
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - os.path.getmtime
    - result.append
    - line.lstrip
    - <builtin>.list
    - xdg.IniFile.IniFile.get
    - theme.getDirectories
    - key.strip
    - xdg.IconTheme.DirectorySizeDistance
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - theme.getThreshold
    - theme.getSize
    - theme.getType
    - xdg.IconTheme.DirectoryMatchesSize
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.IconTheme.IconTheme.parse
    - os.path.isdir
    - line.split
    - xdg.IconTheme.__get_themes
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - xdg.IconTheme.getIconPath
    - <builtin>.abs
    - list.pop
    - <builtin>.tuple
    - os.listdir
    - os.path.isabs
    - xdg.IconTheme.IconTheme.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isabs
    functionSourceFile: os
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - themename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 351
    functionName: xdg.IconTheme.__get_themes
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - os.path.split
    - line.strip
    - os.path.dirname
    - xdg.IconTheme.IconTheme.getInherits
    - os.path.isfile
    - os.path.join
    - re.split
    - xdg.IniFile.IniFile.__init__
    - <builtin>.float
    - xdg.IniFile.IniFile.hasKey
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - line.lstrip
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IconTheme.__get_themes
    - xdg.IniFile.IniFile.hasGroup
    - list.pop
    - value.strip
    - xdg.IconTheme.IconTheme.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.time
    functionSourceFile: time
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - iconname
    - size
    - theme
    - extensions
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 374
    functionName: xdg.IconTheme.LookupIcon
    functionSourceFile: xdg.IconTheme
    functionUses: 1
    functionsReached:
    - theme.getMaxSize
    - theme.getSize
    - os.path.isdir
    - theme.getDirectories
    - xdg.IconTheme.DirectorySizeDistance
    - os.path.join
    - theme.getMinSize
    - <builtin>.abs
    - <builtin>.int
    - theme.getThreshold
    - os.path.getmtime
    - os.listdir
    - theme.getType
    - time.time
    - xdg.IconTheme.DirectoryMatchesSize
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getmtime
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dir_cache.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 336
    functionName: xdg.IconTheme.getIconData
    functionSourceFile: xdg.IconTheme
    functionUses: 0
    functionsReached:
    - os.path.split
    - line.strip
    - os.path.dirname
    - os.path.isfile
    - xdg.IniFile.IniFile.__init__
    - os.path.splitext
    - xdg.IniFile.IniFile.hasKey
    - xdg.DesktopEntry.DesktopEntry.parse
    - line.lstrip
    - key.strip
    - xdg.IniFile.IniFile.parse
    - xdg.IconTheme.IconData.parse
    - io.open
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - xdg.IconTheme.IconData.__init__
    - value.strip
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getDirectories
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - subdir
    - iconsize
    - theme
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 413
    functionName: xdg.IconTheme.DirectoryMatchesSize
    functionSourceFile: xdg.IconTheme
    functionUses: 2
    functionsReached:
    - theme.getMaxSize
    - theme.getMinSize
    - theme.getThreshold
    - theme.getSize
    - theme.getType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - subdir
    - iconsize
    - theme
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 426
    functionName: xdg.IconTheme.DirectorySizeDistance
    functionSourceFile: xdg.IconTheme
    functionUses: 2
    functionsReached:
    - theme.getMaxSize
    - theme.getMinSize
    - <builtin>.abs
    - theme.getThreshold
    - theme.getSize
    - theme.getType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getType
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getSize
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getThreshold
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getMinSize
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: theme.getMaxSize
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: xdg.BaseDirectory
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.path.expanduser
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: xdg.BaseDirectory.save_config_path
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - resource.startswith
    - os.path.join
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: xdg.BaseDirectory.save_data_path
    functionSourceFile: xdg.BaseDirectory
    functionUses: 1
    functionsReached:
    - os.path.isdir
    - resource.startswith
    - os.path.join
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: xdg.BaseDirectory.save_cache_path
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - resource.startswith
    - os.path.join
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: xdg.BaseDirectory.save_state_path
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - resource.startswith
    - os.path.join
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: xdg.BaseDirectory.load_config_paths
    functionSourceFile: xdg.BaseDirectory
    functionUses: 1
    functionsReached:
    - os.path.join
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: xdg.BaseDirectory.load_first_config
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - xdg.BaseDirectory.load_config_paths
    - os.path.join
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - resource
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: xdg.BaseDirectory.load_data_paths
    functionSourceFile: xdg.BaseDirectory
    functionUses: 13
    functionsReached:
    - os.path.join
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c42b80>
    argNames:
    - strict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: xdg.BaseDirectory.get_runtime_dir
    functionSourceFile: xdg.BaseDirectory
    functionUses: 0
    functionsReached:
    - os.lstat
    - os.getuid
    - os.rmdir
    - os.unlink
    - getpass.getuser
    - stat.S_ISDIR
    - os.mkdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.lstat
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISDIR
    functionSourceFile: stat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.unlink
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getuid
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.rmdir
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.mkdir
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Menu
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: xdg.Menu._ast_const
    functionSourceFile: xdg.Menu
    functionUses: 13
    functionsReached:
    - ast.Name
    - ast.Load
    - ast.Constant
    - ast.NameConstant
    - ast.literal_eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.literal_eval
    functionSourceFile: ast
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Constant
    functionSourceFile: ast
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.NameConstant
    functionSourceFile: ast
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Load
    functionSourceFile: ast
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Name
    functionSourceFile: ast
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: xdg.Menu._strxfrm
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - locale.strxfrm
    - s.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.strxfrm
    functionSourceFile: locale
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: xdg.Menu.Menu.__str__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: xdg.Menu.Menu.__add__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.Menu.Menu.addSubmenu
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - newmenu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 340
    functionName: xdg.Menu.Menu.addSubmenu
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 138
    functionName: xdg.Menu.Menu.__cmp__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - other.getName
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.__getBoolean
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - value.split
    - re.compile
    - result.append
    - locale.strcoll
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 211
    functionName: xdg.Menu.Menu.getName
    functionSourceFile: xdg.Menu
    functionUses: 8
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.getName
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.strcoll
    functionSourceFile: locale
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 141
    functionName: xdg.Menu.Menu._key
    functionSourceFile: xdg.Menu
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - s.encode
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.Menu._strxfrm
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - value.split
    - locale.strxfrm
    - result.append
    - re.compile
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 145
    functionName: xdg.Menu.Menu.__lt__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.DesktopEntry.DesktopEntry.getName
    - re.split
    - <builtin>.float
    - s.encode
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.IniFile.IniFile.get
    - xdg.Menu.Menu._key
    - other._key
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - re.search
    - xdg.IniFile.IniFile.getList
    - <builtin>.isinstance
    - xdg.Menu.Menu.getName
    - xdg.Menu._strxfrm
    - list.pop
    - locale.strxfrm
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other._key
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: xdg.Menu.Menu.__eq__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02925954f0>
    argNames:
    - self
    - desktopfileid
    - deep
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: xdg.Menu.Menu.getMenuEntry
    functionSourceFile: xdg.Menu
    functionUses: 23
    functionsReached:
    - submenu.getMenuEntry
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.getMenuEntry
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: xdg.Menu.Menu.getMenu
    functionSourceFile: xdg.Menu
    functionUses: 24
    functionsReached:
    - submenu.getMenu
    - <builtin>.len
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.getMenu
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: names.reverse
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: names.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 218
    functionName: xdg.Menu.Menu.getGenericName
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - xdg.DesktopEntry.DesktopEntry.getGenericName
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 225
    functionName: xdg.Menu.Menu.getComment
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - xdg.DesktopEntry.DesktopEntry.getComment
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 232
    functionName: xdg.Menu.Menu.getIcon
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getIcon
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.sort
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _entries.add
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _submenus.add
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - submenu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: xdg.Menu.Menu.merge_inline
    functionSourceFile: xdg.Menu
    functionUses: 23
    functionsReached:
    - <builtin>.len
    - submenu.getName
    - submenu.getGenericName
    - menuentry.DesktopEntry.set
    - xdg.Menu.Header.__init__
    - submenu.getComment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.Directory.DesktopEntry.getNoDisplay
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.Directory.DesktopEntry.getHidden
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.getNoDisplay
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.getHidden
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.getTryExec
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.findTryExec
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.getOnlyShowIn
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry.DesktopEntry.getNotShowIn
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.getName
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menuentry.DesktopEntry.set
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.getGenericName
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submenu.getComment
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - generic_name
    - comment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 559
    functionName: xdg.Menu.Header.__init__
    functionSourceFile: ''
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f02922cec10>
    - <ast.Constant object at 0x7f02922cebe0>
    argNames:
    - self
    - old
    - new
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: xdg.Menu.Move.__init__
    functionSourceFile: xdg.Menu
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 377
    functionName: xdg.Menu.Move.__cmp__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - order
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 401
    functionName: xdg.Menu.Layout.order
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - type
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 411
    functionName: xdg.Menu.Rule.fromFilename
    functionSourceFile: xdg.Menu
    functionUses: 13
    functionsReached:
    - ast.Eq
    - ast.Expression
    - ast.Name
    - ast.Str
    - xdg.Menu.Rule.__init__
    - ast.Compare
    - ast.fix_missing_locations
    - ast.Load
    - <builtin>.compile
    - ast.Attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Str
    functionSourceFile: ast
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Eq
    functionSourceFile: ast
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Attribute
    functionSourceFile: ast
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Compare
    functionSourceFile: ast
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Expression
    functionSourceFile: ast
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.fix_missing_locations
    functionSourceFile: ast
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - type
    - expression
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 428
    functionName: xdg.Menu.Rule.__init__
    functionSourceFile: xdg.Menu
    functionUses: 15
    functionsReached:
    - <builtin>.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.compile
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 435
    functionName: xdg.Menu.Rule.__str__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - ast.dump
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.dump
    functionSourceFile: ast
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - menuentries
    - run
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 438
    functionName: xdg.Menu.Rule.apply
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - <builtin>.eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.eval
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 484
    functionName: xdg.Menu.MenuEntry.getDir
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 488
    functionName: xdg.Menu.MenuEntry.getType
    functionSourceFile: xdg.Menu
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 513
    functionName: xdg.Menu.MenuEntry.__setFilename
    functionSourceFile: xdg.Menu
    functionUses: 29
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - <builtin>.int
    - re.split
    - os.path.join
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - result.append
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 526
    functionName: xdg.Menu.MenuEntry.__cmp__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - value.split
    - other.DesktopEntry.getName
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - result.append
    - locale.strcoll
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.DesktopEntry.getName
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 529
    functionName: xdg.Menu.MenuEntry._key
    functionSourceFile: xdg.Menu
    functionUses: 1
    functionsReached:
    - xdg.IniFile.IniFile.getList
    - xdg.DesktopEntry.DesktopEntry.getName
    - <builtin>.float
    - xdg.IniFile.IniFile.get
    - s.encode
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.Menu._strxfrm
    - re.split
    - xdg.IniFile.IniFile.__addLocale
    - list.pop
    - <builtin>.int
    - value.split
    - locale.strxfrm
    - result.append
    - re.compile
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 533
    functionName: xdg.Menu.MenuEntry.__lt__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - xdg.DesktopEntry.DesktopEntry.getName
    - re.split
    - <builtin>.float
    - s.encode
    - xdg.IniFile.IniFile.__addLocale
    - value.split
    - result.append
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry._key
    - other._key
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - re.search
    - xdg.IniFile.IniFile.getList
    - <builtin>.isinstance
    - xdg.Menu._strxfrm
    - list.pop
    - locale.strxfrm
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 540
    functionName: xdg.Menu.MenuEntry.__eq__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 546
    functionName: xdg.Menu.MenuEntry.__repr__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 564
    functionName: xdg.Menu.Header.__str__
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - filename
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 571
    functionName: xdg.Menu._check_file_path
    functionSourceFile: xdg.Menu
    functionUses: 17
    functionsReached:
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - os.path.join
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: os
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 585
    functionName: xdg.Menu._get_menu_file_path
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - os.path.isfile
    - os.path.join
    - dirs.pop
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dirs.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 595
    functionName: xdg.Menu._to_bool
    functionSourceFile: xdg.Menu
    functionUses: 11
    functionsReached:
    - value.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - _list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 602
    functionName: xdg.Menu._dedupe
    functionSourceFile: xdg.Menu
    functionUses: 5
    functionsReached:
    - _list.reverse
    - _set.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _list.reverse
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _set.setdefault
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.endswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1082
    functionName: xdg.Menu.MenuEntryCache.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tree.getroot
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 660
    functionName: xdg.Menu.XMLMenuBuilder.parse_menu
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1051
    functionName: xdg.Menu.XMLMenuBuilder.handle_moves
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - xdg.Menu.XMLMenuBuilder.handle_moves
    - <builtin>.len
    - xdg.Menu.Menu.addSubmenu
    - menus.pop
    - move.New.split
    - move_from_menu.Parent.Submenus.remove
    - xdg.Menu.Menu.__init__
    - xdg.Menu.Menu.getMenu
    - submenu.getMenu
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 4
    IfCount: 13
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 961
    functionName: xdg.Menu.XMLMenuBuilder.post_parse
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - os.path.split
    - line.strip
    - _list.reverse
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - os.path.join
    - xdg.Menu._dedupe
    - re.split
    - menu.DirectoryDirs.reverse
    - xdg.IniFile.IniFile.set
    - menu.AppDirs.reverse
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - _set.setdefault
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - menu.Directories.reverse
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.post_parse
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - xdg.Menu.Layout.__init__
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1018
    functionName: xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - os.path.split
    - rule.apply
    - item.endswith
    - line.strip
    - entry.getType
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - menuentry.getType
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - entries.index
    - entries.append
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - ids.add
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    - xdg.Menu.MenuEntry.setAttributes
    - menuentry.Parents.append
    - xdg.IconTheme.IconTheme.parse
    - os.path.isdir
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - appdirs.append
    - xdg.Menu.MenuEntry.__init__
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - list.pop
    - os.listdir
    - <builtin>.dict
    - os.path.isabs
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - menu
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1035
    functionName: xdg.Menu.XMLMenuBuilder.generate_only_allocated
    functionSourceFile: xdg.Menu
    functionUses: 4
    functionsReached:
    - os.path.split
    - rule.apply
    - item.endswith
    - line.strip
    - entry.getType
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - menuentry.getType
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - entries.index
    - entries.append
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.Menu.XMLMenuBuilder.generate_only_allocated
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - ids.add
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - menuentry.Parents.append
    - xdg.IconTheme.IconTheme.parse
    - os.path.isdir
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - appdirs.append
    - xdg.Menu.MenuEntry.__init__
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - list.pop
    - os.listdir
    - <builtin>.dict
    - os.path.isabs
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 35
    ICount: 14
    IfCount: 24
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291ae5f70>
    argNames:
    - self
    - node
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 665
    functionName: xdg.Menu.XMLMenuBuilder.parse_node
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - value
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 824
    functionName: xdg.Menu.XMLMenuBuilder.parse_app_dir
    functionSourceFile: xdg.Menu
    functionUses: 11
    functionsReached:
    - parent.AppDirs.append
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - os.path.join
    - xdg.Menu._check_file_path
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 829
    functionName: xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - parent.AppDirs.append
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - <builtin>.reversed
    - os.path.join
    - xdg.Menu._check_file_path
    - os.path.isfile
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - value
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 833
    functionName: xdg.Menu.XMLMenuBuilder.parse_directory_dir
    functionSourceFile: xdg.Menu
    functionUses: 11
    functionsReached:
    - parent.DirectoryDirs.append
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - os.path.join
    - xdg.Menu._check_file_path
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 838
    functionName: xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - parent.DirectoryDirs.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - os.path.isdir
    - os.path.exists
    - os.path.dirname
    - os.path.isfile
    - <builtin>.reversed
    - os.path.join
    - xdg.Menu._check_file_path
    - os.path.isabs
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Directories.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 764
    functionName: xdg.Menu.XMLMenuBuilder.parse_rule
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - ast.Not
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - ast.fix_missing_locations
    - ast.In
    - ast.UnaryOp
    - ast.Name
    - ast.Expression
    - ast.BoolOp
    - ast.Eq
    - <builtin>.len
    - xdg.Menu.Rule.__init__
    - ast.Compare
    - values.append
    - <builtin>.compile
    - ast.NameConstant
    - ast.literal_eval
    - ast.Or
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - ast.Str
    - ast.Constant
    - xdg.Menu._ast_const
    - ast.And
    - ast.Attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Rules.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.attrib.get
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - value
    - child
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 844
    functionName: xdg.Menu.XMLMenuBuilder.parse_merge_file
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - value
    - child
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 860
    functionName: xdg.Menu.XMLMenuBuilder.parse_merge_dir
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.path.basename
    - os.listdir
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - child
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 870
    functionName: xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.path.basename
    - os.listdir
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 751
    functionName: xdg.Menu.XMLMenuBuilder.parse_move
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - text.strip
    - xdg.Menu.Move.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.Moves.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 717
    functionName: xdg.Menu.XMLMenuBuilder.parse_layout
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - xdg.Menu._to_bool
    - xdg.Menu.Layout.__init__
    - value.lower
    - order.append
    - <builtin>.isinstance
    - node.attrib.get
    - <builtin>.int
    - text.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - dir_
    - prefix
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 901
    functionName: xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    functionSourceFile: xdg.Menu
    functionUses: 11
    functionsReached:
    - m.Rules.append
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - value.split
    - result.append
    - m.DirectoryDirs.append
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - value.strip
    - os.path.isabs
    - line.strip
    - entry.getType
    - ast.fix_missing_locations
    - os.path.dirname
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - m.Directories.append
    - xdg.Menu.MenuEntry.__setFilename
    - m.AppDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - os.path.basename
    - os.listdir
    - os.path.split
    - os.path.isfile
    - os.path.join
    - menuentry.getType
    - ast.Compare
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - categories.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntryCache.add_menu_entries
    - ast.Eq
    - os.path.splitext
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - os.path.isdir
    - ast.Attribute
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 944
    functionName: xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    functionSourceFile: xdg.Menu
    functionUses: 10
    functionsReached:
    - m.Rules.append
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - value.split
    - result.append
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - os.path.isabs
    - value.strip
    - line.strip
    - subprocess.Popen
    - entry.getType
    - os.path.dirname
    - ast.fix_missing_locations
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - m.Directories.append
    - xdg.Menu.MenuEntry.__setFilename
    - m.AppDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - os.path.split
    - os.path.isfile
    - os.path.join
    - menuentry.getType
    - ast.Compare
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - categories.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntryCache.add_menu_entries
    - ast.Eq
    - proc.communicate
    - os.path.splitext
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - os.path.isdir
    - ast.Attribute
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.attrib.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: order.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Or
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - operator
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 775
    functionName: xdg.Menu.XMLMenuBuilder.parse_bool_op
    functionSourceFile: xdg.Menu
    functionUses: 12
    functionsReached:
    - ast.Not
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - ast.In
    - ast.UnaryOp
    - ast.Name
    - ast.BoolOp
    - ast.Eq
    - <builtin>.len
    - ast.Compare
    - values.append
    - ast.NameConstant
    - ast.literal_eval
    - ast.Or
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - ast.Str
    - ast.Constant
    - xdg.Menu._ast_const
    - ast.And
    - ast.Attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 788
    functionName: xdg.Menu.XMLMenuBuilder.parse_rule_node
    functionSourceFile: xdg.Menu
    functionUses: 12
    functionsReached:
    - ast.Not
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - ast.In
    - ast.UnaryOp
    - ast.Name
    - ast.Eq
    - ast.BoolOp
    - <builtin>.len
    - ast.Compare
    - values.append
    - ast.NameConstant
    - ast.literal_eval
    - ast.Or
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - ast.Str
    - ast.Constant
    - xdg.Menu._ast_const
    - ast.And
    - ast.Attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.BoolOp
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.And
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Not
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.UnaryOp
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.In
    functionSourceFile: ast
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.AppDirs.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.DirectoryDirs.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - filename
    - child
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 875
    functionName: xdg.Menu.XMLMenuBuilder.merge_file
    functionSourceFile: xdg.Menu
    functionUses: 9
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - ast.In
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - ast.literal_eval
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - m.DirectoryDirs.append
    - node.attrib.get
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - ast.And
    - os.path.isabs
    - value.strip
    - line.strip
    - order.append
    - ast.fix_missing_locations
    - os.path.dirname
    - subprocess.Popen
    - entry.getType
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - m.AppDirs.append
    - parent.DirectoryDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - ast.BoolOp
    - menuentry.getType
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Or
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - ast.NameConstant
    - xml.etree.ElementTree.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.endswith
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: os
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - dir_
    - prefix
    - filename
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 906
    functionName: xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    functionSourceFile: xdg.Menu
    functionUses: 12
    functionsReached:
    - m.Rules.append
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - re.split
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - xdg.DesktopEntry.DesktopEntry.new
    - value.split
    - result.append
    - m.DirectoryDirs.append
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - value.strip
    - os.path.isabs
    - line.strip
    - entry.getType
    - ast.fix_missing_locations
    - os.path.dirname
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - m.Directories.append
    - xdg.Menu.MenuEntry.__setFilename
    - m.AppDirs.append
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu.MenuEntry.__init__
    - os.path.basename
    - os.listdir
    - os.path.split
    - os.path.isfile
    - os.path.join
    - menuentry.getType
    - ast.Compare
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - line.lstrip
    - ast.Load
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - categories.append
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.MenuEntryCache.add_menu_entries
    - ast.Eq
    - os.path.splitext
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.DesktopEntry.DesktopEntry.parse
    - entries.index
    - entries.append
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - os.path.isdir
    - ast.Attribute
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.AppDirs.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.DirectoryDirs.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.Directories.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f0291a83940>
    - <ast.Constant object at 0x7f0291a83970>
    argNames:
    - self
    - dirs
    - prefix
    - legacy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1087
    functionName: xdg.Menu.MenuEntryCache.add_menu_entries
    functionSourceFile: xdg.Menu
    functionUses: 15
    functionsReached:
    - os.path.split
    - item.endswith
    - line.strip
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - xdg.IniFile.IniFile.__getBoolean
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - os.path.isdir
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - os.listdir
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291a5c070>
    argNames:
    - self
    - dirs
    - legacy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1107
    functionName: xdg.Menu.MenuEntryCache.get_menu_entries
    functionSourceFile: xdg.Menu
    functionUses: 15
    functionsReached:
    - menuentry.getType
    - entry.getType
    - appdirs.append
    - entries.append
    - <builtin>.set
    - entries.index
    - ids.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.Rules.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: categories.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.Popen
    functionSourceFile: subprocess
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proc.communicate
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menu.Directories.reverse
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menu.DirectoryDirs.reverse
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menu.AppDirs.reverse
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.apply
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menuentry.Parents.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menu.MenuEntries.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: move.New.split
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menus.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: move_from_menu.Parent.Submenus.remove
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - dir_
    - subdir
    - prefix
    - legacy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1093
    functionName: xdg.Menu.MenuEntryCache.__addFiles
    functionSourceFile: xdg.Menu
    functionUses: 16
    functionsReached:
    - os.path.split
    - item.endswith
    - line.strip
    - os.path.exists
    - os.path.dirname
    - re.split
    - os.path.join
    - os.path.isfile
    - xdg.IniFile.IniFile.set
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - <builtin>.float
    - os.path.splitext
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.DesktopEntry.DesktopEntry.new
    - xdg.DesktopEntry.DesktopEntry.getType
    - xdg.IniFile.IniFile.__addLocale
    - xdg.DesktopEntry.DesktopEntry.parse
    - value.split
    - result.append
    - xdg.IniFile.IniFile.hasKey
    - line.lstrip
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - xdg.IniFile.IniFile.get
    - xdg.Menu.MenuEntry.__setFilename
    - key.strip
    - xdg.IniFile.IniFile.parse
    - <builtin>.int
    - re.compile
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.DesktopEntry.DesktopEntry.__init__
    - xdg.IconTheme.IconData.parse
    - re.search
    - xdg.IniFile.IniFile.getList
    - io.open
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.IconTheme.IconTheme.parse
    - os.path.isdir
    - line.split
    - xdg.IniFile.IniFile.hasGroup
    - value.strip
    - xdg.Menu.MenuEntry.__init__
    - list.pop
    - os.listdir
    - os.path.isabs
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: appdirs.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ids.add
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entries.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: menuentry.getType
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entries.index
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c7f5b0>
    - <ast.Constant object at 0x7f0291c7f5e0>
    argNames:
    - filename
    - debug
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 1138
    functionName: xdg.Menu.parse
    functionSourceFile: xdg.Menu
    functionUses: 0
    functionsReached:
    - m.Rules.append
    - ast.Not
    - item.endswith
    - xdg.Menu.Menu.addSubmenu
    - xdg.Menu.XMLMenuBuilder.parse_node
    - xdg.Menu.XMLMenuBuilder.parse_merge_file
    - _list.reverse
    - ast.In
    - xdg.Menu.XMLMenuBuilder.__init__
    - xdg.Menu.XMLMenuBuilder.parse_app_dir
    - re.split
    - xdg.Menu.XMLMenuBuilder.handle_moves
    - ast.Name
    - <builtin>.len
    - xdg.IniFile.IniFile.addGroup
    - move_from_menu.Parent.Submenus.remove
    - xdg.DesktopEntry.DesktopEntry.new
    - child.attrib.get
    - value.split
    - result.append
    - xdg.Menu.XMLMenuBuilder.parse_legacy_dir
    - ast.literal_eval
    - m.DirectoryDirs.append
    - entry.Directory.DesktopEntry.getHidden
    - xdg.Menu.Menu.merge_inline
    - node.attrib.get
    - _set.setdefault
    - xdg.Menu.Rule.fromFilename
    - re.compile
    - xdg.DesktopEntry.DesktopEntry.__init__
    - parent.Moves.append
    - xdg.Menu.XMLMenuBuilder.generate_not_only_allocated
    - xdg.Menu.XMLMenuBuilder.parse_directory_dir
    - xdg.Menu.MenuEntry.setAttributes
    - xdg.Menu.Separator.__init__
    - <builtin>.isinstance
    - xdg.IniFile.IniFile.hasGroup
    - appdirs.append
    - xdg.Menu._get_menu_file_path
    - list.pop
    - xdg.Menu.MenuEntryCache.get_menu_entries
    - <builtin>.set
    - submenu.getMenuEntry
    - ast.And
    - submenu.getMenu
    - os.path.isabs
    - value.strip
    - entry.DesktopEntry.getNotShowIn
    - rule.apply
    - line.strip
    - subprocess.Popen
    - order.append
    - os.path.dirname
    - ast.fix_missing_locations
    - entry.getType
    - xdg.Menu.Header.__init__
    - menu.DirectoryDirs.reverse
    - xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
    - menu.AppDirs.reverse
    - entry.DesktopEntry.getOnlyShowIn
    - filename.endswith
    - ast.Expression
    - xdg.Menu.Rule.__init__
    - <builtin>.float
    - xdg.Menu.XMLMenuBuilder.merge_legacy_dir
    - xdg.Menu.MenuEntryCache.__addFiles
    - xdg.IniFile.IniFile.hasKey
    - xdg.Menu.MenuEntry.getType
    - tree.getroot
    - m.Directories.append
    - parent.AppDirs.append
    - entry.DesktopEntry.findTryExec
    - xdg.Menu._to_bool
    - xdg.Menu.XMLMenuBuilder.merge_file
    - entry.DesktopEntry.getTryExec
    - xdg.Menu.MenuEntry.__setFilename
    - <builtin>.reversed
    - xdg.Menu.XMLMenuBuilder.parse_layout
    - xdg.Menu.XMLMenuBuilder.parse_rule
    - menu.Directories.reverse
    - xdg.Menu.XMLMenuBuilder.parse
    - xdg.Menu.Menu.sort
    - m.AppDirs.append
    - xdg.Menu.XMLMenuBuilder.post_parse
    - parent.DirectoryDirs.append
    - entry.DesktopEntry.getNoDisplay
    - ast.Str
    - xdg.IconTheme.IconTheme.parse
    - line.split
    - xdg.Menu._ast_const
    - xdg.Menu.MenuEntry.__init__
    - os.listdir
    - os.path.basename
    - xml.etree.cElementTree.parse
    - os.path.split
    - submenu.getGenericName
    - parent.Directories.append
    - os.path.isfile
    - os.path.join
    - xdg.Menu._dedupe
    - parent.Rules.append
    - xdg.Menu.XMLMenuBuilder.parse_default_directory_dir
    - ast.UnaryOp
    - submenu.getComment
    - ast.BoolOp
    - menuentry.getType
    - move.New.split
    - ast.Compare
    - xdg.Menu.XMLMenuBuilder.parse_default_app_dir
    - xdg.IniFile.IniFile.__addLocale
    - os.path.abspath
    - os.environ.get
    - line.lstrip
    - <builtin>.list
    - ast.Or
    - ast.Load
    - xdg.Menu.XMLMenuBuilder.generate_only_allocated
    - xdg.Menu.MenuEntryCache.__init__
    - xdg.IniFile.IniFile.parse
    - ids.add
    - re.search
    - io.open
    - submenu.sort
    - xdg.Menu.Menu.getMenuEntry
    - value.lower
    - xdg.Menu.Layout.__init__
    - <builtin>.dict
    - categories.append
    - xdg.Menu.XMLMenuBuilder.parse_bool_op
    - os.path.exists
    - xdg.IniFile.IniFile.set
    - xdg.Menu.XMLMenuBuilder.parse_menu
    - path.split
    - _entries.add
    - ast.Eq
    - xdg.Menu.XMLMenuBuilder.parse_merge_dir
    - submenu.getName
    - proc.communicate
    - os.path.splitext
    - values.append
    - <builtin>.compile
    - xdg.DesktopEntry.DesktopEntry.getType
    - dirs.pop
    - xml.etree.ElementTree.parse
    - ast.NameConstant
    - entries.append
    - entries.index
    - xdg.DesktopEntry.DesktopEntry.parse
    - xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs
    - xdg.DesktopEntry.DesktopEntry.getCategories
    - entry.Directory.DesktopEntry.getNoDisplay
    - _submenus.add
    - entry.DesktopEntry.getHidden
    - menus.pop
    - menu.MenuEntries.append
    - xdg.IniFile.IniFile.get
    - menuentry.DesktopEntry.set
    - key.strip
    - xdg.Menu.Menu.__init__
    - xdg.Menu._check_file_path
    - <builtin>.int
    - xdg.Menu.XMLMenuBuilder.parse_rule_node
    - xdg.IniFile.IniFile.__getBoolean
    - xdg.IconTheme.IconData.parse
    - xdg.IniFile.IniFile.getList
    - xdg.Menu.XMLMenuBuilder.parse_move
    - filename.replace
    - menuentry.Parents.append
    - os.path.isdir
    - ast.Constant
    - xdg.Menu.Move.__init__
    - xdg.Menu.Menu.getMenu
    - text.strip
    - ast.Attribute
    - xdg.Menu.MenuEntryCache.add_menu_entries
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.RecentFiles
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: xdg.RecentFiles.RecentFiles.__init__
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f02926988b0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 15
    functionName: xdg.RecentFiles.RecentFiles.parse
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached:
    - recent.Groups.append
    - xdg.RecentFiles.RecentFile.__init__
    - xml.dom.minidom.parse
    - os.path.join
    - xdg.RecentFiles.RecentFiles.sort
    - <builtin>.int
    - xdg.RecentFiles.RecentFiles.__parseRecentItem
    - os.getenv
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getenv
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.dom.minidom.parse
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: xdg.RecentFiles.RecentFiles.__parseRecentItem
    functionSourceFile: xdg.RecentFiles
    functionUses: 1
    functionsReached:
    - recent.Groups.append
    - xdg.RecentFiles.RecentFile.__init__
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 157
    functionName: xdg.RecentFiles.RecentFiles.sort
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 163
    functionName: xdg.RecentFiles.RecentFile.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: recent.Groups.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 15
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291f006d0>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: xdg.RecentFiles.RecentFiles.write
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached:
    - xml.sax.saxutils.escape
    - <builtin>.len
    - f.write
    - <builtin>.open
    - fcntl.lockf
    linkageType: pythonLinkage
    raised:
    - ParsingError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fcntl.lockf
    functionSourceFile: fcntl
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.sax.saxutils.escape
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f02922b9eb0>
    - <ast.Constant object at 0x7f02922b9430>
    - <ast.Constant object at 0x7f02922b9d00>
    argNames:
    - self
    - mimetypes
    - groups
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: xdg.RecentFiles.RecentFiles.getFiles
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached:
    - tmp.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0292389f10>
    - <ast.Constant object at 0x7f0292389ac0>
    argNames:
    - self
    - item
    - mimetype
    - groups
    - private
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: xdg.RecentFiles.RecentFiles.addFile
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - xdg.RecentFiles.RecentFile.__init__
    - xdg.RecentFiles.RecentFiles.sort
    - <builtin>.int
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 151
    functionName: xdg.RecentFiles.RecentFiles.deleteFile
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 170
    functionName: xdg.RecentFiles.RecentFile.__cmp__
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 173
    functionName: xdg.RecentFiles.RecentFile.__lt__
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: xdg.RecentFiles.RecentFile.__eq__
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: xdg.RecentFiles.RecentFile.__str__
    functionSourceFile: xdg.RecentFiles
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: xdg.Mime
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: xdg.Mime._get_node_data
    functionSourceFile: xdg.Mime
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f029244bbb0>
    argNames:
    - media
    - subtype
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: xdg.Mime.lookup
    functionSourceFile: xdg.Mime
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291e25280>
    argNames:
    - cls
    - media
    - subtype
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: xdg.Mime.MIMEtype.__new__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - subtype.lower
    - media.split
    - <builtin>.super
    - media.lower
    - mtype._init
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: media.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: media.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subtype.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mtype._init
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - media
    - subtype
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: xdg.Mime.MIMEtype._init
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: xdg.Mime.MIMEtype._load
    functionSourceFile: xdg.Mime
    functionUses: 1
    functionsReached:
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._get_node_data
    - comment.getAttributeNS
    - os.path.exists
    - doc.documentElement.getElementsByTagNameNS
    - xml.dom.minidom.parse
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.documentElement.getElementsByTagNameNS
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: comment.getAttributeNS
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: xdg.Mime.MIMEtype.get_comment
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._get_node_data
    - comment.getAttributeNS
    - os.path.exists
    - doc.documentElement.getElementsByTagNameNS
    - <builtin>.str
    - xml.dom.minidom.parse
    - os.path.join
    - xdg.Mime.MIMEtype._load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 113
    functionName: xdg.Mime.MIMEtype.canonical
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.lookup
    - xdg.Mime.GlobDB.merge_file
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - <builtin>.str
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 573
    functionName: xdg.Mime.update_cache
    functionSourceFile: xdg.Mime
    functionUses: 8
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 121
    functionName: xdg.Mime.MIMEtype.inherits_from
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - os.path.exists
    - line.startswith
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - re.compile
    - fnmatch.translate
    - <builtin>.max
    - xdg.Mime.lookup
    - xdg.Mime.GlobDB.merge_file
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - <builtin>.str
    - f.seek
    - <builtin>.set
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: xdg.Mime.MIMEtype.__str__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: xdg.Mime.MIMEtype.__repr__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: xdg.Mime.MIMEtype.__hash__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hash
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - start
    - value
    - mask
    - word
    - range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 145
    functionName: xdg.Mime.MagicRule.__init__
    functionSourceFile: xdg.Mime
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: xdg.Mime.MagicRule
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: xdg.Mime.MagicRule.from_file
    functionSourceFile: xdg.Mime
    functionUses: 12
    functionsReached:
    - <builtin>.len
    - ending.groups
    - line.split
    - line.startswith
    - f.readline
    - int.from_bytes
    - xdg.Mime.MagicRule.__init__
    - <builtin>.int
    - cls.rule_ending_re.match
    - <builtin>.ord
    linkageType: pythonLinkage
    raised:
    - UnknownMagicRuleFormat
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.readline
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: int.from_bytes
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.startswith
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.rule_ending_re.match
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ending.groups
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 207
    functionName: xdg.Mime.MagicRule.maxlen
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - buffer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 213
    functionName: xdg.Mime.MagicRule.match
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.chr
    - <builtin>.ord
    - <builtin>.len
    - xdg.Mime.MagicRule.match0
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - buffer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: xdg.Mime.MagicRule.match0
    functionSourceFile: xdg.Mime
    functionUses: 1
    functionsReached:
    - <builtin>.chr
    - <builtin>.ord
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.chr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: xdg.Mime.MagicRule.__repr__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rules
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 256
    functionName: xdg.Mime.MagicMatchAny.__init__
    functionSourceFile: xdg.Mime
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - buffer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: xdg.Mime.MagicMatchAny.match
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - r.match
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: xdg.Mime.MagicMatchAny.maxlen
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - r.maxlen
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.maxlen
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 266
    functionName: xdg.Mime.MagicMatchAny.from_file
    functionSourceFile: xdg.Mime
    functionUses: 11
    functionsReached:
    - depths_rules.append
    - <builtin>.len
    - ending.groups
    - xdg.Mime.MagicRule.from_file
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - line.split
    - line.startswith
    - f.readline
    - int.from_bytes
    - xdg.Mime.MagicRule.__init__
    - <builtin>.int
    - f.read
    - f.seek
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - rules.append
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.seek
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: depths_rules.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - tree
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: xdg.Mime.MagicMatchAny.from_rule_tree
    functionSourceFile: xdg.Mime
    functionUses: 12
    functionsReached:
    - xdg.Mime.MagicMatchAny.__init__
    - <builtin>.len
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - rules.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rules.append
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 312
    functionName: xdg.Mime.MagicDB.__init__
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict
    functionSourceFile: collections
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 315
    functionName: xdg.Mime.MagicDB.merge_file
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - collections.defaultdict.pop
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - <builtin>.len
    - f.readline
    - <builtin>.ord
    - depths_rules.append
    - int.from_bytes
    - f.read
    - rules.append
    - <builtin>.int
    - xdg.Mime.lookup
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - ValueError
    - IOError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict.pop
    functionSourceFile: collections
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 344
    functionName: xdg.Mime.MagicDB.finalise
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - <builtin>.max
    - rule.maxlen
    - collections.defaultdict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict.items
    functionSourceFile: collections
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.maxlen
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Mime.MagicDB.finalise.<lambda1>
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291a1bd00>
    - <ast.Constant object at 0x7f0291a1bcd0>
    - <ast.Constant object at 0x7f0291a1bca0>
    argNames:
    - self
    - data
    - max_pri
    - min_pri
    - possible
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: xdg.Mime.MagicDB.match_data
    functionSourceFile: xdg.Mime
    functionUses: 1
    functionsReached:
    - types.append
    - rule.match
    - types.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Mime.MagicDB.match_data.<lambda1>
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.sort
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f0291e36d30>
    - <ast.Constant object at 0x7f0291e36d00>
    - <ast.Constant object at 0x7f0291e36cd0>
    argNames:
    - self
    - path
    - max_pri
    - min_pri
    - possible
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: xdg.Mime.MagicDB.match
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - types.append
    - rule.match
    - types.sort
    - f.read
    - <builtin>.open
    - xdg.Mime.MagicDB.match_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 402
    functionName: xdg.Mime.MagicDB.__repr__
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: xdg.Mime.GlobDB.__init__
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 413
    functionName: xdg.Mime.GlobDB.merge_file
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - collections.defaultdict.pop
    - line.startswith
    - <builtin>.open
    - <builtin>.int
    - <builtin>.tuple
    - xdg.Mime.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 436
    functionName: xdg.Mime.GlobDB.finalise
    functionSourceFile: xdg.Mime
    functionUses: 10
    functionsReached:
    - pattern.startswith
    - pattern.lower
    - mtype.canonical
    - collections.defaultdict
    - collections.defaultdict.items
    - re.compile
    - fnmatch.translate
    - rest.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mtype.canonical
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.startswith
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.lower
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.translate
    functionSourceFile: fnmatch
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.lower
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: xdg.Mime.GlobDB.finalise.<lambda1>
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 478
    functionName: xdg.Mime.GlobDB.first_match
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - regex.match
    - <builtin>.next
    - xdg.Mime.GlobDB._match_path
    - os.path.basename
    - leaf.lower
    - ext.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 6
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 490
    functionName: xdg.Mime.GlobDB._match_path
    functionSourceFile: xdg.Mime
    functionUses: 2
    functionsReached:
    - regex.match
    - os.path.basename
    - leaf.lower
    - ext.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 486
    functionName: xdg.Mime.GlobDB.all_matches
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - regex.match
    - <builtin>.list
    - xdg.Mime.GlobDB._match_path
    - os.path.basename
    - leaf.lower
    - ext.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: leaf.lower
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ext.find
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 539
    functionName: xdg.Mime._cache_database
    functionSourceFile: xdg.Mime
    functionUses: 9
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 577
    functionName: xdg.Mime.get_type_by_name
    functionSourceFile: xdg.Mime
    functionUses: 2
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - globs.first_match
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: globs.first_match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c1ebe0>
    - <ast.Constant object at 0x7f0291c1ebb0>
    argNames:
    - path
    - max_pri
    - min_pri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 582
    functionName: xdg.Mime.get_type_by_contents
    functionSourceFile: xdg.Mime
    functionUses: 1
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - magic.match
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: magic.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291c1e7c0>
    - <ast.Constant object at 0x7f0291c1e790>
    argNames:
    - data
    - max_pri
    - min_pri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 588
    functionName: xdg.Mime.get_type_by_data
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - os.path.exists
    - line.startswith
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - magic.match_data
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: magic.match_data
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - st_mode
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 594
    functionName: xdg.Mime._get_type_by_stat
    functionSourceFile: xdg.Mime
    functionUses: 2
    functionsReached:
    - stat.S_ISFIFO
    - stat.S_ISCHR
    - stat.S_ISSOCK
    - stat.S_ISLNK
    - stat.S_ISDIR
    - stat.S_ISBLK
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISCHR
    functionSourceFile: stat
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISBLK
    functionSourceFile: stat
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISFIFO
    functionSourceFile: stat
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISLNK
    functionSourceFile: stat
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISSOCK
    functionSourceFile: stat
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d0e8b0>
    - <ast.Constant object at 0x7f0291d0e880>
    argNames:
    - path
    - follow
    - name_pri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 604
    functionName: xdg.Mime.get_type
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - xdg.Mime.get_type_by_contents
    - magic.match
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - stat.S_ISREG
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - os.path.exists
    - line.startswith
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - stat.S_ISCHR
    - <builtin>.len
    - stat.S_IMODE
    - xdg.Mime.get_type_by_name
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - stat.S_ISLNK
    - <builtin>.ord
    - stat.S_ISDIR
    - stat.S_ISBLK
    - os.lstat
    - stat.S_ISFIFO
    - depths_rules.append
    - xdg.Mime._get_type_by_stat
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - stat.S_ISSOCK
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - xdg.Mime.GlobDB.merge_file
    - <builtin>.max
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - globs.first_match
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISREG
    functionSourceFile: stat
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_IMODE
    functionSourceFile: stat
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f0291d3c610>
    argNames:
    - path
    - follow
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 641
    functionName: xdg.Mime.get_type2
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - magic.match
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - stat.S_ISREG
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - os.path.exists
    - line.startswith
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - xdg.Mime._is_text
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - <builtin>.len
    - stat.S_ISCHR
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.sorted
    - stat.S_IMODE
    - xdg.Mime.get_type_by_name
    - xdg.Mime.is_text_file
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - stat.S_ISLNK
    - <builtin>.ord
    - stat.S_ISDIR
    - stat.S_ISBLK
    - os.lstat
    - stat.S_ISFIFO
    - depths_rules.append
    - xdg.Mime._get_type_by_stat
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - stat.S_ISSOCK
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - re.compile
    - fnmatch.translate
    - xdg.Mime.GlobDB.merge_file
    - <builtin>.max
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - globs.first_match
    - globs.all_matches
    - <builtin>.any
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: globs.all_matches
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xdg.Mime.get_type2.<lambda1>
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 696
    functionName: xdg.Mime.is_text_file
    functionSourceFile: xdg.Mime
    functionUses: 1
    functionsReached:
    - f.read
    - xdg.Mime._is_text
    - <builtin>.open
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: xdg.Mime._is_text
    functionSourceFile: xdg.Mime
    functionUses: 2
    functionsReached:
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - mimetype
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 723
    functionName: xdg.Mime.get_extensions
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.Mime.MagicDB.finalise
    - collections.defaultdict.pop
    - line.strip
    - ending.groups
    - xdg.Mime.MagicMatchAny.from_rule_tree
    - xdg.Mime.MagicRule.from_file
    - line.startswith
    - os.path.exists
    - os.path.join
    - xdg.Mime.GlobDB.__init__
    - cls.rule_ending_re.match
    - xdg.Mime.MagicMatchAny.__init__
    - xdg.Mime.MagicMatchAny.from_file
    - rule.maxlen
    - xdg.Mime.update_cache
    - rest.lower
    - pattern.startswith
    - xdg.Mime.MagicDB.merge_file
    - <builtin>.len
    - f.readline
    - xdg.Mime.GlobDB.finalise
    - <builtin>.ord
    - depths_rules.append
    - pattern.lower
    - collections.defaultdict
    - int.from_bytes
    - collections.defaultdict.items
    - f.read
    - <builtin>.int
    - rules.append
    - xdg.Mime.MagicDB.__init__
    - fnmatch.translate
    - re.compile
    - <builtin>.max
    - xdg.Mime.GlobDB.merge_file
    - xdg.Mime.lookup
    - xdg.BaseDirectory.load_data_paths
    - globs.exts.items
    - xdg.Mime._cache_database
    - mtype.canonical
    - line.split
    - xdg.Mime.MagicRule.__init__
    - f.seek
    - <builtin>.open
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: globs.exts.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - application
    - package_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 745
    functionName: xdg.Mime.install_mime_info
    functionSourceFile: xdg.Mime
    functionUses: 0
    functionsReached:
    - xdg.BaseDirectory.load_data_paths
    - xdg.BaseDirectory.save_data_path
    - resource.startswith
    - f.write
    - os.unlink
    - os.path.isdir
    - os.path.exists
    - os.spawnlp
    - f.read
    - os.path.join
    - os.makedirs
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.spawnlp
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_desktop_entry':
  - 48
  - 49
  - 20
  '...fuzz_desktop_entry.TestOneInput':
  - 32
  - 34
  - 36
  - 38
  - 39
  - 27
  - 28
  - 29
  '...fuzz_desktop_entry.main':
  - 43
  - 44
  - 45
  lxml.ElementInclude:
  - 44
  lxml.ElementInclude._include:
  - 178
  - 179
  - 183
  - 184
  - 186
  - 188
  - 189
  - 191
  - 192
  - 194
  - 195
  - 196
  - 197
  - 198
  - 202
  - 205
  - 206
  - 210
  - 211
  - 213
  - 215
  - 216
  - 217
  - 218
  - 222
  - 223
  - 225
  - 229
  - 234
  - 235
  - 236
  lxml.ElementInclude._lxml_default_loader:
  - 114
  - 115
  - 117
  - 118
  - 120
  - 121
  - 122
  - 123
  - 125
  lxml.ElementInclude._wrap_et_loader.load:
  - 134
  lxml.ElementInclude.default_loader:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 104
  - 105
  lxml.ElementInclude.include:
  - 160
  - 163
  - 164
  - 166
  - 168
  - 169
  - 171
  - 172
  - 173
  - 158
  lxml._elementpath:
  - 7
  lxml._elementpath.__bootstrap__:
  - 4
  - 6
  lxml.builder:
  - 7
  lxml.builder.__bootstrap__:
  - 4
  - 6
  lxml.cssselect:
  - 1
  - 55
  lxml.cssselect.CSSSelector:
  - 61
  lxml.cssselect.CSSSelector.__init__:
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  - 95
  lxml.cssselect.CSSSelector.__repr__:
  - 101
  lxml.cssselect.LxmlHTMLTranslator:
  - 47
  lxml.cssselect.LxmlTranslator:
  - 30
  lxml.cssselect.LxmlTranslator.xpath_contains_function:
  - 41
  - 43
  - 36
  lxml.cssselect._make_lower_case:
  - 53
  lxml.doctestcompare:
  - 1
  - 72
  - 505
  - 78
  - 79
  - 503
  - 57
  - 58
  - 59
  lxml.doctestcompare.LXMLOutputChecker._looks_like_markup:
  - 128
  - 129
  - 130
  lxml.doctestcompare.LXMLOutputChecker.check_output:
  - 97
  - 98
  - 99
  - 102
  - 106
  - 109
  - 91
  - 92
  lxml.doctestcompare.LXMLOutputChecker.collect_diff:
  - 291
  - 292
  - 293
  - 294
  - 295
  - 296
  - 297
  - 298
  - 299
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  - 307
  - 308
  - 310
  - 311
  - 313
  - 314
  - 316
  - 317
  - 318
  - 319
  - 320
  - 321
  - 322
  - 323
  - 324
  - 325
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_end_tag:
  - 355
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_tag:
  - 328
  - 334
  - 335
  - 336
  - 338
  - 339
  - 341
  - 342
  - 343
  - 344
  - 345
  - 347
  - 348
  - 349
  lxml.doctestcompare.LXMLOutputChecker.collect_diff_text:
  - 362
  - 363
  - 365
  - 367
  lxml.doctestcompare.LXMLOutputChecker.compare_docs:
  - 133
  - 135
  - 137
  - 139
  - 140
  - 141
  - 142
  - 144
  - 145
  - 147
  - 148
  - 149
  - 151
  - 153
  - 154
  - 155
  - 157
  lxml.doctestcompare.LXMLOutputChecker.format_doc:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 261
  - 262
  - 263
  - 232
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  - 248
  - 249
  - 250
  - 251
  - 252
  - 253
  - 254
  - 255
  lxml.doctestcompare.LXMLOutputChecker.format_end_tag:
  - 284
  lxml.doctestcompare.LXMLOutputChecker.format_tag:
  - 274
  - 277
  - 278
  - 279
  - 281
  lxml.doctestcompare.LXMLOutputChecker.format_text:
  - 266
  - 268
  - 269
  - 270
  lxml.doctestcompare.LXMLOutputChecker.get_parser:
  - 113
  - 115
  - 117
  - 119
  - 120
  - 122
  - 123
  - 124
  lxml.doctestcompare.LXMLOutputChecker.html_empty_tag:
  - 225
  - 221
  - 223
  lxml.doctestcompare.LXMLOutputChecker.output_difference:
  - 192
  - 194
  - 196
  - 197
  - 199
  - 201
  - 202
  - 203
  - 204
  - 206
  - 207
  - 208
  - 213
  - 215
  - 217
  - 218
  - 190
  lxml.doctestcompare.LXMLOutputChecker.tag_compare:
  - 175
  - 177
  - 178
  - 182
  - 184
  lxml.doctestcompare.LXMLOutputChecker.text_compare:
  - 164
  - 165
  - 166
  - 167
  - 168
  - 169
  lxml.doctestcompare._RestoreChecker.__call__:
  - 464
  - 465
  - 468
  - 469
  lxml.doctestcompare._RestoreChecker.__init__:
  - 434
  - 435
  lxml.doctestcompare._RestoreChecker.call_super:
  - 472
  - 474
  - 476
  lxml.doctestcompare._RestoreChecker.install_clone:
  - 437
  lxml.doctestcompare._RestoreChecker.uninstall_clone:
  - 446
  lxml.doctestcompare._RestoreChecker.uninstall_module:
  - 456
  - 459
  - 460
  - 462
  lxml.doctestcompare._find_doctest_frame:
  - 480
  - 483
  lxml.doctestcompare.html_fromstring:
  - 75
  lxml.doctestcompare.install:
  - 380
  - 374
  lxml.doctestcompare.norm_whitespace:
  - 70
  lxml.doctestcompare.strip:
  - 64
  - 67
  lxml.doctestcompare.temp_install:
  - 386
  - 420
  - 393
  - 397
  - 399
  - 411
  lxml.etree:
  - 7
  lxml.etree.__bootstrap__:
  - 4
  - 6
  lxml.get_include:
  - 7
  - 14
  - 17
  - 18
  - 19
  - 20
  lxml.html:
  - 1795
  - 1797
  - 1798
  - 1945
  - 1946
  - 31
  - 680
  - 681
  - 682
  - 683
  - 684
  - 685
  - 64
  - 69
  - 1875
  - 87
  - 89
  - 91
  - 94
  - 95
  - 96
  - 97
  - 98
  - 99
  - 101
  - 102
  - 750
  - 751
  - 752
  - 753
  lxml.html.CheckboxGroup:
  - 1541
  lxml.html.CheckboxGroup.__repr__:
  - 1581
  lxml.html.CheckboxGroup.value:
  - 1570
  - 1552
  - 1556
  - 1561
  - 1562
  - 1566
  lxml.html.CheckboxGroup.value_options:
  - 1577
  - 1574
  lxml.html.CheckboxValues:
  - 1585
  lxml.html.CheckboxValues.__iter__:
  - 1594
  - 1595
  lxml.html.CheckboxValues.__repr__:
  - 1623
  lxml.html.CheckboxValues.add:
  - 1600
  - 1601
  - 1602
  lxml.html.CheckboxValues.remove:
  - 1608
  - 1609
  - 1610
  lxml.html.Classes:
  - 132
  lxml.html.Classes.__contains__:
  - 192
  - 193
  lxml.html.Classes.__init__:
  - 150
  lxml.html.Classes.__iter__:
  - 196
  lxml.html.Classes.__len__:
  - 199
  lxml.html.Classes.add:
  - 160
  - 161
  - 163
  - 164
  - 153
  - 158
  lxml.html.Classes.discard:
  - 167
  - 172
  - 174
  - 176
  - 177
  - 178
  lxml.html.Classes.remove:
  - 187
  - 189
  - 182
  lxml.html.Classes.toggle:
  - 225
  - 227
  - 230
  - 232
  - 233
  - 217
  - 223
  lxml.html.Classes.update:
  - 204
  - 207
  - 209
  - 210
  - 211
  - 213
  - 214
  lxml.html.Element:
  - 1937
  - 1941
  lxml.html.ElementSoup.parse:
  - 9
  - 10
  lxml.html.FieldsDict.__iter__:
  - 1158
  lxml.html.FieldsDict.__len__:
  - 1160
  lxml.html.FieldsDict.__repr__:
  - 1165
  lxml.html.FieldsDict.keys:
  - 1154
  lxml.html.FormElement:
  - 963
  lxml.html.FormElement._name:
  - 1001
  - 1002
  - 1003
  - 1004
  - 1006
  - 1007
  - 1008
  - 1009
  lxml.html.FormElement.action:
  - 1057
  - 1062
  - 1045
  - 1049
  - 1050
  - 1051
  lxml.html.FormElement.fields:
  - 993
  - 994
  - 978
  - 983
  - 988
  - 989
  - 990
  - 991
  lxml.html.FormElement.form_values:
  - 1024
  - 1026
  - 1027
  - 1028
  - 1029
  - 1030
  - 1034
  - 1036
  - 1039
  - 1040
  - 1012
  - 1017
  - 1019
  - 1021
  - 1022
  - 1023
  lxml.html.FormElement.inputs:
  - 969
  - 974
  lxml.html.FormElement.method:
  - 1075
  - 1067
  - 1071
  lxml.html.HTMLParser:
  - 1906
  lxml.html.HTMLParser.__init__:
  - 1910
  - 1911
  lxml.html.HtmlElementClassLookup:
  - 705
  lxml.html.HtmlElementClassLookup.__init__:
  - 716
  - 717
  - 718
  - 719
  - 721
  - 722
  - 723
  - 724
  - 726
  - 727
  - 728
  - 729
  - 730
  lxml.html.HtmlElementClassLookup.lookup:
  - 736
  - 738
  - 740
  - 734
  - 735
  lxml.html.HtmlMixin.base_url:
  - 274
  - 268
  lxml.html.HtmlMixin.body:
  - 289
  - 285
  lxml.html.HtmlMixin.classes:
  - 259
  - 260
  - 261
  - 262
  - 263
  - 252
  - 255
  lxml.html.HtmlMixin.cssselect:
  - 432
  - 422
  lxml.html.HtmlMixin.drop_tag:
  - 360
  - 362
  - 363
  - 365
  - 369
  - 370
  - 373
  - 377
  - 349
  lxml.html.HtmlMixin.drop_tree:
  - 333
  - 338
  - 340
  - 341
  - 342
  - 346
  lxml.html.HtmlMixin.find_class:
  - 392
  - 389
  lxml.html.HtmlMixin.find_rel_links:
  - 384
  - 385
  - 386
  - 381
  lxml.html.HtmlMixin.forms:
  - 281
  - 278
  lxml.html.HtmlMixin.get_element_by_id:
  - 408
  - 410
  - 395
  lxml.html.HtmlMixin.head:
  - 297
  - 293
  lxml.html.HtmlMixin.iterlinks:
  - 522
  - 524
  - 525
  - 529
  - 530
  - 531
  - 532
  - 533
  - 534
  - 535
  - 536
  - 537
  - 538
  - 539
  - 540
  - 541
  - 542
  - 543
  - 545
  - 546
  - 547
  - 548
  - 549
  - 550
  - 551
  - 552
  - 553
  - 556
  - 557
  - 558
  - 559
  - 560
  - 561
  - 562
  - 569
  - 570
  - 573
  - 574
  - 576
  - 577
  - 579
  - 583
  - 584
  - 585
  - 586
  - 587
  - 588
  - 590
  - 591
  - 592
  - 505
  lxml.html.HtmlMixin.label:
  - 320
  - 324
  - 329
  - 301
  - 304
  - 305
  - 307
  - 308
  - 315
  - 316
  lxml.html.HtmlMixin.make_links_absolute:
  - 481
  - 454
  - 456
  - 459
  - 460
  - 462
  - 468
  - 440
  - 474
  lxml.html.HtmlMixin.make_links_absolute.link_repl:
  - 465
  - 476
  - 471
  lxml.html.HtmlMixin.resolve_base_href:
  - 484
  - 494
  - 496
  - 497
  - 498
  - 499
  - 501
  lxml.html.HtmlMixin.rewrite_links:
  - 640
  - 641
  - 612
  - 615
  - 617
  - 618
  - 620
  - 621
  - 622
  - 624
  - 626
  - 596
  - 632
  - 633
  - 636
  - 637
  lxml.html.HtmlMixin.set:
  - 248
  - 242
  lxml.html.HtmlMixin.text_content:
  - 416
  - 419
  lxml.html.InputElement:
  - 1628
  lxml.html.InputElement.checkable:
  - 1692
  lxml.html.InputElement.checked:
  - 1699
  - 1705
  - 1711
  - 1713
  - 1714
  - 1717
  lxml.html.InputElement.type:
  - 1688
  - 1681
  - 1684
  lxml.html.InputElement.value:
  - 1666
  - 1667
  - 1669
  - 1673
  - 1676
  - 1645
  - 1652
  - 1653
  - 1654
  - 1657
  - 1661
  - 1662
  lxml.html.InputGetter:
  - 1170
  lxml.html.InputGetter.__contains__:
  - 1216
  - 1215
  lxml.html.InputGetter.__getitem__:
  - 1198
  - 1201
  - 1202
  - 1203
  - 1206
  - 1207
  lxml.html.InputGetter.__iter__:
  - 1251
  lxml.html.InputGetter.__len__:
  - 1254
  lxml.html.InputGetter.__repr__:
  - 1191
  lxml.html.InputGetter.items:
  - 1236
  - 1242
  - 1243
  - 1245
  - 1246
  - 1247
  lxml.html.InputGetter.keys:
  - 1221
  - 1228
  - 1230
  - 1231
  - 1232
  lxml.html.InputMixin:
  - 1258
  lxml.html.InputMixin.__repr__:
  - 1280
  - 1285
  - 1279
  lxml.html.InputMixin.name:
  - 1266
  - 1275
  - 1270
  - 1263
  lxml.html.LabelElement:
  - 1725
  lxml.html.LabelElement.for_element:
  - 1733
  - 1737
  - 1738
  - 1740
  - 1744
  - 1745
  - 1748
  - 1753
  lxml.html.MultipleSelectOptions:
  - 1427
  lxml.html.MultipleSelectOptions.__iter__:
  - 1445
  - 1446
  - 1447
  - 1448
  - 1449
  - 1450
  lxml.html.MultipleSelectOptions.__repr__:
  - 1483
  lxml.html.MultipleSelectOptions.add:
  - 1453
  - 1454
  - 1455
  - 1456
  - 1457
  - 1458
  lxml.html.MultipleSelectOptions.options:
  - 1442
  - 1439
  lxml.html.MultipleSelectOptions.remove:
  - 1465
  - 1466
  - 1467
  - 1468
  - 1469
  - 1470
  lxml.html.RadioGroup:
  - 1488
  lxml.html.RadioGroup.__repr__:
  - 1537
  lxml.html.RadioGroup.value:
  - 1504
  - 1510
  - 1511
  - 1512
  - 1517
  - 1518
  - 1520
  - 1521
  - 1498
  - 1502
  - 1503
  lxml.html.RadioGroup.value_options:
  - 1529
  - 1532
  lxml.html.SelectElement:
  - 1324
  lxml.html.SelectElement.multiple:
  - 1417
  - 1410
  - 1419
  - 1418
  lxml.html.SelectElement.value:
  - 1337
  - 1343
  - 1344
  - 1345
  - 1348
  - 1351
  - 1354
  - 1355
  - 1356
  - 1361
  - 1362
  - 1365
  - 1366
  - 1369
  - 1370
  - 1371
  - 1372
  - 1373
  - 1374
  - 1380
  - 1381
  - 1383
  - 1384
  - 1389
  - 1390
  lxml.html.SelectElement.value_options:
  - 1396
  - 1401
  - 1402
  - 1403
  - 1404
  - 1405
  lxml.html.TextareaElement:
  - 1289
  lxml.html.TextareaElement.value:
  - 1305
  - 1299
  - 1303
  - 1295
  lxml.html.XHTMLParser:
  - 1915
  lxml.html.XHTMLParser.__init__:
  - 1932
  - 1933
  lxml.html._MethodFunc:
  - 645
  lxml.html._MethodFunc.__call__:
  - 673
  - 675
  - 657
  - 658
  - 659
  - 662
  - 664
  - 665
  - 668
  - 669
  - 670
  - 671
  lxml.html._MethodFunc.__init__:
  - 655
  lxml.html.__fix_docstring:
  - 76
  - 78
  - 79
  - 81
  - 82
  lxml.html._contains_block_level_tag:
  - 944
  - 943
  lxml.html._diffcommand:
  - 68
  - 70
  - 12
  - 18
  - 26
  lxml.html._diffcommand.annotate:
  - 86
  - 87
  lxml.html._diffcommand.main:
  - 33
  - 35
  - 36
  - 37
  - 38
  - 39
  - 40
  - 41
  - 43
  - 44
  - 45
  - 46
  - 47
  - 49
  - 50
  - 52
  - 54
  - 55
  lxml.html._diffcommand.read_file:
  - 64
  - 65
  - 58
  - 59
  - 60
  lxml.html._diffcommand.split_body:
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  lxml.html._element_name:
  - 952
  - 955
  - 950
  lxml.html._html5builder:
  - 1
  lxml.html._html5builder.Document.appendChild:
  - 29
  lxml.html._html5builder.TreeBuilder.__init__:
  - 40
  - 41
  - 44
  lxml.html._html5builder.TreeBuilder.getFragment:
  - 58
  - 59
  - 60
  - 61
  - 62
  lxml.html._html5builder.TreeBuilder.insertComment:
  - 73
  - 70
  - 71
  lxml.html._html5builder.TreeBuilder.insertDoctype:
  - 66
  lxml.html._html5builder.TreeBuilder.insertRoot:
  - 97
  - 98
  - 77
  - 78
  - 79
  - 80
  - 82
  - 83
  - 84
  - 87
  - 88
  - 91
  - 92
  - 95
  lxml.html._html5builder.TreeBuilder.reset:
  - 47
  lxml.html._nons:
  - 125
  - 126
  - 127
  lxml.html._setmixin.SetMixin:
  - 9
  lxml.html._setmixin.SetMixin.__contains__:
  - 20
  - 21
  lxml.html._setmixin.SetMixin.__len__:
  - 15
  lxml.html._setmixin.SetMixin._from_iterable:
  - 56
  lxml.html._setmixin.SetMixin.copy:
  - 34
  lxml.html._setmixin.SetMixin.discard:
  - 50
  lxml.html._transform_result:
  - 114
  - 116
  - 117
  - 118
  - 119
  lxml.html._unquote_match:
  - 107
  lxml.html.builder:
  - 35
  - 60
  - 6
  lxml.html.clean:
  - 7
  lxml.html.clean.__bootstrap__:
  - 4
  - 6
  lxml.html.defs:
  - 130
  - 5
  - 11
  - 15
  - 20
  - 32
  - 40
  - 53
  - 57
  - 61
  - 81
  - 85
  - 92
  - 97
  - 102
  - 108
  - 113
  - 117
  - 121
  lxml.html.diff:
  - 7
  lxml.html.diff.__bootstrap__:
  - 4
  - 6
  lxml.html.document_fromstring:
  - 757
  - 759
  - 760
  - 763
  - 764
  - 765
  - 766
  lxml.html.formfill:
  - 228
  - 8
  - 22
  - 23
  - 25
  - 27
  lxml.html.formfill.DefaultErrorCreator.__call__:
  - 226
  - 198
  - 199
  - 200
  - 201
  - 202
  - 203
  - 205
  - 206
  - 208
  - 211
  - 212
  - 215
  - 217
  - 219
  - 220
  - 221
  - 222
  lxml.html.formfill.DefaultErrorCreator.__init__:
  - 192
  - 195
  - 191
  lxml.html.formfill.FormNotFound:
  - 18
  lxml.html.formfill._add_class:
  - 272
  - 273
  - 275
  lxml.html.formfill._check:
  - 115
  - 116
  - 118
  lxml.html.formfill._fill_form:
  - 65
  - 68
  - 73
  - 75
  - 49
  - 51
  - 52
  - 53
  - 54
  - 55
  - 57
  - 58
  - 59
  - 61
  - 62
  lxml.html.formfill._fill_multiple:
  - 98
  - 100
  - 101
  - 102
  - 103
  - 105
  - 106
  - 107
  - 108
  - 111
  - 112
  - 87
  - 88
  - 89
  - 90
  - 91
  - 95
  lxml.html.formfill._fill_single:
  - 129
  - 132
  lxml.html.formfill._find_elements_for_name:
  - 288
  - 289
  - 292
  - 293
  - 296
  - 297
  - 299
  - 278
  - 280
  - 282
  - 284
  - 285
  - 286
  lxml.html.formfill._find_form:
  - 135
  - 136
  - 137
  - 141
  - 142
  - 143
  - 145
  - 146
  - 152
  - 153
  lxml.html.formfill._find_form_ids:
  - 162
  - 163
  - 164
  - 166
  - 167
  - 168
  - 169
  - 170
  - 172
  - 173
  - 174
  - 176
  lxml.html.formfill._insert_error:
  - 258
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  lxml.html.formfill._select:
  - 122
  - 123
  - 125
  lxml.html.formfill._takes_multiple:
  - 81
  - 82
  - 78
  lxml.html.formfill.fill_form:
  - 35
  - 36
  lxml.html.formfill.fill_form_html:
  - 39
  - 40
  - 41
  - 43
  - 44
  - 45
  lxml.html.formfill.insert_errors:
  - 239
  - 240
  - 241
  - 243
  - 244
  - 246
  lxml.html.formfill.insert_errors_html:
  - 249
  - 250
  - 251
  - 253
  - 254
  - 255
  lxml.html.fragment_fromstring:
  - 833
  - 834
  - 836
  - 837
  - 838
  - 841
  - 811
  - 844
  - 846
  - 851
  - 824
  - 827
  - 829
  lxml.html.fragments_fromstring:
  - 801
  - 802
  - 803
  - 772
  - 781
  - 784
  - 785
  - 787
  - 788
  - 790
  - 792
  - 793
  - 794
  - 795
  - 798
  lxml.html.fromstring:
  - 897
  - 898
  - 899
  - 900
  - 903
  - 904
  - 905
  - 907
  - 909
  - 911
  - 912
  - 919
  - 859
  - 867
  - 869
  - 870
  - 872
  - 873
  - 874
  - 877
  - 878
  - 879
  - 880
  - 882
  - 885
  - 886
  - 887
  - 891
  - 894
  lxml.html.html5parser:
  - 1
  - 260
  - 45
  lxml.html.html5parser.HTMLParser:
  - 28
  lxml.html.html5parser.HTMLParser.__init__:
  - 31
  lxml.html.html5parser.XHTMLParser:
  - 40
  lxml.html.html5parser.XHTMLParser.__init__:
  - 43
  lxml.html.html5parser._find_tag:
  - 49
  - 50
  - 52
  lxml.html.html5parser._looks_like_url:
  - 248
  - 249
  - 251
  - 253
  lxml.html.html5parser.document_fromstring:
  - 66
  - 70
  - 74
  - 76
  - 56
  - 63
  lxml.html.html5parser.fragment_fromstring:
  - 129
  - 131
  - 135
  - 136
  - 138
  - 139
  - 140
  - 143
  - 146
  - 115
  - 148
  - 151
  - 126
  lxml.html.html5parser.fragments_fromstring:
  - 97
  - 101
  - 103
  - 104
  - 105
  - 106
  - 81
  - 90
  - 93
  lxml.html.html5parser.fromstring:
  - 193
  - 197
  - 198
  - 170
  - 172
  - 204
  - 177
  - 181
  - 183
  - 184
  - 187
  - 190
  - 158
  lxml.html.html5parser.parse:
  - 224
  - 226
  - 229
  - 230
  - 231
  - 235
  - 236
  - 242
  - 212
  - 244
  - 222
  lxml.html.html_to_xhtml:
  - 1769
  - 1775
  - 1765
  - 1773
  lxml.html.open_http_urllib:
  - 1120
  - 1128
  - 1129
  - 1133
  - 1136
  - 1137
  - 1138
  - 1139
  lxml.html.open_in_browser:
  - 1888
  - 1889
  - 1890
  - 1892
  - 1895
  - 1896
  - 1897
  - 1898
  - 1879
  - 1887
  lxml.html.parse:
  - 935
  - 937
  - 927
  lxml.html.soupparser:
  - 1
  - 299
  - 295
  - 87
  lxml.html.soupparser._PseudoTag.__iter__:
  - 102
  lxml.html.soupparser._convert_tree:
  - 132
  - 141
  - 143
  - 147
  - 149
  - 152
  - 154
  - 155
  - 156
  - 157
  - 162
  - 163
  - 164
  - 165
  - 168
  - 171
  - 175
  - 176
  - 181
  - 182
  - 106
  - 117
  - 118
  - 119
  - 122
  - 124
  lxml.html.soupparser._init_node_converters:
  - 267
  - 260
  - 237
  - 278
  lxml.html.soupparser._init_node_converters.append_text:
  - 230
  lxml.html.soupparser._init_node_converters.convert_comment:
  - 264
  - 262
  - 263
  lxml.html.soupparser._init_node_converters.convert_node:
  - 216
  - 211
  - 213
  - 214
  lxml.html.soupparser._init_node_converters.convert_pi:
  - 273
  - 274
  - 275
  - 269
  lxml.html.soupparser._init_node_converters.convert_tag:
  - 257
  - 240
  - 241
  - 242
  - 244
  - 245
  - 247
  - 250
  - 254
  - 255
  lxml.html.soupparser._init_node_converters.convert_text:
  - 280
  - 281
  lxml.html.soupparser._init_node_converters.converter.add:
  - 196
  - 198
  lxml.html.soupparser._init_node_converters.find_best_converter:
  - 203
  - 204
  lxml.html.soupparser._init_node_converters.map_attrs:
  - 224
  - 226
  - 219
  - 221
  - 222
  - 223
  lxml.html.soupparser._parse:
  - 70
  - 72
  - 73
  - 75
  - 76
  - 78
  - 79
  - 81
  lxml.html.soupparser.convert_tree:
  - 52
  - 60
  - 61
  - 62
  - 63
  lxml.html.soupparser.fromstring:
  - 33
  - 22
  lxml.html.soupparser.parse:
  - 37
  - 45
  - 46
  - 47
  - 48
  lxml.html.soupparser.unescape:
  - 306
  - 314
  lxml.html.soupparser.unescape.unescape_entity:
  - 313
  - 311
  lxml.html.submit_form:
  - 1105
  - 1106
  - 1107
  - 1108
  - 1109
  - 1110
  - 1112
  - 1082
  - 1116
  lxml.html.tostring:
  - 1864
  - 1867
  - 1803
  - 1868
  - 1869
  - 1871
  lxml.html.usedoctest:
  - 1
  - 13
  lxml.html.xhtml_to_html:
  - 1784
  - 1780
  - 1789
  - 1788
  lxml.isoschematron:
  - 1
  - 66
  - 67
  - 41
  - 12
  - 45
  - 46
  - 47
  - 48
  - 17
  - 49
  - 50
  - 52
  - 53
  - 55
  - 56
  - 61
  lxml.isoschematron.Schematron:
  - 113
  - 202
  lxml.isoschematron.Schematron.__call__:
  - 291
  - 295
  - 296
  - 297
  - 299
  - 300
  - 301
  - 302
  - 305
  - 307
  - 310
  lxml.isoschematron.Schematron.__init__:
  - 256
  - 257
  - 261
  - 263
  - 266
  - 267
  - 272
  - 273
  - 274
  - 275
  - 276
  - 280
  - 284
  - 285
  - 286
  - 288
  - 238
  - 244
  - 251
  - 252
  - 255
  lxml.isoschematron.Schematron._extract:
  - 207
  - 213
  - 214
  - 215
  - 217
  lxml.isoschematron.Schematron.schematron:
  - 317
  lxml.isoschematron.Schematron.validation_report:
  - 331
  lxml.isoschematron.Schematron.validator_xslt:
  - 324
  lxml.isoschematron._stylesheet_param_dict:
  - 99
  - 104
  - 105
  - 106
  - 108
  lxml.isoschematron.stylesheet_params:
  - 71
  - 86
  - 87
  - 88
  - 89
  - 91
  - 92
  lxml.objectify:
  - 7
  lxml.objectify.__bootstrap__:
  - 4
  - 6
  lxml.sax:
  - 7
  lxml.sax.__bootstrap__:
  - 4
  - 6
  lxml.usedoctest:
  - 1
  - 13
  xdg.BaseDirectory:
  - 32
  - 1
  - 35
  - 37
  - 38
  - 41
  - 43
  - 44
  - 46
  - 47
  - 30
  - 31
  xdg.BaseDirectory.get_runtime_dir:
  - 162
  - 163
  - 166
  - 168
  - 171
  - 172
  - 143
  - 147
  - 153
  - 156
  - 125
  xdg.BaseDirectory.load_config_paths:
  - 99
  - 103
  - 104
  - 105
  - 106
  xdg.BaseDirectory.load_data_paths:
  - 116
  - 119
  - 120
  - 121
  - 122
  xdg.BaseDirectory.load_first_config:
  - 109
  - 111
  xdg.BaseDirectory.save_cache_path:
  - 77
  - 80
  - 81
  - 82
  - 83
  - 84
  xdg.BaseDirectory.save_config_path:
  - 53
  - 57
  - 58
  - 59
  - 60
  - 61
  xdg.BaseDirectory.save_data_path:
  - 65
  - 69
  - 70
  - 71
  - 72
  - 73
  xdg.BaseDirectory.save_state_path:
  - 88
  - 91
  - 92
  - 93
  - 94
  - 95
  xdg.Config:
  - 1
  xdg.Config.setLocale:
  - 32
  - 33
  - 35
  xdg.DesktopEntry:
  - 1
  xdg.DesktopEntry.DesktopEntry:
  - 22
  xdg.DesktopEntry.DesktopEntry.__init__:
  - 32
  - 33
  - 34
  - 35
  - 36
  - 27
  xdg.DesktopEntry.DesktopEntry.__str__:
  - 39
  xdg.DesktopEntry.DesktopEntry.checkCategorie:
  - 432
  - 427
  - 430
  xdg.DesktopEntry.DesktopEntry.checkCategories:
  - 416
  - 417
  - 422
  - 423
  - 424
  - 413
  xdg.DesktopEntry.DesktopEntry.checkExtras:
  - 193
  - 199
  - 180
  - 181
  - 184
  - 185
  - 186
  - 187
  xdg.DesktopEntry.DesktopEntry.checkGroup:
  - 203
  - 204
  - 205
  - 206
  - 209
  - 210
  xdg.DesktopEntry.DesktopEntry.checkKey:
  - 214
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  - 222
  - 223
  - 224
  - 225
  - 227
  - 228
  - 229
  - 230
  - 231
  - 232
  - 234
  - 235
  - 237
  - 240
  - 243
  - 244
  - 246
  - 249
  - 250
  - 252
  - 253
  - 255
  - 256
  - 257
  - 259
  - 260
  - 261
  - 263
  - 264
  - 265
  - 267
  - 268
  - 269
  - 271
  - 272
  - 273
  - 275
  - 276
  - 277
  - 279
  - 280
  - 281
  - 283
  - 284
  - 285
  - 287
  - 288
  - 289
  - 290
  - 292
  - 293
  - 294
  - 296
  - 297
  - 298
  - 300
  - 301
  - 303
  - 304
  - 305
  - 308
  - 309
  - 310
  - 312
  - 313
  - 314
  - 316
  - 317
  - 318
  - 320
  - 321
  - 322
  - 323
  - 325
  - 326
  - 327
  - 328
  - 330
  - 331
  - 332
  - 333
  - 335
  - 336
  - 337
  - 338
  - 340
  - 341
  - 342
  - 343
  - 346
  - 347
  - 348
  - 350
  - 351
  - 352
  - 354
  - 355
  - 356
  - 358
  - 359
  - 360
  - 362
  - 363
  - 364
  - 366
  - 367
  - 368
  - 370
  - 371
  - 372
  - 374
  - 375
  - 376
  - 378
  - 379
  - 381
  - 382
  - 383
  - 385
  - 386
  - 387
  - 389
  - 390
  - 391
  - 394
  - 398
  xdg.DesktopEntry.DesktopEntry.checkOnlyShowIn:
  - 408
  - 409
  - 410
  - 405
  xdg.DesktopEntry.DesktopEntry.checkType:
  - 401
  - 402
  xdg.DesktopEntry.DesktopEntry.findTryExec:
  - 56
  - 57
  - 51
  xdg.DesktopEntry.DesktopEntry.getActions:
  - 153
  xdg.DesktopEntry.DesktopEntry.getBinaryPattern:
  - 139
  xdg.DesktopEntry.DesktopEntry.getCategories:
  - 97
  xdg.DesktopEntry.DesktopEntry.getComment:
  - 74
  xdg.DesktopEntry.DesktopEntry.getDefaultApp:
  - 133
  xdg.DesktopEntry.DesktopEntry.getDev:
  - 116
  xdg.DesktopEntry.DesktopEntry.getDocPath:
  - 110
  xdg.DesktopEntry.DesktopEntry.getEncoding:
  - 143
  xdg.DesktopEntry.DesktopEntry.getExec:
  - 86
  xdg.DesktopEntry.DesktopEntry.getExtensions:
  - 137
  xdg.DesktopEntry.DesktopEntry.getFSType:
  - 118
  xdg.DesktopEntry.DesktopEntry.getFilePattern:
  - 151
  xdg.DesktopEntry.DesktopEntry.getGenericName:
  - 70
  xdg.DesktopEntry.DesktopEntry.getHidden:
  - 78
  xdg.DesktopEntry.DesktopEntry.getIcon:
  - 76
  xdg.DesktopEntry.DesktopEntry.getInitialPreference:
  - 114
  xdg.DesktopEntry.DesktopEntry.getKeywords:
  - 112
  xdg.DesktopEntry.DesktopEntry.getMapNotify:
  - 141
  xdg.DesktopEntry.DesktopEntry.getMimeType:
  - 92
  - 93
  xdg.DesktopEntry.DesktopEntry.getMimeTypes:
  - 95
  xdg.DesktopEntry.DesktopEntry.getMiniIcon:
  - 129
  xdg.DesktopEntry.DesktopEntry.getMountPoint:
  - 120
  xdg.DesktopEntry.DesktopEntry.getName:
  - 68
  xdg.DesktopEntry.DesktopEntry.getNoDisplay:
  - 72
  xdg.DesktopEntry.DesktopEntry.getNotShowIn:
  - 82
  xdg.DesktopEntry.DesktopEntry.getOnlyShowIn:
  - 80
  xdg.DesktopEntry.DesktopEntry.getPath:
  - 88
  xdg.DesktopEntry.DesktopEntry.getProtocols:
  - 135
  xdg.DesktopEntry.DesktopEntry.getReadonly:
  - 122
  xdg.DesktopEntry.DesktopEntry.getServiceTypes:
  - 108
  xdg.DesktopEntry.DesktopEntry.getSortOrder:
  - 149
  xdg.DesktopEntry.DesktopEntry.getStartupNotify:
  - 99
  xdg.DesktopEntry.DesktopEntry.getStartupWMClass:
  - 101
  xdg.DesktopEntry.DesktopEntry.getSwallowExec:
  - 147
  xdg.DesktopEntry.DesktopEntry.getSwallowTitle:
  - 145
  xdg.DesktopEntry.DesktopEntry.getTerminal:
  - 90
  xdg.DesktopEntry.DesktopEntry.getTerminalOptions:
  - 131
  xdg.DesktopEntry.DesktopEntry.getTryExec:
  - 84
  xdg.DesktopEntry.DesktopEntry.getType:
  - 61
  xdg.DesktopEntry.DesktopEntry.getURL:
  - 103
  xdg.DesktopEntry.DesktopEntry.getUnmountIcon:
  - 124
  xdg.DesktopEntry.DesktopEntry.getVersion:
  - 64
  - 63
  xdg.DesktopEntry.DesktopEntry.getVersionString:
  - 66
  xdg.DesktopEntry.DesktopEntry.new:
  - 164
  - 166
  - 171
  - 172
  - 173
  - 158
  xdg.DesktopEntry.DesktopEntry.parse:
  - 48
  - 42
  xdg.Exceptions:
  - 1
  xdg.Exceptions.DuplicateGroupError:
  - 68
  xdg.Exceptions.DuplicateGroupError.__init__:
  - 73
  xdg.Exceptions.DuplicateKeyError:
  - 47
  xdg.Exceptions.DuplicateKeyError.__init__:
  - 52
  xdg.Exceptions.Error:
  - 8
  xdg.Exceptions.Error.__init__:
  - 11
  xdg.Exceptions.NoGroupError:
  - 58
  xdg.Exceptions.NoGroupError.__init__:
  - 63
  xdg.Exceptions.NoKeyError:
  - 36
  xdg.Exceptions.NoKeyError.__init__:
  - 41
  xdg.Exceptions.NoThemeError:
  - 78
  xdg.Exceptions.NoThemeError.__init__:
  - 83
  xdg.Exceptions.ParsingError:
  - 26
  xdg.Exceptions.ParsingError.__init__:
  - 33
  xdg.Exceptions.ValidationError:
  - 16
  xdg.Exceptions.ValidationError.__init__:
  - 23
  xdg.IconTheme:
  - 1
  - 243
  - 244
  - 245
  - 246
  xdg.IconTheme.DirectoryMatchesSize:
  - 416
  - 417
  - 418
  - 419
  - 421
  - 423
  - 414
  - 415
  xdg.IconTheme.DirectorySizeDistance:
  - 427
  - 428
  - 429
  - 430
  - 431
  - 432
  - 433
  - 434
  - 435
  - 437
  - 440
  - 441
  - 443
  xdg.IconTheme.IconData:
  - 188
  xdg.IconTheme.IconData.__init__:
  - 190
  xdg.IconTheme.IconData.__repr__:
  - 193
  - 194
  xdg.IconTheme.IconData.checkExtras:
  - 218
  - 219
  xdg.IconTheme.IconData.checkGroup:
  - 224
  - 225
  - 223
  xdg.IconTheme.IconData.checkKey:
  - 229
  - 231
  - 232
  - 233
  - 234
  - 235
  - 238
  xdg.IconTheme.IconData.getAttachPoints:
  - 211
  - 213
  xdg.IconTheme.IconData.getDisplayName:
  - 204
  - 205
  xdg.IconTheme.IconData.getEmbeddedTextRectangle:
  - 209
  - 207
  xdg.IconTheme.IconData.parse:
  - 200
  xdg.IconTheme.IconTheme:
  - 16
  xdg.IconTheme.IconTheme.__init__:
  - 18
  xdg.IconTheme.IconTheme.checkExtras:
  - 100
  - 106
  - 112
  - 84
  - 85
  - 88
  - 90
  - 91
  - 93
  xdg.IconTheme.IconTheme.checkGroup:
  - 133
  - 134
  - 135
  - 116
  - 120
  - 124
  - 125
  xdg.IconTheme.IconTheme.checkKey:
  - 139
  - 140
  - 142
  - 144
  - 145
  - 146
  - 147
  - 148
  - 149
  - 150
  - 151
  - 152
  - 153
  - 154
  - 157
  - 158
  - 159
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 168
  - 169
  - 170
  - 171
  - 172
  - 173
  - 174
  - 175
  - 176
  - 177
  - 178
  - 179
  - 180
  - 181
  - 184
  xdg.IconTheme.IconTheme.getComment:
  - 35
  xdg.IconTheme.IconTheme.getContext:
  - 51
  xdg.IconTheme.IconTheme.getDirectories:
  - 39
  xdg.IconTheme.IconTheme.getExample:
  - 45
  xdg.IconTheme.IconTheme.getHidden:
  - 43
  xdg.IconTheme.IconTheme.getInherits:
  - 37
  xdg.IconTheme.IconTheme.getMaxSize:
  - 59
  - 60
  - 63
  xdg.IconTheme.IconTheme.getMinSize:
  - 65
  - 66
  - 69
  xdg.IconTheme.IconTheme.getName:
  - 33
  xdg.IconTheme.IconTheme.getScale:
  - 78
  xdg.IconTheme.IconTheme.getScaledDirectories:
  - 41
  xdg.IconTheme.IconTheme.getSize:
  - 49
  xdg.IconTheme.IconTheme.getThreshold:
  - 72
  - 71
  xdg.IconTheme.IconTheme.getType:
  - 53
  - 54
  xdg.IconTheme.IconTheme.parse:
  - 24
  - 25
  - 26
  xdg.IconTheme.LookupIcon:
  - 384
  - 385
  - 386
  - 387
  - 388
  - 389
  - 391
  - 392
  - 393
  - 395
  - 396
  - 397
  - 398
  - 399
  - 403
  - 404
  - 405
  - 406
  - 407
  - 408
  - 376
  - 378
  - 379
  - 380
  - 383
  xdg.IconTheme.__get_themes:
  - 352
  - 355
  - 356
  - 357
  - 359
  - 360
  - 367
  - 368
  - 369
  - 370
  - 371
  - 372
  xdg.IconTheme.getIconData:
  - 337
  - 344
  - 345
  - 346
  - 347
  - 348
  xdg.IconTheme.getIconPath:
  - 274
  - 276
  - 280
  - 284
  - 285
  - 288
  - 289
  - 292
  - 298
  - 303
  - 304
  - 305
  - 306
  - 310
  - 311
  - 312
  - 313
  - 314
  - 315
  - 317
  - 318
  - 320
  - 321
  - 322
  - 325
  - 331
  - 332
  - 333
  - 255
  xdg.IniFile:
  - 1
  xdg.IniFile.IniFile.__addLocale:
  - 185
  - 187
  - 180
  - 182
  xdg.IniFile.IniFile.__cmp__:
  - 34
  xdg.IniFile.IniFile.__getBoolean:
  - 172
  - 174
  xdg.IniFile.IniFile.__init__:
  - 29
  - 30
  - 31
  xdg.IniFile.IniFile.addGroup:
  - 363
  - 364
  xdg.IniFile.IniFile.checkBoolean:
  - 272
  - 275
  xdg.IniFile.IniFile.checkInteger:
  - 288
  xdg.IniFile.IniFile.checkNumber:
  - 281
  xdg.IniFile.IniFile.checkPoint:
  - 293
  xdg.IniFile.IniFile.checkRegex:
  - 301
  xdg.IniFile.IniFile.checkString:
  - 297
  xdg.IniFile.IniFile.checkValue:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 261
  - 262
  - 263
  - 264
  - 265
  - 242
  - 243
  - 247
  - 248
  - 249
  - 250
  - 252
  - 253
  - 254
  - 255
  xdg.IniFile.IniFile.get:
  - 130
  - 131
  - 132
  - 133
  - 135
  - 138
  - 140
  - 143
  - 144
  - 145
  - 146
  - 147
  - 149
  - 150
  - 106
  - 110
  - 111
  - 112
  - 116
  - 117
  - 119
  - 124
  - 125
  xdg.IniFile.IniFile.getList:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 167
  - 168
  - 159
  xdg.IniFile.IniFile.groups:
  - 404
  xdg.IniFile.IniFile.hasKey:
  - 411
  xdg.IniFile.IniFile.parse:
  - 96
  - 97
  - 66
  - 37
  - 69
  - 70
  - 71
  - 44
  - 78
  - 82
  - 51
  - 84
  - 53
  - 87
  - 60
  - 61
  - 95
  - 63
  xdg.IniFile.IniFile.removeGroup:
  - 376
  - 372
  xdg.IniFile.IniFile.removeKey:
  - 386
  - 387
  - 388
  - 390
  - 394
  - 395
  - 382
  xdg.IniFile.IniFile.set:
  - 352
  - 360
  - 349
  xdg.IniFile.IniFile.validate:
  - 225
  - 194
  - 226
  - 229
  - 204
  - 207
  - 210
  - 211
  - 212
  - 213
  - 215
  - 216
  - 221
  - 222
  xdg.IniFile.IniFile.write:
  - 307
  - 310
  - 315
  - 316
  - 318
  - 324
  - 325
  - 327
  - 328
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 336
  - 337
  - 340
  - 341
  - 343
  xdg.IniFile.is_ascii:
  - 13
  - 15
  xdg.Locale:
  - 1
  - 79
  xdg.Locale._expand_lang:
  - 32
  - 33
  - 41
  - 42
  - 44
  - 45
  - 46
  - 15
  - 47
  - 48
  - 21
  - 22
  - 28
  - 30
  xdg.Locale.expand_languages:
  - 65
  - 66
  - 67
  - 68
  - 53
  - 55
  - 56
  - 57
  - 58
  xdg.Locale.update:
  - 73
  - 74
  - 76
  xdg.Menu:
  - 1
  xdg.Menu.Header:
  - 558
  xdg.Menu.Layout:
  - 382
  xdg.Menu.Menu:
  - 339
  - 69
  - 158
  xdg.Menu.Menu.__add__:
  - 129
  - 130
  - 132
  - 133
  - 105
  - 106
  - 108
  - 109
  - 111
  - 112
  - 114
  - 117
  - 120
  - 123
  - 126
  - 127
  xdg.Menu.Menu.__cmp__:
  - 139
  xdg.Menu.Menu.__eq__:
  - 154
  - 156
  xdg.Menu.Menu.__lt__:
  - 147
  - 150
  xdg.Menu.Menu._key:
  - 142
  - 143
  xdg.Menu.Menu.addSubmenu:
  - 341
  - 342
  xdg.Menu.Menu.getComment:
  - 226
  - 228
  xdg.Menu.Menu.getEntries:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  xdg.Menu.Menu.getGenericName:
  - 219
  - 221
  xdg.Menu.Menu.getIcon:
  - 233
  - 235
  xdg.Menu.Menu.getMenu:
  - 181
  - 182
  - 183
  - 184
  - 185
  - 186
  xdg.Menu.Menu.getMenuEntry:
  - 172
  - 173
  - 174
  - 176
  - 177
  - 178
  xdg.Menu.Menu.getName:
  - 212
  - 214
  xdg.Menu.Menu.getPath:
  - 195
  - 196
  - 198
  - 199
  - 203
  - 205
  - 206
  - 207
  - 208
  - 191
  xdg.Menu.Menu.merge_inline:
  - 352
  - 355
  - 357
  - 358
  - 359
  - 360
  - 361
  - 362
  - 363
  - 364
  - 365
  - 366
  - 368
  xdg.Menu.Menu.sort:
  - 256
  - 257
  - 258
  - 260
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  - 271
  - 272
  - 273
  - 274
  - 275
  - 276
  - 277
  - 278
  - 279
  - 280
  - 281
  - 282
  - 283
  - 285
  - 288
  - 291
  - 292
  - 295
  - 296
  - 299
  - 302
  - 303
  - 306
  - 309
  - 312
  - 313
  - 314
  - 317
  - 321
  - 324
  - 325
  - 327
  - 328
  - 332
  - 333
  - 336
  - 337
  - 243
  - 244
  - 246
  - 247
  - 249
  - 250
  - 251
  - 252
  - 253
  - 255
  xdg.Menu.MenuEntry:
  - 453
  xdg.Menu.MenuEntry.__cmp__:
  - 527
  xdg.Menu.MenuEntry.__eq__:
  - 541
  xdg.Menu.MenuEntry.__init__:
  - 477
  - 461
  - 462
  xdg.Menu.MenuEntry.__lt__:
  - 538
  - 535
  xdg.Menu.MenuEntry.__setFilename:
  - 514
  - 519
  - 520
  - 522
  - 524
  xdg.Menu.MenuEntry._key:
  - 530
  - 531
  xdg.Menu.MenuEntry.getDir:
  - 485
  - 486
  xdg.Menu.MenuEntry.getType:
  - 489
  - 490
  - 491
  - 493
  xdg.Menu.MenuEntry.save:
  - 480
  - 481
  - 482
  xdg.Menu.MenuEntry.setAttributes:
  - 505
  - 506
  - 503
  xdg.Menu.MenuEntry.updateAttributes:
  - 509
  - 510
  - 511
  xdg.Menu.MenuEntryCache:
  - 1081
  xdg.Menu.MenuEntryCache.__addFiles:
  - 1094
  - 1095
  - 1097
  - 1101
  - 1102
  - 1103
  - 1104
  - 1105
  xdg.Menu.MenuEntryCache.add_menu_entries:
  - 1088
  - 1089
  - 1091
  xdg.Menu.MenuEntryCache.get_menu_entries:
  - 1120
  - 1121
  - 1123
  - 1124
  - 1125
  - 1126
  - 1128
  - 1130
  - 1109
  - 1112
  - 1113
  - 1115
  xdg.Menu.Move:
  - 372
  xdg.Menu.Move.__cmp__:
  - 378
  xdg.Menu.Rule:
  - 406
  xdg.Menu.Rule.__init__:
  - 433
  xdg.Menu.Rule.__str__:
  - 436
  xdg.Menu.Rule.apply:
  - 440
  - 443
  - 444
  - 439
  xdg.Menu.Rule.fromFilename:
  - 416
  - 417
  - 419
  - 424
  - 425
  - 412
  - 413
  - 414
  - 415
  xdg.Menu.Separator:
  - 551
  xdg.Menu.XMLMenuBuilder.generate_not_only_allocated:
  - 1025
  - 1026
  - 1028
  - 1029
  - 1030
  - 1033
  - 1019
  - 1020
  - 1022
  - 1023
  xdg.Menu.XMLMenuBuilder.generate_only_allocated:
  - 1036
  - 1037
  - 1039
  - 1040
  - 1042
  - 1043
  - 1044
  - 1045
  - 1046
  - 1049
  xdg.Menu.XMLMenuBuilder.handle_moves:
  - 1056
  - 1057
  - 1059
  - 1061
  - 1063
  - 1064
  - 1066
  - 1067
  - 1068
  - 1070
  - 1072
  - 1074
  - 1077
  - 1052
  - 1053
  - 1055
  xdg.Menu.XMLMenuBuilder.merge_file:
  - 896
  - 897
  - 877
  - 878
  - 882
  - 885
  - 887
  - 892
  xdg.Menu.XMLMenuBuilder.merge_legacy_dir:
  - 907
  - 908
  - 909
  - 910
  - 911
  - 912
  - 913
  - 916
  - 918
  - 919
  - 920
  - 921
  - 922
  - 930
  - 931
  - 933
  - 935
  - 936
  - 937
  - 938
  - 939
  xdg.Menu.XMLMenuBuilder.parse:
  - 640
  - 641
  - 642
  - 644
  - 616
  - 648
  - 649
  - 652
  - 653
  - 622
  - 623
  - 656
  - 625
  - 626
  - 627
  - 628
  - 631
  - 635
  xdg.Menu.XMLMenuBuilder.parse_app_dir:
  - 825
  - 826
  - 827
  xdg.Menu.XMLMenuBuilder.parse_bool_op:
  - 777
  - 778
  - 779
  - 780
  - 781
  - 782
  - 783
  - 784
  xdg.Menu.XMLMenuBuilder.parse_default_app_dir:
  - 830
  - 831
  xdg.Menu.XMLMenuBuilder.parse_default_directory_dir:
  - 840
  - 839
  xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs:
  - 872
  - 873
  - 871
  xdg.Menu.XMLMenuBuilder.parse_directory_dir:
  - 834
  - 835
  - 836
  xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs:
  - 946
  - 956
  - 957
  - 951
  xdg.Menu.XMLMenuBuilder.parse_layout:
  - 739
  - 740
  - 741
  - 742
  - 743
  - 744
  - 718
  - 719
  - 720
  - 721
  - 722
  - 723
  - 726
  - 728
  - 729
  - 730
  xdg.Menu.XMLMenuBuilder.parse_legacy_dir:
  - 902
  - 903
  xdg.Menu.XMLMenuBuilder.parse_menu:
  - 661
  - 662
  xdg.Menu.XMLMenuBuilder.parse_merge_dir:
  - 865
  - 866
  - 861
  - 862
  - 863
  xdg.Menu.XMLMenuBuilder.parse_merge_file:
  - 845
  - 846
  - 847
  - 848
  - 849
  - 850
  - 852
  - 853
  - 856
  - 857
  - 858
  xdg.Menu.XMLMenuBuilder.parse_move:
  - 753
  - 755
  - 756
  - 758
  - 760
  xdg.Menu.XMLMenuBuilder.parse_node:
  - 666
  - 667
  - 669
  - 670
  - 671
  - 672
  - 673
  - 674
  - 675
  - 676
  - 677
  - 678
  - 679
  - 680
  - 681
  - 683
  - 684
  - 685
  - 687
  - 689
  - 691
  - 693
  - 694
  - 695
  - 696
  - 697
  - 698
  - 699
  - 700
  - 701
  - 702
  - 703
  - 704
  - 705
  - 706
  - 707
  - 708
  - 709
  - 710
  - 711
  - 712
  - 713
  - 714
  - 715
  xdg.Menu.XMLMenuBuilder.parse_rule:
  - 768
  - 771
  - 772
  - 773
  - 766
  - 767
  xdg.Menu.XMLMenuBuilder.parse_rule_node:
  - 790
  - 791
  - 792
  - 793
  - 794
  - 795
  - 796
  - 797
  - 798
  - 799
  - 801
  - 802
  - 803
  - 804
  - 805
  - 807
  - 810
  - 812
  - 813
  - 814
  - 815
  - 816
  - 818
  xdg.Menu.XMLMenuBuilder.post_parse:
  - 963
  - 965
  - 969
  - 970
  - 972
  - 973
  - 976
  - 978
  - 982
  - 983
  - 986
  - 991
  - 992
  - 993
  - 996
  - 997
  - 1000
  - 1001
  - 1002
  - 1005
  - 1006
  - 1007
  - 1008
  - 1009
  - 1011
  - 1012
  - 1014
  xdg.Menu._ast_const:
  - 40
  - 41
  - 42
  - 43
  - 45
  - 47
  xdg.Menu._check_file_path:
  - 576
  - 578
  - 580
  - 572
  - 573
  - 574
  - 575
  xdg.Menu._dedupe:
  - 604
  - 605
  - 606
  xdg.Menu._get_menu_file_path:
  - 586
  - 587
  - 588
  - 589
  - 590
  - 591
  xdg.Menu._strxfrm:
  - 56
  - 57
  - 51
  - 55
  xdg.Menu._to_bool:
  - 596
  - 598
  xdg.Menu.parse:
  - 1139
  - 1142
  xdg.MenuEditor:
  - 1
  xdg.MenuEditor.MenuEditor:
  - 300
  xdg.MenuEditor.MenuEditor.__addEntry:
  - 480
  - 482
  - 484
  - 485
  - 486
  - 487
  - 488
  - 489
  - 491
  - 492
  - 493
  - 473
  - 474
  - 475
  - 476
  - 477
  - 478
  xdg.MenuEditor.MenuEditor.__addLayout:
  - 450
  - 458
  - 459
  - 460
  - 461
  - 462
  - 463
  - 464
  - 465
  - 466
  xdg.MenuEditor.MenuEditor.__addXmlFilename:
  - 420
  - 421
  - 404
  - 405
  - 407
  - 409
  - 410
  xdg.MenuEditor.MenuEditor.__addXmlLayout:
  - 432
  - 433
  - 436
  - 437
  - 438
  - 439
  - 440
  - 441
  - 442
  - 443
  - 444
  - 445
  xdg.MenuEditor.MenuEditor.__addXmlMenuElement:
  - 392
  - 393
  xdg.MenuEditor.MenuEditor.__addXmlMove:
  - 425
  - 426
  - 427
  xdg.MenuEditor.MenuEditor.__addXmlTextElement:
  - 398
  xdg.MenuEditor.MenuEditor.__deleteEntry:
  - 496
  - 498
  - 500
  - 501
  - 502
  - 503
  - 504
  - 505
  - 507
  - 508
  - 509
  xdg.MenuEditor.MenuEditor.__deleteFile:
  - 513
  - 517
  xdg.MenuEditor.MenuEditor.__getFileName:
  - 352
  - 341
  - 344
  - 345
  - 347
  - 349
  - 350
  xdg.MenuEditor.MenuEditor.__getXmlMenu:
  - 384
  - 385
  - 363
  - 366
  - 367
  - 373
  - 374
  - 375
  - 376
  - 377
  - 380
  - 382
  - 383
  xdg.MenuEditor.MenuEditor.__get_parent_node:
  - 534
  - 535
  xdg.MenuEditor.MenuEditor.__init__:
  - 30
  - 31
  xdg.MenuEditor.MenuEditor.__iter_parent:
  - 539
  - 540
  - 541
  xdg.MenuEditor.MenuEditor.__remove_whitespace_nodes:
  - 522
  - 523
  - 524
  - 526
  - 527
  - 529
  - 530
  xdg.MenuEditor.MenuEditor.__saveEntries:
  - 323
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 331
  xdg.MenuEditor.MenuEditor.__saveMenu:
  - 336
  - 334
  - 335
  xdg.MenuEditor.MenuEditor.copyMenuEntry:
  - 139
  - 141
  xdg.MenuEditor.MenuEditor.createMenu:
  - 97
  - 93
  - 86
  - 95
  xdg.MenuEditor.MenuEditor.createMenuEntry:
  - 81
  - 76
  - 77
  - 79
  xdg.MenuEditor.MenuEditor.createSeparator:
  - 104
  - 106
  - 102
  xdg.MenuEditor.MenuEditor.deleteMenu:
  - 277
  - 278
  - 279
  - 280
  - 281
  - 282
  - 283
  xdg.MenuEditor.MenuEditor.deleteMenuEntry:
  - 256
  - 257
  - 258
  - 259
  - 260
  xdg.MenuEditor.MenuEditor.deleteSeparator:
  - 296
  - 294
  xdg.MenuEditor.MenuEditor.editMenu:
  - 189
  - 190
  - 191
  - 192
  - 194
  - 195
  - 197
  - 198
  - 199
  - 200
  - 201
  - 202
  - 206
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 215
  - 216
  - 217
  - 218
  - 219
  - 221
  - 222
  - 223
  - 224
  - 226
  - 227
  - 228
  - 229
  - 231
  - 233
  - 234
  xdg.MenuEditor.MenuEditor.editMenuEntry:
  - 148
  - 149
  - 150
  - 151
  - 152
  - 153
  - 154
  - 155
  - 156
  - 157
  - 158
  - 159
  - 160
  - 161
  - 162
  - 163
  - 165
  - 166
  - 167
  - 168
  - 170
  - 171
  - 172
  - 173
  - 175
  - 176
  - 177
  - 178
  - 180
  - 182
  - 183
  xdg.MenuEditor.MenuEditor.getAction:
  - 302
  - 303
  - 305
  - 307
  - 308
  - 312
  - 313
  - 315
  xdg.MenuEditor.MenuEditor.hideMenu:
  - 245
  xdg.MenuEditor.MenuEditor.hideMenuEntry:
  - 239
  xdg.MenuEditor.MenuEditor.moveMenu:
  - 119
  - 120
  - 122
  - 123
  - 124
  - 126
  xdg.MenuEditor.MenuEditor.moveMenuEntry:
  - 112
  - 114
  - 111
  xdg.MenuEditor.MenuEditor.moveSeparator:
  - 131
  - 132
  - 134
  xdg.MenuEditor.MenuEditor.parse:
  - 64
  - 37
  - 38
  - 69
  - 40
  - 42
  - 43
  - 45
  - 47
  - 49
  - 52
  - 55
  - 57
  xdg.MenuEditor.MenuEditor.revertMenu:
  - 288
  - 290
  - 287
  xdg.MenuEditor.MenuEditor.revertMenuEntry:
  - 264
  - 265
  - 267
  - 268
  - 270
  - 272
  - 273
  xdg.MenuEditor.MenuEditor.save:
  - 72
  - 73
  xdg.MenuEditor.MenuEditor.unhideMenu:
  - 248
  - 249
  - 250
  - 251
  - 252
  - 253
  xdg.MenuEditor.MenuEditor.unhideMenuEntry:
  - 242
  xdg.Mime:
  - 1
  - 712
  - 526
  - 527
  - 528
  - 529
  - 530
  - 531
  - 532
  - 533
  - 534
  - 535
  xdg.Mime.DiscardMagicRules:
  - 139
  xdg.Mime.GlobDB.__init__:
  - 411
  - 407
  xdg.Mime.GlobDB._match_path:
  - 513
  - 514
  - 516
  - 517
  - 518
  - 521
  - 522
  - 523
  - 491
  - 492
  - 495
  - 496
  - 498
  - 499
  - 500
  - 505
  - 506
  - 508
  - 509
  - 510
  xdg.Mime.GlobDB.all_matches:
  - 488
  - 487
  xdg.Mime.GlobDB.finalise:
  - 448
  - 449
  - 453
  - 456
  - 457
  - 458
  - 460
  - 473
  - 463
  - 466
  - 467
  - 437
  - 470
  - 441
  - 442
  - 476
  - 447
  xdg.Mime.GlobDB.finalise.<lambda1>:
  - 476
  xdg.Mime.GlobDB.first_match:
  - 482
  - 479
  xdg.Mime.GlobDB.merge_file:
  - 416
  - 417
  - 418
  - 420
  - 422
  - 423
  - 424
  - 425
  - 429
  - 431
  - 434
  - 414
  xdg.Mime.MIMEtype:
  - 61
  xdg.Mime.MIMEtype.__hash__:
  - 133
  xdg.Mime.MIMEtype.__new__:
  - 68
  - 69
  - 71
  - 72
  - 77
  - 78
  xdg.Mime.MIMEtype._load:
  - 97
  - 98
  - 100
  - 101
  - 102
  - 91
  - 92
  - 93
  - 94
  - 95
  xdg.Mime.MIMEtype.canonical:
  - 114
  - 115
  - 116
  - 117
  - 118
  xdg.Mime.MIMEtype.get_comment:
  - 106
  - 108
  - 109
  - 110
  xdg.Mime.MIMEtype.inherits_from:
  - 122
  - 123
  - 124
  xdg.Mime.MagicDB.__init__:
  - 313
  xdg.Mime.MagicDB.__repr__:
  - 403
  xdg.Mime.MagicDB.finalise:
  - 352
  - 353
  - 354
  - 355
  - 358
  - 345
  xdg.Mime.MagicDB.match:
  - 400
  - 389
  - 398
  - 399
  xdg.Mime.MagicDB.match_data:
  - 385
  - 361
  - 369
  - 371
  - 372
  - 373
  - 374
  - 378
  - 380
  - 382
  xdg.Mime.MagicDB.merge_file:
  - 323
  - 325
  - 327
  - 329
  - 331
  - 332
  - 334
  - 336
  - 337
  - 338
  - 342
  - 316
  - 317
  - 318
  - 319
  xdg.Mime.MagicMatchAny:
  - 251
  xdg.Mime.MagicMatchAny.from_file:
  - 289
  - 267
  - 268
  - 269
  - 273
  - 277
  - 278
  - 279
  - 284
  - 286
  xdg.Mime.MagicMatchAny.from_rule_tree:
  - 293
  - 300
  - 301
  - 302
  - 303
  - 305
  - 307
  - 309
  xdg.Mime.MagicMatchAny.match:
  - 260
  xdg.Mime.MagicMatchAny.maxlen:
  - 263
  xdg.Mime.MagicRule:
  - 152
  xdg.Mime.MagicRule.from_file:
  - 156
  - 158
  - 162
  - 163
  - 166
  - 167
  - 169
  - 173
  - 174
  - 176
  - 181
  - 182
  - 186
  - 188
  - 189
  - 195
  - 196
  - 201
  - 202
  - 203
  - 205
  xdg.Mime.MagicRule.match:
  - 216
  - 214
  - 215
  xdg.Mime.MagicRule.match0:
  - 225
  - 227
  - 229
  - 230
  - 233
  - 234
  - 238
  - 220
  - 221
  - 222
  xdg.Mime.MagicRule.maxlen:
  - 208
  - 209
  - 210
  xdg.Mime._cache_database:
  - 545
  - 548
  - 549
  - 550
  - 551
  - 555
  - 556
  - 557
  - 558
  - 561
  - 562
  - 563
  - 564
  - 567
  - 568
  - 569
  - 570
  - 571
  xdg.Mime._get_node_data:
  - 46
  - 47
  xdg.Mime._get_type_by_stat:
  - 595
  - 596
  - 597
  - 598
  - 599
  - 600
  - 601
  xdg.Mime._is_text:
  - 714
  - 717
  xdg.Mime.get_extensions:
  - 736
  - 737
  - 738
  - 739
  - 724
  - 734
  - 735
  xdg.Mime.get_type:
  - 616
  - 619
  - 620
  - 622
  - 624
  - 627
  - 629
  - 630
  - 631
  - 632
  - 633
  - 605
  - 639
  xdg.Mime.get_type2:
  - 642
  - 675
  - 683
  - 655
  - 687
  - 689
  - 658
  - 691
  - 660
  - 662
  - 694
  - 664
  - 666
  - 667
  - 670
  - 671
  xdg.Mime.get_type_by_contents:
  - 584
  - 586
  - 583
  xdg.Mime.get_type_by_data:
  - 592
  - 589
  - 590
  xdg.Mime.get_type_by_name:
  - 578
  - 579
  - 580
  xdg.Mime.install_mime_info:
  - 772
  - 775
  - 776
  - 746
  - 780
  - 781
  - 752
  - 753
  - 756
  - 757
  - 758
  - 760
  - 761
  - 764
  xdg.Mime.is_text_file:
  - 697
  - 705
  - 710
  xdg.Mime.lookup:
  - 50
  - 58
  xdg.Mime.update_cache:
  - 574
  - 575
  xdg.RecentFiles:
  - 1
  xdg.RecentFiles.RecentFile.__cmp__:
  - 171
  xdg.RecentFiles.RecentFile.__eq__:
  - 177
  xdg.RecentFiles.RecentFiles.__parseRecentItem:
  - 43
  - 44
  - 46
  - 47
  - 48
  - 50
  - 52
  - 53
  - 54
  - 56
  - 58
  - 59
  - 60
  - 61
  xdg.RecentFiles.RecentFiles.addFile:
  - 131
  - 132
  - 136
  - 137
  - 139
  - 140
  - 144
  - 146
  - 149
  - 126
  xdg.RecentFiles.RecentFiles.deleteFile:
  - 152
  - 154
  - 155
  xdg.RecentFiles.RecentFiles.getFiles:
  - 97
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 112
  - 113
  - 114
  - 117
  - 118
  - 120
  xdg.RecentFiles.RecentFiles.parse:
  - 32
  - 33
  - 34
  - 35
  - 36
  - 37
  - 38
  - 40
  - 16
  - 20
  - 21
  - 24
  xdg.RecentFiles.RecentFiles.sort:
  - 158
  - 159
  xdg.RecentFiles.RecentFiles.write:
  - 64
  - 69
  - 71
  - 74
  - 75
  - 76
  - 77
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 93
  - 94
  xdg.util:
  - 5
  xdg.util.u:
  - 11
  xdg.util.which:
  - 66
  - 67
  - 68
  - 69
  - 70
  - 39
  - 40
  - 71
  - 72
  - 73
  - 44
  - 46
  - 48
  - 49
  - 20
  - 52
  - 57
  xdg.util.which._access_check:
  - 33
  - 34
Fuzzer filename: /src/fuzz_desktop_entry.py
Inheritance:
  lxml.ElementInclude.FatalIncludeError: []
  lxml.ElementInclude.LimitedRecursiveIncludeError:
  - FatalIncludeError
  lxml.cssselect.CSSSelector: []
  lxml.cssselect.LxmlHTMLTranslator:
  - LxmlTranslator
  lxml.cssselect.LxmlTranslator: []
  lxml.doctestcompare.LHTMLOutputChecker:
  - LXMLOutputChecker
  lxml.doctestcompare.LXMLOutputChecker:
  - OutputChecker
  lxml.doctestcompare._RestoreChecker:
  - object
  lxml.html.CheckboxGroup:
  - list
  lxml.html.CheckboxValues:
  - SetMixin
  lxml.html.Classes:
  - MutableSet
  lxml.html.FieldsDict:
  - MutableMapping
  lxml.html.FormElement:
  - HtmlElement
  lxml.html.HTMLParser: []
  lxml.html.HtmlComment:
  - HtmlMixin
  lxml.html.HtmlElement:
  - HtmlMixin
  lxml.html.HtmlElementClassLookup: []
  lxml.html.HtmlEntity:
  - HtmlMixin
  lxml.html.HtmlMixin:
  - object
  lxml.html.HtmlProcessingInstruction:
  - HtmlMixin
  lxml.html.InputElement:
  - InputMixin
  - HtmlElement
  lxml.html.InputGetter:
  - object
  lxml.html.InputMixin:
  - object
  lxml.html.LabelElement:
  - HtmlElement
  lxml.html.MultipleSelectOptions:
  - SetMixin
  lxml.html.RadioGroup:
  - list
  lxml.html.SelectElement:
  - InputMixin
  - HtmlElement
  lxml.html.TextareaElement:
  - InputMixin
  - HtmlElement
  lxml.html.XHTMLParser: []
  lxml.html._MethodFunc:
  - object
  lxml.html._html5builder.Document:
  - object
  lxml.html._html5builder.DocumentType:
  - object
  lxml.html._html5builder.TreeBuilder: []
  lxml.html._setmixin.SetMixin:
  - MutableSet
  lxml.html.formfill.DefaultErrorCreator:
  - object
  lxml.html.formfill.FormNotFound:
  - LookupError
  lxml.html.html5parser.HTMLParser:
  - _HTMLParser
  lxml.html.html5parser.XHTMLParser:
  - _XHTMLParser
  lxml.html.soupparser._PseudoTag: []
  lxml.isoschematron.Schematron: []
  xdg.DesktopEntry.DesktopEntry:
  - IniFile
  xdg.Exceptions.DuplicateGroupError:
  - Error
  xdg.Exceptions.DuplicateKeyError:
  - Error
  xdg.Exceptions.Error:
  - Exception
  xdg.Exceptions.NoGroupError:
  - Error
  xdg.Exceptions.NoKeyError:
  - Error
  xdg.Exceptions.NoThemeError:
  - Error
  xdg.Exceptions.ParsingError:
  - Error
  xdg.Exceptions.ValidationError:
  - Error
  xdg.IconTheme.IconData:
  - IniFile
  xdg.IconTheme.IconTheme:
  - IniFile
  xdg.IniFile.IniFile: []
  xdg.Menu.Header: []
  xdg.Menu.Layout: []
  xdg.Menu.Menu: []
  xdg.Menu.MenuEntry: []
  xdg.Menu.MenuEntryCache: []
  xdg.Menu.Move: []
  xdg.Menu.Rule: []
  xdg.Menu.Separator: []
  xdg.Menu.XMLMenuBuilder:
  - object
  xdg.MenuEditor.MenuEditor:
  - object
  xdg.Mime.DiscardMagicRules:
  - Exception
  xdg.Mime.GlobDB:
  - object
  xdg.Mime.MIMEtype:
  - object
  xdg.Mime.MagicDB: []
  xdg.Mime.MagicMatchAny:
  - object
  xdg.Mime.MagicRule: []
  xdg.Mime.UnknownMagicRuleFormat:
  - ValueError
  xdg.RecentFiles.RecentFile: []
  xdg.RecentFiles.RecentFiles: []
ep:
  func_name: TestOneInput
  module: '...fuzz_desktop_entry'
