Merged with default branch to prepare release 21.5. maintenance release-21.05

Sat, 01 May 2021 14:27:20 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 01 May 2021 14:27:20 +0200
branch
maintenance
changeset 8273
698ae46f40a4
parent 8190
fb0ef164f536 (current diff)
parent 8272
98e172238727 (diff)
child 8274
197414ba11cc

Merged with default branch to prepare release 21.5.

docs/changelog file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/DataViews/CodeMetricsDialog.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/AsyncFile.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/BreakpointWatch.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugUtilities.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugVariables.py file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/ThreadExtension.py file | annotate | diff | comparison | revisions
eric6/Debugger/BreakPointModel.py file | annotate | diff | comparison | revisions
eric6/Debugger/BreakPointViewer.py file | annotate | diff | comparison | revisions
eric6/Debugger/CallStackViewer.py file | annotate | diff | comparison | revisions
eric6/Debugger/CallTraceViewer.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugServer.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugUI.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugViewer.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebuggerInterfaceNone.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebuggerInterfacePython.py file | annotate | diff | comparison | revisions
eric6/Debugger/ExceptionLogger.py file | annotate | diff | comparison | revisions
eric6/Debugger/StartDialog.py file | annotate | diff | comparison | revisions
eric6/Debugger/VariablesFilterDialog.py file | annotate | diff | comparison | revisions
eric6/Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/DocumentationTools/ModuleDocumentor.py file | annotate | diff | comparison | revisions
eric6/DocumentationTools/QtHelpGenerator.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5Completers.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5LineEdit.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5MessageBox.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ProgressDialog.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5TabWidget.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5TextEditSearchWidget.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ZoomWidget.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5SslErrorHandler.py file | annotate | diff | comparison | revisions
eric6/E5Network/E5SslInfoWidget.py file | annotate | diff | comparison | revisions
eric6/Globals/__init__.py file | annotate | diff | comparison | revisions
eric6/Graphics/ApplicationDiagramBuilder.py file | annotate | diff | comparison | revisions
eric6/Graphics/ImportsDiagramBuilder.py file | annotate | diff | comparison | revisions
eric6/Graphics/PackageDiagramBuilder.py file | annotate | diff | comparison | revisions
eric6/Graphics/UMLClassDiagramBuilder.py file | annotate | diff | comparison | revisions
eric6/Graphics/UMLDialog.py file | annotate | diff | comparison | revisions
eric6/Graphics/UMLGraphicsView.py file | annotate | diff | comparison | revisions
eric6/HexEdit/HexEditMainWindow.py file | annotate | diff | comparison | revisions
eric6/IconEditor/IconEditorGrid.py file | annotate | diff | comparison | revisions
eric6/IconEditor/IconEditorWindow.py file | annotate | diff | comparison | revisions
eric6/Network/IRC/IrcMessageEdit.py file | annotate | diff | comparison | revisions
eric6/Network/IRC/IrcNetworkWidget.py file | annotate | diff | comparison | revisions
eric6/PipInterface/PipDialog.py file | annotate | diff | comparison | revisions
eric6/PipInterface/PipFreezeDialog.py file | annotate | diff | comparison | revisions
eric6/PluginManager/PluginManager.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Naming/NamingStyleChecker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/checker.py file | annotate | diff | comparison | revisions
eric6/Plugins/CheckerPlugins/SyntaxChecker/pyflakes/messages.py file | annotate | diff | comparison | revisions
eric6/Plugins/PluginWizardQFileDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsGit/GitDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsGit/git.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffGenerator.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HgRevisionSelectionDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditConfigDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/histedit.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesGuardsSelectionDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/ProjectHelper.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/queues.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/ShelveExtension/shelve.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/StripExtension/HgStripDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/StripExtension/strip.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsMercurial/hg.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnLogBrowserDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsSubversion/subversion.py file | annotate | diff | comparison | revisions
eric6/Plugins/ViewManagerPlugins/Listspace/Listspace.py file | annotate | diff | comparison | revisions
eric6/Plugins/ViewManagerPlugins/Tabview/Tabview.py file | annotate | diff | comparison | revisions
eric6/Plugins/WizardPlugins/E5MessageBoxWizard/E5MessageBoxWizardDialog.py file | annotate | diff | comparison | revisions
eric6/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/ConfigurationPageBase.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/DebuggerGeneralPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/EditorAutocompletionPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/HelpDocumentationPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/NotificationsPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/ProjectBrowserPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ConfigurationPages/QtPage.py file | annotate | diff | comparison | revisions
eric6/Preferences/ProgramsDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/Shortcuts.py file | annotate | diff | comparison | revisions
eric6/Preferences/ShortcutsDialog.py file | annotate | diff | comparison | revisions
eric6/Preferences/__init__.py file | annotate | diff | comparison | revisions
eric6/Project/CreateDialogCodeDialog.py file | annotate | diff | comparison | revisions
eric6/Project/Project.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectBrowserModel.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectFormsBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectResourcesBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/ProjectTranslationsBrowser.py file | annotate | diff | comparison | revisions
eric6/Project/UicCompilerOptionsDialog.py file | annotate | diff | comparison | revisions
eric6/Project/UicLoadUi5.py file | annotate | diff | comparison | revisions
eric6/Project/UicLoadUi6.py file | annotate | diff | comparison | revisions
eric6/PyUnit/UnittestDialog.py file | annotate | diff | comparison | revisions
eric6/QScintilla/APIsManager.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Editor.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Exporters/ExporterHTML.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Lexers/LexerPygments.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Lexers/__init__.py file | annotate | diff | comparison | revisions
eric6/QScintilla/MiniEditor.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Shell.py file | annotate | diff | comparison | revisions
eric6/QScintilla/SpellChecker.py file | annotate | diff | comparison | revisions
eric6/Tasks/TaskViewer.py file | annotate | diff | comparison | revisions
eric6/UI/BrowserModel.py file | annotate | diff | comparison | revisions
eric6/UI/CompareDialog.py file | annotate | diff | comparison | revisions
eric6/UI/FindFileDialog.py file | annotate | diff | comparison | revisions
eric6/UI/Previewers/PreviewerHTML.py file | annotate | diff | comparison | revisions
eric6/UI/UserInterface.py file | annotate | diff | comparison | revisions
eric6/Utilities/BackgroundClient.py file | annotate | diff | comparison | revisions
eric6/Utilities/BackgroundService.py file | annotate | diff | comparison | revisions
eric6/Utilities/ModuleParser.py file | annotate | diff | comparison | revisions
eric6/Utilities/__init__.py file | annotate | diff | comparison | revisions
eric6/Utilities/crypto/__init__.py file | annotate | diff | comparison | revisions
eric6/VCS/VersionControl.py file | annotate | diff | comparison | revisions
eric6/ViewManager/ViewManager.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvAddEditDialog.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvConfigurationDialog.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvExecDialog.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvManager.py file | annotate | diff | comparison | revisions
eric6/VirtualEnv/VirtualenvManagerDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Bookmarks/BookmarksManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Download/DownloadItem.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Network/EricSchemeHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Network/NetworkManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Network/QtHelpSchemeHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/QtHelp/HelpIndexWidget.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/DirectorySyncHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/FtpSyncHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/SyncHandler.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Sync/SyncManager.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserTabWidget.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserView.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
scripts/install-debugclients.py file | annotate | diff | comparison | revisions
scripts/install.py file | annotate | diff | comparison | revisions
--- a/docs/changelog	Fri Apr 02 11:59:41 2021 +0200
+++ b/docs/changelog	Sat May 01 14:27:20 2021 +0200
@@ -1,5 +1,24 @@
 Change Log
 ----------
+Version 21.5:
+- bug fixes
+- Code Style Checker
+  -- added a checker to find code that could be simplified
+  -- added capability to the results page to filter the messages based on
+     message code
+  -- improved the statistics handling
+  -- updated pycodestyle to version 2.7.0
+- MicroPython
+  -- added option to select the baud rate for flashing ESP32 and ESP8266 boards
+  -- updated the BBC micro:bit API file to support micro:bit V2
+- Python Lexer
+  -- updated the substyle contents
+- Syntax Checker
+  -- updated pyflakes to version 2.3.1
+- Third Party packages
+  -- removed most of the bundled Third Party packages in favour of pip
+     installed packages
+
 Version 21.4:
 - bug fixes
 - Code Style Checker
--- a/eric6.epj	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6.epj	Sat May 01 14:27:20 2021 +0200
@@ -8,8 +8,21 @@
     "CHECKERSPARMS": {
       "Pep8Checker": {
         "AnnotationsChecker": {
+          "AllowUntypedDefs": false,
+          "AllowUntypedNested": false,
+          "DispatchDecorators": [
+            "singledispatch",
+            "singledispatchmethod"
+          ],
           "MaximumComplexity": 3,
-          "MinimumCoverage": 75
+          "MaximumLength": 7,
+          "MinimumCoverage": 75,
+          "MypyInitReturn": false,
+          "OverloadDecorators": [
+            "overload"
+          ],
+          "SuppressDummyArgs": false,
+          "SuppressNoneReturning": true
         },
         "BlankLines": [
           2,
@@ -47,9 +60,9 @@
         "CopyrightAuthor": "",
         "CopyrightMinFileSize": 0,
         "DocstringType": "eric",
-        "EnabledCheckerCategories": "C, D, E, M, N, W",
-        "ExcludeFiles": "*/ThirdParty/*, */coverage/*, */Ui_*.py, */Examples/*, */*_rc.py,*/pycodestyle.py,*/pyflakes/checker.py,*/mccabe.py,*/eradicate.py",
-        "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W504",
+        "EnabledCheckerCategories": "C, D, E, M, N, Y, W",
+        "ExcludeFiles": "*/ThirdParty/*, */coverage/*, */Ui_*.py, */Examples/*, */*_rc.py,*/pycodestyle.py,*/pyflakes/checker.py,*/mccabe.py,*/eradicate.py,*/ast_unparse.py",
+        "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W504,Y119,Y401,Y402",
         "FixCodes": "",
         "FixIssues": false,
         "FutureChecker": "",
@@ -854,20 +867,7 @@
       "eric6/Plugins/ViewManagerPlugins/Tabview/preview.png",
       "eric6/Plugins/WizardPlugins/SetupWizard/data/trove_classifiers.txt",
       "eric6/Styles",
-      "eric6/ThirdParty/CharDet/LICENSE",
-      "eric6/ThirdParty/CharDet/README.rst",
-      "eric6/ThirdParty/EditorConfig/COPYING",
-      "eric6/ThirdParty/EditorConfig/LICENSE.BSD",
-      "eric6/ThirdParty/EditorConfig/LICENSE.PSF",
-      "eric6/ThirdParty/EditorConfig/README.rst",
       "eric6/ThirdParty/Jasy/jasy/license.md",
-      "eric6/ThirdParty/Pygments/pygments/AUTHORS",
-      "eric6/ThirdParty/Pygments/pygments/CHANGES",
-      "eric6/ThirdParty/Pygments/pygments/LICENSE",
-      "eric6/ThirdParty/Pygments/pygments/PKG-INFO",
-      "eric6/ThirdParty/Send2Trash/LICENSE",
-      "eric6/ThirdParty/Send2Trash/PKG-INFO",
-      "eric6/ThirdParty/asttokens/asttokens/LICENSE",
       "eric6/UI/data/documentViewerStyle-dark.css",
       "eric6/UI/data/documentViewerStyle-light.css",
       "eric6/WebBrowser/Bookmarks/DefaultBookmarks.xbel",
@@ -1878,60 +1878,6 @@
       "eric6/Templates/TemplateViewer.py",
       "eric6/Templates/TemplatesFile.py",
       "eric6/Templates/__init__.py",
-      "eric6/ThirdParty/CharDet/__init__.py",
-      "eric6/ThirdParty/CharDet/chardet/__init__.py",
-      "eric6/ThirdParty/CharDet/chardet/big5freq.py",
-      "eric6/ThirdParty/CharDet/chardet/big5prober.py",
-      "eric6/ThirdParty/CharDet/chardet/chardistribution.py",
-      "eric6/ThirdParty/CharDet/chardet/charsetgroupprober.py",
-      "eric6/ThirdParty/CharDet/chardet/charsetprober.py",
-      "eric6/ThirdParty/CharDet/chardet/cli/__init__.py",
-      "eric6/ThirdParty/CharDet/chardet/cli/chardetect.py",
-      "eric6/ThirdParty/CharDet/chardet/codingstatemachine.py",
-      "eric6/ThirdParty/CharDet/chardet/compat.py",
-      "eric6/ThirdParty/CharDet/chardet/cp949prober.py",
-      "eric6/ThirdParty/CharDet/chardet/enums.py",
-      "eric6/ThirdParty/CharDet/chardet/escprober.py",
-      "eric6/ThirdParty/CharDet/chardet/escsm.py",
-      "eric6/ThirdParty/CharDet/chardet/eucjpprober.py",
-      "eric6/ThirdParty/CharDet/chardet/euckrfreq.py",
-      "eric6/ThirdParty/CharDet/chardet/euckrprober.py",
-      "eric6/ThirdParty/CharDet/chardet/euctwfreq.py",
-      "eric6/ThirdParty/CharDet/chardet/euctwprober.py",
-      "eric6/ThirdParty/CharDet/chardet/gb2312freq.py",
-      "eric6/ThirdParty/CharDet/chardet/gb2312prober.py",
-      "eric6/ThirdParty/CharDet/chardet/hebrewprober.py",
-      "eric6/ThirdParty/CharDet/chardet/jisfreq.py",
-      "eric6/ThirdParty/CharDet/chardet/jpcntx.py",
-      "eric6/ThirdParty/CharDet/chardet/langbulgarianmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langgreekmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langhebrewmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langhungarianmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langrussianmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langthaimodel.py",
-      "eric6/ThirdParty/CharDet/chardet/langturkishmodel.py",
-      "eric6/ThirdParty/CharDet/chardet/latin1prober.py",
-      "eric6/ThirdParty/CharDet/chardet/mbcharsetprober.py",
-      "eric6/ThirdParty/CharDet/chardet/mbcsgroupprober.py",
-      "eric6/ThirdParty/CharDet/chardet/mbcssm.py",
-      "eric6/ThirdParty/CharDet/chardet/metadata/__init__.py",
-      "eric6/ThirdParty/CharDet/chardet/metadata/languages.py",
-      "eric6/ThirdParty/CharDet/chardet/sbcharsetprober.py",
-      "eric6/ThirdParty/CharDet/chardet/sbcsgroupprober.py",
-      "eric6/ThirdParty/CharDet/chardet/sjisprober.py",
-      "eric6/ThirdParty/CharDet/chardet/universaldetector.py",
-      "eric6/ThirdParty/CharDet/chardet/utf8prober.py",
-      "eric6/ThirdParty/CharDet/chardet/version.py",
-      "eric6/ThirdParty/EditorConfig/__init__.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/__init__.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/__main__.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/compat.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/exceptions.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/fnmatch.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/handler.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/ini.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/version.py",
-      "eric6/ThirdParty/EditorConfig/editorconfig/versiontools.py",
       "eric6/ThirdParty/Jasy/__init__.py",
       "eric6/ThirdParty/Jasy/jasy/__init__.py",
       "eric6/ThirdParty/Jasy/jasy/core/Console.py",
@@ -1954,259 +1900,7 @@
       "eric6/ThirdParty/Jasy/jasy/script/tokenize/Tokenizer.py",
       "eric6/ThirdParty/Jasy/jasy/script/tokenize/__init__.py",
       "eric6/ThirdParty/Jasy/jasy/script/util/__init__.py",
-      "eric6/ThirdParty/Pygments/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/__main__.py",
-      "eric6/ThirdParty/Pygments/pygments/cmdline.py",
-      "eric6/ThirdParty/Pygments/pygments/console.py",
-      "eric6/ThirdParty/Pygments/pygments/filter.py",
-      "eric6/ThirdParty/Pygments/pygments/filters/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/formatter.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/_mapping.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/bbcode.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/html.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/img.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/irc.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/latex.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/other.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/rtf.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/svg.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/terminal.py",
-      "eric6/ThirdParty/Pygments/pygments/formatters/terminal256.py",
-      "eric6/ThirdParty/Pygments/pygments/lexer.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_asy_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_cl_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_cocoa_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_csound_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_lasso_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_lua_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_mapping.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_mql_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_mysql_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_openedge_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_php_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_postgres_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_scilab_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_sourcemod_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_stan_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_stata_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_tsql_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_usd_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_vbscript_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/_vim_builtins.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/actionscript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/agile.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/algebra.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ambient.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ampl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/apl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/archetype.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/arrow.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/asm.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/automation.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/bare.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/basic.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/bibtex.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/boa.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/business.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/c_cpp.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/c_like.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/capnproto.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/chapel.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/clean.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/compiled.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/configs.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/console.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/crystal.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/csound.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/css.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/d.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/dalvik.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/data.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/devicetree.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/diff.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/dotnet.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/dsls.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/dylan.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ecl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/eiffel.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/elm.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/email.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/erlang.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/esoteric.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ezhil.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/factor.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/fantom.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/felix.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/floscript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/forth.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/fortran.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/foxpro.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/freefem.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/functional.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/gdscript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/go.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/grammar_notation.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/graph.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/graphics.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/haskell.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/haxe.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/hdl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/hexdump.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/html.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/idl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/igor.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/inferno.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/installers.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/int_fiction.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/iolang.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/j.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/javascript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/julia.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/jvm.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/lisp.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/make.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/markup.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/math.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/matlab.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/mime.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ml.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/modeling.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/modula2.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/monte.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/mosel.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ncl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/nimrod.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/nit.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/nix.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/oberon.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/objective.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ooc.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/other.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/parasail.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/parsers.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/pascal.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/pawn.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/perl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/php.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/pointless.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/pony.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/praat.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/prolog.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/promql.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/python.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/qvt.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/r.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/rdf.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/rebol.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/resource.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ride.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/rnc.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/roboconf.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/robotframework.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/ruby.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/rust.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/sas.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/scdoc.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/scripting.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/sgf.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/shell.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/sieve.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/slash.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/smalltalk.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/smv.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/snobol.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/solidity.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/special.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/sql.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/stata.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/supercollider.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/tcl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/templates.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/teraterm.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/testing.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/text.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/textedit.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/textfmts.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/theorem.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/tnt.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/trafficscript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/typoscript.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/unicon.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/urbi.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/usd.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/varnish.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/verification.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/web.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/webidl.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/webmisc.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/whiley.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/x10.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/xorg.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/yang.py",
-      "eric6/ThirdParty/Pygments/pygments/lexers/zig.py",
-      "eric6/ThirdParty/Pygments/pygments/modeline.py",
-      "eric6/ThirdParty/Pygments/pygments/plugin.py",
-      "eric6/ThirdParty/Pygments/pygments/regexopt.py",
-      "eric6/ThirdParty/Pygments/pygments/scanner.py",
-      "eric6/ThirdParty/Pygments/pygments/sphinxext.py",
-      "eric6/ThirdParty/Pygments/pygments/style.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/__init__.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/abap.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/algol.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/algol_nu.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/arduino.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/autumn.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/borland.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/bw.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/colorful.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/default.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/emacs.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/friendly.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/fruity.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/igor.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/inkpot.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/lovelace.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/manni.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/monokai.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/murphy.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/native.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/paraiso_dark.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/paraiso_light.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/pastie.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/perldoc.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/rainbow_dash.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/rrt.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/sas.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/solarized.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/stata_dark.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/stata_light.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/tango.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/trac.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/vim.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/vs.py",
-      "eric6/ThirdParty/Pygments/pygments/styles/xcode.py",
-      "eric6/ThirdParty/Pygments/pygments/token.py",
-      "eric6/ThirdParty/Pygments/pygments/unistring.py",
-      "eric6/ThirdParty/Pygments/pygments/util.py",
-      "eric6/ThirdParty/Send2Trash/__init__.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/__init__.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/compat.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/exceptions.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/plat_gio.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/plat_osx.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/plat_other.py",
-      "eric6/ThirdParty/Send2Trash/send2trash/plat_win.py",
       "eric6/ThirdParty/__init__.py",
-      "eric6/ThirdParty/asttokens/__init__.py",
-      "eric6/ThirdParty/asttokens/asttokens/__init__.py",
-      "eric6/ThirdParty/asttokens/asttokens/asttokens.py",
-      "eric6/ThirdParty/asttokens/asttokens/line_numbers.py",
-      "eric6/ThirdParty/asttokens/asttokens/mark_tokens.py",
-      "eric6/ThirdParty/asttokens/asttokens/util.py",
-      "eric6/ThirdParty/asttokens/asttokens/version.py",
       "eric6/Toolbox/SingleApplication.py",
       "eric6/Toolbox/Startup.py",
       "eric6/Toolbox/__init__.py",
@@ -2573,7 +2267,15 @@
       "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py",
       "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py",
       "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/eradicate.py",
-      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/mccabe.py"
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/mccabe.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/__init__.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/ast_unparse.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/SimplifyChecker.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/SimplifyNodeVisitor.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFunctionVisitor.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsEnums.py",
+      "eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsCheckerDefaults.py"
     ],
     "SPELLEXCLUDES": "Dictionaries/excludes.dic",
     "SPELLLANGUAGE": "en_US",
--- a/eric6/APIs/MicroPython/microbit.api	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/APIs/MicroPython/microbit.api	Sat May 01 14:27:20 2021 +0200
@@ -8,6 +8,9 @@
 machine.reset?4()
 machine.time_pulse_us?4(pin, pulse_level, timeout_us=1000000)
 machine.unique_id?4()
+microbit.Button.get_presses?4()
+microbit.Button.is_pressed?4()
+microbit.Button.was_pressed?4()
 microbit.Image.ANGRY?7
 microbit.Image.ARROW_E?7
 microbit.Image.ARROW_N?7
@@ -88,6 +91,7 @@
 microbit.MicroBitAnalogDigitalPin.NO_PULL?7
 microbit.MicroBitAnalogDigitalPin.PULL_DOWN?7
 microbit.MicroBitAnalogDigitalPin.PULL_UP?7
+microbit.MicroBitAnalogDigitalPin.get_analog_period_microseconds?4()
 microbit.MicroBitAnalogDigitalPin.get_mode?4()
 microbit.MicroBitAnalogDigitalPin.get_pull?4()
 microbit.MicroBitAnalogDigitalPin.read_analog?4()
@@ -97,9 +101,6 @@
 microbit.MicroBitAnalogDigitalPin.set_pull?4(mode)
 microbit.MicroBitAnalogDigitalPin.write_analog?4(value)
 microbit.MicroBitAnalogDigitalPin.write_digital?4(value)
-microbit.MicroBitButton.get_presses?4()
-microbit.MicroBitButton.is_pressed?4()
-microbit.MicroBitButton.was_pressed?4()
 microbit.MicroBitDigitalPin.NO_PULL?7
 microbit.MicroBitDigitalPin.PULL_DOWN?7
 microbit.MicroBitDigitalPin.PULL_UP?7
@@ -112,9 +113,16 @@
 microbit.MicroBitDigitalPin.set_pull?4(mode)
 microbit.MicroBitDigitalPin.write_analog?4(value)
 microbit.MicroBitDigitalPin.write_digital?4(value)
+microbit.MicroBitTouchOnlyPin.CAPACITIVE?7
+microbit.MicroBitTouchOnlyPin.RESISTIVE?7
+microbit.MicroBitTouchOnlyPin.is_touched?4()
+microbit.MicroBitTouchOnlyPin.set_touch_mode?4(mode)
+microbit.MicroBitTouchPin.CAPACITIVE?7
 microbit.MicroBitTouchPin.NO_PULL?7
 microbit.MicroBitTouchPin.PULL_DOWN?7
 microbit.MicroBitTouchPin.PULL_UP?7
+microbit.MicroBitTouchPin.RESISTIVE?7
+microbit.MicroBitTouchPin.get_analog_period_microseconds?4()
 microbit.MicroBitTouchPin.get_mode?4()
 microbit.MicroBitTouchPin.get_pull?4()
 microbit.MicroBitTouchPin.is_touched?4()
@@ -123,8 +131,21 @@
 microbit.MicroBitTouchPin.set_analog_period?4(period)
 microbit.MicroBitTouchPin.set_analog_period_microseconds?4(period)
 microbit.MicroBitTouchPin.set_pull?4(mode)
+microbit.MicroBitTouchPin.set_touch_mode?4(mode)
 microbit.MicroBitTouchPin.write_analog?4(value)
 microbit.MicroBitTouchPin.write_digital?4(value)
+microbit.Sound.GIGGLE?7
+microbit.Sound.HAPPY?7
+microbit.Sound.HELLO?7
+microbit.Sound.MYSTERIOUS?7
+microbit.Sound.SAD?7
+microbit.Sound.SLIDE?7
+microbit.Sound.SOARING?7
+microbit.Sound.SPRING?7
+microbit.Sound.TWINKLE?7
+microbit.Sound.YAWN?7
+microbit.SoundEvent.LOUD?7
+microbit.SoundEvent.QUIET?7
 microbit.accelerometer.current_gesture?4()
 microbit.accelerometer.get_gestures?4()
 microbit.accelerometer.get_values?4()
@@ -157,6 +178,12 @@
 microbit.i2c.read?4(addr, n, repeat=False)
 microbit.i2c.scan?4()
 microbit.i2c.write?4(addr, buf, repeat=False)
+microbit.microphone.current_event?4()
+microbit.microphone.get_events?4()
+microbit.microphone.is_event?4(event)
+microbit.microphone.set_threshold?4(event, value)
+microbit.microphone.sound_level?4()
+microbit.microphone.was_event?4(event)
 microbit.panic?4(code)
 microbit.pin0?7
 microbit.pin10?7
@@ -177,9 +204,14 @@
 microbit.pin7?7
 microbit.pin8?7
 microbit.pin9?7
+microbit.pin_logo?7
+microbit.pin_speaker?7
 microbit.reset?4()
 microbit.running_time?4()
+microbit.set_volume?4(volume)
 microbit.sleep?4(ms)
+microbit.speaker.off?4()
+microbit.speaker.on?4()
 microbit.spi.init?4(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14)
 microbit.spi.read?4(nbytes)
 microbit.spi.write?4(buffer)
@@ -234,8 +266,10 @@
 music.set_tempo?4(ticks=4, bpm=120)
 music.stop?4(pin=microbit.pin0)
 neopixel.NeoPixel.clear?4()
+neopixel.NeoPixel.fill?4(color)
 neopixel.NeoPixel.show?4()
-neopixel.NeoPixel?1(pin, n)
+neopixel.NeoPixel.write?4()
+neopixel.NeoPixel?1(pin, n, bpp=3)
 os.listdir?4()
 os.remove?4(filename)
 os.size?4(filename)
@@ -262,9 +296,9 @@
 random.randrange?4(stop)
 random.seed?4(n)
 random.uniform?4(a, b)
-speech.pronounce?4(phonemes, *, pitch=64, speed=72, mouth=128, throat=128)
-speech.say?4(words, *, pitch=64, speed=72, mouth=128, throat=128)
-speech.sing?4(phonemes, *, pitch=64, speed=72, mouth=128, throat=128)
+speech.pronounce?4(phonemes, *, pitch=64, speed=72, mouth=128, throat=128, pin=pin0)
+speech.say?4(words, *, pitch=64, speed=72, mouth=128, throat=128, pin=pin0)
+speech.sing?4(phonemes, *, pitch=64, speed=72, mouth=128, throat=128, pin=pin0)
 speech.translate?4(words)
 utime.sleep?4(seconds)
 utime.sleep_ms?4(ms)
--- a/eric6/APIs/Python3/eric6.api	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/APIs/Python3/eric6.api	Sat May 01 14:27:20 2021 +0200
@@ -685,7 +685,7 @@
 eric6.Debugger.DebugUI.DebugUI.setMultiprocessNoDebugHistory?4(noDebugList, clearHistories=False, history=None)
 eric6.Debugger.DebugUI.DebugUI.setTracePython?4(tracePython)
 eric6.Debugger.DebugUI.DebugUI.setWdHistory?4(wdStr, clearHistories=False, history=None)
-eric6.Debugger.DebugUI.DebugUI.showNotification?4(notification, kind=NotificationTypes.Information, timeout=None)
+eric6.Debugger.DebugUI.DebugUI.showNotification?4(notification, kind=NotificationTypes.INFORMATION, timeout=None)
 eric6.Debugger.DebugUI.DebugUI.shutdown?4()
 eric6.Debugger.DebugUI.DebugUI.shutdownServer?4()
 eric6.Debugger.DebugUI.DebugUI.variablesFilter?4(scope)
@@ -1019,9 +1019,9 @@
 eric6.E5Graphics.E5ArrowItem.E5ArrowItem.setEndPoint?4(x, y)
 eric6.E5Graphics.E5ArrowItem.E5ArrowItem.setPoints?4(xa, ya, xb, yb)
 eric6.E5Graphics.E5ArrowItem.E5ArrowItem.setStartPoint?4(x, y)
-eric6.E5Graphics.E5ArrowItem.E5ArrowItem?1(origin=None, end=None, filled=False, arrowType=NormalArrow, colors=None, parent=None)
-eric6.E5Graphics.E5ArrowItem.NormalArrow?7
-eric6.E5Graphics.E5ArrowItem.WideArrow?7
+eric6.E5Graphics.E5ArrowItem.E5ArrowItem?1(origin=None, end=None, filled=False, arrowType=E5ArrowType.NORMAL, colors=None, parent=None)
+eric6.E5Graphics.E5ArrowItem.E5ArrowType.NORMAL?7
+eric6.E5Graphics.E5ArrowItem.E5ArrowType.WIDE?7
 eric6.E5Graphics.E5GraphicsView.E5GraphicsView.ZoomLevelDefault?7
 eric6.E5Graphics.E5GraphicsView.E5GraphicsView.ZoomLevels?7
 eric6.E5Graphics.E5GraphicsView.E5GraphicsView._getDiagramRect?5(border=0)
@@ -1143,7 +1143,7 @@
 eric6.E5Gui.E5Led.E5ClickableLed.clicked?7
 eric6.E5Gui.E5Led.E5ClickableLed.middleClicked?7
 eric6.E5Gui.E5Led.E5ClickableLed.mouseReleaseEvent?4(evt)
-eric6.E5Gui.E5Led.E5ClickableLed?1(parent=None, color=None, shape=E5LedCircular, rectRatio=1)
+eric6.E5Gui.E5Led.E5ClickableLed?1(parent=None, color=None, shape=E5LedType.CIRCULAR, rectRatio=1)
 eric6.E5Gui.E5Led.E5Led.color?4()
 eric6.E5Gui.E5Led.E5Led.darkFactor?4()
 eric6.E5Gui.E5Led.E5Led.isFramed?4()
@@ -1162,12 +1162,10 @@
 eric6.E5Gui.E5Led.E5Led.shape?4()
 eric6.E5Gui.E5Led.E5Led.sizeHint?4()
 eric6.E5Gui.E5Led.E5Led.toggle?4()
-eric6.E5Gui.E5Led.E5Led?1(parent=None, color=None, shape=E5LedCircular, rectRatio=1)
-eric6.E5Gui.E5Led.E5LedCircular?7
-eric6.E5Gui.E5Led.E5LedRectangular?7
-eric6.E5Gui.E5LineEdit.E5ClearableLineEdit?1(parent=None, inactiveText="", side=E5LineEdit.RightSide)
-eric6.E5Gui.E5LineEdit.E5LineEdit.LeftSide?7
-eric6.E5Gui.E5LineEdit.E5LineEdit.RightSide?7
+eric6.E5Gui.E5Led.E5Led?1(parent=None, color=None, shape=E5LedType.CIRCULAR, rectRatio=1)
+eric6.E5Gui.E5Led.E5LedType.CIRCULAR?7
+eric6.E5Gui.E5Led.E5LedType.RECTANGULAR?7
+eric6.E5Gui.E5LineEdit.E5ClearableLineEdit?1(parent=None, inactiveText="", side=E5LineEditSide.RIGHT)
 eric6.E5Gui.E5LineEdit.E5LineEdit._updateTextMargins?5()
 eric6.E5Gui.E5LineEdit.E5LineEdit.addWidget?4(widget, position)
 eric6.E5Gui.E5LineEdit.E5LineEdit.event?4(evt)
@@ -1180,6 +1178,8 @@
 eric6.E5Gui.E5LineEdit.E5LineEdit.textMargin?4(position)
 eric6.E5Gui.E5LineEdit.E5LineEdit.widgetSpacing?4()
 eric6.E5Gui.E5LineEdit.E5LineEdit?1(parent=None, inactiveText="")
+eric6.E5Gui.E5LineEdit.E5LineEditSide.LEFT?7
+eric6.E5Gui.E5LineEdit.E5LineEditSide.RIGHT?7
 eric6.E5Gui.E5LineEdit.E5LineEditSideWidget.event?4(evt)
 eric6.E5Gui.E5LineEdit.E5LineEditSideWidget.sizeHintChanged?7
 eric6.E5Gui.E5LineEdit.E5LineEditSideWidget?1(parent=None)
@@ -1312,10 +1312,7 @@
 eric6.E5Gui.E5OverrideCursor.E5OverrideCursor?1(cursorShape=Qt.CursorShape.WaitCursor)
 eric6.E5Gui.E5OverrideCursor.E5OverrideCursorProcess?1(parent=None, cursorShape=Qt.CursorShape.WaitCursor)
 eric6.E5Gui.E5OverrideCursor.E5OverridenCursor?1()
-eric6.E5Gui.E5PassivePopup.DEFAULT_POPUP_TIME?7
-eric6.E5Gui.E5PassivePopup.DEFAULT_POPUP_TYPE?7
-eric6.E5Gui.E5PassivePopup.E5PassivePopup.Boxed?7
-eric6.E5Gui.E5PassivePopup.E5PassivePopup.Custom?7
+eric6.E5Gui.E5PassivePopup.E5PassivePopup.DefaultPopupTime?7
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.clicked?7
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.getCustomData?4(key)
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.hideEvent?4(evt)
@@ -1327,8 +1324,10 @@
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.show?4(p=None)
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.timeout?4()
 eric6.E5Gui.E5PassivePopup.E5PassivePopup.view?4()
-eric6.E5Gui.E5PassivePopup.E5PassivePopup?1(parent=None)
-eric6.E5Gui.E5PassivePopup.POPUP_FLAGS?7
+eric6.E5Gui.E5PassivePopup.E5PassivePopup?1(style=E5PassivePopupStyle.BOXED, parent=None)
+eric6.E5Gui.E5PassivePopup.E5PassivePopupStyle.BOXED?7
+eric6.E5Gui.E5PassivePopup.E5PassivePopupStyle.CUSTOM?7
+eric6.E5Gui.E5PassivePopup.E5PassivePopupStyle.STYLED?7
 eric6.E5Gui.E5PasswordMeter.E5PasswordMeter.checkPasswordStrength?4(password)
 eric6.E5Gui.E5PasswordMeter.E5PasswordMeter.setMaximum?4(value)
 eric6.E5Gui.E5PasswordMeter.E5PasswordMeter.setMinimum?4(value)
@@ -1414,11 +1413,7 @@
 eric6.E5Gui.E5ProgressDialog.E5ProgressDialog.format?4()
 eric6.E5Gui.E5ProgressDialog.E5ProgressDialog.setFormat?4(labelFormat)
 eric6.E5Gui.E5ProgressDialog.E5ProgressDialog?1(labelText, cancelButtonText, minimum, maximum, labelFormat=None, parent=None, flags=None)
-eric6.E5Gui.E5SideBar.E5SideBar.East?7
-eric6.E5Gui.E5SideBar.E5SideBar.North?7
-eric6.E5Gui.E5SideBar.E5SideBar.South?7
 eric6.E5Gui.E5SideBar.E5SideBar.Version?7
-eric6.E5Gui.E5SideBar.E5SideBar.West?7
 eric6.E5Gui.E5SideBar.E5SideBar.addTab?4(widget, iconOrLabel, label=None)
 eric6.E5Gui.E5SideBar.E5SideBar.clear?4()
 eric6.E5Gui.E5SideBar.E5SideBar.count?4()
@@ -1458,6 +1453,10 @@
 eric6.E5Gui.E5SideBar.E5SideBar.tabWhatsThis?4(index)
 eric6.E5Gui.E5SideBar.E5SideBar.widget?4(index)
 eric6.E5Gui.E5SideBar.E5SideBar?1(orientation=None, delay=200, parent=None)
+eric6.E5Gui.E5SideBar.E5SideBarSide.EAST?7
+eric6.E5Gui.E5SideBar.E5SideBarSide.NORTH?7
+eric6.E5Gui.E5SideBar.E5SideBarSide.SOUTH?7
+eric6.E5Gui.E5SideBar.E5SideBarSide.WEST?7
 eric6.E5Gui.E5SimpleHelpDialog.E5SimpleHelpDialog?1(title="", label="", helpStr="", parent=None)
 eric6.E5Gui.E5SingleApplication.E5SingleApplicationClient.processArgs?4(args)
 eric6.E5Gui.E5SingleApplication.E5SingleApplicationClient?1()
@@ -1507,13 +1506,17 @@
 eric6.E5Gui.E5TableView.E5TableView.keyPressEvent?4(evt)
 eric6.E5Gui.E5TableView.E5TableView.removeAll?4()
 eric6.E5Gui.E5TableView.E5TableView.removeSelected?4()
-eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.attachTextEdit?4(textedit, editType="QTextEdit")
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.attachTextEdit?4(textedit, editType=E5TextEditType.QTEXTEDIT)
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.keyPressEvent?4(event)
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findNextButton_clicked?4()
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findPrevButton_clicked?4()
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findtextCombo_editTextChanged?4(txt)
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.setWidthForHeight?4(widthForHeight)
 eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget?1(parent=None, widthForHeight=True)
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditType.QTEXTBROWSER?7
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditType.QTEXTEDIT?7
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditType.QWEBENGINEVIEW?7
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditType.UNKNOWN?7
 eric6.E5Gui.E5TextInputDialog.E5TextInputDialog.labelText?4()
 eric6.E5Gui.E5TextInputDialog.E5TextInputDialog.setLabelText?4(text)
 eric6.E5Gui.E5TextInputDialog.E5TextInputDialog.setTextEchoMode?4(echoMode)
@@ -1583,9 +1586,6 @@
 eric6.E5Gui.E5ToolBox.E5HorizontalToolBox.setItemToolTip?4(index, toolTip)
 eric6.E5Gui.E5ToolBox.E5HorizontalToolBox?1(parent=None)
 eric6.E5Gui.E5ToolBox.E5VerticalToolBox?1(parent=None)
-eric6.E5Gui.E5ToolButton.E5ToolButton.NoOptions?7
-eric6.E5Gui.E5ToolButton.E5ToolButton.ShowMenuInsideOption?7
-eric6.E5Gui.E5ToolButton.E5ToolButton.ToolBarLookOption?7
 eric6.E5Gui.E5ToolButton.E5ToolButton.aboutToHideMenu?7
 eric6.E5Gui.E5ToolButton.E5ToolButton.aboutToShowMenu?7
 eric6.E5Gui.E5ToolButton.E5ToolButton.badgeText?4()
@@ -1604,14 +1604,15 @@
 eric6.E5Gui.E5ToolButton.E5ToolButton.showMenuInside?4()
 eric6.E5Gui.E5ToolButton.E5ToolButton.toolbarButtonLook?4()
 eric6.E5Gui.E5ToolButton.E5ToolButton?1(parent=None)
+eric6.E5Gui.E5ToolButton.E5ToolButtonOptions.DEFAULT?7
+eric6.E5Gui.E5ToolButton.E5ToolButtonOptions.SHOW_MENU_INSIDE?7
+eric6.E5Gui.E5ToolButton.E5ToolButtonOptions.TOOLBAR_LOOKUP?7
 eric6.E5Gui.E5TreeSortFilterProxyModel.E5TreeSortFilterProxyModel.filterAcceptsRow?4(sourceRow, sourceParent)
 eric6.E5Gui.E5TreeSortFilterProxyModel.E5TreeSortFilterProxyModel.hasChildren?4(parent=None)
 eric6.E5Gui.E5TreeSortFilterProxyModel.E5TreeSortFilterProxyModel?1(parent=None)
 eric6.E5Gui.E5TreeView.E5TreeView.keyPressEvent?4(evt)
 eric6.E5Gui.E5TreeView.E5TreeView.removeAll?4()
 eric6.E5Gui.E5TreeView.E5TreeView.removeSelected?4()
-eric6.E5Gui.E5TreeWidget.E5TreeWidget.ItemsCollapsed?7
-eric6.E5Gui.E5TreeWidget.E5TreeWidget.ItemsExpanded?7
 eric6.E5Gui.E5TreeWidget.E5TreeWidget.addTopLevelItem?4(item)
 eric6.E5Gui.E5TreeWidget.E5TreeWidget.addTopLevelItems?4(items)
 eric6.E5Gui.E5TreeWidget.E5TreeWidget.allItems?4()
@@ -1628,6 +1629,8 @@
 eric6.E5Gui.E5TreeWidget.E5TreeWidget.prependToParentItem?4(parent, item)
 eric6.E5Gui.E5TreeWidget.E5TreeWidget.setDefaultItemShowMode?4(mode)
 eric6.E5Gui.E5TreeWidget.E5TreeWidget?1(parent=None)
+eric6.E5Gui.E5TreeWidget.E5TreeWidgetItemsState.COLLAPSED?7
+eric6.E5Gui.E5TreeWidget.E5TreeWidgetItemsState.EXPANDED?7
 eric6.E5Gui.E5ZoomWidget.E5ZoomWidget._sliderValueChanged?5(value)
 eric6.E5Gui.E5ZoomWidget.E5ZoomWidget.default?4()
 eric6.E5Gui.E5ZoomWidget.E5ZoomWidget.isMapped?4()
@@ -1732,13 +1735,13 @@
 eric6.E5Network.E5SslCertificatesInfoWidget.E5SslCertificatesInfoWidget.showCertificate?4(certificate)
 eric6.E5Network.E5SslCertificatesInfoWidget.E5SslCertificatesInfoWidget.showCertificateChain?4(certificateChain)
 eric6.E5Network.E5SslCertificatesInfoWidget.E5SslCertificatesInfoWidget?1(parent=None)
-eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.NotIgnored?7
-eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.SystemIgnored?7
-eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.UserIgnored?7
 eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrors?4(errors, server, port=-1)
 eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrorsReply?4(reply, errors)
 eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler.sslErrorsReplySlot?4(reply, errors)
 eric6.E5Network.E5SslErrorHandler.E5SslErrorHandler?1(parent=None)
+eric6.E5Network.E5SslErrorHandler.E5SslErrorState.NOT_IGNORED?7
+eric6.E5Network.E5SslErrorHandler.E5SslErrorState.SYSTEM_IGNORED?7
+eric6.E5Network.E5SslErrorHandler.E5SslErrorState.USER_IGNORED?7
 eric6.E5Network.E5SslInfoWidget.E5SslInfoWidget.accept?4()
 eric6.E5Network.E5SslInfoWidget.E5SslInfoWidget.showAt?4(pos)
 eric6.E5Network.E5SslInfoWidget.E5SslInfoWidget?1(url, configuration, parent=None)
@@ -1757,15 +1760,6 @@
 eric6.E5Network.E5TldExtractor.E5TldHostParts?1()
 eric6.E5Network.E5TldExtractor._TLDExtractor?8
 eric6.E5Network.E5TldExtractor.instance?4(withPrivate=False)
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ExeGroup?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ExeOther?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ExeOwner?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ReadGroup?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ReadOther?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.ReadOwner?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.WriteGroup?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.WriteOther?7
-eric6.E5Network.E5UrlInfo.E5UrlInfo.WriteOwner?7
 eric6.E5Network.E5UrlInfo.E5UrlInfo.group?4()
 eric6.E5Network.E5UrlInfo.E5UrlInfo.isDir?4()
 eric6.E5Network.E5UrlInfo.E5UrlInfo.isExecutable?4()
@@ -1793,6 +1787,15 @@
 eric6.E5Network.E5UrlInfo.E5UrlInfo.setWritable?4(isWritable)
 eric6.E5Network.E5UrlInfo.E5UrlInfo.size?4()
 eric6.E5Network.E5UrlInfo.E5UrlInfo?1()
+eric6.E5Network.E5UrlInfo.E5UrlPermission.EXE_GROUP?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.EXE_OTHER?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.EXE_OWNER?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.READ_GROUP?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.READ_OTHER?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.READ_OWNER?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.WRITE_GROUP?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.WRITE_OTHER?7
+eric6.E5Network.E5UrlInfo.E5UrlPermission.WRITE_OWNER?7
 eric6.E5Network.E5XmlRpcClient.E5XmlRpcClient.abort?4()
 eric6.E5Network.E5XmlRpcClient.E5XmlRpcClient.call?4(method, args, responseCallback, errorCallback)
 eric6.E5Network.E5XmlRpcClient.E5XmlRpcClient.setUrl?4(url)
@@ -1955,20 +1958,20 @@
 eric6.Graphics.AssociationItem.AssociationItem.parseAssociationItemDataString?4(data)
 eric6.Graphics.AssociationItem.AssociationItem.unassociate?4()
 eric6.Graphics.AssociationItem.AssociationItem.widgetMoved?4()
-eric6.Graphics.AssociationItem.AssociationItem?1(itemA, itemB, assocType=Normal, topToBottom=False, colors=None, parent=None)
-eric6.Graphics.AssociationItem.Center?7
-eric6.Graphics.AssociationItem.East?7
-eric6.Graphics.AssociationItem.Generalisation?7
-eric6.Graphics.AssociationItem.Imports?7
-eric6.Graphics.AssociationItem.NoRegion?7
-eric6.Graphics.AssociationItem.Normal?7
-eric6.Graphics.AssociationItem.North?7
-eric6.Graphics.AssociationItem.NorthEast?7
-eric6.Graphics.AssociationItem.NorthWest?7
-eric6.Graphics.AssociationItem.South?7
-eric6.Graphics.AssociationItem.SouthEast?7
-eric6.Graphics.AssociationItem.SouthWest?7
-eric6.Graphics.AssociationItem.West?7
+eric6.Graphics.AssociationItem.AssociationItem?1(itemA, itemB, assocType=AssociationType.NORMAL, topToBottom=False, colors=None, parent=None)
+eric6.Graphics.AssociationItem.AssociationPointRegion.CENTER?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.EAST?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.NORTH?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.NORTH_EAST?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.NORTH_WEST?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.NO_REGION?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.SOUTH?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.SOUTH_EAST?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.SOUTH_WEST?7
+eric6.Graphics.AssociationItem.AssociationPointRegion.WEST?7
+eric6.Graphics.AssociationItem.AssociationType.GENERALISATION?7
+eric6.Graphics.AssociationItem.AssociationType.IMPORTS?7
+eric6.Graphics.AssociationItem.AssociationType.NORMAL?7
 eric6.Graphics.ClassItem.ClassItem.ItemType?7
 eric6.Graphics.ClassItem.ClassItem.buildItemDataString?4()
 eric6.Graphics.ClassItem.ClassItem.isExternal?4()
@@ -2134,9 +2137,9 @@
 eric6.HexEdit.HexEditSearchReplaceWidget.HexEditSearchReplaceWidget.on_replacetextCombo_activated?4(idx)
 eric6.HexEdit.HexEditSearchReplaceWidget.HexEditSearchReplaceWidget.show?4(text='')
 eric6.HexEdit.HexEditSearchReplaceWidget.HexEditSearchReplaceWidget?1(editor, mainWindow, replace=False, parent=None)
-eric6.HexEdit.HexEditUndoStack.HexEditCommand.Insert?7
-eric6.HexEdit.HexEditUndoStack.HexEditCommand.Overwrite?7
-eric6.HexEdit.HexEditUndoStack.HexEditCommand.RemoveAt?7
+eric6.HexEdit.HexEditUndoStack.HexEditCommand.INSERT?7
+eric6.HexEdit.HexEditUndoStack.HexEditCommand.OVERWRITE?7
+eric6.HexEdit.HexEditUndoStack.HexEditCommand.REMOVEAT?7
 eric6.HexEdit.HexEditUndoStack.HexEditUndoCommand.id?4()
 eric6.HexEdit.HexEditUndoStack.HexEditUndoCommand.mergeWith?4(command)
 eric6.HexEdit.HexEditUndoStack.HexEditUndoCommand.redo?4()
@@ -2745,7 +2748,7 @@
 eric6.Network.IRC.IrcMessageEdit.IrcMessageEdit.keyPressEvent?4(evt)
 eric6.Network.IRC.IrcMessageEdit.IrcMessageEdit.setText?4(text)
 eric6.Network.IRC.IrcMessageEdit.IrcMessageEdit.wheelEvent?4(evt)
-eric6.Network.IRC.IrcMessageEdit.IrcMessageEdit?1(parent=None, inactiveText="", side=E5LineEdit.RightSide)
+eric6.Network.IRC.IrcMessageEdit.IrcMessageEdit?1(parent=None, inactiveText="", side=E5LineEditSide.RIGHT)
 eric6.Network.IRC.IrcNetworkEditDialog.IrcNetworkEditDialog.getNetwork?4()
 eric6.Network.IRC.IrcNetworkEditDialog.IrcNetworkEditDialog.on_addChannelButton_clicked?4()
 eric6.Network.IRC.IrcNetworkEditDialog.IrcNetworkEditDialog.on_channelList_itemActivated?4(item, column)
@@ -3096,13 +3099,47 @@
 eric6.Plugins.AboutPlugin.AboutDialog.titleText?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.AnnotationsChecker.Codes?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.AnnotationsChecker.run?4()
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.AnnotationsChecker?1(source, filename, select, ignore, expected, repeat, args)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.FunctionVisitor.visit_AsyncFunctionDef?4(node)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.FunctionVisitor.visit_ClassDef?4(node)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.FunctionVisitor.visit_FunctionDef?4(node)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.FunctionVisitor?1(sourceLines)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.getAnnotationComplexity?4(annotationNode)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.hasTypeAnnotations?4(funcNode)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.AnnotationsChecker?1(source, filename, tree, select, ignore, expected, repeat, args)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults.AnnotationsCheckerDefaultArgs?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.ARGS?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.KWARG?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.KWONLYARGS?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.POSONLYARGS?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.RETURN?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.AnnotationType.VARARG?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.ClassDecoratorType.CLASSMETHOD?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.ClassDecoratorType.STATICMETHOD?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.FunctionType.PRIVATE?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.FunctionType.PROTECTED?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.FunctionType.PUBLIC?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.FunctionType.SPECIAL?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.AST_ARG_TYPES?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Argument.fromNode?4(node, annotationTypeName)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Argument?1(argname, lineno, col_offset, annotationType, hasTypeAnnotation=False, has3107Annotation=False, hasTypeComment=False)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function._maybeInjectClassArgument?5(funcObj)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function._singleLineColonSeeker?5(line)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.colonSeeker?4(lines)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.fromNode?4(node, lines, **kwargs)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.getAnnotatedArguments?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.getClassDecoratorType?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.getFunctionType?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.getMissedAnnotations?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.hasDecorator?4(checkDecorators)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.isDynamicallyTyped?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.isFullyAnnotated?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function.tryTypeComment?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.Function?1(name, lineno, col_offset, functionType=FunctionType.PUBLIC, isClassMethod=False, classDecoratorType=None, isReturnAnnotated=False, hasTypeComment=False, hasOnlyNoneReturns=True, isNested=False, decoratorList=None, args=None)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.FunctionVisitor.switchContext?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.FunctionVisitor.visit_AsyncFunctionDef?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.FunctionVisitor.visit_ClassDef?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.FunctionVisitor.visit_FunctionDef?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.FunctionVisitor?1(lines)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor.hasOnlyNoneReturns?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor.switchContext?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor.visit_AsyncFunctionDef?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor.visit_FunctionDef?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor.visit_Return?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.ReturnVisitor?1(parentNode)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations._annotationsMessages?8
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations._annotationsMessagesSampleArgs?8
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.AstUtilities.getValue?4(node)
@@ -3149,6 +3186,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_deleteBuiltinButton_clicked?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_deleteWhitelistButton_clicked?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_excludeMessagesSelectButton_clicked?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_filterButton_clicked?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_fixButton_clicked?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_fixIssuesSelectButton_clicked?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.on_includeMessagesSelectButton_clicked?4()
@@ -3187,7 +3225,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.CodeStyleStatisticsDialog?1(statistics, parent=None)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker.Codes?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker.run?4()
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker?1(source, filename, select, ignore, args)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker?1(source, filename, tree, select, ignore, args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.LineComplexityVisitor.score?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.LineComplexityVisitor.sortedList?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.LineComplexityVisitor.visit?4(node)
@@ -3260,7 +3298,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.MiscellaneousChecker.FormatFieldRegex?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.MiscellaneousChecker.Formatter?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.MiscellaneousChecker.run?4()
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.MiscellaneousChecker?1(source, filename, select, ignore, expected, repeat, args)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.MiscellaneousChecker?1(source, filename, tree, select, ignore, expected, repeat, args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.NameFinder.getNames?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.NameFinder.visit?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.NameFinder.visit_Name?4(node)
@@ -3338,7 +3376,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Codes?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Function2Code?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.run?4()
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker?1(source, filename, selected, ignored, expected, repeat)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker?1(source, filename, tree, selected, ignored, expected, repeat)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Call?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Import?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_ImportFrom?4(node)
@@ -3438,7 +3476,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.SecurityChecker.getConfig?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.SecurityChecker.reportError?4(lineNumber, offset, code, severity, confidence, *args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.SecurityChecker.run?4()
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.SecurityChecker?1(source, filename, select, ignore, expected, repeat, args)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.SecurityChecker?1(source, filename, tree, select, ignore, expected, repeat, args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext.SecurityContext.bytesVal?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext.SecurityContext.callArgs?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext.SecurityContext.callArgsCount?4()
@@ -3487,6 +3525,159 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.namespacePathSplit?4(path)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations._securityMessages?8
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations._securityMessagesSampleArgs?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.SimplifyChecker.Codes?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.SimplifyChecker.run?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.SimplifyChecker?1(source, filename, tree, selected, ignored, expected, repeat)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.AST_CONST_TYPES?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.BOOL_CONST_TYPES?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.STR_TYPES?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_Assign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_BoolOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_Call?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_ClassDef?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_Compare?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_Expr?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_For?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_If?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_IfExp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_Try?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_UnaryOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor.visit_With?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.SimplifyNodeVisitor?1(errorCallback)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._ALL_QUOTES?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._INFSTR?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._MULTI_QUOTES?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.AND?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.ARITH?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.ATOM?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.AWAIT?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.BAND?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.BOR?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.BXOR?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.CMP?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.EXPR?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.FACTOR?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.NOT?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.OR?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.POWER?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.SHIFT?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.TERM?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.TEST?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.TUPLE?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.YIELD?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Precedence.next?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._SINGLE_QUOTES?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._for_helper?5(fill, node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._fstring_Constant?5(node, write)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._fstring_FormattedValue?5(node, write)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._fstring_JoinedStr?5(node, write)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._function_helper?5(node, fill_suffix)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._str_literal_helper?5(string, *, quote_types=_ALL_QUOTES, escape_special_whitespace=False)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._write_constant?5(value)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._write_docstring?5(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._write_docstring_and_traverse_body?5(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser._write_str_avoiding_backslashes?5(string, *, quote_types=_ALL_QUOTES)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.binop?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.binop_precedence?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.binop_rassoc?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.block?4(*, extra = None)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.boolop_precedence?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.boolops?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.buffer?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.buffer_writer?4(text)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.cmpops?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.delimit?4(start, end)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.delimit_if?4(start, end, condition)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.escape_char?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.fill?4(text="")
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.get_precedence?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.get_raw_docstring?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.get_type_comment?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.increasing_level_traverse?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.interleave?4(inter, f, seq)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.is_simple_tuple?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.items_view?4(traverser, items)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.maybe_newline?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.require_parens?4(precedence, node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.set_precedence?4(precedence, *nodes)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.traverse?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.unop?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.unop_precedence?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_AnnAssign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Assert?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Assign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_AsyncFor?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_AsyncFunctionDef?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_AsyncWith?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Attribute?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_AugAssign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Await?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_BinOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_BoolOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Break?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Bytes?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Call?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_ClassDef?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Compare?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Constant?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Continue?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Delete?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Dict?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_DictComp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Ellipsis?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Ellipsis?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_ExceptHandler?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Expr?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_For?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_FormattedValue?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_FunctionDef?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_FunctionType?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_GeneratorExp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Global?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_If?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_IfExp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Import?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_ImportFrom?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_JoinedStr?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Lambda?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_List?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_ListComp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Module?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Name?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_NameConstant?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_NamedExpr?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Nonlocal?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Num?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Pass?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Raise?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Return?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Set?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_SetComp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Slice?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Starred?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Str?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Subscript?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Try?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Tuple?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_UnaryOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_While?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_With?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_Yield?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_YieldFrom?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_alias?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_arg?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_arguments?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_comprehension?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_keyword?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.visit_withitem?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.write?4(text)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.write_item?4()
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser.write_key_value_pair?4(v)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse._Unparser?2(*, _avoid_backslashes=False)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.unparse?4(ast_obj)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations._simplifyMessages?8
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations._simplifyMessagesSampleArgs?8
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.ARITHMETIC_OP?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.ASSIGNMENT_EXPRESSION_OP?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.BENCHMARK_KEYS?7
@@ -3514,7 +3705,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.check_physical?4(line)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.generate_tokens?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.init_checker_state?4(name, argument_names)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.maybe_check_physical?4(token)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.maybe_check_physical?4(token, prev_physical)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.readline?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.report_invalid_syntax?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.Checker.run_check?4(check, argument_names)
@@ -3531,6 +3722,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.FileReport.print_filename?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.HUNK_REGEX?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.INDENT_REGEX?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.INDENT_SIZE?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.KEYWORDS?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.KEYWORD_REGEX?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.LAMBDA_REGEX?7
@@ -3587,14 +3779,14 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.comparison_to_singleton?4(logical_line, noqa)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.comparison_type?4(logical_line, noqa)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.compound_statements?4(logical_line)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, indent_char, noqa, verbose)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.continued_indentation?4(logical_line, tokens, indent_level, hang_closing, indent_char, indent_size, indent_size_str, noqa, verbose)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.expand_indent?4(line)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.explicit_line_join?4(logical_line, tokens)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.extraneous_whitespace?4(logical_line)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.filename_match?4(filename, patterns, default=True)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.get_parser?4(prog='pycodestyle', version=__version__)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.imports_on_separate_lines?4(logical_line)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.indentation?4(logical_line, previous_logical, indent_char, indent_level, previous_indent_level)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.indentation?4(logical_line, previous_logical, indent_char, indent_level, previous_indent_level, indent_size, indent_size_str)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.is_string_literal?4(line)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.lru_cache?4(maxsize=128)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.maximum_doc_length?4(logical_line, max_doc_length, noqa, tokens)
@@ -6285,11 +6477,6 @@
 eric6.Plugins.WizardPlugins.SetupWizard.SetupWizardDialog.SetupWizardDialog.on_sourceDirectoryButton_clicked?4()
 eric6.Plugins.WizardPlugins.SetupWizard.SetupWizardDialog.SetupWizardDialog.on_variantComboBox_currentIndexChanged?4(index)
 eric6.Plugins.WizardPlugins.SetupWizard.SetupWizardDialog.SetupWizardDialog?1(parent=None)
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog.DefaultMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog.HelpBrowserMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog.HexEditorMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog.TrayStarterMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog.WebBrowserMode?7
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.accept?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.getConfigurationPageName?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.getExpandedEntries?4()
@@ -6297,14 +6484,13 @@
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.preferencesChanged?7
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.setPreferences?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationDialog.showConfigurationPageByName?4(pageName)
-eric6.Preferences.ConfigurationDialog.ConfigurationDialog?1(parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode, expandedEntries=None)
+eric6.Preferences.ConfigurationDialog.ConfigurationDialog?1(parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationMode.DEFAULTMODE, expandedEntries=None)
+eric6.Preferences.ConfigurationDialog.ConfigurationMode.DEFAULTMODE?7
+eric6.Preferences.ConfigurationDialog.ConfigurationMode.HEXEDITORMODE?7
+eric6.Preferences.ConfigurationDialog.ConfigurationMode.TRAYSTARTERMODE?7
+eric6.Preferences.ConfigurationDialog.ConfigurationMode.WEBBROWSERMODE?7
 eric6.Preferences.ConfigurationDialog.ConfigurationPageItem.getPageName?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationPageItem?1(parent, text, pageName, iconFile)
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget.DefaultMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget.HelpBrowserMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget.HexEditorMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget.TrayStarterMode?7
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget.WebBrowserMode?7
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.accept?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.accepted?7
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.calledFromEric?4()
@@ -6324,7 +6510,7 @@
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.resizeEvent?4(evt)
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.setPreferences?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationWidget.showConfigurationPageByName?4(pageName, setCurrent=True)
-eric6.Preferences.ConfigurationDialog.ConfigurationWidget?1(parent=None, fromEric=True, displayMode=DefaultMode, expandedEntries=None)
+eric6.Preferences.ConfigurationDialog.ConfigurationWidget?1(parent=None, fromEric=True, displayMode=ConfigurationMode.DEFAULTMODE, expandedEntries=None)
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow.accept?4()
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow.showConfigurationPageByName?4(pageName)
 eric6.Preferences.ConfigurationDialog.ConfigurationWindow?1(parent=None)
@@ -6415,6 +6601,7 @@
 eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage.on_fileFiltersList_currentItemChanged?4(current, previous)
 eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage.on_openFiltersButton_toggled?4(checked)
 eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage.on_previewMarkdownPyMdownInstallPushButton_clicked?4()
+eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage.polishPage?4()
 eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage.save?4()
 eric6.Preferences.ConfigurationPages.EditorFilePage.EditorFilePage?1()
 eric6.Preferences.ConfigurationPages.EditorFilePage.create?4(dlg)
@@ -8545,6 +8732,7 @@
 eric6.QScintilla.Shell.Shell.mousePressEvent?4(event)
 eric6.QScintilla.Shell.Shell.paste?4(lines=None)
 eric6.QScintilla.Shell.Shell.queueText?7
+eric6.QScintilla.Shell.Shell.registerDebuggerIdMethod?4(method)
 eric6.QScintilla.Shell.Shell.reloadHistory?4()
 eric6.QScintilla.Shell.Shell.saveHistory?4(clientType)
 eric6.QScintilla.Shell.Shell.searchNext?4(txt, caseSensitive, wholeWord, regexp)
@@ -8559,9 +8747,9 @@
 eric6.QScintilla.Shell.ShellAssembly.shell?4()
 eric6.QScintilla.Shell.ShellAssembly.showFind?4(txt="")
 eric6.QScintilla.Shell.ShellAssembly?1(dbs, vm, project, horizontal=True, parent=None)
-eric6.QScintilla.Shell.ShellHistoryStyle.Disabled?7
-eric6.QScintilla.Shell.ShellHistoryStyle.LinuxStyle?7
-eric6.QScintilla.Shell.ShellHistoryStyle.WindowsStyle?7
+eric6.QScintilla.Shell.ShellHistoryStyle.DISABLED?7
+eric6.QScintilla.Shell.ShellHistoryStyle.LINUXSTYLE?7
+eric6.QScintilla.Shell.ShellHistoryStyle.WINDOWSSTYLE?7
 eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog.getHistory?4()
 eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog.on_copyButton_clicked?4()
 eric6.QScintilla.ShellHistoryDialog.ShellHistoryDialog.on_deleteButton_clicked?4()
@@ -8573,6 +8761,7 @@
 eric6.QScintilla.ShellWindow.ShellWindow.activeWindow?4()
 eric6.QScintilla.ShellWindow.ShellWindow.closeEvent?4(event)
 eric6.QScintilla.ShellWindow.ShellWindow.getAPIsManager?4()
+eric6.QScintilla.ShellWindow.ShellWindow.getDebuggerId?4()
 eric6.QScintilla.ShellWindow.ShellWindow.quit?4()
 eric6.QScintilla.ShellWindow.ShellWindow.showFind?4(txt="")
 eric6.QScintilla.ShellWindow.ShellWindow?1(originalPathString, parent=None, name=None)
@@ -8660,12 +8849,12 @@
 eric6.Snapshot.SnapshotFreehandGrabber.SnapshotFreehandGrabber.paintEvent?4(evt)
 eric6.Snapshot.SnapshotFreehandGrabber.SnapshotFreehandGrabber?1()
 eric6.Snapshot.SnapshotFreehandGrabber.drawPolygon?4(painter, polygon, outline, fill=None)
-eric6.Snapshot.SnapshotModes.SnapshotModes.Ellipse?7
-eric6.Snapshot.SnapshotModes.SnapshotModes.Freehand?7
-eric6.Snapshot.SnapshotModes.SnapshotModes.Fullscreen?7
-eric6.Snapshot.SnapshotModes.SnapshotModes.Rectangle?7
-eric6.Snapshot.SnapshotModes.SnapshotModes.SelectedScreen?7
-eric6.Snapshot.SnapshotModes.SnapshotModes.SelectedWindow?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.ELLIPSE?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.FREEHAND?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.FULLSCREEN?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.RECTANGLE?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.SELECTEDSCREEN?7
+eric6.Snapshot.SnapshotModes.SnapshotModes.SELECTEDWINDOW?7
 eric6.Snapshot.SnapshotPreview.SnapshotPreview.mouseMoveEvent?4(evt)
 eric6.Snapshot.SnapshotPreview.SnapshotPreview.mousePressEvent?4(evt)
 eric6.Snapshot.SnapshotPreview.SnapshotPreview.mouseReleaseEvent?4(evt)
@@ -8982,6 +9171,7 @@
 eric6.UI.BrowserModel.BrowserFileItem.isCythonFile?4()
 eric6.UI.BrowserModel.BrowserFileItem.isDFile?4()
 eric6.UI.BrowserModel.BrowserFileItem.isDesignerFile?4()
+eric6.UI.BrowserModel.BrowserFileItem.isEricGraphicsFile?4()
 eric6.UI.BrowserModel.BrowserFileItem.isIdlFile?4()
 eric6.UI.BrowserModel.BrowserFileItem.isJavaScriptFile?4()
 eric6.UI.BrowserModel.BrowserFileItem.isLinguistFile?4()
@@ -9216,15 +9406,15 @@
 eric6.UI.NotificationWidget.NotificationFrame.NotificationStyleSheetTemplate?7
 eric6.UI.NotificationWidget.NotificationFrame.getIcon?4(kind)
 eric6.UI.NotificationWidget.NotificationFrame.getStyleSheet?4(kind)
-eric6.UI.NotificationWidget.NotificationFrame?1(icon, heading, text, kind=NotificationTypes.Information, parent=None)
-eric6.UI.NotificationWidget.NotificationTypes.Critical?7
-eric6.UI.NotificationWidget.NotificationTypes.Information?7
-eric6.UI.NotificationWidget.NotificationTypes.Other?7
-eric6.UI.NotificationWidget.NotificationTypes.Warning?7
+eric6.UI.NotificationWidget.NotificationFrame?1(icon, heading, text, kind=NotificationTypes.INFORMATION, parent=None)
+eric6.UI.NotificationWidget.NotificationTypes.CRITICAL?7
+eric6.UI.NotificationWidget.NotificationTypes.INFORMATION?7
+eric6.UI.NotificationWidget.NotificationTypes.OTHER?7
+eric6.UI.NotificationWidget.NotificationTypes.WARNING?7
 eric6.UI.NotificationWidget.NotificationWidget.mouseMoveEvent?4(evt)
 eric6.UI.NotificationWidget.NotificationWidget.mousePressEvent?4(evt)
 eric6.UI.NotificationWidget.NotificationWidget.mouseReleaseEvent?4(evt)
-eric6.UI.NotificationWidget.NotificationWidget.showNotification?4(icon, heading, text, kind=NotificationTypes.Information, timeout=0)
+eric6.UI.NotificationWidget.NotificationWidget.showNotification?4(icon, heading, text, kind=NotificationTypes.INFORMATION, timeout=0)
 eric6.UI.NotificationWidget.NotificationWidget?1(parent=None, setPosition=False)
 eric6.UI.NumbersWidget.BinaryModel.columnCount?4(parent)
 eric6.UI.NumbersWidget.BinaryModel.data?4(index, role=Qt.ItemDataRole.DisplayRole)
@@ -9318,9 +9508,9 @@
 eric6.UI.PythonDisViewer.PythonDisViewer.show?4()
 eric6.UI.PythonDisViewer.PythonDisViewer.showDisassembly?4(disassembly)
 eric6.UI.PythonDisViewer.PythonDisViewer.shutdown?4()
-eric6.UI.PythonDisViewer.PythonDisViewer?1(viewmanager, mode=PythonDisViewerModes.SourceDisassemblyMode, parent=None)
-eric6.UI.PythonDisViewer.PythonDisViewerModes.SourceDisassemblyMode?7
-eric6.UI.PythonDisViewer.PythonDisViewerModes.TracebackMode?7
+eric6.UI.PythonDisViewer.PythonDisViewer?1(viewmanager, mode=PythonDisViewerModes.SOURCEDISASSEMBLY, parent=None)
+eric6.UI.PythonDisViewer.PythonDisViewerModes.SOURCEDISASSEMBLY?7
+eric6.UI.PythonDisViewer.PythonDisViewerModes.TRACEBACK?7
 eric6.UI.SearchWidget.SearchWidget.keyPressEvent?4(event)
 eric6.UI.SearchWidget.SearchWidget.on_closeButton_clicked?4()
 eric6.UI.SearchWidget.SearchWidget.on_findNextButton_clicked?4()
@@ -9417,7 +9607,7 @@
 eric6.UI.UserInterface.UserInterface.showFindFilesDialog?4(txt="", searchDir="", openFiles=False)
 eric6.UI.UserInterface.UserInterface.showLogViewer?4()
 eric6.UI.UserInterface.UserInterface.showMenu?7
-eric6.UI.UserInterface.UserInterface.showNotification?4(icon, heading, text, kind=NotificationTypes.Information, timeout=None)
+eric6.UI.UserInterface.UserInterface.showNotification?4(icon, heading, text, kind=NotificationTypes.INFORMATION, timeout=None)
 eric6.UI.UserInterface.UserInterface.showPluginsAvailable?4()
 eric6.UI.UserInterface.UserInterface.showPreferences?4(pageName=None)
 eric6.UI.UserInterface.UserInterface.showReplaceFilesDialog?4(txt="", searchDir="", openFiles=False)
@@ -9444,7 +9634,7 @@
 eric6.Utilities.BackgroundService.BackgroundService.serviceDisconnect?4(fx, lang)
 eric6.Utilities.BackgroundService.BackgroundService.serviceNotAvailable?7
 eric6.Utilities.BackgroundService.BackgroundService.shutdown?4()
-eric6.Utilities.BackgroundService.BackgroundService?1()
+eric6.Utilities.BackgroundService.BackgroundService?1(parent=None)
 eric6.Utilities.ClassBrowsers.ClbrBaseClasses.Attribute.addAssignment?4(lineno)
 eric6.Utilities.ClassBrowsers.ClbrBaseClasses.Attribute?1(module, name, file, lineno)
 eric6.Utilities.ClassBrowsers.ClbrBaseClasses.Class?1(module, name, superClasses, file, lineno)
@@ -11896,7 +12086,7 @@
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setLoadingActions?4(b)
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.setUseQtHelp?4(use)
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showFullScreenNavigation?4()
-eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showNotification?4(icon, heading, text, kind=NotificationTypes.Information, timeout=None)
+eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.showNotification?4(icon, heading, text, kind=NotificationTypes.INFORMATION, timeout=None)
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.shutdown?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.speedDial?4()
 eric6.WebBrowser.WebBrowserWindow.WebBrowserWindow.syncManager?4()
@@ -12094,7 +12284,7 @@
 install.macPythonExe?7
 install.main?4(argv)
 install.modDir?7
-install.pipInstall?4(packageName, message)
+install.pipInstall?4(packageName, message, force=True)
 install.platBinDir?7
 install.platBinDirOld?7
 install.prepareInfoFile?4(fileName)
--- a/eric6/APIs/Python3/eric6.bas	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/APIs/Python3/eric6.bas	Sat May 01 14:27:20 2021 +0200
@@ -21,11 +21,14 @@
 AddFoundFilesDialog QDialog Ui_AddFoundFilesDialog
 AddLanguageDialog QDialog Ui_AddLanguageDialog
 AddProjectDialog QDialog Ui_AddProjectDialog
+AnnotationType enum.Enum
 ApplicationDiagramBuilder UMLDiagramBuilder
 ApplicationPage ConfigurationPageBase Ui_ApplicationPage
 ArgumentsError RuntimeError
 ArrayResolver BaseResolver
 AssociationItem E5ArrowItem
+AssociationPointRegion enum.Enum
+AssociationType enum.Enum
 Attribute ClbrBaseClasses.Attribute VisibilityMixin
 AuthenticationDialog QDialog Ui_AuthenticationDialog
 AutoSaver QObject
@@ -69,6 +72,7 @@
 ChromeImporter BookmarksImporter
 CircuitPythonDevice MicroPythonDevice
 Class ClbrBaseClasses.Class VisibilityMixin
+ClassDecoratorType enum.Enum
 ClassItem UMLItem
 ClassModel UMLModel
 ClbrBase _ClbrBase
@@ -104,6 +108,7 @@
 CondaPackagesWidget QWidget Ui_CondaPackagesWidget
 CondaPage ConfigurationPageBase Ui_CondaPage
 ConfigurationDialog QDialog
+ConfigurationMode enum.Enum
 ConfigurationPageBase QWidget
 ConfigurationPageItem QTreeWidgetItem
 ConfigurationWidget QWidget
@@ -166,6 +171,7 @@
 E5AnimatedWidget QWidget
 E5Application QApplication
 E5ArrowItem QAbstractGraphicsShapeItem
+E5ArrowType enum.Enum
 E5ClearableComboBox E5ComboBox
 E5ClearableLineEdit E5LineEdit
 E5ClickableLabel QLabel
@@ -187,8 +193,10 @@
 E5GraphicsView QGraphicsView
 E5HorizontalToolBox E5TabWidget
 E5Led QWidget
+E5LedType enum.Enum
 E5LineEdit QLineEdit
 E5LineEditButton QAbstractButton
+E5LineEditSide enum.Enum
 E5LineEditSideWidget QWidget
 E5ListSelectionDialog QDialog Ui_E5ListSelectionDialog
 E5ListView QListView
@@ -206,15 +214,17 @@
 E5OverrideCursorProcess QProcess
 E5OverridenCursor contextlib.AbstractContextManager
 E5PassivePopup QFrame
+E5PassivePopupStyle enum.Enum
 E5PasswordMeter QProgressBar
 E5PathPicker E5PathPickerBase
 E5PathPickerBase QWidget
 E5PathPickerDialog QDialog
-E5PathPickerModes Enum
+E5PathPickerModes enum.Enum
 E5PlainTextDialog QDialog Ui_E5PlainTextDialog
 E5ProcessDialog QDialog Ui_E5ProcessDialog
 E5ProgressDialog QProgressDialog
 E5SideBar QWidget
+E5SideBarSide enum.Enum
 E5SimpleHelpDialog QDialog Ui_E5SimpleHelpDialog
 E5SingleApplicationClient SingleApplicationClient
 E5SingleApplicationServer SingleApplicationServer
@@ -225,21 +235,26 @@
 E5SslCertificatesInfoDialog QDialog Ui_E5SslCertificatesInfoDialog
 E5SslCertificatesInfoWidget QWidget Ui_E5SslCertificatesInfoWidget
 E5SslErrorHandler QObject
+E5SslErrorState enum.Enum
 E5SslInfoWidget QMenu
 E5StringListCompleter QCompleter
 E5StringListEditWidget QWidget Ui_E5StringListEditWidget
 E5TabWidget QTabWidget
 E5TableView QTableView
 E5TextEditSearchWidget QWidget
+E5TextEditType enum.Enum
 E5TextInputDialog QDialog
 E5TextSpinBox QSpinBox
 E5TldExtractor QObject
 E5ToolBarDialog QDialog Ui_E5ToolBarDialog
 E5ToolBarManager QObject
 E5ToolButton QToolButton
+E5ToolButtonOptions enum.IntEnum
 E5TreeSortFilterProxyModel QSortFilterProxyModel
 E5TreeView QTreeView
 E5TreeWidget QTreeWidget
+E5TreeWidgetItemsState enum.Enum
+E5UrlPermission enum.IntEnum
 E5VerticalToolBox QToolBox
 E5WheelTabBar QTabBar
 E5XmlRpcClient QObject
@@ -320,6 +335,7 @@
 FtpDirLineParserError Exception
 FtpSyncHandler SyncHandler
 Function ClbrBaseClasses.Function VisibilityMixin
+FunctionType enum.Enum
 FunctionVisitor ast.NodeVisitor
 GenericMicroPythonDevice MicroPythonDevice
 Git VersionControl
@@ -397,7 +413,7 @@
 HelpTocWidget QWidget
 HelpTopicDialog QDialog Ui_HelpTopicDialog
 HelpViewersPage ConfigurationPageBase Ui_HelpViewersPage
-HexEditCommand Enum
+HexEditCommand enum.Enum
 HexEditGotoWidget QWidget Ui_HexEditGotoWidget
 HexEditMainWindow E5MainWindow
 HexEditSearchReplaceWidget QWidget
@@ -634,7 +650,7 @@
 NewPythonPackageDialog QDialog Ui_NewPythonPackageDialog
 NoExtToken peg.Symbol
 NotificationFrame QFrame Ui_NotificationFrame
-NotificationTypes Enum
+NotificationTypes enum.Enum
 NotificationWidget QWidget
 NotificationsPage ConfigurationPageBase Ui_NotificationsPage
 NsHtmlReader QObject
@@ -812,7 +828,7 @@
 Shell QsciScintillaCompat
 ShellAssembly QWidget
 ShellHistoryDialog QDialog Ui_ShellHistoryDialog
-ShellHistoryStyle Enum
+ShellHistoryStyle enum.Enum
 ShellPage ConfigurationPageBase Ui_ShellPage
 ShellWindow E5MainWindow
 Shelve HgExtension
@@ -824,13 +840,14 @@
 ShortcutsReader XMLStreamReaderBase
 ShortcutsWriter XMLStreamWriterBase
 SimplePatternExtension Extension
+SimplifyNodeVisitor ast.NodeVisitor
 SingleApplicationServer QLocalServer
 SiteInfoDialog QDialog Ui_SiteInfoDialog
 SiteInfoWidget QMenu
 SnapWidget QWidget Ui_SnapWidget
 SnapshotDefaultGrabber QObject
 SnapshotFreehandGrabber QWidget
-SnapshotModes Enum
+SnapshotModes enum.Enum
 SnapshotPreview QLabel
 SnapshotRegionGrabber QWidget
 SnapshotTimer QWidget
@@ -1049,3 +1066,5 @@
 ZoomManager QObject
 ZoomValuesDialog QDialog Ui_ZoomValuesDialog
 ZoomValuesModel QAbstractTableModel
+_Precedence IntEnum
+_Unparser ast.NodeVisitor
--- a/eric6/CondaInterface/Conda.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/Conda.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import json
 import os
+import contextlib
 
 from PyQt5.QtCore import pyqtSignal, QObject, QProcess, QCoreApplication
 from PyQt5.QtWidgets import QDialog
@@ -43,7 +44,7 @@
         @param parent parent
         @type QObject
         """
-        super(Conda, self).__init__(parent)
+        super().__init__(parent)
         
         self.__ui = parent
     
@@ -91,10 +92,11 @@
                     rootPrefix()
                 ]
             for pathPrefix in pathPrefixes:
-                if Globals.isWindowsPlatform():
-                    python = os.path.join(pathPrefix, "python.exe")
-                else:
-                    python = os.path.join(pathPrefix, "bin", "python")
+                python = (
+                    os.path.join(pathPrefix, "python.exe")
+                    if Globals.isWindowsPlatform() else
+                    os.path.join(pathPrefix, "bin", "python")
+                )
                 if os.path.exists(python):
                     break
             else:
@@ -192,27 +194,26 @@
         
         proc = QProcess()
         proc.start(exe, ["info", "--json"])
-        if proc.waitForStarted(15000):
-            if proc.waitForFinished(15000):
-                output = str(proc.readAllStandardOutput(),
-                             Preferences.getSystem("IOEncoding"),
-                             'replace').strip()
-                try:
-                    jsonDict = json.loads(output)
-                except Exception:
-                    jsonDict = {}
-                
-                if "envs" in jsonDict:
-                    for prefix in jsonDict["envs"][:]:
-                        if prefix == jsonDict["root_prefix"]:
-                            if not jsonDict["root_writable"]:
-                                # root prefix is listed but not writable
-                                continue
-                            name = self.RootName
-                        else:
-                            name = os.path.basename(prefix)
-                        
-                        environmentsList.append((name, prefix))
+        if proc.waitForStarted(15000) and proc.waitForFinished(15000):
+            output = str(proc.readAllStandardOutput(),
+                         Preferences.getSystem("IOEncoding"),
+                         'replace').strip()
+            try:
+                jsonDict = json.loads(output)
+            except Exception:
+                jsonDict = {}
+            
+            if "envs" in jsonDict:
+                for prefix in jsonDict["envs"][:]:
+                    if prefix == jsonDict["root_prefix"]:
+                        if not jsonDict["root_writable"]:
+                            # root prefix is listed but not writable
+                            continue
+                        name = self.RootName
+                    else:
+                        name = os.path.basename(prefix)
+                    
+                    environmentsList.append((name, prefix))
         
         return environmentsList
     
@@ -259,28 +260,27 @@
         
         proc = QProcess()
         proc.start(exe, args)
-        if proc.waitForStarted(15000):
-            if proc.waitForFinished(30000):
-                output = str(proc.readAllStandardOutput(),
-                             Preferences.getSystem("IOEncoding"),
-                             'replace').strip()
-                try:
-                    jsonList = json.loads(output)
-                except Exception:
-                    jsonList = []
-                
-                for package in jsonList:
-                    if isinstance(package, dict):
-                        packages.append((
-                            package["name"],
-                            package["version"],
-                            package["build_string"]
-                        ))
-                    else:
-                        parts = package.rsplit("-", 2)
-                        while len(parts) < 3:
-                            parts.append("")
-                        packages.append(tuple(parts))
+        if proc.waitForStarted(15000) and proc.waitForFinished(30000):
+            output = str(proc.readAllStandardOutput(),
+                         Preferences.getSystem("IOEncoding"),
+                         'replace').strip()
+            try:
+                jsonList = json.loads(output)
+            except Exception:
+                jsonList = []
+            
+            for package in jsonList:
+                if isinstance(package, dict):
+                    packages.append((
+                        package["name"],
+                        package["version"],
+                        package["build_string"]
+                    ))
+                else:
+                    parts = package.rsplit("-", 2)
+                    while len(parts) < 3:
+                        parts.append("")
+                    packages.append(tuple(parts))
         
         return packages
     
@@ -326,30 +326,29 @@
         
         proc = QProcess()
         proc.start(exe, args)
-        if proc.waitForStarted(15000):
-            if proc.waitForFinished(30000):
-                output = str(proc.readAllStandardOutput(),
-                             Preferences.getSystem("IOEncoding"),
-                             'replace').strip()
-                try:
-                    jsonDict = json.loads(output)
-                except Exception:
-                    jsonDict = {}
-                
-                if "actions" in jsonDict and "LINK" in jsonDict["actions"]:
-                    for linkEntry in jsonDict["actions"]["LINK"]:
-                        if isinstance(linkEntry, dict):
-                            packages.append((
-                                linkEntry["name"],
-                                linkEntry["version"],
-                                linkEntry["build_string"]
-                            ))
-                        else:
-                            package = linkEntry.split()[0]
-                            parts = package.rsplit("-", 2)
-                            while len(parts) < 3:
-                                parts.append("")
-                            packages.append(tuple(parts))
+        if proc.waitForStarted(15000) and proc.waitForFinished(30000):
+            output = str(proc.readAllStandardOutput(),
+                         Preferences.getSystem("IOEncoding"),
+                         'replace').strip()
+            try:
+                jsonDict = json.loads(output)
+            except Exception:
+                jsonDict = {}
+            
+            if "actions" in jsonDict and "LINK" in jsonDict["actions"]:
+                for linkEntry in jsonDict["actions"]["LINK"]:
+                    if isinstance(linkEntry, dict):
+                        packages.append((
+                            linkEntry["name"],
+                            linkEntry["version"],
+                            linkEntry["build_string"]
+                        ))
+                    else:
+                        package = linkEntry.split()[0]
+                        parts = package.rsplit("-", 2)
+                        while len(parts) < 3:
+                            parts.append("")
+                        packages.append(tuple(parts))
         
         return packages
     
@@ -588,17 +587,13 @@
         
         proc = QProcess()
         proc.start(exe, args)
-        if proc.waitForStarted(15000):
-            if proc.waitForFinished(30000):
-                output = str(proc.readAllStandardOutput(),
-                             Preferences.getSystem("IOEncoding"),
-                             'replace').strip()
-                try:
-                    packages = json.loads(output)
-                    ok = "error" not in packages
-                except Exception:       # secok
-                    # return values for errors is already set
-                    pass
+        if proc.waitForStarted(15000) and proc.waitForFinished(30000):
+            output = str(proc.readAllStandardOutput(),
+                         Preferences.getSystem("IOEncoding"),
+                         'replace').strip()
+            with contextlib.suppress(Exception):
+                packages = json.loads(output)
+                ok = "error" not in packages
         
         return ok, packages
     
@@ -661,15 +656,14 @@
         
         proc = QProcess()
         proc.start(exe, ["info", "--json"])
-        if proc.waitForStarted(15000):
-            if proc.waitForFinished(30000):
-                output = str(proc.readAllStandardOutput(),
-                             Preferences.getSystem("IOEncoding"),
-                             'replace').strip()
-                try:
-                    infoDict = json.loads(output)
-                except Exception:
-                    infoDict = {}
+        if proc.waitForStarted(15000) and proc.waitForFinished(30000):
+            output = str(proc.readAllStandardOutput(),
+                         Preferences.getSystem("IOEncoding"),
+                         'replace').strip()
+            try:
+                infoDict = json.loads(output)
+            except Exception:
+                infoDict = {}
         
         return infoDict
     
--- a/eric6/CondaInterface/CondaExecDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaExecDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -33,7 +33,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaExecDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.buttonBox.button(
--- a/eric6/CondaInterface/CondaExportDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaExportDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -41,7 +41,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaExportDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
         
@@ -107,14 +107,15 @@
         """
         Private slot to refresh the displayed list.
         """
-        if self.__requirementsEdited:
-            ok = E5MessageBox.yesNo(
+        ok = (
+            E5MessageBox.yesNo(
                 self,
                 self.tr("Generate Requirements"),
                 self.tr("""The requirements were changed. Do you want"""
                         """ to overwrite these changes?"""))
-        else:
-            ok = True
+            if self.__requirementsEdited else
+            True
+        )
         if ok:
             self.start()
     
--- a/eric6/CondaInterface/CondaInfoDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaInfoDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaInfoDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
         
--- a/eric6/CondaInterface/CondaNewEnvironmentDataDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaNewEnvironmentDataDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -31,7 +31,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaNewEnvironmentDataDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.setWindowTitle(title)
@@ -99,10 +99,11 @@
             name and the requirements file name
         @rtype tuple of (str, str, str)
         """
-        if self.__requirementsMode:
-            requirementsFile = self.requirementsFilePicker.text()
-        else:
-            requirementsFile = ""
+        requirementsFile = (
+            self.requirementsFilePicker.text()
+            if self.__requirementsMode else
+            ""
+        )
         
         return (
             self.nameEdit.text(),
--- a/eric6/CondaInterface/CondaPackageDetailsWidget.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaPackageDetailsWidget.py	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaPackageDetailsWidget, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.headerLabel.setText(self.tr("<b>{0} / {1} / {2}</b>").format(
@@ -75,7 +75,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaPackageDetailsDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setSizeGripEnabled(True)
         
         self.__layout = QVBoxLayout(self)
--- a/eric6/CondaInterface/CondaPackagesWidget.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/CondaPackagesWidget.py	Sat May 01 14:27:20 2021 +0200
@@ -46,7 +46,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CondaPackagesWidget, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.__conda = conda
@@ -357,11 +357,12 @@
         pattern = self.searchEdit.text()
         if pattern:
             with E5OverrideCursor():
-                if CondaInterface.condaVersion() >= (4, 4, 0):
-                    prefix = ""
-                else:
-                    prefix = self.environmentsComboBox.itemData(
+                prefix = (
+                    ""
+                    if CondaInterface.condaVersion() >= (4, 4, 0) else
+                    self.environmentsComboBox.itemData(
                         self.environmentsComboBox.currentIndex())
+                )
                 ok, result = self.__conda.searchPackages(
                     pattern,
                     fullNameOnly=self.fullNameButton.isChecked(),
@@ -370,31 +371,30 @@
                     prefix=prefix,
                 )
                 
-                if ok:
-                    if result:
-                        self.searchResultList.setUpdatesEnabled(False)
-                        for package in result:
-                            itm = QTreeWidgetItem(self.searchResultList,
-                                                  [package])
-                            itm.setExpanded(False)
-                            for detail in result[package]:
-                                version = detail["version"]
-                                build = detail["build"]
-                                if "subdir" in detail:
-                                    platform = detail["subdir"]
-                                elif "platform" in detail:
-                                    platform = detail["platform"]
-                                else:
-                                    platform = ""
-                                citm = QTreeWidgetItem(
-                                    itm, ["", version, build, platform])
-                                citm.setData(0, self.PackageDetailedDataRole,
-                                             detail)
-                    
-                        self.searchResultList.sortItems(
-                            0, Qt.SortOrder.AscendingOrder)
-                        self.searchResultList.resizeColumnToContents(0)
-                        self.searchResultList.setUpdatesEnabled(True)
+                if ok and result:
+                    self.searchResultList.setUpdatesEnabled(False)
+                    for package in result:
+                        itm = QTreeWidgetItem(self.searchResultList,
+                                              [package])
+                        itm.setExpanded(False)
+                        for detail in result[package]:
+                            version = detail["version"]
+                            build = detail["build"]
+                            if "subdir" in detail:
+                                platform = detail["subdir"]
+                            elif "platform" in detail:
+                                platform = detail["platform"]
+                            else:
+                                platform = ""
+                            citm = QTreeWidgetItem(
+                                itm, ["", version, build, platform])
+                            citm.setData(0, self.PackageDetailedDataRole,
+                                         detail)
+                
+                    self.searchResultList.sortItems(
+                        0, Qt.SortOrder.AscendingOrder)
+                    self.searchResultList.resizeColumnToContents(0)
+                    self.searchResultList.setUpdatesEnabled(True)
             if not ok:
                 try:
                     message = result["message"]
--- a/eric6/CondaInterface/__init__.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/CondaInterface/__init__.py	Sat May 01 14:27:20 2021 +0200
@@ -35,12 +35,12 @@
         
         proc = QProcess()
         proc.start(exe, ["info", "--json"])
-        if not proc.waitForStarted(15000):
+        if not proc.waitForStarted(msecs=15000):
             __CondaVersionStr = QCoreApplication.translate(
                 "CondaInterface",
                 '<conda not found or not configured.>')
         else:
-            proc.waitForFinished(15000)
+            proc.waitForFinished(msecs=15000)
             output = str(proc.readAllStandardOutput(),
                          Preferences.getSystem("IOEncoding"),
                          'replace').strip()
@@ -63,10 +63,9 @@
                     int(i) for i in __CondaVersionStr.split(".")
                 )
                 __CondaRootPrefix = jsonDict["root_prefix"]
-                if "user_rc_path" in jsonDict:
-                    __CondaUserConfig = jsonDict["user_rc_path"]
-                elif "rc_path" in jsonDict:
-                    __CondaUserConfig = jsonDict["rc_path"]
+                __CondaUserConfig = jsonDict.get("user_rc_path")
+                if __CondaUserConfig is None:
+                    __CondaUserConfig = jsonDict.get("rc_path")
                 
                 __initialized = True
 
--- a/eric6/Cooperation/ChatWidget.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Cooperation/ChatWidget.py	Sat May 01 14:27:20 2021 +0200
@@ -54,7 +54,7 @@
         @param port port to be used for the cooperation server (integer)
         @param parent reference to the parent widget (QWidget)
         """
-        super(ChatWidget, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.shareButton.setIcon(
--- a/eric6/Cooperation/Connection.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Cooperation/Connection.py	Sat May 01 14:27:20 2021 +0200
@@ -73,7 +73,7 @@
         
         @param parent referenec to the parent object (QObject)
         """
-        super(Connection, self).__init__(parent)
+        super().__init__(parent)
         
         self.__greetingMessage = self.tr("undefined")
         self.__username = self.tr("unknown")
@@ -240,9 +240,11 @@
             self.readyForUse.emit()
         
         while self.bytesAvailable():
-            if self.__currentDataType == Connection.Undefined:
-                if not self.__readProtocolHeader():
-                    return
+            if (
+                self.__currentDataType == Connection.Undefined and
+                not self.__readProtocolHeader()
+            ):
+                return
             
             if not self.__hasEnoughData():
                 return
@@ -423,10 +425,8 @@
         @param participants list of participants (list of strings of
             "host:port")
         """
-        if participants:
-            message = SeparatorToken.join(participants)
-        else:
-            message = "<empty>"
+        message = (SeparatorToken.join(participants) if participants
+                   else "<empty>")
         msg = QByteArray(message.encode("utf-8"))
         data = QByteArray("{0}{1}{2}{1}".format(
             Connection.ProtocolParticipants, SeparatorToken, msg.size())
--- a/eric6/Cooperation/CooperationClient.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Cooperation/CooperationClient.py	Sat May 01 14:27:20 2021 +0200
@@ -48,7 +48,7 @@
         
         @param parent reference to the parent object (QObject)
         """
-        super(CooperationClient, self).__init__(parent)
+        super().__init__(parent)
         
         self.__chatWidget = parent
         
@@ -136,11 +136,8 @@
         if senderIp not in self.__peers:
             return False
         
-        for connection in self.__peers[senderIp]:
-            if connection.peerPort() == senderPort:
-                return True
-        
-        return False
+        return any(connection.peerPort() == senderPort
+                   for connection in self.__peers[senderIp])
     
     def hasConnections(self):
         """
@@ -148,11 +145,8 @@
         
         @return flag indicating the presence of connections (boolean)
         """
-        for connectionList in self.__peers.values():
-            if connectionList:
-                return True
-        
-        return False
+        return any(bool(connectionList)
+                   for connectionList in self.__peers.values())
     
     def removeConnection(self, connection):
         """
--- a/eric6/Cooperation/CooperationServer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Cooperation/CooperationServer.py	Sat May 01 14:27:20 2021 +0200
@@ -31,7 +31,7 @@
         @param address address the server should listen on (QHostAddress)
         @param parent reference to the parent object (QObject)
         """
-        super(CooperationServer, self).__init__(parent)
+        super().__init__(parent)
         
         self.__address = address
     
--- a/eric6/DataViews/CodeMetrics.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DataViews/CodeMetrics.py	Sat May 01 14:27:20 2021 +0200
@@ -31,7 +31,7 @@
 EMPTY = tokenize.NL
 
 
-class Token(object):
+class Token:
     """
     Class to store the token related infos.
     """
@@ -44,7 +44,7 @@
         self.__dict__.update(kw)
 
 
-class Parser(object):
+class Parser:
     """
     Class used to parse the source code of a Python file.
     """
@@ -102,7 +102,7 @@
 spacer = ' '
 
 
-class SourceStat(object):
+class SourceStat:
     """
     Class used to calculate and store the source code statistics.
     """
@@ -153,6 +153,7 @@
         @param row the row, the identifier is defined in (int)
         """
         if len(self.active) > 1 and self.indent_level > self.active[-1][1]:
+            # __IGNORE_WARNING_Y108__
             qualified = self.active[-1][0] + '.' + identifier
         else:
             qualified = identifier
@@ -233,9 +234,11 @@
             stats.indent(tok)
         elif tok.type == DEDENT:
             stats.dedent(tok)
-        elif tok.type == KEYWORD:
-            if tok.text in ("class", "def"):
-                stats.push(parser.tokenlist[idx + 1].text, tok.row)
+        elif (
+            tok.type == KEYWORD and
+            tok.text in ("class", "def")
+        ):
+            stats.push(parser.tokenlist[idx + 1].text, tok.row)
 
     # collect overall statistics
     summarize(total, 'lines', parser.lines)
--- a/eric6/DataViews/CodeMetricsDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DataViews/CodeMetricsDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -33,7 +33,7 @@
         
         @param parent parent widget (QWidget)
         """
-        super(CodeMetricsDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
         
@@ -169,15 +169,13 @@
         total = collections.defaultdict(int)
         CodeMetrics.summarize(total, 'files', len(files))
         
-        progress = 0
-        
         try:
             # disable updates of the list for speed
             self.resultList.setUpdatesEnabled(False)
             self.resultList.setSortingEnabled(False)
             
             # now go through all the files
-            for file in files:
+            for progress, file in enumerate(files, start=1):
                 if self.cancelled:
                     return
                 
@@ -193,7 +191,6 @@
                     self.__createResultItem(fitm, [identifier] + v)
                 self.resultList.expandItem(fitm)
                 
-                progress += 1
                 self.checkProgress.setValue(progress)
                 QApplication.processEvents()
         finally:
--- a/eric6/DataViews/PyCoverageDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DataViews/PyCoverageDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -8,6 +8,7 @@
 """
 
 import os
+import contextlib
 
 from PyQt5.QtCore import pyqtSlot, Qt
 from PyQt5.QtWidgets import (
@@ -36,7 +37,7 @@
         
         @param parent parent widget (QWidget)
         """
-        super(PyCoverageDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
         
@@ -186,7 +187,6 @@
         total_exceptions = 0
         
         cover.exclude(self.excludeList[0])
-        progress = 0
         
         try:
             # disable updates of the list for speed
@@ -194,7 +194,7 @@
             self.resultList.setSortingEnabled(False)
             
             # now go through all the files
-            for file in files:
+            for progress, file in enumerate(files, start=1):
                 if self.cancelled:
                     return
                 
@@ -205,19 +205,15 @@
                                   '')
                     n = len(statements)
                     m = n - len(missing)
-                    if n > 0:
-                        pc = 100.0 * m / n
-                    else:
-                        pc = 100.0
+                    pc = 100.0 * m / n if n > 0 else 100.0
                     self.__createResultItem(
                         file, str(n), str(m), pc, readableEx, readable)
                     
-                    total_statements = total_statements + n
-                    total_executed = total_executed + m
+                    total_statements += n
+                    total_executed += m
                 except CoverageException:
                     total_exceptions += 1
                 
-                progress += 1
                 self.checkProgress.setValue(progress)
                 QApplication.processEvents()
         finally:
@@ -359,14 +355,12 @@
             0, len(files), self.tr("%v/%m Files"), self)
         progress.setMinimumDuration(0)
         progress.setWindowTitle(self.tr("Coverage"))
-        count = 0
         
-        for file in files:
+        for count, file in enumerate(files):
             progress.setValue(count)
             if progress.wasCanceled():
                 break
             cover.annotate([file], None)  # , True)
-            count += 1
         
         progress.setValue(len(files))
         
@@ -394,10 +388,8 @@
         """
         files = Utilities.direntries(self.path, True, '*,cover', False)
         for file in files:
-            try:
+            with contextlib.suppress(OSError):
                 os.remove(file)
-            except OSError:
-                pass
 
     @pyqtSlot()
     def on_reloadButton_clicked(self):
--- a/eric6/DataViews/PyProfileDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DataViews/PyProfileDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -63,7 +63,7 @@
         
         @param parent parent widget (QWidget)
         """
-        super(PyProfileDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setWindowFlags(Qt.WindowType.Window)
         
@@ -163,7 +163,6 @@
         self.checkProgress.setMaximum(len(self.stats))
         QApplication.processEvents()
         
-        progress = 0
         total_calls = 0
         prim_calls = 0
         total_tt = 0
@@ -174,40 +173,44 @@
             self.resultList.setSortingEnabled(False)
             
             # now go through all the files
-            for func, (cc, nc, tt, ct, _callers) in list(self.stats.items()):
+            for progress, (func, (cc, nc, tt, ct, _callers)) in enumerate(
+                list(self.stats.items()), start=1
+            ):
                 if self.cancelled:
                     return
                 
-                if (not (self.ericpath and
+                if (
+                    not (self.ericpath and
                          func[0].startswith(self.ericpath)) and
                     not func[0].startswith("DebugClients") and
                     func[0] != "profile" and
                     not (exclude and (func[0].startswith(self.pyLibPath) or
                                       func[0] == "")
-                         )):
-                    if (self.file is None or func[0].startswith(self.file) or
-                            func[0].startswith(self.pyLibPath)):
-                        # calculate the totals
-                        total_calls += nc
-                        prim_calls += cc
-                        total_tt += tt
-                        
-                        if nc != cc:
-                            c = "{0:d}/{1:d}".format(nc, cc)
-                        else:
-                            c = str(nc)
-                        if nc == 0:
-                            tpc = "{0: 8.3f}".format(0.0)
-                        else:
-                            tpc = "{0: 8.3f}".format(tt / nc)
-                        if cc == 0:
-                            cpc = "{0: 8.3f}".format(0.0)
-                        else:
-                            cpc = "{0: 8.3f}".format(ct / cc)
-                        self.__createResultItem(c, tt, tpc, ct, cpc, func[0],
-                                                func[1], func[2])
+                         ) and
+                    (self.file is None or
+                     func[0].startswith(self.file) or
+                     func[0].startswith(self.pyLibPath))
+                ):
+                    # calculate the totals
+                    total_calls += nc
+                    prim_calls += cc
+                    total_tt += tt
                     
-                progress += 1
+                    if nc != cc:
+                        c = "{0:d}/{1:d}".format(nc, cc)
+                    else:
+                        c = str(nc)
+                    if nc == 0:
+                        tpc = "{0: 8.3f}".format(0.0)
+                    else:
+                        tpc = "{0: 8.3f}".format(tt / nc)
+                    if cc == 0:
+                        cpc = "{0: 8.3f}".format(0.0)
+                    else:
+                        cpc = "{0: 8.3f}".format(ct / cc)
+                    self.__createResultItem(c, tt, tpc, ct, cpc, func[0],
+                                            func[1], func[2])
+                    
                 self.checkProgress.setValue(progress)
                 QApplication.processEvents()
         finally:
--- a/eric6/DebugClients/Python/AsyncFile.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/AsyncFile.py	Sat May 01 14:27:20 2021 +0200
@@ -10,6 +10,7 @@
 
 import socket
 import threading
+import contextlib
 
 from DebugUtilities import prepareJsonCommand
 
@@ -31,7 +32,7 @@
     return pending
 
 
-class AsyncFile(object):
+class AsyncFile:
     """
     Class wrapping a socket object with a file interface.
     """
@@ -109,10 +110,9 @@
                 break
             
             try:
-                try:
+                with contextlib.suppress(UnicodeEncodeError,
+                                         UnicodeDecodeError):
                     buf = buf.encode('utf-8', 'backslashreplace')
-                except (UnicodeEncodeError, UnicodeDecodeError):
-                    pass
                 self.sock.sendall(buf)
                 self.nWriteErrors = 0
             except OSError:
@@ -227,11 +227,7 @@
         line = self.sock.recv(size, socket.MSG_PEEK)
 
         eol = line.find(b'\n')
-
-        if eol >= 0:
-            size = eol + 1
-        else:
-            size = len(line)
+        size = eol + 1 if eol >= 0 else len(line)
 
         # Now we know how big the line is, read it for real.
         return self.sock.recv(size).decode('utf8', 'backslashreplace')
@@ -257,7 +253,7 @@
             lines.append(line)
 
             if sizehint >= 0:
-                room = room - linelen
+                room -= linelen
 
                 if room <= 0:
                     break
--- a/eric6/DebugClients/Python/BreakpointWatch.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/BreakpointWatch.py	Sat May 01 14:27:20 2021 +0200
@@ -8,6 +8,7 @@
 """
 
 import os
+import contextlib
 
 
 class Breakpoint:
@@ -60,13 +61,11 @@
         """
         Public method to clear this breakpoint.
         """
-        try:
+        with contextlib.suppress(KeyError):
             del Breakpoint.breaks[(self.file, self.line)]
             Breakpoint.breakInFile[self.file].remove(self.line)
             if not Breakpoint.breakInFile[self.file]:
                 del Breakpoint.breakInFile[self.file]
-        except KeyError:
-            pass
 
     def enable(self):
         """
@@ -226,10 +225,8 @@
         """
         Public method to clear this watch expression.
         """
-        try:
+        with contextlib.suppress(ValueError):
             del Watch.watches[self]
-        except ValueError:
-            pass
 
     def enable(self):
         """
@@ -251,10 +248,8 @@
         @param cond expression of the watch expression to be cleared
         @type str
         """
-        try:
+        with contextlib.suppress(ValueError):
             Watch.watches.remove(Watch.get_watch(cond))
-        except ValueError:
-            pass
 
     @staticmethod
     def clear_all_watches():
--- a/eric6/DebugClients/Python/DebugBase.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/DebugBase.py	Sat May 01 14:27:20 2021 +0200
@@ -15,6 +15,7 @@
 import ctypes
 import time
 import dis
+import contextlib
 
 from BreakpointWatch import Breakpoint, Watch
 
@@ -53,7 +54,7 @@
     gRecursionLimit = limit
 
 
-class DebugBase(object):
+class DebugBase:
     """
     Class implementing base class of the debugger.
 
@@ -168,13 +169,11 @@
             cf = cf.f_back
             frmnr -= 1
         
-        try:
+        with contextlib.suppress(Exception):
             if "__pypy__" in sys.builtin_module_names:
                 import __pypy__
                 __pypy__.locals_to_fast(cf)
                 return
-        except Exception:       # secok
-            pass
         
         ctypes.pythonapi.PyFrame_LocalsToFast(
             ctypes.py_object(cf),
@@ -334,9 +333,7 @@
                 self.stop_here(frame) or
                 self.__checkBreakInFrame(frame) or
                 Watch.watches != []
-            ):
-                return self.trace_dispatch
-            elif (
+            ) or (
                 self.stopframe and
                 frame.f_code.co_flags & GENERATOR_AND_COROUTINE_FLAGS
             ):
@@ -925,11 +922,11 @@
         if excval is None:
             excval = ''
         
-        if unhandled:
-            exctypetxt = "unhandled {0!s}".format(str(exctype))
-        else:
-            exctypetxt = str(exctype)
-        
+        exctypetxt = (
+            "unhandled {0!s}".format(str(exctype))
+            if unhandled else
+            str(exctype)
+        )
         excvaltxt = str(excval)
         
         # Don't step into libraries, which are used by our debugger methods
--- a/eric6/DebugClients/Python/DebugClientBase.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/DebugClientBase.py	Sat May 01 14:27:20 2021 +0200
@@ -22,7 +22,7 @@
 import types
 import importlib.util
 import fnmatch
-
+import contextlib
 
 import DebugClientCapabilities
 import DebugVariables
@@ -54,8 +54,8 @@
     """
     if DebugClientInstance is None or not DebugClientInstance.redirect:
         return DebugClientOrigInput(prompt)
-
-    return DebugClientInstance.input(prompt)
+    else:
+        return DebugClientInstance.input(prompt)
 
 # Use our own input().
 try:
@@ -77,8 +77,8 @@
     """
     if DebugClientInstance is None:
         DebugClientOrigClose(fd)
-    
-    DebugClientInstance.close(fd)
+    else:
+        DebugClientInstance.close(fd)
 
 # use our own close().
 if 'close' in dir(os):
@@ -107,7 +107,7 @@
 ###############################################################################
 
 
-class DebugClientBase(object):
+class DebugClientBase:
     """
     Class implementing the client side of the debugger.
 
@@ -239,10 +239,8 @@
         
         @param terminate flag indicating to terminate (boolean)
         """
-        try:
+        with contextlib.suppress(Exception):
             self.set_quit()
-        except Exception:       # secok
-            pass
 
         self.debugging = False
         self.multiprocessSupport = False
@@ -1146,10 +1144,8 @@
         """
         try:
             import PyProfile    # __IGNORE_WARNING__
-            try:
+            with contextlib.suppress(KeyError):
                 del sys.modules['PyProfile']
-            except KeyError:
-                pass
             return self.clientCapabilities
         except ImportError:
             return (
@@ -1526,10 +1522,8 @@
         else:
             varDict = f.f_locals
         
-        if scope == -1:
-            varlist = []
-        else:
-            varlist = self.__formatVariablesList(varDict, scope, filterList)
+        varlist = [] if scope == -1 else self.__formatVariablesList(
+            varDict, scope, filterList)
         
         self.sendJsonCommand("ResponseVariables", {
             "scope": scope,
@@ -1761,18 +1755,14 @@
         elif qttype == 'QDomAttr':
             varlist.append(("name", "str", "{0}".format(value.name())))
             varlist.append(("value", "str", "{0}".format(value.value())))
-        elif qttype == 'QDomCharacterData':
-            varlist.append(("data", "str", "{0}".format(value.data())))
-        elif qttype == 'QDomComment':
+        elif qttype in ('QDomCharacterData', 'QDomComment', 'QDomText'):
             varlist.append(("data", "str", "{0}".format(value.data())))
         elif qttype == 'QDomDocument':
             varlist.append(("text", "str", "{0}".format(value.toString())))
         elif qttype == 'QDomElement':
             varlist.append(("tagName", "str", "{0}".format(value.tagName())))
             varlist.append(("text", "str", "{0}".format(value.text())))
-        elif qttype == 'QDomText':
-            varlist.append(("data", "str", "{0}".format(value.data())))
-            
+        
         # Networking stuff
         elif qttype == 'QHostAddress':
             varlist.append(
@@ -1814,10 +1804,11 @@
         filterList = [] if filterList is None else filterList[:]
         
         varlist = []
-        if scope:
-            patternFilterObjects = self.globalsFilterObjects
-        else:
-            patternFilterObjects = self.localsFilterObjects
+        patternFilterObjects = (
+            self.globalsFilterObjects
+            if scope else
+            self.localsFilterObjects
+        )
         if type(dict_) == dict:
             dict_ = dict_.items()
         
@@ -1846,13 +1837,10 @@
                 if valtype in filterList:
                     continue
             elif (
-                key in SpecialAttributes and
-                "special_attributes" in filterList
-            ):
-                continue
-            elif (
-                key == "__hash__" and
-                "builtin_function_or_method" in filterList
+                (key in SpecialAttributes and
+                 "special_attributes" in filterList) or
+                (key == "__hash__" and
+                 "builtin_function_or_method" in filterList)
             ):
                 continue
             else:
@@ -1872,28 +1860,20 @@
                 
                 # valtypename, e.g. QPoint
                 valtypename = type(value).__name__
-                if valtype in filterList:
-                    continue
-                elif (
-                    valtype in ("sip.enumtype", "sip.wrappertype") and
-                    'class' in filterList
-                ):
-                    continue
-                elif (
-                    valtype in (
+                if (
+                    valtype in filterList or
+                    (valtype in ("sip.enumtype", "sip.wrappertype") and
+                     'class' in filterList) or
+                    (valtype in (
                         "sip.methoddescriptor", "method_descriptor") and
-                    'method' in filterList
+                     'method' in filterList) or
+                    (valtype in ("numpy.ndarray", "array.array") and
+                     'list' in filterList) or
+                    (valtypename == "MultiValueDict" and
+                     'dict' in filterList) or
+                    'instance' in filterList
                 ):
                     continue
-                elif (
-                    valtype in ("numpy.ndarray", "array.array") and
-                    'list' in filterList
-                ):
-                    continue
-                elif valtypename == "MultiValueDict" and 'dict' in filterList:
-                    continue
-                elif 'instance' in filterList:
-                    continue
                 
                 isQt = valtype.startswith(ConfigQtNames)
                 
@@ -1961,12 +1941,10 @@
             pos -= 1
         
         # Get local and global completions
-        try:
+        with contextlib.suppress(AttributeError):
             localdict = self.currentThread.getFrameLocals(self.framenr)
             localCompleter = Completer(localdict).complete
             self.__getCompletionList(text, localCompleter, completions)
-        except AttributeError:
-            pass
         
         cf = self.currentThread.getCurrentFrame()
         frmnr = self.framenr
@@ -1974,10 +1952,7 @@
             cf = cf.f_back
             frmnr -= 1
         
-        if cf is None:
-            globaldict = self.debugMod.__dict__
-        else:
-            globaldict = cf.f_globals
+        globaldict = self.debugMod.__dict__ if cf is None else cf.f_globals
         
         globalCompleter = Completer(globaldict).complete
         self.__getCompletionList(text, globalCompleter, completions)
@@ -2041,10 +2016,7 @@
             port = os.getenv('ERICPORT', 42424)
         
         remoteAddress = self.__resolveHost(host)
-        if filename is not None:
-            name = os.path.basename(filename)
-        else:
-            name = ""
+        name = os.path.basename(filename) if filename is not None else ""
         self.connectDebugger(port, remoteAddress, redirect, name=name)
         if filename is not None:
             self.running = os.path.abspath(filename)
@@ -2171,10 +2143,11 @@
             })
         else:
             code = self.__compileFileSource(self.running)
-        if code:
-            res = self.mainThread.run(code, self.debugMod.__dict__, debug=True)
-        else:
-            res = 42        # should not happen
+        res = (
+            self.mainThread.run(code, self.debugMod.__dict__, debug=True)
+            if code else
+            42        # should not happen
+        )
         return res
 
     def run_call(self, scriptname, func, *args):
@@ -2202,10 +2175,7 @@
             host, version = host.split("@@")
         except ValueError:
             version = 'v4'
-        if version == 'v4':
-            family = socket.AF_INET
-        else:
-            family = socket.AF_INET6
+        family = socket.AF_INET if version == 'v4' else socket.AF_INET6
         
         retryCount = 0
         while retryCount < 10:
@@ -2328,11 +2298,8 @@
                     redirect = True
             
             ipOrHost = sys.argv[3]
-            if ':' in ipOrHost:
-                # IPv6 address
-                remoteAddress = ipOrHost
-            elif ipOrHost[0] in '0123456789':
-                # IPv4 address
+            if ':' in ipOrHost or ipOrHost[0] in '0123456789':
+                # IPv6 address or IPv4 address
                 remoteAddress = ipOrHost
             else:
                 remoteAddress = self.__resolveHost(ipOrHost)
@@ -2397,8 +2364,5 @@
         @return flag indicating eligibility
         @rtype bool
         """
-        for pattern in self.noDebugList:
-            if fnmatch.fnmatch(scriptName, pattern):
-                return True
-        
-        return False
+        return any(fnmatch.fnmatch(scriptName, pattern)
+                   for pattern in self.noDebugList)
--- a/eric6/DebugClients/Python/DebugUtilities.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/DebugUtilities.py	Sat May 01 14:27:20 2021 +0200
@@ -80,7 +80,7 @@
     varargs = None
     if co.co_flags & CO_VARARGS:
         varargs = co.co_varnames[nargs]
-        nargs = nargs + 1
+        nargs += 1
     varkw = None
     if co.co_flags & CO_VARKEYWORDS:
         varkw = co.co_varnames[nargs]
@@ -193,13 +193,13 @@
                 for line in f:
                     line = line.strip()
                     if line:
-                        for name in PYTHON_NAMES:
-                            if line.startswith(
-                                '#!/usr/bin/env {0}'.format(name)
+                        for name in PYTHON_NAMES:   # __IGNORE_WARNING_Y110__
+                            if (
+                                line.startswith(
+                                    '#!/usr/bin/env {0}'.format(name)) or
+                                (line.startswith('#!') and name in line)
                             ):
                                 return True
-                            elif line.startswith('#!') and name in line:
-                                return True
                         return False
         else:
             return False
@@ -224,9 +224,8 @@
         return False
     
     prog = os.path.basename(program).lower()
-    for pyname in PYTHON_NAMES:
-        if pyname in prog:
-            return True
+    if any(pyname in prog for pyname in PYTHON_NAMES):
+        return True
     
     return (
         not isWindowsPlatform() and
@@ -309,11 +308,13 @@
         if pyname in program:
             break
     else:
-        if not isWindowsPlatform() and startsWithShebang(args[0]):
-            # insert our interpreter as first argument
-            args.insert(0, sys.executable)
-        elif isWindowsPlatform() and args[0].lower().endswith(".py"):
-            # it is a Python script; insert our interpreter as first argument
+        if (
+            (not isWindowsPlatform() and startsWithShebang(args[0])) or
+            (isWindowsPlatform() and args[0].lower().endswith(".py"))
+        ):
+            # 1. insert our interpreter as first argument if not Windows
+            # 2. insert our interpreter as first argument if on Windows and
+            #    it is a Python script
             args.insert(0, sys.executable)
     
     # extract list of interpreter arguments, i.e. all arguments before the
@@ -444,14 +445,10 @@
                 buf = ''
                 continue
         
-        if state in (DEFAULT, ARG):
-            if ch == '"':
-                state = IN_DOUBLE_QUOTE
-            else:
-                state = ARG
-                buf += ch
+        if state not in (DEFAULT, ARG, IN_DOUBLE_QUOTE):
+            raise RuntimeError('Illegal condition')
         
-        elif state == IN_DOUBLE_QUOTE:
+        if state == IN_DOUBLE_QUOTE:
             if ch == '"':
                 if i + 1 < argsLen and args[i + 1] == '"':
                     # Undocumented feature in Windows:
@@ -468,7 +465,11 @@
                 buf += ch
         
         else:
-            raise RuntimeError('Illegal condition')
+            if ch == '"':
+                state = IN_DOUBLE_QUOTE
+            else:
+                state = ARG
+                buf += ch
     
     if len(buf) > 0 or state != DEFAULT:
         result.append(buf)
--- a/eric6/DebugClients/Python/DebugVariables.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/DebugVariables.py	Sat May 01 14:27:20 2021 +0200
@@ -7,6 +7,8 @@
 Module implementing classes and functions to dump variable contents.
 """
 
+import contextlib
+
 from DebugConfig import ConfigQtNames, ConfigKnownQtTypes, BatchSize
 
 #
@@ -18,7 +20,7 @@
 ############################################################
 
 
-class BaseResolver(object):
+class BaseResolver:
     """
     Base class of the resolver class tree.
     """
@@ -50,11 +52,9 @@
         
         d = {}
         for name in names:
-            try:
+            with contextlib.suppress(Exception):
                 attribute = getattr(var, name)
                 d[name] = attribute
-            except Exception:       # secok
-                pass    # if we can't get it, simply ignore it
         
         return d
 
@@ -84,11 +84,9 @@
         
         d = {}
         for name in names:
-            try:
+            with contextlib.suppress(Exception):
                 attribute = getattr(var, name)
                 d[name] = attribute
-            except Exception:       # secok
-                pass    # if we can't get it, simply ignore it
         
         yield -1, d
         while True:
@@ -180,7 +178,7 @@
             yield start, d
         
         # in case it has additional fields
-        d = super(DictResolver, self).getDictionary(var)
+        d = super().getDictionary(var)
         yield -1, d
         
         while True:
@@ -237,7 +235,7 @@
             yield start, d
         
         # in case it has additional fields
-        d = super(ListResolver, self).getDictionary(var)
+        d = super().getDictionary(var)
         yield -1, d
         
         while True:
@@ -264,7 +262,7 @@
         @return value of the attribute
         @rtype any
         """
-        return super(DictViewResolver, self).resolve(list(var), attribute)
+        return super().resolve(list(var), attribute)
     
     def getDictionary(self, var):
         """
@@ -275,7 +273,7 @@
         @return dictionary containing the variable attributes
         @rtype dict
         """
-        return super(DictViewResolver, self).getDictionary(list(var))
+        return super().getDictionary(list(var))
 
 
 ############################################################
@@ -336,7 +334,7 @@
             yield start, d
         
         # in case it has additional fields
-        additionals = super(SetResolver, self).getDictionary(var)
+        additionals = super().getDictionary(var)
         yield -1, additionals
         
         while True:
@@ -433,7 +431,7 @@
             yield start, d
         
         # in case it has additional fields
-        d = super(NdArrayResolver, self).getDictionary(var)
+        d = super().getDictionary(var)
         
         if var.size > 1024 * 1024:
             d['min'] = (
@@ -489,7 +487,7 @@
                 return getattr(var, attribute, None)
         
         expectedID = int(attribute.split(" (ID:")[-1][:-1])
-        for key in var.keys():
+        for key in var:
             if id(key) == expectedID:
                 return var.getlist(key)
         
@@ -529,7 +527,7 @@
             yield start, d
         
         # in case it has additional fields
-        d = super(DictResolver, self).getDictionary(var)
+        d = super().getDictionary(var)
         yield -1, d
         
         while True:
@@ -606,7 +604,7 @@
             yield start, d
         
         # in case it has additional fields
-        d = super(ArrayResolver, self).getDictionary(var)
+        d = super().getDictionary(var)
         
         # Special data for array type: convert typecode to readable text
         d['type'] = self.TypeCodeMap.get(var.typecode, 'illegal type')
@@ -653,37 +651,31 @@
         (frozenset, setResolver),
     ]
     
-    try:
+    with contextlib.suppress(Exception):
         _TypeMap.append((long, None))           # __IGNORE_WARNING__
-    except Exception:       # secok
-        pass    # not available on all Python versions
 
-    try:
+    with contextlib.suppress(ImportError):
         import array
         _TypeMap.append((array.array, arrayResolver))
-    except ImportError:
-        pass  # array.array may not be available
+        # array.array may not be available
     
-    try:
+    with contextlib.suppress(ImportError):
         import numpy
         _TypeMap.append((numpy.ndarray, ndarrayResolver))
-    except ImportError:
-        pass  # numpy may not be installed
+        # numpy may not be installed
     
-    try:
+    with contextlib.suppress(ImportError):
         from django.utils.datastructures import MultiValueDict
         # it should go before dict
         _TypeMap.insert(0, (MultiValueDict, multiValueDictResolver))
-    except ImportError:
-        pass  # django may not be installed
+        # django may not be installed
     
-    try:
+    with contextlib.suppress(ImportError):
         from collections.abc import ItemsView, KeysView, ValuesView
         _TypeMap.append((ItemsView, dictViewResolver))
         _TypeMap.append((KeysView, dictViewResolver))
         _TypeMap.append((ValuesView, dictViewResolver))
-    except ImportError:
-        pass  # not available on all Python versions
+        # not available on all Python versions
 
 
 def getType(obj):
@@ -717,3 +709,6 @@
             resolver = defaultResolver
     
     return typeName, typeStr, resolver
+
+#
+# eflag: noqa = Y113
--- a/eric6/DebugClients/Python/FlexCompleter.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/FlexCompleter.py	Sat May 01 14:27:20 2021 +0200
@@ -54,7 +54,7 @@
 __all__ = ["Completer"]
 
 
-class Completer(object):
+class Completer:
     """
     Class implementing the command line completer object.
     """
@@ -122,7 +122,7 @@
         @return ammended word (string)
         """
         if callable(val):
-            word = word + "("
+            word += "("
         return word
 
     def global_matches(self, text):
@@ -141,11 +141,11 @@
             if word[:n] == text:
                 seen.add(word)
                 if word in {'finally', 'try'}:
-                    word = word + ':'
+                    word += ':'
                 elif word not in {'False', 'None', 'True',
                                   'break', 'continue', 'pass',
                                   'else'}:
-                    word = word + ' '
+                    word += ' '
                 matches.append(word)
         for nspace in [self.namespace, builtins.__dict__]:
             for word, val in nspace.items():
@@ -209,10 +209,7 @@
                     matches.append(match)
             if matches or not noprefix:
                 break
-            if noprefix == '_':
-                noprefix = '__'
-            else:
-                noprefix = None
+            noprefix = '__' if noprefix == '_' else None
         matches.sort()
         return matches
 
@@ -227,7 +224,7 @@
     ret = dir(klass)
     if hasattr(klass, '__bases__'):
         for base in klass.__bases__:
-            ret = ret + get_class_members(base)
+            ret += get_class_members(base)
     return ret
 
 #
--- a/eric6/DebugClients/Python/ModuleLoader.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/ModuleLoader.py	Sat May 01 14:27:20 2021 +0200
@@ -15,7 +15,7 @@
 from MultiprocessingExtension import patchMultiprocessing
 
 
-class ModuleLoader(object):
+class ModuleLoader:
     """
     Class implementing an import hook patching modules to support debugging.
     """
--- a/eric6/DebugClients/Python/MultiProcessDebugExtension.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/MultiProcessDebugExtension.py	Sat May 01 14:27:20 2021 +0200
@@ -8,6 +8,7 @@
 support multiprocess debugging.
 """
 
+import contextlib
 
 from DebugUtilities import (
     patchArguments, patchArgumentStringWindows, isPythonProgram,
@@ -306,20 +307,23 @@
         frame = None    # Just make sure we don't hold on to it.
         
         childProcess = getattr(os, originalName)()     # fork
-        if not childProcess and not isMultiprocessingPopen:
-            if isNewPythonProcess:
-                (wd, host, port, exceptions, tracePython, redirect,
-                 noencoding) = _debugClient.startOptions
-                _debugClient.startDebugger(
-                    filename=sys.argv[0],
-                    host=host,
-                    port=port,
-                    enableTrace=multiprocess and not isSubprocessFork,
-                    exceptions=exceptions,
-                    tracePython=tracePython,
-                    redirect=redirect,
-                    passive=False,
-                    multiprocessSupport=multiprocess)
+        if (
+            not childProcess and
+            not isMultiprocessingPopen and
+            isNewPythonProcess
+        ):
+            (wd, host, port, exceptions, tracePython, redirect,
+             noencoding) = _debugClient.startOptions
+            _debugClient.startDebugger(
+                filename=sys.argv[0],
+                host=host,
+                port=port,
+                enableTrace=multiprocess and not isSubprocessFork,
+                exceptions=exceptions,
+                tracePython=tracePython,
+                redirect=redirect,
+                passive=False,
+                multiprocessSupport=multiprocess)
         return childProcess
     
     return newFork
@@ -401,10 +405,8 @@
         patchModule(_subprocess, 'CreateProcess', createCreateProcess)
     else:
         patchModule(os, "fork", createFork)
-        try:
+        with contextlib.suppress(ImportError):
             import _posixsubprocess
             patchModule(_posixsubprocess, "fork_exec", createForkExec)
-        except ImportError:
-            pass
     
     _debugClient = debugClient
--- a/eric6/DebugClients/Python/PyProfile.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/PyProfile.py	Sat May 01 14:27:20 2021 +0200
@@ -11,6 +11,7 @@
 import profile
 import atexit
 import pickle           # secok
+import contextlib
 
 
 class PyProfile(profile.Profile):
@@ -51,24 +52,20 @@
         if not os.path.exists(self.timingCache):
             return
         
-        try:
-            with open(self.timingCache, 'rb') as cache:
-                timings = marshal.load(cache)       # secok
-                if isinstance(timings, dict):
-                    self.timings = timings
-        except (OSError, EOFError, ValueError, TypeError):
-            pass
+        with contextlib.suppress(OSError, EOFError, ValueError, TypeError), \
+                open(self.timingCache, 'rb') as cache:
+            timings = marshal.load(cache)       # secok
+            if isinstance(timings, dict):
+                self.timings = timings
     
     def save(self):
         """
         Public method to store the collected profile data.
         """
         # dump the raw timing data
-        try:
-            with open(self.timingCache, 'wb') as cache:
-                marshal.dump(self.timings, cache)
-        except OSError:
-            pass
+        with contextlib.suppress(OSError), \
+                open(self.timingCache, 'wb') as cache:
+            marshal.dump(self.timings, cache)
         
         # dump the profile data
         self.dump_stats(self.profileCache)
@@ -80,11 +77,9 @@
         @param file name of the file to write to (string)
         """
         self.create_stats()
-        try:
-            with open(file, 'wb') as f:
-                pickle.dump(self.stats, f, 4)
-        except (OSError, pickle.PickleError):
-            pass
+        with contextlib.suppress(OSError, pickle.PickleError), \
+                open(file, 'wb') as f:
+            pickle.dump(self.stats, f, 4)
 
     def erase(self):
         """
@@ -143,12 +138,11 @@
         if self.cur and frame.f_back is not self.cur[-2]:
             rpt, rit, ret, rfn, rframe, rcur = self.cur
             if not isinstance(rframe, profile.Profile.fake_frame):
-                assert rframe.f_back is frame.f_back, ("Bad call", rfn,
-                # secok
-                                                       rframe, rframe.f_back,
-                                                       frame, frame.f_back)
+                assert rframe.f_back is frame.f_back, (             # secok
+                    "Bad call", rfn, rframe, rframe.f_back,
+                    frame, frame.f_back)
                 self.trace_dispatch_return(rframe, 0)
-                assert (self.cur is None or                            # secok
+                assert (self.cur is None or                         # secok
                         frame.f_back is self.cur[-2]), ("Bad call",
                                                         self.cur[-3])
         fcode = frame.f_code
--- a/eric6/DebugClients/Python/QProcessExtension.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/QProcessExtension.py	Sat May 01 14:27:20 2021 +0200
@@ -36,7 +36,7 @@
             """
             Constructor
             """
-            super(QProcessWrapper, self).__init__(parent)
+            super().__init__(parent)
         
         ###################################################################
         ## Handling of 'start(...)' below
@@ -87,11 +87,11 @@
                             _debugClient,
                             [program] + arguments,
                         )
-                        super(QProcessWrapper, self).start(
+                        super().start(
                             newArgs[0], newArgs[1:], mode)
                         return
             
-            super(QProcessWrapper, self).start(*args, **kwargs)
+            super().start(*args, **kwargs)
         
         ###################################################################
         ## Handling of 'startDetached(...)' below
@@ -147,7 +147,7 @@
                     return QProcessWrapper.startDetachedStatic(
                         program, arguments, wd)
             
-            return super(QProcessWrapper, self).startDetached(*args, **kwargs)
+            return super().startDetached(*args, **kwargs)
         
         @staticmethod
         def startDetachedStatic(*args, **kwargs):
--- a/eric6/DebugClients/Python/SubprocessExtension.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/SubprocessExtension.py	Sat May 01 14:27:20 2021 +0200
@@ -61,7 +61,7 @@
                             _debugClient, arguments, noRedirect=True
                         )
             
-            super(PopenWrapper, self).__init__(arguments, *args, **kwargs)
+            super().__init__(arguments, *args, **kwargs)
     
     _debugClient = debugClient
     module.Popen = PopenWrapper
--- a/eric6/DebugClients/Python/ThreadExtension.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/DebugClients/Python/ThreadExtension.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import os
 import sys
+import contextlib
 
 import _thread
 import threading
@@ -18,7 +19,7 @@
 _qtThreadNumber = 1
 
 
-class ThreadExtension(object):
+class ThreadExtension:
     """
     Class implementing the thread support for the debugger.
     
@@ -95,9 +96,8 @@
         """
         self.lockClient()
         try:
-            del self.threads[threadId]
-        except KeyError:
-            pass
+            with contextlib.suppress(KeyError):
+                del self.threads[threadId]
         finally:
             self.unlockClient()
     
@@ -116,10 +116,8 @@
         """
         Public method to release the lock for this client.
         """
-        try:
+        with contextlib.suppress(RuntimeError):
             self.clientLock.release()
-        except RuntimeError:
-            pass
     
     def setCurrentThread(self, threadId):
         """
@@ -298,7 +296,7 @@
                 # intercept the thread creation by threading.Thread
                 self.run = lambda s=self, run=self.run: _bootstrap(s, run)
                 
-                super(ThreadWrapper, self).__init__(*args, **kwargs)
+                super().__init__(*args, **kwargs)
         
         module.Thread = ThreadWrapper
         
@@ -313,7 +311,7 @@
                 """
                 Constructor
                 """
-                super(TimerWrapper, self).__init__(
+                super().__init__(
                     interval, function, *args, **kwargs)
         
         module.Timer = TimerWrapper
@@ -327,7 +325,7 @@
                 """
                 Constructor
                 """
-                super(DummyThreadWrapper, self).__init__(*args, **kwargs)
+                super().__init__(*args, **kwargs)
         
         module._DummyThread = DummyThreadWrapper
     
@@ -390,7 +388,7 @@
                 self.run = lambda s=self, run=self.run: (
                     _bootstrapQThread(s, run))
                 
-                super(QThreadWrapper, self).__init__(*args, **kwargs)
+                super().__init__(*args, **kwargs)
         
         class QRunnableWrapper(module.QRunnable):
             """
@@ -405,7 +403,7 @@
                 self.run = lambda s=self, run=self.run: (
                     _bootstrapQThread(s, run))
                 
-                super(QRunnableWrapper, self).__init__(*args, **kwargs)
+                super().__init__(*args, **kwargs)
         
         module.QThread = QThreadWrapper
         module.QRunnable = QRunnableWrapper
--- a/eric6/Debugger/BreakPointModel.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/BreakPointModel.py	Sat May 01 14:27:20 2021 +0200
@@ -30,7 +30,7 @@
         @param parent reference to the parent widget
         @type QObject
         """
-        super(BreakPointModel, self).__init__(parent)
+        super().__init__(parent)
         
         self.__project = project
         
@@ -102,17 +102,23 @@
             elif index.column() in (1, 2, 5):
                 return self.breakpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.CheckStateRole:
-            if index.column() in (3, 4):
-                return self.breakpoints[index.row()][index.column()]
+        if (
+            role == Qt.ItemDataRole.CheckStateRole and
+            index.column() in (3, 4)
+        ):
+            return self.breakpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.ToolTipRole:
-            if index.column() in (0, 2):
-                return self.breakpoints[index.row()][index.column()]
+        if (
+            role == Qt.ItemDataRole.ToolTipRole and
+            index.column() in (0, 2)
+        ):
+            return self.breakpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.TextAlignmentRole:
-            if index.column() < len(self.alignments):
-                return self.alignments[index.column()]
+        if (
+            role == Qt.ItemDataRole.TextAlignmentRole and
+            index.column() < len(self.alignments)
+        ):
+            return self.alignments[index.column()]
         
         return None
     
--- a/eric6/Debugger/BreakPointViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/BreakPointViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -38,7 +38,7 @@
         
         @param parent the parent (QWidget)
         """
-        super(BreakPointViewer, self).__init__(parent)
+        super().__init__(parent)
         self.setObjectName("BreakPointViewer")
         
         self.__model = None
@@ -77,7 +77,7 @@
         self.sortingModel = QSortFilterProxyModel()
         self.sortingModel.setDynamicSortFilter(True)
         self.sortingModel.setSourceModel(self.__model)
-        super(BreakPointViewer, self).setModel(self.sortingModel)
+        super().setModel(self.sortingModel)
         
         header = self.header()
         header.setSortIndicator(0, Qt.SortOrder.AscendingOrder)
@@ -144,16 +144,17 @@
         if not index.isValid():
             return
         
-        if selected:
-            flags = QItemSelectionModel.SelectionFlags(
+        flags = (
+            QItemSelectionModel.SelectionFlags(
                 QItemSelectionModel.SelectionFlag.ClearAndSelect |
                 QItemSelectionModel.SelectionFlag.Rows
             )
-        else:
-            flags = QItemSelectionModel.SelectionFlags(
+            if selected else
+            QItemSelectionModel.SelectionFlags(
                 QItemSelectionModel.SelectionFlag.Deselect |
                 QItemSelectionModel.SelectionFlag.Rows
             )
+        )
         self.selectionModel().select(index, flags)
         
     def __createPopupMenus(self):
--- a/eric6/Debugger/CallStackViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/CallStackViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -40,7 +40,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CallStackViewer, self).__init__(parent)
+        super().__init__(parent)
         
         self.__layout = QVBoxLayout(self)
         self.setLayout(self.__layout)
@@ -136,22 +136,24 @@
         
         self.__callStackList.clear()
         for fname, fline, ffunc, fargs in stack:
-            if self.__projectMode:
-                dfname = self.__project.getRelativePath(fname)
-            else:
-                dfname = fname
-            if ffunc and not ffunc.startswith("<"):
+            dfname = (
+                self.__project.getRelativePath(fname)
+                if self.__projectMode else
+                fname
+            )
+            itm = (
                 # use normal format
-                itm = QTreeWidgetItem(
+                QTreeWidgetItem(
                     self.__callStackList,
                     [self.__entryFormat.format(dfname, fline, ffunc, fargs)]
                 )
-            else:
+                if ffunc and not ffunc.startswith("<") else
                 # use short format
-                itm = QTreeWidgetItem(
+                QTreeWidgetItem(
                     self.__callStackList,
                     [self.__entryFormatShort.format(dfname, fline)]
                 )
+            )
             itm.setData(0, self.FilenameRole, fname)
             itm.setData(0, self.LinenoRole, fline)
         
--- a/eric6/Debugger/CallTraceViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/CallTraceViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -42,7 +42,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(CallTraceViewer, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.__dbs = debugServer
@@ -185,10 +185,7 @@
                         itm = self.callTrace.topLevelItem(0)
                         while itm is not None:
                             isCall = itm.data(0, Qt.ItemDataRole.UserRole)
-                            if isCall:
-                                call = "->"
-                            else:
-                                call = "<-"
+                            call = "->" if isCall else "<-"
                             f.write("{0} {1} || {2}\n".format(
                                 call,
                                 itm.text(1), itm.text(2)))
--- a/eric6/Debugger/DebugServer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/DebugServer.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import os
 import shlex
+import contextlib
 
 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QModelIndex
 from PyQt5.QtNetwork import (
@@ -186,7 +187,7 @@
         @param parent reference to the parent object
         @type QObject
         """
-        super(DebugServer, self).__init__(parent)
+        super().__init__(parent)
         
         self.__originalPathString = originalPathString
         
@@ -425,10 +426,8 @@
         @rtype list of str
         """
         languages = list(self.__debuggerInterfaceRegistry.keys())
-        try:
+        with contextlib.suppress(ValueError):
             languages.remove("None")
-        except ValueError:
-            pass    # it is not in the list
         
         if shellOnly:
             languages = [lang for lang in languages
@@ -508,11 +507,14 @@
         """
         self.running = False
         
-        if not self.passive or not self.passiveClientExited:
-            if self.debuggerInterface and self.debuggerInterface.isConnected():
-                self.shutdownServer()
-                self.debugging = False
-                self.clientGone.emit(unplanned and self.debugging)
+        if (
+            (not self.passive or not self.passiveClientExited) and
+            self.debuggerInterface and
+            self.debuggerInterface.isConnected()
+        ):
+            self.shutdownServer()
+            self.debugging = False
+            self.clientGone.emit(unplanned and self.debugging)
         
         if clType:
             if clType not in self.getSupportedLanguages():
@@ -1485,11 +1487,8 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
-        try:
+        with contextlib.suppress(AttributeError):
             self.debuggerInterface.remoteClientDisassembly(debuggerId)
-        except AttributeError:
-            # remote client doesn't support that
-            pass
     
     def remoteClientSetFilter(self, debuggerId, scope, filterStr):
         """
@@ -1994,12 +1993,9 @@
         @param venvName name of the virtual environment
         @type str
         """
-        try:
+        with contextlib.suppress(KeyError):
             self.__debuggerInterfaceRegistry[clientType][0] = capabilities
             self.clientCapabilities.emit(capabilities, clientType, venvName)
-        except KeyError:
-            # ignore silently
-            pass
     
     def signalClientCompletionList(self, completionList, text, debuggerId):
         """
--- a/eric6/Debugger/DebugUI.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/DebugUI.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import os
 import copy
+import contextlib
 
 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt
 from PyQt5.QtGui import QKeySequence
@@ -70,7 +71,7 @@
         @param debugViewer reference to the debug viewer widget
         @param project reference to the project object
         """
-        super(DebugUI, self).__init__(ui)
+        super().__init__(ui)
         
         self.ui = ui
         self.viewmanager = vm
@@ -169,7 +170,7 @@
         self.passive = Preferences.getDebugger("PassiveDbgEnabled")
     
     def showNotification(self, notification,
-                         kind=NotificationTypes.Information, timeout=None):
+                         kind=NotificationTypes.INFORMATION, timeout=None):
         """
         Public method to show some notification message.
         
@@ -837,10 +838,7 @@
         """
         self.editorOpen = True
         
-        if fn:
-            editor = self.viewmanager.getOpenEditor(fn)
-        else:
-            editor = None
+        editor = self.viewmanager.getOpenEditor(fn) if fn else None
         self.__checkActions(editor)
         
     def __lastEditorClosed(self):
@@ -867,10 +865,7 @@
         
         @param editor editor window
         """
-        if editor:
-            fn = editor.getFileName()
-        else:
-            fn = None
+        fn = editor.getFileName() if editor else None
         
         cap = 0
         if fn:
@@ -1150,10 +1145,10 @@
                     os.path.basename(program), status, info)
             if status != 0:
                 timeout = 0
-                kind = NotificationTypes.Warning
+                kind = NotificationTypes.WARNING
             else:
                 timeout = None
-                kind = NotificationTypes.Information
+                kind = NotificationTypes.INFORMATION
             self.ui.showNotification(
                 UI.PixmapCache.getPixmap("debug48"),
                 self.tr("Program terminated"), msg, kind=kind,
@@ -1241,22 +1236,18 @@
         ):
             res = None
             if stackTrace:
-                try:
+                with contextlib.suppress(UnicodeError, OSError):
                     file, line = stackTrace[0][:2]
                     source, encoding = Utilities.readEncodedFile(file)
                     source = source.splitlines(True)
                     if len(source) >= line:
                         lineFlags = Utilities.extractLineFlags(
                             source[line - 1].strip())
-                        try:
+                        with contextlib.suppress(IndexError):
                             lineFlags += Utilities.extractLineFlags(
                                 source[line].strip(), flagsLine=True)
-                        except IndexError:
-                            pass
                         if "__IGNORE_EXCEPTION__" in lineFlags:
                             res = E5MessageBox.No
-                except (UnicodeError, OSError):
-                    pass
                 if res != E5MessageBox.No:
                     self.viewmanager.setFileLine(
                         stackTrace[0][0], stackTrace[0][1], True)
@@ -1310,9 +1301,11 @@
                 self.ui.setDebugProfile()
                 self.debugActGrp.setEnabled(True)
                 return
-            elif res == E5MessageBox.Ignore:
-                if exceptionType not in self.excIgnoreList:
-                    self.excIgnoreList.append(exceptionType)
+            elif (
+                res == E5MessageBox.Ignore and
+                exceptionType not in self.excIgnoreList
+            ):
+                self.excIgnoreList.append(exceptionType)
         
         if self.lastAction != -1:
             if self.lastAction == 2:
@@ -1633,10 +1626,7 @@
         for row in range(model.rowCount()):
             index = model.index(row, 0)
             filename, line, cond = model.getBreakPointByIndex(index)[:3]
-            if not cond:
-                formattedCond = ""
-            else:
-                formattedCond = " : {0}".format(cond[:20])
+            formattedCond = " : {0}".format(cond[:20]) if cond else ""
             bpSuffix = " : {0:d}{1}".format(line, formattedCond)
             act = self.breakpointsMenu.addAction(
                 "{0}{1}".format(
@@ -1697,10 +1687,11 @@
         
         # Get the command line arguments, the working directory and the
         # exception reporting flag.
-        if runProject:
-            cap = self.tr("Coverage of Project")
-        else:
-            cap = self.tr("Coverage of Script")
+        cap = (
+            self.tr("Coverage of Project")
+            if runProject else
+            self.tr("Coverage of Script")
+        )
         dlg = StartDialog(
             cap, self.lastUsedVenvName, self.argvHistory, self.wdHistory,
             self.envHistory, self.exceptions, self.ui, 2,
@@ -1841,10 +1832,11 @@
         
         # Get the command line arguments, the working directory and the
         # exception reporting flag.
-        if runProject:
-            cap = self.tr("Profile of Project")
-        else:
-            cap = self.tr("Profile of Script")
+        cap = (
+            self.tr("Profile of Project")
+            if runProject else
+            self.tr("Profile of Script")
+        )
         dlg = StartDialog(
             cap, self.lastUsedVenvName, self.argvHistory, self.wdHistory,
             self.envHistory, self.exceptions, self.ui, 3,
@@ -1985,10 +1977,11 @@
         
         # Get the command line arguments, the working directory and the
         # exception reporting flag.
-        if runProject:
-            cap = self.tr("Run Project")
-        else:
-            cap = self.tr("Run Script")
+        cap = (
+            self.tr("Run Project")
+            if runProject else
+            self.tr("Run Script")
+        )
         dlg = StartDialog(
             cap, self.lastUsedVenvName, self.argvHistory, self.wdHistory,
             self.envHistory, self.exceptions, self.ui, 1,
@@ -2125,10 +2118,11 @@
         
         # Get the command line arguments, the working directory and the
         # exception reporting flag.
-        if debugProject:
-            cap = self.tr("Debug Project")
-        else:
-            cap = self.tr("Debug Script")
+        cap = (
+            self.tr("Debug Project")
+            if debugProject else
+            self.tr("Debug Script")
+        )
         dlg = StartDialog(
             cap, self.lastUsedVenvName, self.argvHistory, self.wdHistory,
             self.envHistory, self.exceptions, self.ui, 0,
--- a/eric6/Debugger/DebugViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/DebugViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -82,7 +82,7 @@
         @param parent parent widget
         @type QWidget
         """
-        super(DebugViewer, self).__init__(parent)
+        super().__init__(parent)
         
         self.debugServer = debugServer
         self.debugUI = None
@@ -284,7 +284,7 @@
         from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes
         # add the Python disassembly viewer
         self.disassemblyViewer = PythonDisViewer(
-            None, mode=PythonDisViewerModes.TracebackMode)
+            None, mode=PythonDisViewerModes.TRACEBACK)
         index = self.__tabWidget.addTab(
             self.disassemblyViewer,
             UI.PixmapCache.getIcon("disassembly"), '')
--- a/eric6/Debugger/DebuggerInterfaceNone.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/DebuggerInterfaceNone.py	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
         @param passive flag indicating passive connection mode
         @type bool
         """
-        super(DebuggerInterfaceNone, self).__init__()
+        super().__init__()
         
         self.debugServer = debugServer
         self.passive = passive
--- a/eric6/Debugger/DebuggerInterfacePython.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/DebuggerInterfacePython.py	Sat May 01 14:27:20 2021 +0200
@@ -11,6 +11,7 @@
 import os
 import logging
 import shlex
+import contextlib
 
 from PyQt5.QtCore import (
     QObject, QProcess, QProcessEnvironment, QTimer
@@ -44,7 +45,7 @@
         @param passive flag indicating passive connection mode
         @type bool
         """
-        super(DebuggerInterfacePython, self).__init__()
+        super().__init__()
         
         self.__isNetworked = True
         self.__autoContinue = False
@@ -208,10 +209,11 @@
                                            "DebugClients", "Python",
                                            "DebugClient.py")
         
-        if configOverride and configOverride["enable"]:
-            redirect = str(configOverride["redirect"])
-        else:
-            redirect = str(Preferences.getDebugger("Python3Redirect"))
+        redirect = (
+            str(configOverride["redirect"])
+            if configOverride and configOverride["enable"] else
+            str(Preferences.getDebugger("Python3Redirect"))
+        )
         noencoding = (Preferences.getDebugger("Python3NoEncoding") and
                       '--no-encoding' or '')
         multiprocessEnabled = (
@@ -278,11 +280,9 @@
         envlist = shlex.split(
             Preferences.getDebugger("DebugEnvironment"))
         for el in envlist:
-            try:
+            with contextlib.suppress(ValueError):
                 key, value = el.split('=', 1)
                 clientEnv[str(key)] = str(value)
-            except ValueError:
-                pass
         if execPath:
             if "PATH" in clientEnv:
                 clientEnv["PATH"] = os.pathsep.join(
@@ -367,14 +367,14 @@
         debugClient = project.getDebugProperty("DEBUGCLIENT")
         if not venvName:
             venvName = project.getDebugProperty("VIRTUALENV")
-        if not venvName:
-            if project.getProjectLanguage() == "Python3":
-                venvName = Preferences.getDebugger("Python3VirtualEnv")
+        if not venvName and project.getProjectLanguage() == "Python3":
+            venvName = Preferences.getDebugger("Python3VirtualEnv")
         
-        if configOverride and configOverride["enable"]:
-            redirect = str(configOverride["redirect"])
-        else:
-            redirect = str(project.getDebugProperty("REDIRECT"))
+        redirect = (
+            str(configOverride["redirect"])
+            if configOverride and configOverride["enable"] else
+            str(project.getDebugProperty("REDIRECT"))
+        )
         noencoding = (
             '--no-encoding' if project.getDebugProperty("NOENCODING") else ''
         )
@@ -462,11 +462,9 @@
         envlist = shlex.split(
             project.getDebugProperty("ENVIRONMENTSTRING"))
         for el in envlist:
-            try:
+            with contextlib.suppress(ValueError):
                 key, value = el.split('=', 1)
                 clientEnv[str(key)] = str(value)
-            except ValueError:
-                pass
         if execPath:
             if "PATH" in clientEnv:
                 clientEnv["PATH"] = os.pathsep.join(
@@ -602,12 +600,10 @@
         
         if not self.__connections:
             # no active connections anymore
-            try:
+            with contextlib.suppress(RuntimeError):
                 self.debugServer.signalLastClientExited()
-            except RuntimeError:
                 # debug server object might have been deleted already
                 # ignore this
-                pass
             self.__autoContinued.clear()
             self.debugServer.startClient()
     
@@ -915,10 +911,8 @@
         @param temp flag indicating a temporary breakpoint
         @type bool
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             self.__sendJsonCommand("RequestBreakpoint", {
                 "filename": self.translate(fn, False),
@@ -941,10 +935,8 @@
         @param enable flag indicating enabling or disabling a breakpoint
         @type bool
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             self.__sendJsonCommand("RequestBreakpointEnable", {
                 "filename": self.translate(fn, False),
@@ -965,10 +957,8 @@
         @param count number of occurrences to ignore
         @type int
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             self.__sendJsonCommand("RequestBreakpointIgnore", {
                 "filename": self.translate(fn, False),
@@ -989,10 +979,8 @@
         @param temp flag indicating a temporary watch expression
         @type bool
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             # cond is combination of cond and special (s. watch expression
             # viewer)
@@ -1013,10 +1001,8 @@
         @param enable flag indicating enabling or disabling a watch expression
         @type bool
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             # cond is combination of cond and special (s. watch expression
             # viewer)
@@ -1037,10 +1023,8 @@
         @param count number of occurrences to ignore
         @type int
         """
-        if debuggerId:
-            debuggerList = [debuggerId]
-        else:
-            debuggerList = list(self.__connections.keys())
+        debuggerList = ([debuggerId] if debuggerId
+                        else list(self.__connections.keys()))
         for debuggerId in debuggerList:
             # cond is combination of cond and special (s. watch expression
             # viewer)
--- a/eric6/Debugger/EditBreakpointDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/EditBreakpointDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -37,7 +37,7 @@
         @param filenameHistory list of recently used file names
             (list of strings)
         """
-        super(EditBreakpointDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         if name:
             self.setObjectName(name)
@@ -143,10 +143,7 @@
             ignore count)
         """
         fn = self.filenamePicker.currentText()
-        if not fn:
-            fn = None
-        else:
-            fn = os.path.expanduser(os.path.expandvars(fn))
+        fn = os.path.expanduser(os.path.expandvars(fn)) if fn else None
         
         return (fn, self.linenoSpinBox.value(),
                 self.conditionCombo.currentText(),
--- a/eric6/Debugger/EditWatchpointDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/EditWatchpointDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -27,7 +27,7 @@
         @param name the widget name of this dialog
         @param modal flag indicating a modal dialog
         """
-        super(EditWatchpointDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         if name:
             self.setObjectName(name)
--- a/eric6/Debugger/ExceptionLogger.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/ExceptionLogger.py	Sat May 01 14:27:20 2021 +0200
@@ -7,6 +7,8 @@
 Module implementing the Exception Logger widget.
 """
 
+import contextlib
+
 from PyQt5.QtCore import pyqtSignal, Qt
 from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QMenu
 
@@ -30,7 +32,7 @@
         
         @param parent the parent widget of this widget
         """
-        super(ExceptionLogger, self).__init__(parent)
+        super().__init__(parent)
         self.setObjectName("ExceptionLogger")
         
         self.setWindowTitle(self.tr("Exceptions"))
@@ -108,12 +110,12 @@
                 .format(debuggerId))
             return
         
-        if not exceptionMessage:
-            text = self.tr("{0}: {1}").format(
-                debuggerId, exceptionType)
-        else:
-            text = self.tr("{0}: {1}, {2}").format(
-                debuggerId, exceptionType, exceptionMessage)
+        text = (
+            self.tr("{0}: {1}").format(debuggerId, exceptionType)
+            if not exceptionMessage else
+            self.tr("{0}: {1}, {2}").format(debuggerId, exceptionType,
+                                            exceptionMessage)
+        )
         
         itm.setText(0, text)
         itm.setToolTip(0, text)
@@ -141,11 +143,9 @@
             
         entry = itm.text(0)
         entryList = entry.split(",")
-        try:
+        with contextlib.suppress(IndexError, ValueError):
             self.sourceFile.emit(entryList[0], int(entryList[1]))
-        except (IndexError, ValueError):
-            pass
-        
+    
     def __configure(self):
         """
         Private method to open the configuration dialog.
--- a/eric6/Debugger/ExceptionsFilterDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/ExceptionsFilterDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -25,7 +25,7 @@
         @param ignore flag indicating the ignore exceptions mode (boolean)
         @param parent the parent widget (QWidget)
         """
-        super(ExceptionsFilterDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         self.setModal(True)
         
--- a/eric6/Debugger/StartCoverageDialog.ui	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartCoverageDialog.ui	Sat May 01 14:27:20 2021 +0200
@@ -77,7 +77,7 @@
         </sizepolicy>
        </property>
        <property name="toolTip">
-        <string>Enter the environment variables to be set.</string>
+        <string>Enter the environment variables to be set separated by whitespace.</string>
        </property>
        <property name="whatsThis">
         <string>&lt;b&gt;Environment Variables&lt;/b&gt;
--- a/eric6/Debugger/StartDebugDialog.ui	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartDebugDialog.ui	Sat May 01 14:27:20 2021 +0200
@@ -134,7 +134,7 @@
         </sizepolicy>
        </property>
        <property name="toolTip">
-        <string>Enter the environment variables to be set.</string>
+        <string>Enter the environment variables to be set separated by whitespace.</string>
        </property>
        <property name="whatsThis">
         <string>&lt;b&gt;Environment Variables&lt;/b&gt;
--- a/eric6/Debugger/StartDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -79,7 +79,7 @@
             data
         @type dict
         """
-        super(StartDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setModal(True)
         
         self.dialogType = dialogType
@@ -354,13 +354,14 @@
             lists
         @rtype tuple of four list of str
         """
-        if self.dialogType == 0:
-            noDebugHistory = [
+        noDebugHistory = (
+            [
                 self.ui.multiprocessNoDebugCombo.itemText(index)
                 for index in range(self.ui.multiprocessNoDebugCombo.count())
             ]
-        else:
-            noDebugHistory = None
+            if self.dialogType == 0 else
+            None
+        )
         return (
             [self.ui.cmdlineCombo.itemText(index) for index in range(
                 self.ui.cmdlineCombo.count())],
--- a/eric6/Debugger/StartHistoryEditDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartHistoryEditDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        super(StartHistoryEditDialog, self).__init__(parent)
+        super().__init__(parent)
         self.setupUi(self)
         
         self.historyList.addItems(history)
--- a/eric6/Debugger/StartProfileDialog.ui	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartProfileDialog.ui	Sat May 01 14:27:20 2021 +0200
@@ -134,7 +134,7 @@
         </sizepolicy>
        </property>
        <property name="toolTip">
-        <string>Enter the environment variables to be set.</string>
+        <string>Enter the environment variables to be set separated by whitespace.</string>
        </property>
        <property name="whatsThis">
         <string>&lt;b&gt;Environment Variables&lt;/b&gt;
--- a/eric6/Debugger/StartRunDialog.ui	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/StartRunDialog.ui	Sat May 01 14:27:20 2021 +0200
@@ -134,7 +134,7 @@
         </sizepolicy>
        </property>
        <property name="toolTip">
-        <string>Enter the environment variables to be set.</string>
+        <string>Enter the environment variables to be set separated by whitespace.</string>
        </property>
        <property name="whatsThis">
         <string>&lt;b&gt;Environment Variables&lt;/b&gt;
--- a/eric6/Debugger/VariableDetailDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/VariableDetailDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
         @param vtype the variables type (string)
         @param value the variables value (string)
         """
-        super(VariableDetailDialog, self).__init__()
+        super().__init__()
         self.setupUi(self)
         
         # set the different fields
--- a/eric6/Debugger/VariablesFilterDialog.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/VariablesFilterDialog.py	Sat May 01 14:27:20 2021 +0200
@@ -31,7 +31,7 @@
         @param name name of this dialog (string)
         @param modal flag to indicate a modal dialog (boolean)
         """
-        super(VariablesFilterDialog, self).__init__(parent)
+        super().__init__(parent)
         if name:
             self.setObjectName(name)
         self.setModal(modal)
--- a/eric6/Debugger/VariablesViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import ast
 import re
+import contextlib
 
 from PyQt5.QtCore import (
     Qt, QAbstractItemModel, QModelIndex, QCoreApplication,
@@ -28,7 +29,7 @@
 SORT_ROLE = Qt.ItemDataRole.UserRole
 
 
-class VariableItem(object):
+class VariableItem:
     """
     Class implementing the data structure for all variable items.
     """
@@ -145,11 +146,11 @@
         if dtype.startswith('class '):
             dtype = dtype[7:-1]
         # Qt related stuff?
-        elif (dtype.startswith(ConfigQtNames) and
-                dtype.endswith(ConfigKnownQtTypes)):
-            self.hasChildren = True
-            
-        elif dtype in ('instance', 'class'):
+        elif (
+            (dtype.startswith(ConfigQtNames) and
+             dtype.endswith(ConfigKnownQtTypes)) or
+            dtype in ('instance', 'class')
+        ):
             self.hasChildren = True
         
         # Special Qt types should not be expanded infinite
@@ -201,10 +202,8 @@
             
         elif dtype == 'str':
             if VariableItem.rx_nonprintable.search(dvalue) is None:
-                try:
+                with contextlib.suppress(Exception):
                     dvalue = ast.literal_eval(dvalue)
-                except Exception:       # secok
-                    pass
             dvalue = str(dvalue)
         
         self.value = dvalue
@@ -263,7 +262,7 @@
             variables
         @type bool
         """
-        super(VariablesModel, self).__init__()
+        super().__init__()
         self.treeView = treeView
         self.proxyModel = treeView.proxyModel
         
@@ -271,11 +270,7 @@
         self.openItems = []
         self.closedItems = []
         
-        if globalScope:
-            visibility = self.tr("Globals")
-        else:
-            visibility = self.tr("Locals")
-        
+        visibility = self.tr("Globals") if globalScope else self.tr("Locals")
         self.rootNode = VariableItem(None, visibility, self.tr("Type"),
                                      self.tr("Value"))
         
@@ -482,10 +477,8 @@
         @param pathlist full path to the variable
         @type list of str
         """
-        if parentIdx.isValid():
-            parent = parentIdx.internalPointer()
-        else:
-            parent = self.rootNode
+        parent = (parentIdx.internalPointer() if parentIdx.isValid()
+                  else self.rootNode)
         
         parent.newItems.clear()
         parent.changedItems.clear()
@@ -497,15 +490,18 @@
         
         if posPaths:
             for child in parent.children:
-                if child.hasChildren and child.nameWithId in posPaths:
-                    if child.currentCount >= 0:
-                        # Discard loaded elements and refresh if still expanded
-                        child.currentCount = -1
-                        child.populated = False
-                        row = parent.children.index(child)
-                        newParentIdx = self.index(row, 0, parentIdx)
-                        self.resetModifiedMarker(
-                            newParentIdx, pathlist + (child.nameWithId,))
+                if (
+                    child.hasChildren and
+                    child.nameWithId in posPaths and
+                    child.currentCount >= 0
+                ):
+                    # Discard loaded elements and refresh if still expanded
+                    child.currentCount = -1
+                    child.populated = False
+                    row = parent.children.index(child)
+                    newParentIdx = self.index(row, 0, parentIdx)
+                    self.resetModifiedMarker(
+                        newParentIdx, pathlist + (child.nameWithId,))
         
         self.closedItems = []
         
@@ -537,10 +533,7 @@
         @return number of rows
         @rtype int
         """
-        if parent.isValid():
-            node = parent.internalPointer()
-        else:
-            node = self.rootNode
+        node = parent.internalPointer() if parent.isValid() else self.rootNode
         
         return len(node.children)
     
@@ -588,10 +581,7 @@
         if not self.hasIndex(row, column, parent):
             return QModelIndex()
         
-        if not parent.isValid():
-            node = self.rootNode
-        else:
-            node = parent.internalPointer()
+        node = parent.internalPointer() if parent.isValid() else self.rootNode
         
         return self.createIndex(row, column, node.children[row])
     
@@ -645,14 +635,12 @@
                     if role == SORT_ROLE:
                         return node.sort
                     return node.name + node.indicator
-                elif column == 1:
-                    return node.valueShort
-                elif column == 2:
-                    return node.type
-                elif column == 3:
-                    return node.sort
                 else:
-                    return None
+                    return {
+                        1: node.valueShort,
+                        2: node.type,
+                        3: node.sort
+                    }.get(column)
             except AttributeError:
                 return ['None', '', '', ''][column]
         
@@ -723,16 +711,12 @@
         ):
             return None
         
-        if section == 0:
-            return self.rootNode.name
-        elif section == 1:
-            return self.rootNode.value
-        elif section == 2:
-            return self.rootNode.type
-        elif section == 3:
-            return self.rootNode.sort
-        
-        return None
+        return {
+            0: self.rootNode.name,
+            1: self.rootNode.value,
+            2: self.rootNode.type,
+            3: self.rootNode.sort
+        }.get(section)
     
     def __findPendingItem(self, parent=None, pathlist=()):
         """
@@ -865,7 +849,7 @@
         @param parent the parent model index
         @type QModelIndex
         """
-        super(VariablesProxyModel, self).__init__(parent)
+        super().__init__(parent)
         self.setSortRole(SORT_ROLE)
     
     def hasChildren(self, parent):
@@ -928,7 +912,7 @@
         @param parent the parent
         @type QWidget
         """
-        super(VariablesViewer, self).__init__(parent)
+        super().__init__(parent)
         
         self.__debugViewer = viewer
         self.__globalScope = globalScope
@@ -1046,7 +1030,7 @@
         @type int
         """
         self.varModel.getMore()
-        super(VariablesViewer, self).verticalScrollbarValueChanged(value)
+        super().verticalScrollbarValueChanged(value)
     
     def resizeEvent(self, event):
         """
@@ -1056,7 +1040,7 @@
         @type QResizeEvent
         """
         self.varModel.getMore()
-        super(VariablesViewer, self).resizeEvent(event)
+        super().resizeEvent(event)
     
     def __itemDoubleClicked(self, index):
         """
--- a/eric6/Debugger/WatchPointModel.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/WatchPointModel.py	Sat May 01 14:27:20 2021 +0200
@@ -27,7 +27,7 @@
         
         @param parent reference to the parent widget (QObject)
         """
-        super(WatchPointModel, self).__init__(parent)
+        super().__init__(parent)
         
         self.watchpoints = []
         self.header = [
@@ -77,21 +77,29 @@
         if not index.isValid():
             return None
         
-        if role == Qt.ItemDataRole.DisplayRole:
-            if index.column() in [0, 1, 4]:
-                return self.watchpoints[index.row()][index.column()]
+        if (
+            role == Qt.ItemDataRole.DisplayRole and
+            index.column() in [0, 1, 4]
+        ):
+            return self.watchpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.CheckStateRole:
-            if index.column() in [2, 3]:
-                return self.watchpoints[index.row()][index.column()]
+        if (
+            role == Qt.ItemDataRole.CheckStateRole and
+            index.column() in [2, 3]
+        ):
+            return self.watchpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.ToolTipRole:
-            if index.column() in [0, 1]:
-                return self.watchpoints[index.row()][index.column()]
+        if (
+            role == Qt.ItemDataRole.ToolTipRole and
+            index.column() in [0, 1]
+        ):
+            return self.watchpoints[index.row()][index.column()]
         
-        if role == Qt.ItemDataRole.TextAlignmentRole:
-            if index.column() < len(self.alignments):
-                return self.alignments[index.column()]
+        if (
+            role == Qt.ItemDataRole.TextAlignmentRole and
+            index.column() < len(self.alignments)
+        ):
+            return self.alignments[index.column()]
         
         return None
     
--- a/eric6/Debugger/WatchPointViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/WatchPointViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -33,7 +33,7 @@
         
         @param parent the parent (QWidget)
         """
-        super(WatchPointViewer, self).__init__(parent)
+        super().__init__(parent)
         self.setObjectName("WatchExpressionViewer")
         
         self.__model = None
@@ -65,7 +65,7 @@
         self.sortingModel = QSortFilterProxyModel()
         self.sortingModel.setDynamicSortFilter(True)
         self.sortingModel.setSourceModel(self.__model)
-        super(WatchPointViewer, self).setModel(self.sortingModel)
+        super().setModel(self.sortingModel)
         
         header = self.header()
         header.setSortIndicator(0, Qt.SortOrder.AscendingOrder)
@@ -126,14 +126,15 @@
         if not index.isValid():
             return
         
-        if selected:
-            flags = QItemSelectionModel.SelectionFlags(
+        flags = (
+            QItemSelectionModel.SelectionFlags(
                 QItemSelectionModel.SelectionFlag.ClearAndSelect |
                 QItemSelectionModel.SelectionFlag.Rows)
-        else:
-            flags = QItemSelectionModel.SelectionFlags(
+            if selected else
+            QItemSelectionModel.SelectionFlags(
                 QItemSelectionModel.SelectionFlag.Deselect |
                 QItemSelectionModel.SelectionFlag.Rows)
+        )
         self.selectionModel().select(index, flags)
         
     def __createPopupMenus(self):
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Help/source.qhp	Sat May 01 14:27:20 2021 +0200
@@ -306,6 +306,9 @@
               <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html">
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.html">
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html" />
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations.html" />
                 </section>
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.html">
@@ -367,6 +370,12 @@
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html" />
                   <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations.html" />
                 </section>
+                <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.html">
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html" />
+                  <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations.html" />
+                </section>
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.AstUtilities" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.AstUtilities.html" />
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog.html" />
                 <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html" />
@@ -1742,18 +1751,26 @@
       <keyword name="AddProjectDialog.getData" id="AddProjectDialog.getData" ref="eric6.MultiProject.AddProjectDialog.html#AddProjectDialog.getData" />
       <keyword name="AddProjectDialog.on_filenamePicker_textChanged" id="AddProjectDialog.on_filenamePicker_textChanged" ref="eric6.MultiProject.AddProjectDialog.html#AddProjectDialog.on_filenamePicker_textChanged" />
       <keyword name="AddProjectDialog.on_nameEdit_textChanged" id="AddProjectDialog.on_nameEdit_textChanged" ref="eric6.MultiProject.AddProjectDialog.html#AddProjectDialog.on_nameEdit_textChanged" />
+      <keyword name="AnnotationType" id="AnnotationType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html#AnnotationType" />
       <keyword name="Annotations (Package)" id="Annotations (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.html" />
       <keyword name="AnnotationsChecker" id="AnnotationsChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker" />
       <keyword name="AnnotationsChecker (Constructor)" id="AnnotationsChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__init__" />
       <keyword name="AnnotationsChecker (Module)" id="AnnotationsChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html" />
+      <keyword name="AnnotationsChecker.__argumentErrorClassifier" id="AnnotationsChecker.__argumentErrorClassifier" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__argumentErrorClassifier" />
       <keyword name="AnnotationsChecker.__checkAnnotationComplexity" id="AnnotationsChecker.__checkAnnotationComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__checkAnnotationComplexity" />
       <keyword name="AnnotationsChecker.__checkAnnotationsCoverage" id="AnnotationsChecker.__checkAnnotationsCoverage" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__checkAnnotationsCoverage" />
       <keyword name="AnnotationsChecker.__checkFunctionAnnotations" id="AnnotationsChecker.__checkFunctionAnnotations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__checkFunctionAnnotations" />
+      <keyword name="AnnotationsChecker.__classifyError" id="AnnotationsChecker.__classifyError" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__classifyError" />
       <keyword name="AnnotationsChecker.__error" id="AnnotationsChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__error" />
-      <keyword name="AnnotationsChecker.__generateTree" id="AnnotationsChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__generateTree" />
+      <keyword name="AnnotationsChecker.__getAnnotationComplexity" id="AnnotationsChecker.__getAnnotationComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__getAnnotationComplexity" />
+      <keyword name="AnnotationsChecker.__getAnnotationLength" id="AnnotationsChecker.__getAnnotationLength" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__getAnnotationLength" />
+      <keyword name="AnnotationsChecker.__hasTypeAnnotations" id="AnnotationsChecker.__hasTypeAnnotations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__hasTypeAnnotations" />
       <keyword name="AnnotationsChecker.__ignoreCode" id="AnnotationsChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__ignoreCode" />
-      <keyword name="AnnotationsChecker.__reportInvalidSyntax" id="AnnotationsChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__reportInvalidSyntax" />
+      <keyword name="AnnotationsChecker.__returnErrorClassifier" id="AnnotationsChecker.__returnErrorClassifier" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.__returnErrorClassifier" />
       <keyword name="AnnotationsChecker.run" id="AnnotationsChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#AnnotationsChecker.run" />
+      <keyword name="AnnotationsCheckerDefaults (Module)" id="AnnotationsCheckerDefaults (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults.html" />
+      <keyword name="AnnotationsEnums (Module)" id="AnnotationsEnums (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html" />
+      <keyword name="AnnotationsFunctionVisitor (Module)" id="AnnotationsFunctionVisitor (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html" />
       <keyword name="AppInfo (Module)" id="AppInfo (Module)" ref="eric6.Globals.AppInfo.html" />
       <keyword name="ApplicationDiagramBuilder" id="ApplicationDiagramBuilder" ref="eric6.Graphics.ApplicationDiagramBuilder.html#ApplicationDiagramBuilder" />
       <keyword name="ApplicationDiagramBuilder (Constructor)" id="ApplicationDiagramBuilder (Constructor)" ref="eric6.Graphics.ApplicationDiagramBuilder.html#ApplicationDiagramBuilder.__init__" />
@@ -1768,6 +1785,9 @@
       <keyword name="ApplicationPage (Constructor)" id="ApplicationPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.ApplicationPage.html#ApplicationPage.__init__" />
       <keyword name="ApplicationPage (Module)" id="ApplicationPage (Module)" ref="eric6.Preferences.ConfigurationPages.ApplicationPage.html" />
       <keyword name="ApplicationPage.save" id="ApplicationPage.save" ref="eric6.Preferences.ConfigurationPages.ApplicationPage.html#ApplicationPage.save" />
+      <keyword name="Argument" id="Argument" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Argument" />
+      <keyword name="Argument (Constructor)" id="Argument (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Argument.__init__" />
+      <keyword name="Argument.fromNode" id="Argument.fromNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Argument.fromNode" />
       <keyword name="ArgumentsError" id="ArgumentsError" ref="eric6.E5Gui.E5Action.html#ArgumentsError" />
       <keyword name="ArgumentsError (Constructor)" id="ArgumentsError (Constructor)" ref="eric6.E5Gui.E5Action.html#ArgumentsError.__init__" />
       <keyword name="ArgumentsError.__repr__" id="ArgumentsError.__repr__" ref="eric6.E5Gui.E5Action.html#ArgumentsError.__repr__" />
@@ -1790,6 +1810,8 @@
       <keyword name="AssociationItem.parseAssociationItemDataString" id="AssociationItem.parseAssociationItemDataString" ref="eric6.Graphics.AssociationItem.html#AssociationItem.parseAssociationItemDataString" />
       <keyword name="AssociationItem.unassociate" id="AssociationItem.unassociate" ref="eric6.Graphics.AssociationItem.html#AssociationItem.unassociate" />
       <keyword name="AssociationItem.widgetMoved" id="AssociationItem.widgetMoved" ref="eric6.Graphics.AssociationItem.html#AssociationItem.widgetMoved" />
+      <keyword name="AssociationPointRegion" id="AssociationPointRegion" ref="eric6.Graphics.AssociationItem.html#AssociationPointRegion" />
+      <keyword name="AssociationType" id="AssociationType" ref="eric6.Graphics.AssociationItem.html#AssociationType" />
       <keyword name="AstUtilities (Module)" id="AstUtilities (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.AstUtilities.html" />
       <keyword name="AsyncFile" id="AsyncFile" ref="eric6.DebugClients.Python.AsyncFile.html#AsyncFile" />
       <keyword name="AsyncFile (Constructor)" id="AsyncFile (Constructor)" ref="eric6.DebugClients.Python.AsyncFile.html#AsyncFile.__init__" />
@@ -2235,6 +2257,7 @@
       <keyword name="BrowserFileItem.isCythonFile" id="BrowserFileItem.isCythonFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isCythonFile" />
       <keyword name="BrowserFileItem.isDFile" id="BrowserFileItem.isDFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isDFile" />
       <keyword name="BrowserFileItem.isDesignerFile" id="BrowserFileItem.isDesignerFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isDesignerFile" />
+      <keyword name="BrowserFileItem.isEricGraphicsFile" id="BrowserFileItem.isEricGraphicsFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isEricGraphicsFile" />
       <keyword name="BrowserFileItem.isIdlFile" id="BrowserFileItem.isIdlFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isIdlFile" />
       <keyword name="BrowserFileItem.isJavaScriptFile" id="BrowserFileItem.isJavaScriptFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isJavaScriptFile" />
       <keyword name="BrowserFileItem.isLinguistFile" id="BrowserFileItem.isLinguistFile" ref="eric6.UI.BrowserModel.html#BrowserFileItem.isLinguistFile" />
@@ -2483,6 +2506,7 @@
       <keyword name="Class.getMethod" id="Class.getMethod" ref="eric6.Utilities.ModuleParser.html#Class.getMethod" />
       <keyword name="Class.setEndLine" id="Class.setEndLine" ref="eric6.Utilities.ModuleParser.html#Class.setEndLine" />
       <keyword name="ClassBrowsers (Package)" id="ClassBrowsers (Package)" ref="index-eric6.Utilities.ClassBrowsers.html" />
+      <keyword name="ClassDecoratorType" id="ClassDecoratorType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html#ClassDecoratorType" />
       <keyword name="ClassItem" id="ClassItem" ref="eric6.Graphics.ClassItem.html#ClassItem" />
       <keyword name="ClassItem (Constructor)" id="ClassItem (Constructor)" ref="eric6.Graphics.ClassItem.html#ClassItem.__init__" />
       <keyword name="ClassItem (Module)" id="ClassItem (Module)" ref="eric6.Graphics.ClassItem.html" />
@@ -2595,6 +2619,7 @@
       <keyword name="CodeStyleCheckerDialog.__createErrorItem" id="CodeStyleCheckerDialog.__createErrorItem" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__createErrorItem" />
       <keyword name="CodeStyleCheckerDialog.__createFileErrorItem" id="CodeStyleCheckerDialog.__createFileErrorItem" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__createFileErrorItem" />
       <keyword name="CodeStyleCheckerDialog.__createResultItem" id="CodeStyleCheckerDialog.__createResultItem" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__createResultItem" />
+      <keyword name="CodeStyleCheckerDialog.__defaultStatistics" id="CodeStyleCheckerDialog.__defaultStatistics" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__defaultStatistics" />
       <keyword name="CodeStyleCheckerDialog.__finish" id="CodeStyleCheckerDialog.__finish" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__finish" />
       <keyword name="CodeStyleCheckerDialog.__getBuiltinsIgnoreList" id="CodeStyleCheckerDialog.__getBuiltinsIgnoreList" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getBuiltinsIgnoreList" />
       <keyword name="CodeStyleCheckerDialog.__getCategories" id="CodeStyleCheckerDialog.__getCategories" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getCategories" />
@@ -2628,6 +2653,7 @@
       <keyword name="CodeStyleCheckerDialog.on_deleteBuiltinButton_clicked" id="CodeStyleCheckerDialog.on_deleteBuiltinButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_deleteBuiltinButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_deleteWhitelistButton_clicked" id="CodeStyleCheckerDialog.on_deleteWhitelistButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_deleteWhitelistButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_excludeMessagesSelectButton_clicked" id="CodeStyleCheckerDialog.on_excludeMessagesSelectButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_excludeMessagesSelectButton_clicked" />
+      <keyword name="CodeStyleCheckerDialog.on_filterButton_clicked" id="CodeStyleCheckerDialog.on_filterButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_filterButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_fixButton_clicked" id="CodeStyleCheckerDialog.on_fixButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_fixButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_fixIssuesSelectButton_clicked" id="CodeStyleCheckerDialog.on_fixIssuesSelectButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_fixIssuesSelectButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_includeMessagesSelectButton_clicked" id="CodeStyleCheckerDialog.on_includeMessagesSelectButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_includeMessagesSelectButton_clicked" />
@@ -2831,7 +2857,6 @@
       <keyword name="ComplexityChecker.__checkMcCabeComplexity" id="ComplexityChecker.__checkMcCabeComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.html#ComplexityChecker.__checkMcCabeComplexity" />
       <keyword name="ComplexityChecker.__error" id="ComplexityChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.html#ComplexityChecker.__error" />
       <keyword name="ComplexityChecker.__ignoreCode" id="ComplexityChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.html#ComplexityChecker.__ignoreCode" />
-      <keyword name="ComplexityChecker.__reportInvalidSyntax" id="ComplexityChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.html#ComplexityChecker.__reportInvalidSyntax" />
       <keyword name="ComplexityChecker.run" id="ComplexityChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.html#ComplexityChecker.run" />
       <keyword name="Conda" id="Conda" ref="eric6.CondaInterface.Conda.html#Conda" />
       <keyword name="Conda (Constructor)" id="Conda (Constructor)" ref="eric6.CondaInterface.Conda.html#Conda.__init__" />
@@ -2957,6 +2982,7 @@
       <keyword name="ConfigurationDialog.getExpandedEntries" id="ConfigurationDialog.getExpandedEntries" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationDialog.getExpandedEntries" />
       <keyword name="ConfigurationDialog.setPreferences" id="ConfigurationDialog.setPreferences" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationDialog.setPreferences" />
       <keyword name="ConfigurationDialog.showConfigurationPageByName" id="ConfigurationDialog.showConfigurationPageByName" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationDialog.showConfigurationPageByName" />
+      <keyword name="ConfigurationMode" id="ConfigurationMode" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationMode" />
       <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html" />
       <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsGit.ConfigurationPage.html" />
       <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.html" />
@@ -3793,7 +3819,6 @@
       <keyword name="DocStyleChecker.__parseModuleDocstring" id="DocStyleChecker.__parseModuleDocstring" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__parseModuleDocstring" />
       <keyword name="DocStyleChecker.__parseTopLevel" id="DocStyleChecker.__parseTopLevel" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__parseTopLevel" />
       <keyword name="DocStyleChecker.__readline" id="DocStyleChecker.__readline" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__readline" />
-      <keyword name="DocStyleChecker.__reportInvalidSyntax" id="DocStyleChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__reportInvalidSyntax" />
       <keyword name="DocStyleChecker.__resetReadline" id="DocStyleChecker.__resetReadline" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__resetReadline" />
       <keyword name="DocStyleChecker.__skipIndentedBlock" id="DocStyleChecker.__skipIndentedBlock" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.__skipIndentedBlock" />
       <keyword name="DocStyleChecker.run" id="DocStyleChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html#DocStyleChecker.run" />
@@ -3990,6 +4015,7 @@
       <keyword name="E5ArrowItem.setEndPoint" id="E5ArrowItem.setEndPoint" ref="eric6.E5Graphics.E5ArrowItem.html#E5ArrowItem.setEndPoint" />
       <keyword name="E5ArrowItem.setPoints" id="E5ArrowItem.setPoints" ref="eric6.E5Graphics.E5ArrowItem.html#E5ArrowItem.setPoints" />
       <keyword name="E5ArrowItem.setStartPoint" id="E5ArrowItem.setStartPoint" ref="eric6.E5Graphics.E5ArrowItem.html#E5ArrowItem.setStartPoint" />
+      <keyword name="E5ArrowType" id="E5ArrowType" ref="eric6.E5Graphics.E5ArrowItem.html#E5ArrowType" />
       <keyword name="E5Cache" id="E5Cache" ref="eric6.E5Utilities.E5Cache.html#E5Cache" />
       <keyword name="E5Cache (Constructor)" id="E5Cache (Constructor)" ref="eric6.E5Utilities.E5Cache.html#E5Cache.__init__" />
       <keyword name="E5Cache (Module)" id="E5Cache (Module)" ref="eric6.E5Utilities.E5Cache.html" />
@@ -4153,6 +4179,7 @@
       <keyword name="E5Led.shape" id="E5Led.shape" ref="eric6.E5Gui.E5Led.html#E5Led.shape" />
       <keyword name="E5Led.sizeHint" id="E5Led.sizeHint" ref="eric6.E5Gui.E5Led.html#E5Led.sizeHint" />
       <keyword name="E5Led.toggle" id="E5Led.toggle" ref="eric6.E5Gui.E5Led.html#E5Led.toggle" />
+      <keyword name="E5LedType" id="E5LedType" ref="eric6.E5Gui.E5Led.html#E5LedType" />
       <keyword name="E5LineEdit" id="E5LineEdit" ref="eric6.E5Gui.E5LineEdit.html#E5LineEdit" />
       <keyword name="E5LineEdit (Constructor)" id="E5LineEdit (Constructor)" ref="eric6.E5Gui.E5LineEdit.html#E5LineEdit.__init__" />
       <keyword name="E5LineEdit (Module)" id="E5LineEdit (Module)" ref="eric6.E5Gui.E5LineEdit.html" />
@@ -4175,6 +4202,7 @@
       <keyword name="E5LineEditButton.paintEvent" id="E5LineEditButton.paintEvent" ref="eric6.E5Gui.E5LineEditButton.html#E5LineEditButton.paintEvent" />
       <keyword name="E5LineEditButton.setIcon" id="E5LineEditButton.setIcon" ref="eric6.E5Gui.E5LineEditButton.html#E5LineEditButton.setIcon" />
       <keyword name="E5LineEditButton.setMenu" id="E5LineEditButton.setMenu" ref="eric6.E5Gui.E5LineEditButton.html#E5LineEditButton.setMenu" />
+      <keyword name="E5LineEditSide" id="E5LineEditSide" ref="eric6.E5Gui.E5LineEdit.html#E5LineEditSide" />
       <keyword name="E5LineEditSideWidget" id="E5LineEditSideWidget" ref="eric6.E5Gui.E5LineEdit.html#E5LineEditSideWidget" />
       <keyword name="E5LineEditSideWidget (Constructor)" id="E5LineEditSideWidget (Constructor)" ref="eric6.E5Gui.E5LineEdit.html#E5LineEditSideWidget.__init__" />
       <keyword name="E5LineEditSideWidget.event" id="E5LineEditSideWidget.event" ref="eric6.E5Gui.E5LineEdit.html#E5LineEditSideWidget.event" />
@@ -4345,6 +4373,7 @@
       <keyword name="E5PassivePopup.show" id="E5PassivePopup.show" ref="eric6.E5Gui.E5PassivePopup.html#E5PassivePopup.show" />
       <keyword name="E5PassivePopup.timeout" id="E5PassivePopup.timeout" ref="eric6.E5Gui.E5PassivePopup.html#E5PassivePopup.timeout" />
       <keyword name="E5PassivePopup.view" id="E5PassivePopup.view" ref="eric6.E5Gui.E5PassivePopup.html#E5PassivePopup.view" />
+      <keyword name="E5PassivePopupStyle" id="E5PassivePopupStyle" ref="eric6.E5Gui.E5PassivePopup.html#E5PassivePopupStyle" />
       <keyword name="E5PasswordMeter" id="E5PasswordMeter" ref="eric6.E5Gui.E5PasswordMeter.html#E5PasswordMeter" />
       <keyword name="E5PasswordMeter (Constructor)" id="E5PasswordMeter (Constructor)" ref="eric6.E5Gui.E5PasswordMeter.html#E5PasswordMeter.__init__" />
       <keyword name="E5PasswordMeter (Module)" id="E5PasswordMeter (Module)" ref="eric6.E5Gui.E5PasswordMeter.html" />
@@ -4481,6 +4510,7 @@
       <keyword name="E5SideBar.tabToolTip" id="E5SideBar.tabToolTip" ref="eric6.E5Gui.E5SideBar.html#E5SideBar.tabToolTip" />
       <keyword name="E5SideBar.tabWhatsThis" id="E5SideBar.tabWhatsThis" ref="eric6.E5Gui.E5SideBar.html#E5SideBar.tabWhatsThis" />
       <keyword name="E5SideBar.widget" id="E5SideBar.widget" ref="eric6.E5Gui.E5SideBar.html#E5SideBar.widget" />
+      <keyword name="E5SideBarSide" id="E5SideBarSide" ref="eric6.E5Gui.E5SideBar.html#E5SideBarSide" />
       <keyword name="E5SimpleHelpDialog" id="E5SimpleHelpDialog" ref="eric6.E5Gui.E5SimpleHelpDialog.html#E5SimpleHelpDialog" />
       <keyword name="E5SimpleHelpDialog (Constructor)" id="E5SimpleHelpDialog (Constructor)" ref="eric6.E5Gui.E5SimpleHelpDialog.html#E5SimpleHelpDialog.__init__" />
       <keyword name="E5SimpleHelpDialog (Module)" id="E5SimpleHelpDialog (Module)" ref="eric6.E5Gui.E5SimpleHelpDialog.html" />
@@ -4562,6 +4592,7 @@
       <keyword name="E5SslErrorHandler.sslErrors" id="E5SslErrorHandler.sslErrors" ref="eric6.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrors" />
       <keyword name="E5SslErrorHandler.sslErrorsReply" id="E5SslErrorHandler.sslErrorsReply" ref="eric6.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrorsReply" />
       <keyword name="E5SslErrorHandler.sslErrorsReplySlot" id="E5SslErrorHandler.sslErrorsReplySlot" ref="eric6.E5Network.E5SslErrorHandler.html#E5SslErrorHandler.sslErrorsReplySlot" />
+      <keyword name="E5SslErrorState" id="E5SslErrorState" ref="eric6.E5Network.E5SslErrorHandler.html#E5SslErrorState" />
       <keyword name="E5SslInfoWidget" id="E5SslInfoWidget" ref="eric6.E5Network.E5SslInfoWidget.html#E5SslInfoWidget" />
       <keyword name="E5SslInfoWidget (Constructor)" id="E5SslInfoWidget (Constructor)" ref="eric6.E5Network.E5SslInfoWidget.html#E5SslInfoWidget.__init__" />
       <keyword name="E5SslInfoWidget (Module)" id="E5SslInfoWidget (Module)" ref="eric6.E5Network.E5SslInfoWidget.html" />
@@ -4618,6 +4649,7 @@
       <keyword name="E5TextEditSearchWidget.on_findPrevButton_clicked" id="E5TextEditSearchWidget.on_findPrevButton_clicked" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.on_findPrevButton_clicked" />
       <keyword name="E5TextEditSearchWidget.on_findtextCombo_editTextChanged" id="E5TextEditSearchWidget.on_findtextCombo_editTextChanged" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.on_findtextCombo_editTextChanged" />
       <keyword name="E5TextEditSearchWidget.setWidthForHeight" id="E5TextEditSearchWidget.setWidthForHeight" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.setWidthForHeight" />
+      <keyword name="E5TextEditType" id="E5TextEditType" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditType" />
       <keyword name="E5TextInputDialog" id="E5TextInputDialog" ref="eric6.E5Gui.E5TextInputDialog.html#E5TextInputDialog" />
       <keyword name="E5TextInputDialog (Constructor)" id="E5TextInputDialog (Constructor)" ref="eric6.E5Gui.E5TextInputDialog.html#E5TextInputDialog.__init__" />
       <keyword name="E5TextInputDialog (Module)" id="E5TextInputDialog (Module)" ref="eric6.E5Gui.E5TextInputDialog.html" />
@@ -4733,6 +4765,7 @@
       <keyword name="E5ToolButton.setToolbarButtonLook" id="E5ToolButton.setToolbarButtonLook" ref="eric6.E5Gui.E5ToolButton.html#E5ToolButton.setToolbarButtonLook" />
       <keyword name="E5ToolButton.showMenuInside" id="E5ToolButton.showMenuInside" ref="eric6.E5Gui.E5ToolButton.html#E5ToolButton.showMenuInside" />
       <keyword name="E5ToolButton.toolbarButtonLook" id="E5ToolButton.toolbarButtonLook" ref="eric6.E5Gui.E5ToolButton.html#E5ToolButton.toolbarButtonLook" />
+      <keyword name="E5ToolButtonOptions" id="E5ToolButtonOptions" ref="eric6.E5Gui.E5ToolButton.html#E5ToolButtonOptions" />
       <keyword name="E5TreeSortFilterProxyModel" id="E5TreeSortFilterProxyModel" ref="eric6.E5Gui.E5TreeSortFilterProxyModel.html#E5TreeSortFilterProxyModel" />
       <keyword name="E5TreeSortFilterProxyModel (Constructor)" id="E5TreeSortFilterProxyModel (Constructor)" ref="eric6.E5Gui.E5TreeSortFilterProxyModel.html#E5TreeSortFilterProxyModel.__init__" />
       <keyword name="E5TreeSortFilterProxyModel (Module)" id="E5TreeSortFilterProxyModel (Module)" ref="eric6.E5Gui.E5TreeSortFilterProxyModel.html" />
@@ -4761,6 +4794,7 @@
       <keyword name="E5TreeWidget.mousePressEvent" id="E5TreeWidget.mousePressEvent" ref="eric6.E5Gui.E5TreeWidget.html#E5TreeWidget.mousePressEvent" />
       <keyword name="E5TreeWidget.prependToParentItem" id="E5TreeWidget.prependToParentItem" ref="eric6.E5Gui.E5TreeWidget.html#E5TreeWidget.prependToParentItem" />
       <keyword name="E5TreeWidget.setDefaultItemShowMode" id="E5TreeWidget.setDefaultItemShowMode" ref="eric6.E5Gui.E5TreeWidget.html#E5TreeWidget.setDefaultItemShowMode" />
+      <keyword name="E5TreeWidgetItemsState" id="E5TreeWidgetItemsState" ref="eric6.E5Gui.E5TreeWidget.html#E5TreeWidgetItemsState" />
       <keyword name="E5UrlInfo" id="E5UrlInfo" ref="eric6.E5Network.E5UrlInfo.html#E5UrlInfo" />
       <keyword name="E5UrlInfo (Constructor)" id="E5UrlInfo (Constructor)" ref="eric6.E5Network.E5UrlInfo.html#E5UrlInfo.__init__" />
       <keyword name="E5UrlInfo (Module)" id="E5UrlInfo (Module)" ref="eric6.E5Network.E5UrlInfo.html" />
@@ -4790,6 +4824,7 @@
       <keyword name="E5UrlInfo.setSymLink" id="E5UrlInfo.setSymLink" ref="eric6.E5Network.E5UrlInfo.html#E5UrlInfo.setSymLink" />
       <keyword name="E5UrlInfo.setWritable" id="E5UrlInfo.setWritable" ref="eric6.E5Network.E5UrlInfo.html#E5UrlInfo.setWritable" />
       <keyword name="E5UrlInfo.size" id="E5UrlInfo.size" ref="eric6.E5Network.E5UrlInfo.html#E5UrlInfo.size" />
+      <keyword name="E5UrlPermission" id="E5UrlPermission" ref="eric6.E5Network.E5UrlInfo.html#E5UrlPermission" />
       <keyword name="E5Utilities (Package)" id="E5Utilities (Package)" ref="index-eric6.E5Utilities.html" />
       <keyword name="E5VerticalToolBox" id="E5VerticalToolBox" ref="eric6.E5Gui.E5ToolBox.html#E5VerticalToolBox" />
       <keyword name="E5VerticalToolBox (Constructor)" id="E5VerticalToolBox (Constructor)" ref="eric6.E5Gui.E5ToolBox.html#E5VerticalToolBox.__init__" />
@@ -5322,6 +5357,7 @@
       <keyword name="EditorFilePage.on_fileFiltersList_currentItemChanged" id="EditorFilePage.on_fileFiltersList_currentItemChanged" ref="eric6.Preferences.ConfigurationPages.EditorFilePage.html#EditorFilePage.on_fileFiltersList_currentItemChanged" />
       <keyword name="EditorFilePage.on_openFiltersButton_toggled" id="EditorFilePage.on_openFiltersButton_toggled" ref="eric6.Preferences.ConfigurationPages.EditorFilePage.html#EditorFilePage.on_openFiltersButton_toggled" />
       <keyword name="EditorFilePage.on_previewMarkdownPyMdownInstallPushButton_clicked" id="EditorFilePage.on_previewMarkdownPyMdownInstallPushButton_clicked" ref="eric6.Preferences.ConfigurationPages.EditorFilePage.html#EditorFilePage.on_previewMarkdownPyMdownInstallPushButton_clicked" />
+      <keyword name="EditorFilePage.polishPage" id="EditorFilePage.polishPage" ref="eric6.Preferences.ConfigurationPages.EditorFilePage.html#EditorFilePage.polishPage" />
       <keyword name="EditorFilePage.save" id="EditorFilePage.save" ref="eric6.Preferences.ConfigurationPages.EditorFilePage.html#EditorFilePage.save" />
       <keyword name="EditorGeneralPage" id="EditorGeneralPage" ref="eric6.Preferences.ConfigurationPages.EditorGeneralPage.html#EditorGeneralPage" />
       <keyword name="EditorGeneralPage (Constructor)" id="EditorGeneralPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.EditorGeneralPage.html#EditorGeneralPage.__init__" />
@@ -5954,30 +5990,41 @@
       <keyword name="FtpSyncHandler.syncSpeedDial" id="FtpSyncHandler.syncSpeedDial" ref="eric6.WebBrowser.Sync.FtpSyncHandler.html#FtpSyncHandler.syncSpeedDial" />
       <keyword name="FtpSyncHandler.syncUserAgents" id="FtpSyncHandler.syncUserAgents" ref="eric6.WebBrowser.Sync.FtpSyncHandler.html#FtpSyncHandler.syncUserAgents" />
       <keyword name="FtpUtilities (Module)" id="FtpUtilities (Module)" ref="eric6.Utilities.FtpUtilities.html" />
+      <keyword name="Function" id="Function" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ClassBrowsers.idlclbr.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ClassBrowsers.jsclbr.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ClassBrowsers.pyclbr.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ClassBrowsers.rbclbr.html#Function" />
       <keyword name="Function" id="Function" ref="eric6.Utilities.ModuleParser.html#Function" />
+      <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ClassBrowsers.idlclbr.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ClassBrowsers.jsclbr.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ClassBrowsers.pyclbr.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ClassBrowsers.rbclbr.html#Function.__init__" />
       <keyword name="Function (Constructor)" id="Function (Constructor)" ref="eric6.Utilities.ModuleParser.html#Function.__init__" />
+      <keyword name="Function.__decoratorChecker" id="Function.__decoratorChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.__decoratorChecker" />
+      <keyword name="Function._maybeInjectClassArgument" id="Function._maybeInjectClassArgument" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function._maybeInjectClassArgument" />
+      <keyword name="Function._singleLineColonSeeker" id="Function._singleLineColonSeeker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function._singleLineColonSeeker" />
       <keyword name="Function.addDescription" id="Function.addDescription" ref="eric6.Utilities.ModuleParser.html#Function.addDescription" />
+      <keyword name="Function.colonSeeker" id="Function.colonSeeker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.colonSeeker" />
+      <keyword name="Function.fromNode" id="Function.fromNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.fromNode" />
+      <keyword name="Function.getAnnotatedArguments" id="Function.getAnnotatedArguments" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.getAnnotatedArguments" />
+      <keyword name="Function.getClassDecoratorType" id="Function.getClassDecoratorType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.getClassDecoratorType" />
+      <keyword name="Function.getFunctionType" id="Function.getFunctionType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.getFunctionType" />
+      <keyword name="Function.getMissedAnnotations" id="Function.getMissedAnnotations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.getMissedAnnotations" />
+      <keyword name="Function.hasDecorator" id="Function.hasDecorator" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.hasDecorator" />
+      <keyword name="Function.isDynamicallyTyped" id="Function.isDynamicallyTyped" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.isDynamicallyTyped" />
+      <keyword name="Function.isFullyAnnotated" id="Function.isFullyAnnotated" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.isFullyAnnotated" />
       <keyword name="Function.setEndLine" id="Function.setEndLine" ref="eric6.Utilities.ModuleParser.html#Function.setEndLine" />
+      <keyword name="Function.tryTypeComment" id="Function.tryTypeComment" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#Function.tryTypeComment" />
       <keyword name="FunctionInfo" id="FunctionInfo" ref="eric6.QScintilla.DocstringGenerator.BaseDocstringGenerator.html#FunctionInfo" />
       <keyword name="FunctionInfo (Constructor)" id="FunctionInfo (Constructor)" ref="eric6.QScintilla.DocstringGenerator.BaseDocstringGenerator.html#FunctionInfo.__init__" />
-      <keyword name="FunctionVisitor" id="FunctionVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor" />
-      <keyword name="FunctionVisitor (Constructor)" id="FunctionVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.__init__" />
-      <keyword name="FunctionVisitor.__checkFunctionNode" id="FunctionVisitor.__checkFunctionNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.__checkFunctionNode" />
-      <keyword name="FunctionVisitor.__classifyArgumentError" id="FunctionVisitor.__classifyArgumentError" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.__classifyArgumentError" />
-      <keyword name="FunctionVisitor.__classifyReturnError" id="FunctionVisitor.__classifyReturnError" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.__classifyReturnError" />
-      <keyword name="FunctionVisitor.visit_AsyncFunctionDef" id="FunctionVisitor.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_AsyncFunctionDef" />
-      <keyword name="FunctionVisitor.visit_ClassDef" id="FunctionVisitor.visit_ClassDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_ClassDef" />
-      <keyword name="FunctionVisitor.visit_FunctionDef" id="FunctionVisitor.visit_FunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_FunctionDef" />
+      <keyword name="FunctionType" id="FunctionType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html#FunctionType" />
+      <keyword name="FunctionVisitor" id="FunctionVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#FunctionVisitor" />
+      <keyword name="FunctionVisitor (Constructor)" id="FunctionVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#FunctionVisitor.__init__" />
+      <keyword name="FunctionVisitor.switchContext" id="FunctionVisitor.switchContext" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#FunctionVisitor.switchContext" />
       <keyword name="GenericMicroPythonDevice" id="GenericMicroPythonDevice" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice" />
       <keyword name="GenericMicroPythonDevice (Constructor)" id="GenericMicroPythonDevice (Constructor)" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.__init__" />
       <keyword name="GenericMicroPythonDevice.__deviceVolumeMounted" id="GenericMicroPythonDevice.__deviceVolumeMounted" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.__deviceVolumeMounted" />
@@ -10135,11 +10182,9 @@
       <keyword name="MiscellaneousChecker.__checkTuple" id="MiscellaneousChecker.__checkTuple" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__checkTuple" />
       <keyword name="MiscellaneousChecker.__dictShouldBeChecked" id="MiscellaneousChecker.__dictShouldBeChecked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__dictShouldBeChecked" />
       <keyword name="MiscellaneousChecker.__error" id="MiscellaneousChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__error" />
-      <keyword name="MiscellaneousChecker.__generateTree" id="MiscellaneousChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__generateTree" />
       <keyword name="MiscellaneousChecker.__getCoding" id="MiscellaneousChecker.__getCoding" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__getCoding" />
       <keyword name="MiscellaneousChecker.__getFields" id="MiscellaneousChecker.__getFields" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__getFields" />
       <keyword name="MiscellaneousChecker.__ignoreCode" id="MiscellaneousChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__ignoreCode" />
-      <keyword name="MiscellaneousChecker.__reportInvalidSyntax" id="MiscellaneousChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.__reportInvalidSyntax" />
       <keyword name="MiscellaneousChecker.run" id="MiscellaneousChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#MiscellaneousChecker.run" />
       <keyword name="MiscellaneousDefaults (Module)" id="MiscellaneousDefaults (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousDefaults.html" />
       <keyword name="Module" id="Module" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#Module" />
@@ -10793,9 +10838,7 @@
       <keyword name="PathlibChecker (Module)" id="PathlibChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html" />
       <keyword name="PathlibChecker.__checkForReplacement" id="PathlibChecker.__checkForReplacement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__checkForReplacement" />
       <keyword name="PathlibChecker.__error" id="PathlibChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__error" />
-      <keyword name="PathlibChecker.__generateTree" id="PathlibChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__generateTree" />
       <keyword name="PathlibChecker.__ignoreCode" id="PathlibChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__ignoreCode" />
-      <keyword name="PathlibChecker.__reportInvalidSyntax" id="PathlibChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__reportInvalidSyntax" />
       <keyword name="PathlibChecker.run" id="PathlibChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.run" />
       <keyword name="PathlibVisitor" id="PathlibVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor" />
       <keyword name="PathlibVisitor (Constructor)" id="PathlibVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.__init__" />
@@ -12675,7 +12718,9 @@
       <keyword name="RestructuredTextProvider.line" id="RestructuredTextProvider.line" ref="eric6.QScintilla.MarkupProviders.RestructuredTextProvider.html#RestructuredTextProvider.line" />
       <keyword name="RestructuredTextProvider.numberedList" id="RestructuredTextProvider.numberedList" ref="eric6.QScintilla.MarkupProviders.RestructuredTextProvider.html#RestructuredTextProvider.numberedList" />
       <keyword name="RestructuredTextProvider.quote" id="RestructuredTextProvider.quote" ref="eric6.QScintilla.MarkupProviders.RestructuredTextProvider.html#RestructuredTextProvider.quote" />
+      <keyword name="ReturnVisitor" id="ReturnVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#ReturnVisitor" />
       <keyword name="ReturnVisitor" id="ReturnVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor" />
+      <keyword name="ReturnVisitor (Constructor)" id="ReturnVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#ReturnVisitor.__init__" />
       <keyword name="ReturnVisitor (Constructor)" id="ReturnVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.__init__" />
       <keyword name="ReturnVisitor.__checkFunction" id="ReturnVisitor.__checkFunction" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.__checkFunction" />
       <keyword name="ReturnVisitor.__checkImplicitReturn" id="ReturnVisitor.__checkImplicitReturn" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.__checkImplicitReturn" />
@@ -12690,14 +12735,17 @@
       <keyword name="ReturnVisitor.__visitLoop" id="ReturnVisitor.__visitLoop" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.__visitLoop" />
       <keyword name="ReturnVisitor.__visitWithStack" id="ReturnVisitor.__visitWithStack" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.__visitWithStack" />
       <keyword name="ReturnVisitor.assigns" id="ReturnVisitor.assigns" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.assigns" />
+      <keyword name="ReturnVisitor.hasOnlyNoneReturns" id="ReturnVisitor.hasOnlyNoneReturns" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#ReturnVisitor.hasOnlyNoneReturns" />
       <keyword name="ReturnVisitor.refs" id="ReturnVisitor.refs" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.refs" />
       <keyword name="ReturnVisitor.returns" id="ReturnVisitor.returns" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.returns" />
+      <keyword name="ReturnVisitor.switchContext" id="ReturnVisitor.switchContext" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#ReturnVisitor.switchContext" />
       <keyword name="ReturnVisitor.visit_Assign" id="ReturnVisitor.visit_Assign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_Assign" />
       <keyword name="ReturnVisitor.visit_AsyncFor" id="ReturnVisitor.visit_AsyncFor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_AsyncFor" />
       <keyword name="ReturnVisitor.visit_AsyncFunctionDef" id="ReturnVisitor.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_AsyncFunctionDef" />
       <keyword name="ReturnVisitor.visit_For" id="ReturnVisitor.visit_For" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_For" />
       <keyword name="ReturnVisitor.visit_FunctionDef" id="ReturnVisitor.visit_FunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_FunctionDef" />
       <keyword name="ReturnVisitor.visit_Name" id="ReturnVisitor.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_Name" />
+      <keyword name="ReturnVisitor.visit_Return" id="ReturnVisitor.visit_Return" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html#ReturnVisitor.visit_Return" />
       <keyword name="ReturnVisitor.visit_Return" id="ReturnVisitor.visit_Return" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_Return" />
       <keyword name="ReturnVisitor.visit_While" id="ReturnVisitor.visit_While" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#ReturnVisitor.visit_While" />
       <keyword name="SafariImporter" id="SafariImporter" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter" />
@@ -12907,9 +12955,7 @@
       <keyword name="SecurityChecker" id="SecurityChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker" />
       <keyword name="SecurityChecker (Constructor)" id="SecurityChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.__init__" />
       <keyword name="SecurityChecker (Module)" id="SecurityChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html" />
-      <keyword name="SecurityChecker.__generateTree" id="SecurityChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.__generateTree" />
       <keyword name="SecurityChecker.__ignoreCode" id="SecurityChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.__ignoreCode" />
-      <keyword name="SecurityChecker.__reportInvalidSyntax" id="SecurityChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.__reportInvalidSyntax" />
       <keyword name="SecurityChecker.getConfig" id="SecurityChecker.getConfig" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.getConfig" />
       <keyword name="SecurityChecker.reportError" id="SecurityChecker.reportError" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.reportError" />
       <keyword name="SecurityChecker.run" id="SecurityChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityChecker.html#SecurityChecker.run" />
@@ -13206,6 +13252,7 @@
       <keyword name="Shell.loadHistory" id="Shell.loadHistory" ref="eric6.QScintilla.Shell.html#Shell.loadHistory" />
       <keyword name="Shell.mousePressEvent" id="Shell.mousePressEvent" ref="eric6.QScintilla.Shell.html#Shell.mousePressEvent" />
       <keyword name="Shell.paste" id="Shell.paste" ref="eric6.QScintilla.Shell.html#Shell.paste" />
+      <keyword name="Shell.registerDebuggerIdMethod" id="Shell.registerDebuggerIdMethod" ref="eric6.QScintilla.Shell.html#Shell.registerDebuggerIdMethod" />
       <keyword name="Shell.reloadHistory" id="Shell.reloadHistory" ref="eric6.QScintilla.Shell.html#Shell.reloadHistory" />
       <keyword name="Shell.saveHistory" id="Shell.saveHistory" ref="eric6.QScintilla.Shell.html#Shell.saveHistory" />
       <keyword name="Shell.searchNext" id="Shell.searchNext" ref="eric6.QScintilla.Shell.html#Shell.searchNext" />
@@ -13241,6 +13288,7 @@
       <keyword name="ShellWindow (Module)" id="ShellWindow (Module)" ref="eric6.QScintilla.ShellWindow.html" />
       <keyword name="ShellWindow.__about" id="ShellWindow.__about" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__about" />
       <keyword name="ShellWindow.__aboutQt" id="ShellWindow.__aboutQt" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__aboutQt" />
+      <keyword name="ShellWindow.__clientDebuggerId" id="ShellWindow.__clientDebuggerId" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__clientDebuggerId" />
       <keyword name="ShellWindow.__createActions" id="ShellWindow.__createActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createActions" />
       <keyword name="ShellWindow.__createEditActions" id="ShellWindow.__createEditActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createEditActions" />
       <keyword name="ShellWindow.__createFileActions" id="ShellWindow.__createFileActions" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.__createFileActions" />
@@ -13270,6 +13318,7 @@
       <keyword name="ShellWindow.activeWindow" id="ShellWindow.activeWindow" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.activeWindow" />
       <keyword name="ShellWindow.closeEvent" id="ShellWindow.closeEvent" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.closeEvent" />
       <keyword name="ShellWindow.getAPIsManager" id="ShellWindow.getAPIsManager" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.getAPIsManager" />
+      <keyword name="ShellWindow.getDebuggerId" id="ShellWindow.getDebuggerId" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.getDebuggerId" />
       <keyword name="ShellWindow.quit" id="ShellWindow.quit" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.quit" />
       <keyword name="ShellWindow.showFind" id="ShellWindow.showFind" ref="eric6.QScintilla.ShellWindow.html#ShellWindow.showFind" />
       <keyword name="Shelve" id="Shelve" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ShelveExtension.shelve.html#Shelve" />
@@ -13352,6 +13401,76 @@
       <keyword name="ShortcutsWriter.writeXML" id="ShortcutsWriter.writeXML" ref="eric6.E5XML.ShortcutsWriter.html#ShortcutsWriter.writeXML" />
       <keyword name="SimplePatternExtension" id="SimplePatternExtension" ref="eric6.UI.Previewers.MarkdownExtensions.html#SimplePatternExtension" />
       <keyword name="SimplePatternExtension.extendMarkdown" id="SimplePatternExtension.extendMarkdown" ref="eric6.UI.Previewers.MarkdownExtensions.html#SimplePatternExtension.extendMarkdown" />
+      <keyword name="Simplify (Package)" id="Simplify (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.html" />
+      <keyword name="SimplifyChecker" id="SimplifyChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html#SimplifyChecker" />
+      <keyword name="SimplifyChecker (Constructor)" id="SimplifyChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html#SimplifyChecker.__init__" />
+      <keyword name="SimplifyChecker (Module)" id="SimplifyChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html" />
+      <keyword name="SimplifyChecker.__error" id="SimplifyChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html#SimplifyChecker.__error" />
+      <keyword name="SimplifyChecker.__ignoreCode" id="SimplifyChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html#SimplifyChecker.__ignoreCode" />
+      <keyword name="SimplifyChecker.run" id="SimplifyChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html#SimplifyChecker.run" />
+      <keyword name="SimplifyNodeVisitor" id="SimplifyNodeVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor" />
+      <keyword name="SimplifyNodeVisitor (Constructor)" id="SimplifyNodeVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__init__" />
+      <keyword name="SimplifyNodeVisitor (Module)" id="SimplifyNodeVisitor (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html" />
+      <keyword name="SimplifyNodeVisitor.__check101" id="SimplifyNodeVisitor.__check101" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check101" />
+      <keyword name="SimplifyNodeVisitor.__check102" id="SimplifyNodeVisitor.__check102" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check102" />
+      <keyword name="SimplifyNodeVisitor.__check103" id="SimplifyNodeVisitor.__check103" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check103" />
+      <keyword name="SimplifyNodeVisitor.__check104" id="SimplifyNodeVisitor.__check104" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check104" />
+      <keyword name="SimplifyNodeVisitor.__check105" id="SimplifyNodeVisitor.__check105" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check105" />
+      <keyword name="SimplifyNodeVisitor.__check106" id="SimplifyNodeVisitor.__check106" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check106" />
+      <keyword name="SimplifyNodeVisitor.__check107" id="SimplifyNodeVisitor.__check107" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check107" />
+      <keyword name="SimplifyNodeVisitor.__check108" id="SimplifyNodeVisitor.__check108" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check108" />
+      <keyword name="SimplifyNodeVisitor.__check109" id="SimplifyNodeVisitor.__check109" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check109" />
+      <keyword name="SimplifyNodeVisitor.__check110_111" id="SimplifyNodeVisitor.__check110_111" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check110_111" />
+      <keyword name="SimplifyNodeVisitor.__check112" id="SimplifyNodeVisitor.__check112" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check112" />
+      <keyword name="SimplifyNodeVisitor.__check113" id="SimplifyNodeVisitor.__check113" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check113" />
+      <keyword name="SimplifyNodeVisitor.__check114" id="SimplifyNodeVisitor.__check114" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check114" />
+      <keyword name="SimplifyNodeVisitor.__check115" id="SimplifyNodeVisitor.__check115" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check115" />
+      <keyword name="SimplifyNodeVisitor.__check116" id="SimplifyNodeVisitor.__check116" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check116" />
+      <keyword name="SimplifyNodeVisitor.__check117" id="SimplifyNodeVisitor.__check117" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check117" />
+      <keyword name="SimplifyNodeVisitor.__check118" id="SimplifyNodeVisitor.__check118" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check118" />
+      <keyword name="SimplifyNodeVisitor.__check119" id="SimplifyNodeVisitor.__check119" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check119" />
+      <keyword name="SimplifyNodeVisitor.__check120_121" id="SimplifyNodeVisitor.__check120_121" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check120_121" />
+      <keyword name="SimplifyNodeVisitor.__check122" id="SimplifyNodeVisitor.__check122" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check122" />
+      <keyword name="SimplifyNodeVisitor.__check181" id="SimplifyNodeVisitor.__check181" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check181" />
+      <keyword name="SimplifyNodeVisitor.__check182" id="SimplifyNodeVisitor.__check182" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check182" />
+      <keyword name="SimplifyNodeVisitor.__check201" id="SimplifyNodeVisitor.__check201" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check201" />
+      <keyword name="SimplifyNodeVisitor.__check202" id="SimplifyNodeVisitor.__check202" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check202" />
+      <keyword name="SimplifyNodeVisitor.__check203" id="SimplifyNodeVisitor.__check203" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check203" />
+      <keyword name="SimplifyNodeVisitor.__check204" id="SimplifyNodeVisitor.__check204" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check204" />
+      <keyword name="SimplifyNodeVisitor.__check205" id="SimplifyNodeVisitor.__check205" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check205" />
+      <keyword name="SimplifyNodeVisitor.__check206" id="SimplifyNodeVisitor.__check206" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check206" />
+      <keyword name="SimplifyNodeVisitor.__check207" id="SimplifyNodeVisitor.__check207" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check207" />
+      <keyword name="SimplifyNodeVisitor.__check208" id="SimplifyNodeVisitor.__check208" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check208" />
+      <keyword name="SimplifyNodeVisitor.__check211" id="SimplifyNodeVisitor.__check211" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check211" />
+      <keyword name="SimplifyNodeVisitor.__check212" id="SimplifyNodeVisitor.__check212" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check212" />
+      <keyword name="SimplifyNodeVisitor.__check213" id="SimplifyNodeVisitor.__check213" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check213" />
+      <keyword name="SimplifyNodeVisitor.__check221" id="SimplifyNodeVisitor.__check221" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check221" />
+      <keyword name="SimplifyNodeVisitor.__check222" id="SimplifyNodeVisitor.__check222" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check222" />
+      <keyword name="SimplifyNodeVisitor.__check223" id="SimplifyNodeVisitor.__check223" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check223" />
+      <keyword name="SimplifyNodeVisitor.__check224" id="SimplifyNodeVisitor.__check224" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check224" />
+      <keyword name="SimplifyNodeVisitor.__check301" id="SimplifyNodeVisitor.__check301" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check301" />
+      <keyword name="SimplifyNodeVisitor.__check401" id="SimplifyNodeVisitor.__check401" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check401" />
+      <keyword name="SimplifyNodeVisitor.__check402" id="SimplifyNodeVisitor.__check402" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__check402" />
+      <keyword name="SimplifyNodeVisitor.__getDuplicatedIsinstanceCall" id="SimplifyNodeVisitor.__getDuplicatedIsinstanceCall" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__getDuplicatedIsinstanceCall" />
+      <keyword name="SimplifyNodeVisitor.__getIfBodyPairs" id="SimplifyNodeVisitor.__getIfBodyPairs" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__getIfBodyPairs" />
+      <keyword name="SimplifyNodeVisitor.__isConstantIncrease" id="SimplifyNodeVisitor.__isConstantIncrease" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__isConstantIncrease" />
+      <keyword name="SimplifyNodeVisitor.__isExceptionCheck" id="SimplifyNodeVisitor.__isExceptionCheck" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__isExceptionCheck" />
+      <keyword name="SimplifyNodeVisitor.__isSameBody" id="SimplifyNodeVisitor.__isSameBody" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__isSameBody" />
+      <keyword name="SimplifyNodeVisitor.__isSameExpression" id="SimplifyNodeVisitor.__isSameExpression" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__isSameExpression" />
+      <keyword name="SimplifyNodeVisitor.__isStatementEqual" id="SimplifyNodeVisitor.__isStatementEqual" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__isStatementEqual" />
+      <keyword name="SimplifyNodeVisitor.__negateTest" id="SimplifyNodeVisitor.__negateTest" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.__negateTest" />
+      <keyword name="SimplifyNodeVisitor.visit_Assign" id="SimplifyNodeVisitor.visit_Assign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_Assign" />
+      <keyword name="SimplifyNodeVisitor.visit_BoolOp" id="SimplifyNodeVisitor.visit_BoolOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_BoolOp" />
+      <keyword name="SimplifyNodeVisitor.visit_Call" id="SimplifyNodeVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_Call" />
+      <keyword name="SimplifyNodeVisitor.visit_ClassDef" id="SimplifyNodeVisitor.visit_ClassDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_ClassDef" />
+      <keyword name="SimplifyNodeVisitor.visit_Compare" id="SimplifyNodeVisitor.visit_Compare" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_Compare" />
+      <keyword name="SimplifyNodeVisitor.visit_Expr" id="SimplifyNodeVisitor.visit_Expr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_Expr" />
+      <keyword name="SimplifyNodeVisitor.visit_For" id="SimplifyNodeVisitor.visit_For" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_For" />
+      <keyword name="SimplifyNodeVisitor.visit_If" id="SimplifyNodeVisitor.visit_If" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_If" />
+      <keyword name="SimplifyNodeVisitor.visit_IfExp" id="SimplifyNodeVisitor.visit_IfExp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_IfExp" />
+      <keyword name="SimplifyNodeVisitor.visit_Try" id="SimplifyNodeVisitor.visit_Try" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_Try" />
+      <keyword name="SimplifyNodeVisitor.visit_UnaryOp" id="SimplifyNodeVisitor.visit_UnaryOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_UnaryOp" />
+      <keyword name="SimplifyNodeVisitor.visit_With" id="SimplifyNodeVisitor.visit_With" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html#SimplifyNodeVisitor.visit_With" />
       <keyword name="SingleApplication (Module)" id="SingleApplication (Module)" ref="eric6.Toolbox.SingleApplication.html" />
       <keyword name="SingleApplicationClient" id="SingleApplicationClient" ref="eric6.Toolbox.SingleApplication.html#SingleApplicationClient" />
       <keyword name="SingleApplicationClient (Constructor)" id="SingleApplicationClient (Constructor)" ref="eric6.Toolbox.SingleApplication.html#SingleApplicationClient.__init__" />
@@ -15367,7 +15486,6 @@
       <keyword name="UMLDialog (Constructor)" id="UMLDialog (Constructor)" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__init__" />
       <keyword name="UMLDialog (Module)" id="UMLDialog (Module)" ref="eric6.Graphics.UMLDialog.html" />
       <keyword name="UMLDialog.__diagramBuilder" id="UMLDialog.__diagramBuilder" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__diagramBuilder" />
-      <keyword name="UMLDialog.__diagramTypeString" id="UMLDialog.__diagramTypeString" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__diagramTypeString" />
       <keyword name="UMLDialog.__initActions" id="UMLDialog.__initActions" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__initActions" />
       <keyword name="UMLDialog.__initToolBars" id="UMLDialog.__initToolBars" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__initToolBars" />
       <keyword name="UMLDialog.__relayout" id="UMLDialog.__relayout" ref="eric6.Graphics.UMLDialog.html#UMLDialog.__relayout" />
@@ -17266,6 +17384,104 @@
       <keyword name="_ClbrBase" id="_ClbrBase" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase" />
       <keyword name="_ClbrBase (Constructor)" id="_ClbrBase (Constructor)" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.__init__" />
       <keyword name="_ClbrBase.setEndLine" id="_ClbrBase.setEndLine" ref="eric6.Utilities.ClassBrowsers.ClbrBaseClasses.html#_ClbrBase.setEndLine" />
+      <keyword name="_Precedence" id="_Precedence" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Precedence" />
+      <keyword name="_Precedence.next" id="_Precedence.next" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Precedence.next" />
+      <keyword name="_Unparser" id="_Unparser" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser" />
+      <keyword name="_Unparser (Constructor)" id="_Unparser (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.__init__" />
+      <keyword name="_Unparser._for_helper" id="_Unparser._for_helper" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._for_helper" />
+      <keyword name="_Unparser._fstring_Constant" id="_Unparser._fstring_Constant" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._fstring_Constant" />
+      <keyword name="_Unparser._fstring_FormattedValue" id="_Unparser._fstring_FormattedValue" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._fstring_FormattedValue" />
+      <keyword name="_Unparser._fstring_JoinedStr" id="_Unparser._fstring_JoinedStr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._fstring_JoinedStr" />
+      <keyword name="_Unparser._function_helper" id="_Unparser._function_helper" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._function_helper" />
+      <keyword name="_Unparser._str_literal_helper" id="_Unparser._str_literal_helper" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._str_literal_helper" />
+      <keyword name="_Unparser._write_constant" id="_Unparser._write_constant" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._write_constant" />
+      <keyword name="_Unparser._write_docstring" id="_Unparser._write_docstring" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._write_docstring" />
+      <keyword name="_Unparser._write_docstring_and_traverse_body" id="_Unparser._write_docstring_and_traverse_body" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._write_docstring_and_traverse_body" />
+      <keyword name="_Unparser._write_str_avoiding_backslashes" id="_Unparser._write_str_avoiding_backslashes" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser._write_str_avoiding_backslashes" />
+      <keyword name="_Unparser.block" id="_Unparser.block" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.block" />
+      <keyword name="_Unparser.buffer" id="_Unparser.buffer" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.buffer" />
+      <keyword name="_Unparser.buffer_writer" id="_Unparser.buffer_writer" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.buffer_writer" />
+      <keyword name="_Unparser.delimit" id="_Unparser.delimit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.delimit" />
+      <keyword name="_Unparser.delimit_if" id="_Unparser.delimit_if" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.delimit_if" />
+      <keyword name="_Unparser.escape_char" id="_Unparser.escape_char" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.escape_char" />
+      <keyword name="_Unparser.fill" id="_Unparser.fill" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.fill" />
+      <keyword name="_Unparser.get_precedence" id="_Unparser.get_precedence" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.get_precedence" />
+      <keyword name="_Unparser.get_raw_docstring" id="_Unparser.get_raw_docstring" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.get_raw_docstring" />
+      <keyword name="_Unparser.get_type_comment" id="_Unparser.get_type_comment" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.get_type_comment" />
+      <keyword name="_Unparser.increasing_level_traverse" id="_Unparser.increasing_level_traverse" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.increasing_level_traverse" />
+      <keyword name="_Unparser.interleave" id="_Unparser.interleave" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.interleave" />
+      <keyword name="_Unparser.is_simple_tuple" id="_Unparser.is_simple_tuple" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.is_simple_tuple" />
+      <keyword name="_Unparser.items_view" id="_Unparser.items_view" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.items_view" />
+      <keyword name="_Unparser.maybe_newline" id="_Unparser.maybe_newline" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.maybe_newline" />
+      <keyword name="_Unparser.require_parens" id="_Unparser.require_parens" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.require_parens" />
+      <keyword name="_Unparser.set_precedence" id="_Unparser.set_precedence" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.set_precedence" />
+      <keyword name="_Unparser.traverse" id="_Unparser.traverse" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.traverse" />
+      <keyword name="_Unparser.visit" id="_Unparser.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit" />
+      <keyword name="_Unparser.visit_AnnAssign" id="_Unparser.visit_AnnAssign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_AnnAssign" />
+      <keyword name="_Unparser.visit_Assert" id="_Unparser.visit_Assert" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Assert" />
+      <keyword name="_Unparser.visit_Assign" id="_Unparser.visit_Assign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Assign" />
+      <keyword name="_Unparser.visit_AsyncFor" id="_Unparser.visit_AsyncFor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_AsyncFor" />
+      <keyword name="_Unparser.visit_AsyncFunctionDef" id="_Unparser.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_AsyncFunctionDef" />
+      <keyword name="_Unparser.visit_AsyncWith" id="_Unparser.visit_AsyncWith" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_AsyncWith" />
+      <keyword name="_Unparser.visit_Attribute" id="_Unparser.visit_Attribute" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Attribute" />
+      <keyword name="_Unparser.visit_AugAssign" id="_Unparser.visit_AugAssign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_AugAssign" />
+      <keyword name="_Unparser.visit_Await" id="_Unparser.visit_Await" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Await" />
+      <keyword name="_Unparser.visit_BinOp" id="_Unparser.visit_BinOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_BinOp" />
+      <keyword name="_Unparser.visit_BoolOp" id="_Unparser.visit_BoolOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_BoolOp" />
+      <keyword name="_Unparser.visit_Break" id="_Unparser.visit_Break" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Break" />
+      <keyword name="_Unparser.visit_Call" id="_Unparser.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Call" />
+      <keyword name="_Unparser.visit_ClassDef" id="_Unparser.visit_ClassDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_ClassDef" />
+      <keyword name="_Unparser.visit_Compare" id="_Unparser.visit_Compare" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Compare" />
+      <keyword name="_Unparser.visit_Constant" id="_Unparser.visit_Constant" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Constant" />
+      <keyword name="_Unparser.visit_Continue" id="_Unparser.visit_Continue" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Continue" />
+      <keyword name="_Unparser.visit_Delete" id="_Unparser.visit_Delete" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Delete" />
+      <keyword name="_Unparser.visit_Dict" id="_Unparser.visit_Dict" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Dict" />
+      <keyword name="_Unparser.visit_DictComp" id="_Unparser.visit_DictComp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_DictComp" />
+      <keyword name="_Unparser.visit_Ellipsis" id="_Unparser.visit_Ellipsis" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Ellipsis" />
+      <keyword name="_Unparser.visit_ExceptHandler" id="_Unparser.visit_ExceptHandler" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_ExceptHandler" />
+      <keyword name="_Unparser.visit_Expr" id="_Unparser.visit_Expr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Expr" />
+      <keyword name="_Unparser.visit_For" id="_Unparser.visit_For" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_For" />
+      <keyword name="_Unparser.visit_FormattedValue" id="_Unparser.visit_FormattedValue" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_FormattedValue" />
+      <keyword name="_Unparser.visit_FunctionDef" id="_Unparser.visit_FunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_FunctionDef" />
+      <keyword name="_Unparser.visit_FunctionType" id="_Unparser.visit_FunctionType" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_FunctionType" />
+      <keyword name="_Unparser.visit_GeneratorExp" id="_Unparser.visit_GeneratorExp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_GeneratorExp" />
+      <keyword name="_Unparser.visit_Global" id="_Unparser.visit_Global" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Global" />
+      <keyword name="_Unparser.visit_If" id="_Unparser.visit_If" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_If" />
+      <keyword name="_Unparser.visit_IfExp" id="_Unparser.visit_IfExp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_IfExp" />
+      <keyword name="_Unparser.visit_Import" id="_Unparser.visit_Import" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Import" />
+      <keyword name="_Unparser.visit_ImportFrom" id="_Unparser.visit_ImportFrom" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_ImportFrom" />
+      <keyword name="_Unparser.visit_JoinedStr" id="_Unparser.visit_JoinedStr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_JoinedStr" />
+      <keyword name="_Unparser.visit_Lambda" id="_Unparser.visit_Lambda" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Lambda" />
+      <keyword name="_Unparser.visit_List" id="_Unparser.visit_List" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_List" />
+      <keyword name="_Unparser.visit_ListComp" id="_Unparser.visit_ListComp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_ListComp" />
+      <keyword name="_Unparser.visit_Module" id="_Unparser.visit_Module" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Module" />
+      <keyword name="_Unparser.visit_Name" id="_Unparser.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Name" />
+      <keyword name="_Unparser.visit_NamedExpr" id="_Unparser.visit_NamedExpr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_NamedExpr" />
+      <keyword name="_Unparser.visit_Nonlocal" id="_Unparser.visit_Nonlocal" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Nonlocal" />
+      <keyword name="_Unparser.visit_Pass" id="_Unparser.visit_Pass" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Pass" />
+      <keyword name="_Unparser.visit_Raise" id="_Unparser.visit_Raise" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Raise" />
+      <keyword name="_Unparser.visit_Return" id="_Unparser.visit_Return" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Return" />
+      <keyword name="_Unparser.visit_Set" id="_Unparser.visit_Set" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Set" />
+      <keyword name="_Unparser.visit_SetComp" id="_Unparser.visit_SetComp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_SetComp" />
+      <keyword name="_Unparser.visit_Slice" id="_Unparser.visit_Slice" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Slice" />
+      <keyword name="_Unparser.visit_Starred" id="_Unparser.visit_Starred" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Starred" />
+      <keyword name="_Unparser.visit_Subscript" id="_Unparser.visit_Subscript" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Subscript" />
+      <keyword name="_Unparser.visit_Try" id="_Unparser.visit_Try" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Try" />
+      <keyword name="_Unparser.visit_Tuple" id="_Unparser.visit_Tuple" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Tuple" />
+      <keyword name="_Unparser.visit_UnaryOp" id="_Unparser.visit_UnaryOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_UnaryOp" />
+      <keyword name="_Unparser.visit_While" id="_Unparser.visit_While" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_While" />
+      <keyword name="_Unparser.visit_With" id="_Unparser.visit_With" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_With" />
+      <keyword name="_Unparser.visit_Yield" id="_Unparser.visit_Yield" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_Yield" />
+      <keyword name="_Unparser.visit_YieldFrom" id="_Unparser.visit_YieldFrom" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_YieldFrom" />
+      <keyword name="_Unparser.visit_alias" id="_Unparser.visit_alias" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_alias" />
+      <keyword name="_Unparser.visit_arg" id="_Unparser.visit_arg" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_arg" />
+      <keyword name="_Unparser.visit_arguments" id="_Unparser.visit_arguments" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_arguments" />
+      <keyword name="_Unparser.visit_comprehension" id="_Unparser.visit_comprehension" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_comprehension" />
+      <keyword name="_Unparser.visit_keyword" id="_Unparser.visit_keyword" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_keyword" />
+      <keyword name="_Unparser.visit_withitem" id="_Unparser.visit_withitem" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.visit_withitem" />
+      <keyword name="_Unparser.write" id="_Unparser.write" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.write" />
+      <keyword name="_Unparser.write_item" id="_Unparser.write_item" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.write_item" />
+      <keyword name="_Unparser.write_key_value_pair" id="_Unparser.write_key_value_pair" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#_Unparser.write_key_value_pair" />
       <keyword name="__checkCodeStyle" id="__checkCodeStyle" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#__checkCodeStyle" />
       <keyword name="__checkSyntax" id="__checkSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#__checkSyntax" />
       <keyword name="__getMasterPassword" id="__getMasterPassword" ref="eric6.Utilities.crypto.__init__.html#__getMasterPassword" />
@@ -17323,6 +17539,7 @@
       <keyword name="analyze" id="analyze" ref="eric6.DataViews.CodeMetrics.html#analyze" />
       <keyword name="append_PKCS7_padding" id="append_PKCS7_padding" ref="eric6.Utilities.crypto.py3AES.html#append_PKCS7_padding" />
       <keyword name="assert (Module)" id="assert (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.html" />
+      <keyword name="ast_unparse (Module)" id="ast_unparse (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html" />
       <keyword name="awsHardcodedPassword (Module)" id="awsHardcodedPassword (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.html" />
       <keyword name="bare_except" id="bare_except" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#bare_except" />
       <keyword name="blackListCalls (Module)" id="blackListCalls (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.blackListCalls.html" />
@@ -17652,7 +17869,6 @@
       <keyword name="generateVersionInfo" id="generateVersionInfo" ref="eric6.Utilities.__init__.html#generateVersionInfo" />
       <keyword name="getAllImages" id="getAllImages" ref="eric6.WebBrowser.Tools.Scripts.html#getAllImages" />
       <keyword name="getAllMetaAttributes" id="getAllMetaAttributes" ref="eric6.WebBrowser.Tools.Scripts.html#getAllMetaAttributes" />
-      <keyword name="getAnnotationComplexity" id="getAnnotationComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#getAnnotationComplexity" />
       <keyword name="getAttrQualName" id="getAttrQualName" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html#getAttrQualName" />
       <keyword name="getBasicHelper" id="getBasicHelper" ref="eric6.VCS.__init__.html#getBasicHelper" />
       <keyword name="getCallName" id="getCallName" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html#getCallName" />
@@ -17859,7 +18075,6 @@
       <keyword name="handleSingleApplication" id="handleSingleApplication" ref="eric6.eric6.html#handleSingleApplication" />
       <keyword name="hasEnvironmentEntry" id="hasEnvironmentEntry" ref="eric6.Utilities.__init__.html#hasEnvironmentEntry" />
       <keyword name="hasShell" id="hasShell" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.injectionShell.html#hasShell" />
-      <keyword name="hasTypeAnnotations" id="hasTypeAnnotations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#hasTypeAnnotations" />
       <keyword name="hashPassword" id="hashPassword" ref="eric6.Utilities.crypto.py3PBKDF2.html#hashPassword" />
       <keyword name="hashPasswordTuple" id="hashPasswordTuple" ref="eric6.Utilities.crypto.py3PBKDF2.html#hashPasswordTuple" />
       <keyword name="hg (Module)" id="hg (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.hg.html" />
@@ -18278,6 +18493,7 @@
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations.html" />
+      <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.translations.html" />
       <keyword name="tryExcept (Module)" id="tryExcept (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.tryExcept.html" />
       <keyword name="uiStartUp" id="uiStartUp" ref="eric6.eric6.html#uiStartUp" />
@@ -18290,6 +18506,7 @@
       <keyword name="uninstallLinuxSpecifics" id="uninstallLinuxSpecifics" ref="uninstall.html#uninstallLinuxSpecifics" />
       <keyword name="uninstallMacAppBundle" id="uninstallMacAppBundle" ref="uninstall.html#uninstallMacAppBundle" />
       <keyword name="uninstallWindowsLinks" id="uninstallWindowsLinks" ref="uninstall.html#uninstallWindowsLinks" />
+      <keyword name="unparse" id="unparse" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html#unparse" />
       <keyword name="unregisterLexer" id="unregisterLexer" ref="eric6.QScintilla.Lexers.__init__.html#unregisterLexer" />
       <keyword name="unregisterView" id="unregisterView" ref="eric6.WebBrowser.WebInspector.html#unregisterView" />
       <keyword name="updatePip" id="updatePip" ref="install.html#updatePip" />
@@ -18594,6 +18811,9 @@
       <file>eric6.PluginManager.PluginUninstallDialog.html</file>
       <file>eric6.Plugins.AboutPlugin.AboutDialog.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.AstUtilities.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog.html</file>
@@ -18647,6 +18867,10 @@
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyChecker.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.SimplifyNodeVisitor.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.ast_unparse.html</file>
+      <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.translations.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html</file>
       <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.translations.html</file>
       <file>eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html</file>
@@ -19488,6 +19712,7 @@
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html</file>
+      <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Simplify.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.SyntaxChecker.html</file>
       <file>index-eric6.Plugins.CheckerPlugins.Tabnanny.html</file>
--- a/eric6/Documentation/Source/eric6.DataViews.CodeMetrics.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DataViews.CodeMetrics.html	Sat May 01 14:27:20 2021 +0200
@@ -76,7 +76,7 @@
     Class used to parse the source code of a Python file.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -160,7 +160,7 @@
     Class used to calculate and store the source code statistics.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -318,7 +318,7 @@
     Class to store the token related infos.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.AsyncFile.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.AsyncFile.html	Sat May 01 14:27:20 2021 +0200
@@ -58,7 +58,7 @@
     Class wrapping a socket object with a file interface.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.DebugBase.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.DebugBase.html	Sat May 01 14:27:20 2021 +0200
@@ -64,7 +64,7 @@
     Provides methods for the 'owning' client to call to step etc.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Sat May 01 14:27:20 2021 +0200
@@ -83,7 +83,7 @@
     DebugClient classes. Do not instantiate it directly.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.DebugVariables.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.DebugVariables.html	Sat May 01 14:27:20 2021 +0200
@@ -190,7 +190,7 @@
     Base class of the resolver class tree.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.FlexCompleter.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.FlexCompleter.html	Sat May 01 14:27:20 2021 +0200
@@ -109,7 +109,7 @@
     Class implementing the command line completer object.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.ModuleLoader.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.ModuleLoader.html	Sat May 01 14:27:20 2021 +0200
@@ -53,7 +53,7 @@
     Class implementing an import hook patching modules to support debugging.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DebugClients.Python.ThreadExtension.html	Sat May 01 14:27:20 2021 +0200
@@ -206,7 +206,7 @@
     threads and their name and state.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.Debugger.DebugUI.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Debugger.DebugUI.html	Sat May 01 14:27:20 2021 +0200
@@ -1597,7 +1597,7 @@
 </dl>
 <a NAME="DebugUI.showNotification" ID="DebugUI.showNotification"></a>
 <h4>DebugUI.showNotification</h4>
-<b>showNotification</b>(<i>notification, kind=NotificationTypes.Information, timeout=None</i>)
+<b>showNotification</b>(<i>notification, kind=NotificationTypes.INFORMATION, timeout=None</i>)
 
 <p>
         Public method to show some notification message.
--- a/eric6/Documentation/Source/eric6.Debugger.VariablesViewer.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Debugger.VariablesViewer.html	Sat May 01 14:27:20 2021 +0200
@@ -65,7 +65,7 @@
     Class implementing the data structure for all variable items.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DocumentationTools.APIGenerator.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DocumentationTools.APIGenerator.html	Sat May 01 14:27:20 2021 +0200
@@ -53,7 +53,7 @@
     Class implementing the builtin documentation generator.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DocumentationTools.IndexGenerator.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DocumentationTools.IndexGenerator.html	Sat May 01 14:27:20 2021 +0200
@@ -55,7 +55,7 @@
     generator.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DocumentationTools.ModuleDocumentor.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DocumentationTools.ModuleDocumentor.html	Sat May 01 14:27:20 2021 +0200
@@ -62,7 +62,7 @@
     Class implementing the builtin documentation generator.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.DocumentationTools.QtHelpGenerator.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.DocumentationTools.QtHelpGenerator.html	Sat May 01 14:27:20 2021 +0200
@@ -55,7 +55,7 @@
     generator.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Graphics.E5ArrowItem.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Graphics.E5ArrowItem.html	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>ArrowheadAngleFactor</td></tr><tr><td>NormalArrow</td></tr><tr><td>WideArrow</td></tr>
+<tr><td>ArrowheadAngleFactor</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -38,6 +38,10 @@
 <td><a href="#E5ArrowItem">E5ArrowItem</a></td>
 <td>Class implementing an arrow graphics item subclass.</td>
 </tr>
+<tr>
+<td><a href="#E5ArrowType">E5ArrowType</a></td>
+<td>Class defining the arrow types.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -101,7 +105,7 @@
 
 <a NAME="E5ArrowItem.__init__" ID="E5ArrowItem.__init__"></a>
 <h4>E5ArrowItem (Constructor)</h4>
-<b>E5ArrowItem</b>(<i>origin=None, end=None, filled=False, arrowType=NormalArrow, colors=None, parent=None</i>)
+<b>E5ArrowItem</b>(<i>origin=None, end=None, filled=False, arrowType=E5ArrowType.NORMAL, colors=None, parent=None</i>)
 
 <p>
         Constructor
@@ -120,7 +124,7 @@
 <dd>
 flag indicating a filled arrow head
 </dd>
-<dt><i>arrowType</i> (int, one of NormalArrow, WideArrow)</dt>
+<dt><i>arrowType</i> (E5ArrowType)</dt>
 <dd>
 arrow type
 </dd>
@@ -241,4 +245,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5ArrowType" ID="E5ArrowType"></a>
+<h2>E5ArrowType</h2>
+
+<p>
+    Class defining the arrow types.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>NORMAL</td></tr><tr><td>WIDE</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5Led.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5Led.html	Sat May 01 14:27:20 2021 +0200
@@ -31,7 +31,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>E5LedCircular</td></tr><tr><td>E5LedRectangular</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -45,6 +45,10 @@
 <td><a href="#E5Led">E5Led</a></td>
 <td>Class implementing a LED widget.</td>
 </tr>
+<tr>
+<td><a href="#E5LedType">E5LedType</a></td>
+<td>Class defining the LED types.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -106,28 +110,28 @@
 
 <a NAME="E5ClickableLed.__init__" ID="E5ClickableLed.__init__"></a>
 <h4>E5ClickableLed (Constructor)</h4>
-<b>E5ClickableLed</b>(<i>parent=None, color=None, shape=E5LedCircular, rectRatio=1</i>)
+<b>E5ClickableLed</b>(<i>parent=None, color=None, shape=E5LedType.CIRCULAR, rectRatio=1</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-reference to parent widget (QWidget)
+reference to parent widget
 </dd>
-<dt><i>color</i></dt>
+<dt><i>color</i> (QColor)</dt>
 <dd>
-color of the LED (QColor)
+color of the LED
 </dd>
-<dt><i>shape</i></dt>
+<dt><i>shape</i> (E5LedType)</dt>
 <dd>
-shape of the LED (E5LedCircular, E5LedRectangular)
+shape of the LED
 </dd>
-<dt><i>rectRatio</i></dt>
+<dt><i>rectRatio</i> (float)</dt>
 <dd>
-ratio width to height, if shape is rectangular (float)
+ratio width to height, if shape is rectangular
 </dd>
 </dl>
 <a NAME="E5ClickableLed.mouseReleaseEvent" ID="E5ClickableLed.mouseReleaseEvent"></a>
@@ -266,28 +270,28 @@
 
 <a NAME="E5Led.__init__" ID="E5Led.__init__"></a>
 <h4>E5Led (Constructor)</h4>
-<b>E5Led</b>(<i>parent=None, color=None, shape=E5LedCircular, rectRatio=1</i>)
+<b>E5Led</b>(<i>parent=None, color=None, shape=E5LedType.CIRCULAR, rectRatio=1</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-reference to parent widget (QWidget)
+reference to parent widget
 </dd>
-<dt><i>color</i></dt>
+<dt><i>color</i> (QColor)</dt>
 <dd>
-color of the LED (QColor)
+color of the LED
 </dd>
-<dt><i>shape</i></dt>
+<dt><i>shape</i> (E5LedType)</dt>
 <dd>
-shape of the LED (E5LedCircular, E5LedRectangular)
+shape of the LED
 </dd>
-<dt><i>rectRatio</i></dt>
+<dt><i>rectRatio</i> (float)</dt>
 <dd>
-ratio width to height, if shape is rectangular (float)
+ratio width to height, if shape is rectangular
 </dd>
 </dl>
 <a NAME="E5Led.__getBestRoundSize" ID="E5Led.__getBestRoundSize"></a>
@@ -405,16 +409,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QPaintEvent)</dt>
 <dd>
-paint event object (QPaintEvent)
-</dd>
-</dl>
-<dl>
-
-<dt>Raises <b>TypeError</b>:</dt>
-<dd>
-The E5Led has an unsupported shape type.
+paint event object
 </dd>
 </dl>
 <a NAME="E5Led.ratio" ID="E5Led.ratio"></a>
@@ -509,9 +506,9 @@
 </p>
 <dl>
 
-<dt><i>shape</i></dt>
+<dt><i>shape</i> (E5LedType)</dt>
 <dd>
-new LED shape (E5LedCircular, E5LedRectangular)
+new LED shape
 </dd>
 </dl>
 <a NAME="E5Led.shape" ID="E5Led.shape"></a>
@@ -524,7 +521,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-LED shape (E5LedCircular, E5LedRectangular)
+LED shape
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+E5LedType
 </dd>
 </dl>
 <a NAME="E5Led.sizeHint" ID="E5Led.sizeHint"></a>
@@ -549,4 +552,36 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5LedType" ID="E5LedType"></a>
+<h2>E5LedType</h2>
+
+<p>
+    Class defining the LED types.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>CIRCULAR</td></tr><tr><td>RECTANGULAR</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5LineEdit.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5LineEdit.html	Sat May 01 14:27:20 2021 +0200
@@ -43,6 +43,10 @@
 <td>Class implementing a line edit widget showing some inactive text.</td>
 </tr>
 <tr>
+<td><a href="#E5LineEditSide">E5LineEditSide</a></td>
+<td>Class defining the line edit sides.</td>
+</tr>
+<tr>
 <td><a href="#E5LineEditSideWidget">E5LineEditSideWidget</a></td>
 <td>Class implementing the side widgets for the line edit class.</td>
 </tr>
@@ -94,32 +98,24 @@
 
 <a NAME="E5ClearableLineEdit.__init__" ID="E5ClearableLineEdit.__init__"></a>
 <h4>E5ClearableLineEdit (Constructor)</h4>
-<b>E5ClearableLineEdit</b>(<i>parent=None, inactiveText="", side=E5LineEdit.RightSide</i>)
+<b>E5ClearableLineEdit</b>(<i>parent=None, inactiveText="", side=E5LineEditSide.RIGHT</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-reference to the parent widget (QWidget)
+reference to the parent widget
 </dd>
-<dt><i>inactiveText</i></dt>
+<dt><i>inactiveText</i> (str)</dt>
 <dd>
-text to be shown on inactivity (string)
+text to be shown on inactivity
 </dd>
-<dt><i>side</i></dt>
+<dt><i>side</i> (E5LineEditSide)</dt>
 <dd>
 side the clear button should be shown at
-            (E5LineEdit.RightSide, E5LineEdit.LeftSide)
-</dd>
-</dl>
-<dl>
-
-<dt>Raises <b>ValueError</b>:</dt>
-<dd>
-raised to indicate a bad parameter value
 </dd>
 </dl>
 <a NAME="E5ClearableLineEdit.__textChanged" ID="E5ClearableLineEdit.__textChanged"></a>
@@ -150,7 +146,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>LeftSide</td></tr><tr><td>RightSide</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -250,14 +246,13 @@
 </p>
 <dl>
 
-<dt><i>widget</i></dt>
+<dt><i>widget</i> (QWidget)</dt>
 <dd>
-reference to the widget to add (QWidget)
+reference to the widget to add
 </dd>
-<dt><i>position</i></dt>
+<dt><i>position</i> (E5LineEditSide)</dt>
 <dd>
-position to add to (E5LineEdit.LeftSide,
-            E5LineEdit.RightSide)
+position to add to
 </dd>
 </dl>
 <a NAME="E5LineEdit.event" ID="E5LineEdit.event"></a>
@@ -315,9 +310,9 @@
 </p>
 <dl>
 
-<dt><i>widget</i></dt>
+<dt><i>widget</i> (QWidget)</dt>
 <dd>
-reference to the widget to remove (QWidget)
+reference to the widget to remove
 </dd>
 </dl>
 <a NAME="E5LineEdit.setInactiveText" ID="E5LineEdit.setInactiveText"></a>
@@ -371,16 +366,21 @@
 </p>
 <dl>
 
-<dt><i>position</i></dt>
+<dt><i>position</i> (E5LineEditSide)</dt>
 <dd>
-side to get margin for (E5LineEdit.LeftSide,
-            E5LineEdit.RightSide)
+side to get margin for
 </dd>
 </dl>
 <dl>
 <dt>Return:</dt>
 <dd>
-text margin (integer)
+text margin
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+int
 </dd>
 </dl>
 <a NAME="E5LineEdit.widgetSpacing" ID="E5LineEdit.widgetSpacing"></a>
@@ -399,6 +399,38 @@
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 <hr />
+<a NAME="E5LineEditSide" ID="E5LineEditSide"></a>
+<h2>E5LineEditSide</h2>
+
+<p>
+    Class defining the line edit sides.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>LEFT</td></tr><tr><td>RIGHT</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
 <a NAME="E5LineEditSideWidget" ID="E5LineEditSideWidget"></a>
 <h2>E5LineEditSideWidget</h2>
 
--- a/eric6/Documentation/Source/eric6.E5Gui.E5PassivePopup.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5PassivePopup.html	Sat May 01 14:27:20 2021 +0200
@@ -29,7 +29,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>DEFAULT_POPUP_TIME</td></tr><tr><td>DEFAULT_POPUP_TYPE</td></tr><tr><td>POPUP_FLAGS</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -39,6 +39,10 @@
 <td><a href="#E5PassivePopup">E5PassivePopup</a></td>
 <td>Class implementing dialog-like popup that displays messages without interrupting the user.</td>
 </tr>
+<tr>
+<td><a href="#E5PassivePopupStyle">E5PassivePopupStyle</a></td>
+<td>Class defining the popup styles.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -67,7 +71,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>Boxed</td></tr><tr><td>Custom</td></tr>
+<tr><td>DefaultPopupTime</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -147,16 +151,20 @@
 
 <a NAME="E5PassivePopup.__init__" ID="E5PassivePopup.__init__"></a>
 <h4>E5PassivePopup (Constructor)</h4>
-<b>E5PassivePopup</b>(<i>parent=None</i>)
+<b>E5PassivePopup</b>(<i>style=E5PassivePopupStyle.BOXED, parent=None</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>style</i> (E5PassivePopupStyle)</dt>
 <dd>
-reference to the parent widget (QWidget)
+style of the popup
+</dd>
+<dt><i>parent</i> (QWidget)</dt>
+<dd>
+reference to the parent widget
 </dd>
 </dl>
 <a NAME="E5PassivePopup.__calculateNearbyPoint" ID="E5PassivePopup.__calculateNearbyPoint"></a>
@@ -379,4 +387,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5PassivePopupStyle" ID="E5PassivePopupStyle"></a>
+<h2>E5PassivePopupStyle</h2>
+
+<p>
+    Class defining the popup styles.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>BOXED</td></tr><tr><td>CUSTOM</td></tr><tr><td>STYLED</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5PathPicker.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5PathPicker.html	Sat May 01 14:27:20 2021 +0200
@@ -1125,7 +1125,7 @@
     Class implementing the path picker modes.
 </p>
 <h3>Derived from</h3>
-Enum
+enum.Enum
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Gui.E5ProcessDialog.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5ProcessDialog.html	Sat May 01 14:27:20 2021 +0200
@@ -53,9 +53,9 @@
     Class implementing a dialog starting a process and showing its output.
 </p>
 <p>
-    It starts a QProcess and displays a dialog that
-    shows the output of the process. The dialog is modal,
-    which causes a synchronized execution of the process.
+    It starts a QProcess and displays a dialog that shows the output of the
+    process. The dialog is modal, which causes a synchronized execution of
+    the process.
 </p>
 <h3>Derived from</h3>
 QDialog, Ui_E5ProcessDialog
--- a/eric6/Documentation/Source/eric6.E5Gui.E5SideBar.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5SideBar.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5SideBar">E5SideBar</a></td>
 <td>Class implementing a sidebar with a widget area, that is hidden or shown, if the current tab is clicked again.</td>
 </tr>
+<tr>
+<td><a href="#E5SideBarSide">E5SideBarSide</a></td>
+<td>Class defining the sidebar sides.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -58,7 +62,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>East</td></tr><tr><td>North</td></tr><tr><td>South</td></tr><tr><td>Version</td></tr><tr><td>West</td></tr>
+<tr><td>Version</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -269,19 +273,17 @@
 </p>
 <dl>
 
-<dt><i>orientation</i></dt>
+<dt><i>orientation</i> (E5SideBarSide)</dt>
 <dd>
-orientation of the sidebar widget (North, East,
-            South, West)
+orientation of the sidebar widget
 </dd>
-<dt><i>delay</i></dt>
+<dt><i>delay</i> (int)</dt>
 <dd>
 value for the expand/shrink delay in milliseconds
-            (integer)
 </dd>
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-parent widget (QWidget)
+parent widget
 </dd>
 </dl>
 <a NAME="E5SideBar.__appFocusChanged" ID="E5SideBar.__appFocusChanged"></a>
@@ -617,7 +619,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-orientation of the sidebar (North, East, South, West)
+orientation of the sidebar
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+E5SideBarSide
 </dd>
 </dl>
 <a NAME="E5SideBar.prevTab" ID="E5SideBar.prevTab"></a>
@@ -728,9 +736,9 @@
 </p>
 <dl>
 
-<dt><i>orient</i></dt>
+<dt><i>orient</i> (E5SideBarSide)</dt>
 <dd>
-orientation of the sidebar (North, East, South, West)
+orientation of the sidebar
 </dd>
 </dl>
 <a NAME="E5SideBar.setSplitter" ID="E5SideBar.setSplitter"></a>
@@ -958,4 +966,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5SideBarSide" ID="E5SideBarSide"></a>
+<h2>E5SideBarSide</h2>
+
+<p>
+    Class defining the sidebar sides.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>EAST</td></tr><tr><td>NORTH</td></tr><tr><td>SOUTH</td></tr><tr><td>WEST</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5TextEditSearchWidget.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5TextEditSearchWidget.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5TextEditSearchWidget">E5TextEditSearchWidget</a></td>
 <td>Class implementing a horizontal search widget for QTextEdit.</td>
 </tr>
+<tr>
+<td><a href="#E5TextEditType">E5TextEditType</a></td>
+<td>Class defining the supported text edit types.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -296,7 +300,7 @@
 </dl>
 <a NAME="E5TextEditSearchWidget.attachTextEdit" ID="E5TextEditSearchWidget.attachTextEdit"></a>
 <h4>E5TextEditSearchWidget.attachTextEdit</h4>
-<b>attachTextEdit</b>(<i>textedit, editType="QTextEdit"</i>)
+<b>attachTextEdit</b>(<i>textedit, editType=E5TextEditType.QTEXTEDIT</i>)
 
 <p>
         Public method to attach a QTextEdit widget.
@@ -307,18 +311,11 @@
 <dd>
 reference to the edit widget to be attached
 </dd>
-<dt><i>editType</i> (str (one of "QTextEdit", "QWebEngineView" or "QWebView"))</dt>
+<dt><i>editType</i> (E5TextEditType)</dt>
 <dd>
 type of the attached edit widget
 </dd>
 </dl>
-<dl>
-
-<dt>Raises <b>ValueError</b>:</dt>
-<dd>
-raised to indicate a bad parameter value
-</dd>
-</dl>
 <a NAME="E5TextEditSearchWidget.keyPressEvent" ID="E5TextEditSearchWidget.keyPressEvent"></a>
 <h4>E5TextEditSearchWidget.keyPressEvent</h4>
 <b>keyPressEvent</b>(<i>event</i>)
@@ -377,4 +374,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5TextEditType" ID="E5TextEditType"></a>
+<h2>E5TextEditType</h2>
+
+<p>
+    Class defining the supported text edit types.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>QTEXTBROWSER</td></tr><tr><td>QTEXTEDIT</td></tr><tr><td>QWEBENGINEVIEW</td></tr><tr><td>UNKNOWN</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5ToolBarDialog.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5ToolBarDialog.html	Sat May 01 14:27:20 2021 +0200
@@ -342,7 +342,7 @@
     Class storing data belonging to a toolbar entry of the toolbar dialog.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Gui.E5ToolButton.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5ToolButton.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5ToolButton">E5ToolButton</a></td>
 <td>Class implementing a specialized tool button subclass.</td>
 </tr>
+<tr>
+<td><a href="#E5ToolButtonOptions">E5ToolButtonOptions</a></td>
+<td>Class defining the tool button options.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -83,7 +87,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>NoOptions</td></tr><tr><td>ShowMenuInsideOption</td></tr><tr><td>ToolBarLookOption</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -381,4 +385,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5ToolButtonOptions" ID="E5ToolButtonOptions"></a>
+<h2>E5ToolButtonOptions</h2>
+
+<p>
+    Class defining the tool button options.
+</p>
+<h3>Derived from</h3>
+enum.IntEnum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>DEFAULT</td></tr><tr><td>SHOW_MENU_INSIDE</td></tr><tr><td>TOOLBAR_LOOKUP</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Gui.E5TreeWidget.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Gui.E5TreeWidget.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5TreeWidget">E5TreeWidget</a></td>
 <td>Class implementing an extended tree widget.</td>
 </tr>
+<tr>
+<td><a href="#E5TreeWidgetItemsState">E5TreeWidgetItemsState</a></td>
+<td>Class defining the items expansion state.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -71,7 +75,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>ItemsCollapsed</td></tr><tr><td>ItemsExpanded</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -405,18 +409,43 @@
 </p>
 <dl>
 
-<dt><i>mode</i></dt>
+<dt><i>mode</i> (E5TreeWidgetItemsState)</dt>
 <dd>
-default mode (ItemsCollapsed, ItemsExpanded)
-</dd>
-</dl>
-<dl>
-
-<dt>Raises <b>ValueError</b>:</dt>
-<dd>
-raised to indicate a bad parameter value
+default mode
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5TreeWidgetItemsState" ID="E5TreeWidgetItemsState"></a>
+<h2>E5TreeWidgetItemsState</h2>
+
+<p>
+    Class defining the items expansion state.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>COLLAPSED</td></tr><tr><td>EXPANDED</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Network.E5Ftp.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Network.E5Ftp.html	Sat May 01 14:27:20 2021 +0200
@@ -322,7 +322,7 @@
     Class defining the supported FTP proxy types.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Network.E5NetworkProxyFactory.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Network.E5NetworkProxyFactory.html	Sat May 01 14:27:20 2021 +0200
@@ -150,7 +150,7 @@
     Class implementing a matcher for host names.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Network.E5SslErrorHandler.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Network.E5SslErrorHandler.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5SslErrorHandler">E5SslErrorHandler</a></td>
 <td>Class implementing a handler for SSL errors.</td>
 </tr>
+<tr>
+<td><a href="#E5SslErrorState">E5SslErrorState</a></td>
+<td>Class defining the SSL error handling states.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -61,7 +65,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>NotIgnored</td></tr><tr><td>SystemIgnored</td></tr><tr><td>UserIgnored</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -159,25 +163,30 @@
 </p>
 <dl>
 
-<dt><i>errors</i></dt>
+<dt><i>errors</i> (list of QSslError)</dt>
 <dd>
-list of SSL errors (list of QSslError)
+list of SSL errors
 </dd>
-<dt><i>server</i></dt>
+<dt><i>server</i> (str)</dt>
 <dd>
-name of the server (string)
+name of the server
 </dd>
-<dt><i>port</i></dt>
+<dt><i>port</i> (int)</dt>
 <dd>
-value of the port (integer)
+value of the port
 </dd>
 </dl>
 <dl>
 <dt>Return:</dt>
 <dd>
-tuple indicating to ignore the SSL errors (one of NotIgnored,
-            SystemIgnored or UserIgnored) and indicating a change of the
-            default SSL configuration (boolean)
+tuple indicating to ignore the SSL errors and indicating a
+            change of the default SSL configuration
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (E5SslErrorState, bool)
 </dd>
 </dl>
 <a NAME="E5SslErrorHandler.sslErrorsReply" ID="E5SslErrorHandler.sslErrorsReply"></a>
@@ -226,4 +235,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5SslErrorState" ID="E5SslErrorState"></a>
+<h2>E5SslErrorState</h2>
+
+<p>
+    Class defining the SSL error handling states.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>NOT_IGNORED</td></tr><tr><td>SYSTEM_IGNORED</td></tr><tr><td>USER_IGNORED</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Network.E5TldExtractor.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Network.E5TldExtractor.html	Sat May 01 14:27:20 2021 +0200
@@ -615,7 +615,7 @@
     Class implementing the host parts helper.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.E5Network.E5UrlInfo.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Network.E5UrlInfo.html	Sat May 01 14:27:20 2021 +0200
@@ -38,6 +38,10 @@
 <td><a href="#E5UrlInfo">E5UrlInfo</a></td>
 <td>Class implementing a replacement for QUrlInfo.</td>
 </tr>
+<tr>
+<td><a href="#E5UrlPermission">E5UrlPermission</a></td>
+<td>Class defining the URL permissions.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -53,11 +57,11 @@
     Class implementing a replacement for QUrlInfo.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>ExeGroup</td></tr><tr><td>ExeOther</td></tr><tr><td>ExeOwner</td></tr><tr><td>ReadGroup</td></tr><tr><td>ReadOther</td></tr><tr><td>ReadOwner</td></tr><tr><td>WriteGroup</td></tr><tr><td>WriteOther</td></tr><tr><td>WriteOwner</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -542,4 +546,36 @@
 </dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="E5UrlPermission" ID="E5UrlPermission"></a>
+<h2>E5UrlPermission</h2>
+
+<p>
+    Class defining the URL permissions.
+</p>
+<h3>Derived from</h3>
+enum.IntEnum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>EXE_GROUP</td></tr><tr><td>EXE_OTHER</td></tr><tr><td>EXE_OWNER</td></tr><tr><td>READ_GROUP</td></tr><tr><td>READ_OTHER</td></tr><tr><td>READ_OWNER</td></tr><tr><td>WRITE_GROUP</td></tr><tr><td>WRITE_OTHER</td></tr><tr><td>WRITE_OWNER</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.E5Utilities.E5Cache.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.E5Utilities.E5Cache.html	Sat May 01 14:27:20 2021 +0200
@@ -58,7 +58,7 @@
     cache.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.Graphics.AssociationItem.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Graphics.AssociationItem.html	Sat May 01 14:27:20 2021 +0200
@@ -28,7 +28,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>Center</td></tr><tr><td>East</td></tr><tr><td>Generalisation</td></tr><tr><td>Imports</td></tr><tr><td>NoRegion</td></tr><tr><td>Normal</td></tr><tr><td>North</td></tr><tr><td>NorthEast</td></tr><tr><td>NorthWest</td></tr><tr><td>South</td></tr><tr><td>SouthEast</td></tr><tr><td>SouthWest</td></tr><tr><td>West</td></tr>
+<tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -38,6 +38,14 @@
 <td><a href="#AssociationItem">AssociationItem</a></td>
 <td>Class implementing a graphics item for an association between two items.</td>
 </tr>
+<tr>
+<td><a href="#AssociationPointRegion">AssociationPointRegion</a></td>
+<td>Class defining the regions for an association end point.</td>
+</tr>
+<tr>
+<td><a href="#AssociationType">AssociationType</a></td>
+<td>Class defining the association types.</td>
+</tr>
 </table>
 <h3>Functions</h3>
 
@@ -155,29 +163,24 @@
 </dl>
 <a NAME="AssociationItem.__init__" ID="AssociationItem.__init__"></a>
 <h4>AssociationItem (Constructor)</h4>
-<b>AssociationItem</b>(<i>itemA, itemB, assocType=Normal, topToBottom=False, colors=None, parent=None</i>)
+<b>AssociationItem</b>(<i>itemA, itemB, assocType=AssociationType.NORMAL, topToBottom=False, colors=None, parent=None</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>itemA</i></dt>
+<dt><i>itemA</i> (UMLItem)</dt>
 <dd>
 first widget of the association
 </dd>
-<dt><i>itemB</i></dt>
+<dt><i>itemB</i> (UMLItem)</dt>
 <dd>
 second widget of the association
 </dd>
-<dt><i>assocType</i></dt>
+<dt><i>assocType</i> (AssociationType)</dt>
 <dd>
-type of the association. This must be one of
-            <ul>
-            <li>Normal (default)</li>
-            <li>Generalisation</li>
-            <li>Imports</li>
-            </ul>
+type of the association
 </dd>
 <dt><i>topToBottom</i> (bool)</dt>
 <dd>
@@ -452,4 +455,68 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
+<hr />
+<a NAME="AssociationPointRegion" ID="AssociationPointRegion"></a>
+<h2>AssociationPointRegion</h2>
+
+<p>
+    Class defining the regions for an association end point.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>CENTER</td></tr><tr><td>EAST</td></tr><tr><td>NORTH</td></tr><tr><td>NORTH_EAST</td></tr><tr><td>NORTH_WEST</td></tr><tr><td>NO_REGION</td></tr><tr><td>SOUTH</td></tr><tr><td>SOUTH_EAST</td></tr><tr><td>SOUTH_WEST</td></tr><tr><td>WEST</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="AssociationType" ID="AssociationType"></a>
+<h2>AssociationType</h2>
+
+<p>
+    Class defining the association types.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>GENERALISATION</td></tr><tr><td>IMPORTS</td></tr><tr><td>NORMAL</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
 </body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.Graphics.UMLDialog.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Graphics.UMLDialog.html	Sat May 01 14:27:20 2021 +0200
@@ -77,10 +77,6 @@
 <td>Private method to instantiate a diagram builder object.</td>
 </tr>
 <tr>
-<td><a href="#UMLDialog.__diagramTypeString">__diagramTypeString</a></td>
-<td>Private method to generate a readable string for the diagram type.</td>
-</tr>
-<tr>
 <td><a href="#UMLDialog.__initActions">__initActions</a></td>
 <td>Private slot to initialize the actions.</td>
 </tr>
@@ -192,19 +188,6 @@
 raised to indicate an illegal diagram type
 </dd>
 </dl>
-<a NAME="UMLDialog.__diagramTypeString" ID="UMLDialog.__diagramTypeString"></a>
-<h4>UMLDialog.__diagramTypeString</h4>
-<b>__diagramTypeString</b>(<i></i>)
-
-<p>
-        Private method to generate a readable string for the diagram type.
-</p>
-<dl>
-<dt>Return:</dt>
-<dd>
-readable type string (string)
-</dd>
-</dl>
 <a NAME="UMLDialog.__initActions" ID="UMLDialog.__initActions"></a>
 <h4>UMLDialog.__initActions</h4>
 <b>__initActions</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Graphics.UMLItem.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Graphics.UMLItem.html	Sat May 01 14:27:20 2021 +0200
@@ -424,7 +424,7 @@
     Class implementing the UMLModel base class.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.HexEdit.HexEditChunks.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.HexEdit.HexEditChunks.html	Sat May 01 14:27:20 2021 +0200
@@ -57,7 +57,7 @@
     Class implementing a container for the data chunks.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -115,7 +115,7 @@
     are changed and which are not.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.HexEdit.HexEditUndoStack.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.HexEdit.HexEditUndoStack.html	Sat May 01 14:27:20 2021 +0200
@@ -36,7 +36,7 @@
 
 <tr>
 <td><a href="#HexEditCommand">HexEditCommand</a></td>
-<td>Class implementing the edit comands.</td>
+<td>Class implementing the edit commands.</td>
 </tr>
 <tr>
 <td><a href="#HexEditUndoCommand">HexEditUndoCommand</a></td>
@@ -58,14 +58,14 @@
 <h2>HexEditCommand</h2>
 
 <p>
-    Class implementing the edit comands.
+    Class implementing the edit commands.
 </p>
 <h3>Derived from</h3>
-Enum
+enum.Enum
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>Insert</td></tr><tr><td>Overwrite</td></tr><tr><td>RemoveAt</td></tr>
+<tr><td>INSERT</td></tr><tr><td>OVERWRITE</td></tr><tr><td>REMOVEAT</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/eric6/Documentation/Source/eric6.MicroPython.EspFirmwareSelectionDialog.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.MicroPython.EspFirmwareSelectionDialog.html	Sat May 01 14:27:20 2021 +0200
@@ -133,13 +133,14 @@
 <dt>Return:</dt>
 <dd>
 tuple containing the selected chip type, the path of the
-            firmware file, the flash mode and the flash address
+            firmware file, the baud rate, the flash mode and the flash
+            address
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-tuple of (str, str, str, str)
+tuple of (str, str, str, str, str)
 </dd>
 </dl>
 <a NAME="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" ID="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged"></a>
--- a/eric6/Documentation/Source/eric6.Network.IRC.IrcMessageEdit.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Network.IRC.IrcMessageEdit.html	Sat May 01 14:27:20 2021 +0200
@@ -101,25 +101,24 @@
 
 <a NAME="IrcMessageEdit.__init__" ID="IrcMessageEdit.__init__"></a>
 <h4>IrcMessageEdit (Constructor)</h4>
-<b>IrcMessageEdit</b>(<i>parent=None, inactiveText="", side=E5LineEdit.RightSide</i>)
+<b>IrcMessageEdit</b>(<i>parent=None, inactiveText="", side=E5LineEditSide.RIGHT</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-reference to the parent widget (QWidget)
+reference to the parent widget
 </dd>
-<dt><i>inactiveText</i></dt>
+<dt><i>inactiveText</i> (str)</dt>
 <dd>
-text to be shown on inactivity (string)
+text to be shown on inactivity
 </dd>
-<dt><i>side</i></dt>
+<dt><i>side</i> (E5LineEditSide)</dt>
 <dd>
 side the clear button should be shown at
-            (E5LineEdit.RightSide, E5LineEdit.LeftSide)
 </dd>
 </dl>
 <a NAME="IrcMessageEdit.__addHistory" ID="IrcMessageEdit.__addHistory"></a>
--- a/eric6/Documentation/Source/eric6.Network.IRC.IrcNetworkManager.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Network.IRC.IrcNetworkManager.html	Sat May 01 14:27:20 2021 +0200
@@ -69,7 +69,7 @@
     Class implementing the IRC channel object.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -244,7 +244,7 @@
     Class implementing the IRC identity object.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -700,7 +700,7 @@
     Class implementing the IRC network object.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -1477,7 +1477,7 @@
     Class implementing the IRC identity object.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html	Sat May 01 14:27:20 2021 +0200
@@ -38,23 +38,11 @@
 <td><a href="#AnnotationsChecker">AnnotationsChecker</a></td>
 <td>Class implementing a checker for function type annotations.</td>
 </tr>
-<tr>
-<td><a href="#FunctionVisitor">FunctionVisitor</a></td>
-<td>Class implementing a node visitor to check function annotations.</td>
-</tr>
 </table>
 <h3>Functions</h3>
 
 <table>
-
-<tr>
-<td><a href="#getAnnotationComplexity">getAnnotationComplexity</a></td>
-<td>Function to determine the annotation complexity.</td>
-</tr>
-<tr>
-<td><a href="#hasTypeAnnotations">hasTypeAnnotations</a></td>
-<td>Function to check for type annotations.</td>
-</tr>
+<tr><td>None</td></tr>
 </table>
 <hr />
 <hr />
@@ -65,7 +53,7 @@
     Class implementing a checker for function type annotations.
 </p>
 <h3>Derived from</h3>
-object
+None
 <h3>Class Attributes</h3>
 
 <table>
@@ -85,6 +73,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#AnnotationsChecker.__argumentErrorClassifier">__argumentErrorClassifier</a></td>
+<td>Private method to classify an argument type annotation issue.</td>
+</tr>
+<tr>
 <td><a href="#AnnotationsChecker.__checkAnnotationComplexity">__checkAnnotationComplexity</a></td>
 <td>Private method to check the type annotation complexity.</td>
 </tr>
@@ -97,20 +89,32 @@
 <td>Private method to check for function annotation issues.</td>
 </tr>
 <tr>
+<td><a href="#AnnotationsChecker.__classifyError">__classifyError</a></td>
+<td>Private method to classify the missing type annotation based on the Function & Argument metadata.</td>
+</tr>
+<tr>
 <td><a href="#AnnotationsChecker.__error">__error</a></td>
 <td>Private method to record an issue.</td>
 </tr>
 <tr>
-<td><a href="#AnnotationsChecker.__generateTree">__generateTree</a></td>
-<td>Private method to generate an AST for our source.</td>
+<td><a href="#AnnotationsChecker.__getAnnotationComplexity">__getAnnotationComplexity</a></td>
+<td>Private method to determine the annotation complexity.</td>
+</tr>
+<tr>
+<td><a href="#AnnotationsChecker.__getAnnotationLength">__getAnnotationLength</a></td>
+<td>Private method to determine the annotation length.</td>
+</tr>
+<tr>
+<td><a href="#AnnotationsChecker.__hasTypeAnnotations">__hasTypeAnnotations</a></td>
+<td>Private method to check for type annotations.</td>
 </tr>
 <tr>
 <td><a href="#AnnotationsChecker.__ignoreCode">__ignoreCode</a></td>
 <td>Private method to check if the message code should be ignored.</td>
 </tr>
 <tr>
-<td><a href="#AnnotationsChecker.__reportInvalidSyntax">__reportInvalidSyntax</a></td>
-<td>Private method to report a syntax error.</td>
+<td><a href="#AnnotationsChecker.__returnErrorClassifier">__returnErrorClassifier</a></td>
+<td>Private method to classify a return type annotation issue.</td>
 </tr>
 <tr>
 <td><a href="#AnnotationsChecker.run">run</a></td>
@@ -125,7 +129,7 @@
 
 <a NAME="AnnotationsChecker.__init__" ID="AnnotationsChecker.__init__"></a>
 <h4>AnnotationsChecker (Constructor)</h4>
-<b>AnnotationsChecker</b>(<i>source, filename, select, ignore, expected, repeat, args</i>)
+<b>AnnotationsChecker</b>(<i>source, filename, tree, select, ignore, expected, repeat, args</i>)
 
 <p>
         Constructor
@@ -140,6 +144,10 @@
 <dd>
 name of the source file
 </dd>
+<dt><i>tree</i> (ast.Module)</dt>
+<dd>
+AST tree of the source code
+</dd>
 <dt><i>select</i> (list of str)</dt>
 <dd>
 list of selected codes
@@ -161,6 +169,44 @@
 dictionary of arguments for the annotation checks
 </dd>
 </dl>
+<a NAME="AnnotationsChecker.__argumentErrorClassifier" ID="AnnotationsChecker.__argumentErrorClassifier"></a>
+<h4>AnnotationsChecker.__argumentErrorClassifier</h4>
+<b>__argumentErrorClassifier</b>(<i>isClassMethod, isFirstArg, classDecoratorType, annotationType</i>)
+
+<p>
+        Private method to classify an argument type annotation issue.
+</p>
+<dl>
+
+<dt><i>isClassMethod</i> (bool)</dt>
+<dd>
+flag indicating a classmethod type function
+</dd>
+<dt><i>isFirstArg</i> (bool)</dt>
+<dd>
+flag indicating the first argument
+</dd>
+<dt><i>classDecoratorType</i> (enums.ClassDecoratorType)</dt>
+<dd>
+type of class decorator
+</dd>
+<dt><i>annotationType</i> (AnnotationType)</dt>
+<dd>
+type of annotation
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+error code
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="AnnotationsChecker.__checkAnnotationComplexity" ID="AnnotationsChecker.__checkAnnotationComplexity"></a>
 <h4>AnnotationsChecker.__checkAnnotationComplexity</h4>
 <b>__checkAnnotationComplexity</b>(<i></i>)
@@ -182,6 +228,34 @@
 <p>
         Private method to check for function annotation issues.
 </p>
+<a NAME="AnnotationsChecker.__classifyError" ID="AnnotationsChecker.__classifyError"></a>
+<h4>AnnotationsChecker.__classifyError</h4>
+<b>__classifyError</b>(<i>function, arg</i>)
+
+<p>
+        Private method to classify the missing type annotation based on the
+        Function & Argument metadata.
+</p>
+<p>
+        For the currently defined rules & program flow, the assumption can be
+        made that an argument passed to this method will match a linting error,
+        and will only match a single linting error
+</p>
+<p>
+        This function provides an initial classificaton, then passes relevant
+        attributes to cached helper function(s).
+</p>
+<dl>
+
+<dt><i>function</i> (Function)</dt>
+<dd>
+reference to the Function object
+</dd>
+<dt><i>arg</i> (Argument)</dt>
+<dd>
+reference to the Argument object
+</dd>
+</dl>
 <a NAME="AnnotationsChecker.__error" ID="AnnotationsChecker.__error"></a>
 <h4>AnnotationsChecker.__error</h4>
 <b>__error</b>(<i>lineNumber, offset, code, *args</i>)
@@ -208,23 +282,88 @@
 arguments for the message
 </dd>
 </dl>
-<a NAME="AnnotationsChecker.__generateTree" ID="AnnotationsChecker.__generateTree"></a>
-<h4>AnnotationsChecker.__generateTree</h4>
-<b>__generateTree</b>(<i></i>)
+<a NAME="AnnotationsChecker.__getAnnotationComplexity" ID="AnnotationsChecker.__getAnnotationComplexity"></a>
+<h4>AnnotationsChecker.__getAnnotationComplexity</h4>
+<b>__getAnnotationComplexity</b>(<i>annotationNode, defaultComplexity=1</i>)
 
 <p>
-        Private method to generate an AST for our source.
+        Private method to determine the annotation complexity.
 </p>
 <dl>
+
+<dt><i>annotationNode</i> (ast.AST)</dt>
+<dd>
+reference to the node to determine the annotation
+            complexity for
+</dd>
+<dt><i>defaultComplexity</i> (int)</dt>
+<dd>
+default complexity value
+</dd>
+</dl>
+<dl>
 <dt>Return:</dt>
 <dd>
-generated AST
+annotation complexity
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-ast.Module
+= int
+</dd>
+</dl>
+<a NAME="AnnotationsChecker.__getAnnotationLength" ID="AnnotationsChecker.__getAnnotationLength"></a>
+<h4>AnnotationsChecker.__getAnnotationLength</h4>
+<b>__getAnnotationLength</b>(<i>annotationNode</i>)
+
+<p>
+        Private method to determine the annotation length.
+</p>
+<dl>
+
+<dt><i>annotationNode</i> (ast.AST)</dt>
+<dd>
+reference to the node to determine the annotation
+            length for
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+annotation length
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+= int
+</dd>
+</dl>
+<a NAME="AnnotationsChecker.__hasTypeAnnotations" ID="AnnotationsChecker.__hasTypeAnnotations"></a>
+<h4>AnnotationsChecker.__hasTypeAnnotations</h4>
+<b>__hasTypeAnnotations</b>(<i>funcNode</i>)
+
+<p>
+        Private method to check for type annotations.
+</p>
+<dl>
+
+<dt><i>funcNode</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node to be checked
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating the presence of type annotations
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
 </dd>
 </dl>
 <a NAME="AnnotationsChecker.__ignoreCode" ID="AnnotationsChecker.__ignoreCode"></a>
@@ -253,13 +392,40 @@
 bool
 </dd>
 </dl>
-<a NAME="AnnotationsChecker.__reportInvalidSyntax" ID="AnnotationsChecker.__reportInvalidSyntax"></a>
-<h4>AnnotationsChecker.__reportInvalidSyntax</h4>
-<b>__reportInvalidSyntax</b>(<i></i>)
+<a NAME="AnnotationsChecker.__returnErrorClassifier" ID="AnnotationsChecker.__returnErrorClassifier"></a>
+<h4>AnnotationsChecker.__returnErrorClassifier</h4>
+<b>__returnErrorClassifier</b>(<i>isClassMethod, classDecoratorType, functionType</i>)
 
 <p>
-        Private method to report a syntax error.
+        Private method to classify a return type annotation issue.
 </p>
+<dl>
+
+<dt><i>isClassMethod</i> (bool)</dt>
+<dd>
+flag indicating a classmethod type function
+</dd>
+<dt><i>classDecoratorType</i> (ClassDecoratorType)</dt>
+<dd>
+type of class decorator
+</dd>
+<dt><i>functionType</i> (FunctionType)</dt>
+<dd>
+type of function
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+error code
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="AnnotationsChecker.run" ID="AnnotationsChecker.run"></a>
 <h4>AnnotationsChecker.run</h4>
 <b>run</b>(<i></i>)
@@ -269,248 +435,4 @@
 </p>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
-<hr />
-<a NAME="FunctionVisitor" ID="FunctionVisitor"></a>
-<h2>FunctionVisitor</h2>
-
-<p>
-    Class implementing a node visitor to check function annotations.
-</p>
-<p>
-    Note: this class is modelled after flake8-annotations checker.
-</p>
-<h3>Derived from</h3>
-ast.NodeVisitor
-<h3>Class Attributes</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Class Methods</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-
-<table>
-
-<tr>
-<td><a href="#FunctionVisitor.__init__">FunctionVisitor</a></td>
-<td>Constructor</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.__checkFunctionNode">__checkFunctionNode</a></td>
-<td>Private method to check an individual function definition node.</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.__classifyArgumentError">__classifyArgumentError</a></td>
-<td>Private method to classify and record an argument annotation issue.</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.__classifyReturnError">__classifyReturnError</a></td>
-<td>Private method to classify and record a return annotation issue.</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.visit_AsyncFunctionDef">visit_AsyncFunctionDef</a></td>
-<td>Public method to handle an async function or method definition.</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.visit_ClassDef">visit_ClassDef</a></td>
-<td>Public method to handle class definitions.</td>
-</tr>
-<tr>
-<td><a href="#FunctionVisitor.visit_FunctionDef">visit_FunctionDef</a></td>
-<td>Public method to handle a function or method definition.</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-
-<a NAME="FunctionVisitor.__init__" ID="FunctionVisitor.__init__"></a>
-<h4>FunctionVisitor (Constructor)</h4>
-<b>FunctionVisitor</b>(<i>sourceLines</i>)
-
-<p>
-        Constructor
-</p>
-<dl>
-
-<dt><i>sourceLines</i> (list of str)</dt>
-<dd>
-lines of source code
-</dd>
-</dl>
-<a NAME="FunctionVisitor.__checkFunctionNode" ID="FunctionVisitor.__checkFunctionNode"></a>
-<h4>FunctionVisitor.__checkFunctionNode</h4>
-<b>__checkFunctionNode</b>(<i>node, classMethod=False</i>)
-
-<p>
-        Private method to check an individual function definition node.
-</p>
-<dl>
-
-<dt><i>node</i> (ast.FunctionDef or ast.AsyncFunctionDef)</dt>
-<dd>
-reference to the node to be processed
-</dd>
-<dt><i>classMethod</i> (bool)</dt>
-<dd>
-flag indicating a class method
-</dd>
-</dl>
-<a NAME="FunctionVisitor.__classifyArgumentError" ID="FunctionVisitor.__classifyArgumentError"></a>
-<h4>FunctionVisitor.__classifyArgumentError</h4>
-<b>__classifyArgumentError</b>(<i>argNode, argType, methodType</i>)
-
-<p>
-        Private method to classify and record an argument annotation issue.
-</p>
-<dl>
-
-<dt><i>argNode</i> (ast.arguments)</dt>
-<dd>
-reference to the argument node
-</dd>
-<dt><i>argType</i> (str)</dt>
-<dd>
-type of the argument node
-</dd>
-<dt><i>methodType</i> (str)</dt>
-<dd>
-type of method/function the argument belongs to
-</dd>
-</dl>
-<a NAME="FunctionVisitor.__classifyReturnError" ID="FunctionVisitor.__classifyReturnError"></a>
-<h4>FunctionVisitor.__classifyReturnError</h4>
-<b>__classifyReturnError</b>(<i>methodType, visibilityType, lineno, colOffset</i>)
-
-<p>
-        Private method to classify and record a return annotation issue.
-</p>
-<dl>
-
-<dt><i>methodType</i> (str)</dt>
-<dd>
-type of method/function the argument belongs to
-</dd>
-<dt><i>visibilityType</i> (str)</dt>
-<dd>
-visibility of the function
-</dd>
-<dt><i>lineno</i> (int)</dt>
-<dd>
-line number
-</dd>
-<dt><i>colOffset</i> (int)</dt>
-<dd>
-column number
-</dd>
-</dl>
-<a NAME="FunctionVisitor.visit_AsyncFunctionDef" ID="FunctionVisitor.visit_AsyncFunctionDef"></a>
-<h4>FunctionVisitor.visit_AsyncFunctionDef</h4>
-<b>visit_AsyncFunctionDef</b>(<i>node</i>)
-
-<p>
-        Public method to handle an async function or method definition.
-</p>
-<dl>
-
-<dt><i>node</i> (ast.AsyncFunctionDef)</dt>
-<dd>
-reference to the node to be processed
-</dd>
-</dl>
-<a NAME="FunctionVisitor.visit_ClassDef" ID="FunctionVisitor.visit_ClassDef"></a>
-<h4>FunctionVisitor.visit_ClassDef</h4>
-<b>visit_ClassDef</b>(<i>node</i>)
-
-<p>
-        Public method to handle class definitions.
-</p>
-<dl>
-
-<dt><i>node</i> (ast.ClassDef)</dt>
-<dd>
-reference to the node to be processed
-</dd>
-</dl>
-<a NAME="FunctionVisitor.visit_FunctionDef" ID="FunctionVisitor.visit_FunctionDef"></a>
-<h4>FunctionVisitor.visit_FunctionDef</h4>
-<b>visit_FunctionDef</b>(<i>node</i>)
-
-<p>
-        Public method to handle a function or method definition.
-</p>
-<dl>
-
-<dt><i>node</i> (ast.FunctionDef)</dt>
-<dd>
-reference to the node to be processed
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-<hr />
-<a NAME="getAnnotationComplexity" ID="getAnnotationComplexity"></a>
-<h2>getAnnotationComplexity</h2>
-<b>getAnnotationComplexity</b>(<i>annotationNode</i>)
-
-<p>
-    Function to determine the annotation complexity.
-</p>
-<dl>
-
-<dt><i>annotationNode</i> (ast.AST)</dt>
-<dd>
-reference to the node to determine the annotation
-        complexity for
-</dd>
-</dl>
-<dl>
-<dt>Return:</dt>
-<dd>
-annotation complexity
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-= int
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-<hr />
-<a NAME="hasTypeAnnotations" ID="hasTypeAnnotations"></a>
-<h2>hasTypeAnnotations</h2>
-<b>hasTypeAnnotations</b>(<i>funcNode</i>)
-
-<p>
-    Function to check for type annotations.
-</p>
-<dl>
-
-<dt><i>funcNode</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
-<dd>
-reference to the function definition node to be checked
-</dd>
-</dl>
-<dl>
-<dt>Return:</dt>
-<dd>
-flag indicating the presence of type annotations
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-bool
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
 </body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults.html	Sat May 01 14:27:20 2021 +0200
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsCheckerDefaults</h1>
+
+<p>
+Module implementing complex defaults for the annotations checker.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>AnnotationsCheckerDefaultArgs</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums.html	Sat May 01 14:27:20 2021 +0200
@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsEnums</h1>
+
+<p>
+Module implementing some enums for function type annotations.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#AnnotationType">AnnotationType</a></td>
+<td>Class representing the kind of missing type annotation.</td>
+</tr>
+<tr>
+<td><a href="#ClassDecoratorType">ClassDecoratorType</a></td>
+<td>Class representing the various class method decorators.</td>
+</tr>
+<tr>
+<td><a href="#FunctionType">FunctionType</a></td>
+<td>Class representing the various function types.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="AnnotationType" ID="AnnotationType"></a>
+<h2>AnnotationType</h2>
+
+<p>
+    Class representing the kind of missing type annotation.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>ARGS</td></tr><tr><td>KWARG</td></tr><tr><td>KWONLYARGS</td></tr><tr><td>POSONLYARGS</td></tr><tr><td>RETURN</td></tr><tr><td>VARARG</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="ClassDecoratorType" ID="ClassDecoratorType"></a>
+<h2>ClassDecoratorType</h2>
+
+<p>
+    Class representing the various class method decorators.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>CLASSMETHOD</td></tr><tr><td>STATICMETHOD</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="FunctionType" ID="FunctionType"></a>
+<h2>FunctionType</h2>
+
+<p>
+    Class representing the various function types.
+</p>
+<h3>Derived from</h3>
+enum.Enum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>PRIVATE</td></tr><tr><td>PROTECTED</td></tr><tr><td>PUBLIC</td></tr><tr><td>SPECIAL</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor.html	Sat May 01 14:27:20 2021 +0200
@@ -0,0 +1,969 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsFunctionVisitor</h1>
+
+<p>
+Module implementing a node visitor for function type annotations.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>AST_ARG_TYPES</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#Argument">Argument</a></td>
+<td>Class representing a function argument.</td>
+</tr>
+<tr>
+<td><a href="#Function">Function</a></td>
+<td>Class representing a function.</td>
+</tr>
+<tr>
+<td><a href="#FunctionVisitor">FunctionVisitor</a></td>
+<td>Class implementing a node visitor to check function annotations.</td>
+</tr>
+<tr>
+<td><a href="#ReturnVisitor">ReturnVisitor</a></td>
+<td>Class implementing a node visitor to check the return statements of a function node.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="Argument" ID="Argument"></a>
+<h2>Argument</h2>
+
+<p>
+    Class representing a function argument.
+</p>
+<h3>Derived from</h3>
+None
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#Argument.fromNode">fromNode</a></td>
+<td>Class method to create an Argument object based on the given node.</td>
+</tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#Argument.__init__">Argument</a></td>
+<td>Constructor</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="Argument.fromNode" ID="Argument.fromNode"></a>
+<h4>Argument.fromNode (class method)</h4>
+<b>fromNode</b>(<i>node, annotationTypeName</i>)
+
+<p>
+        Class method to create an Argument object based on the given node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.arguments)</dt>
+<dd>
+reference to the node to be converted
+</dd>
+<dt><i>annotationTypeName</i> (str)</dt>
+<dd>
+name of the annotation type
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+Argument object
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+Argument
+</dd>
+</dl>
+<a NAME="Argument.__init__" ID="Argument.__init__"></a>
+<h4>Argument (Constructor)</h4>
+<b>Argument</b>(<i>argname, lineno, col_offset, annotationType, hasTypeAnnotation=False, has3107Annotation=False, hasTypeComment=False</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>argname</i> (str)</dt>
+<dd>
+name of the argument
+</dd>
+<dt><i>lineno</i> (int)</dt>
+<dd>
+line number
+</dd>
+<dt><i>col_offset</i> (int)</dt>
+<dd>
+column number
+</dd>
+<dt><i>annotationType</i> (AnnotationType)</dt>
+<dd>
+type of annotation
+</dd>
+<dt><i>hasTypeAnnotation</i> (bool (optional))</dt>
+<dd>
+flag indicating the presence of a type
+            annotation (defaults to False)
+</dd>
+<dt><i>has3107Annotation</i> (bool (optional))</dt>
+<dd>
+flag indicating the presence of a PEP 3107
+            annotation (defaults to False)
+</dd>
+<dt><i>hasTypeComment</i> (bool (optional))</dt>
+<dd>
+flag indicating the presence of a type comment
+            (defaults to False)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="Function" ID="Function"></a>
+<h2>Function</h2>
+
+<p>
+    Class representing a function.
+</p>
+<h3>Derived from</h3>
+None
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#Function.fromNode">fromNode</a></td>
+<td>Class method to create a Function object from ast.FunctionDef or ast.AsyncFunctionDef nodes.</td>
+</tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#Function.__init__">Function</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#Function.__decoratorChecker">__decoratorChecker</a></td>
+<td>Private method to check the provided decorator for a match against the provided set of check names.</td>
+</tr>
+<tr>
+<td><a href="#Function.getAnnotatedArguments">getAnnotatedArguments</a></td>
+<td>Public method to get list of arguments with type annotations.</td>
+</tr>
+<tr>
+<td><a href="#Function.getMissedAnnotations">getMissedAnnotations</a></td>
+<td>Public method to provide a list of arguments with missing type annotations.</td>
+</tr>
+<tr>
+<td><a href="#Function.hasDecorator">hasDecorator</a></td>
+<td>Public method to check whether the function node is decorated by any of the provided decorators.</td>
+</tr>
+<tr>
+<td><a href="#Function.isDynamicallyTyped">isDynamicallyTyped</a></td>
+<td>Public method to check, if a function definition is dynamically typed (i.e.</td>
+</tr>
+<tr>
+<td><a href="#Function.isFullyAnnotated">isFullyAnnotated</a></td>
+<td>Public method to check, if the function definition is fully type annotated.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#Function._maybeInjectClassArgument">_maybeInjectClassArgument</a></td>
+<td>Static method to inject `self` or `cls` args into a type comment to align with PEP 3107-style annotations.</td>
+</tr>
+<tr>
+<td><a href="#Function._singleLineColonSeeker">_singleLineColonSeeker</a></td>
+<td>Static method to find the line & column indices of a single line function definition.</td>
+</tr>
+<tr>
+<td><a href="#Function.colonSeeker">colonSeeker</a></td>
+<td>Static method to find the line & column indices of the function definition's closing colon.</td>
+</tr>
+<tr>
+<td><a href="#Function.getClassDecoratorType">getClassDecoratorType</a></td>
+<td>Static method to get the class method's decorator type from its function node.</td>
+</tr>
+<tr>
+<td><a href="#Function.getFunctionType">getFunctionType</a></td>
+<td>Static method to determine the function's FunctionType from its name.</td>
+</tr>
+<tr>
+<td><a href="#Function.tryTypeComment">tryTypeComment</a></td>
+<td>Static method to infer type hints from a function-level type comment.</td>
+</tr>
+</table>
+
+<a NAME="Function.fromNode" ID="Function.fromNode"></a>
+<h4>Function.fromNode (class method)</h4>
+<b>fromNode</b>(<i>node, lines, **kwargs</i>)
+
+<p>
+        Class method to create a Function object from ast.FunctionDef or
+        ast.AsyncFunctionDef nodes.
+</p>
+<p>
+        Accept the source code, as a list of strings, in order to get the
+        column where the function definition ends.
+</p>
+<p>
+        With exceptions, input kwargs are passed straight through to Function's
+        __init__. The following kwargs will be overridden:
+          * function_type
+          * class_decorator_type
+          * args
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node
+</dd>
+<dt><i>lines</i> (list of str)</dt>
+<dd>
+list of source code lines
+</dd>
+<dt><i>**kwargs=</i> (dict)</dt>
+<dd>
+keyword arguments
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+created Function object
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+Function
+</dd>
+</dl>
+<a NAME="Function.__init__" ID="Function.__init__"></a>
+<h4>Function (Constructor)</h4>
+<b>Function</b>(<i>name, lineno, col_offset, functionType=FunctionType.PUBLIC, isClassMethod=False, classDecoratorType=None, isReturnAnnotated=False, hasTypeComment=False, hasOnlyNoneReturns=True, isNested=False, decoratorList=None, args=None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>name</i> (str)</dt>
+<dd>
+name of the function
+</dd>
+<dt><i>lineno</i> (int)</dt>
+<dd>
+line number
+</dd>
+<dt><i>col_offset</i> (int)</dt>
+<dd>
+column number
+</dd>
+<dt><i>functionType</i> (FunctionType (optional))</dt>
+<dd>
+type of the function (defaults to
+            FunctionType.PUBLIC)
+</dd>
+<dt><i>isClassMethod</i> (bool (optional))</dt>
+<dd>
+flag indicating a class method (defaults to False)
+</dd>
+<dt><i>classDecoratorType</i> (ClassDecoratorType or None (optional))</dt>
+<dd>
+type of a function decorator
+            (defaults to None)
+</dd>
+<dt><i>isReturnAnnotated</i> (bool (optional))</dt>
+<dd>
+flag indicating the presence of a return
+            type annotation (defaults to False)
+</dd>
+<dt><i>hasTypeComment</i> (bool (optional))</dt>
+<dd>
+flag indicating the presence of a type comment
+            (defaults to False)
+</dd>
+<dt><i>hasOnlyNoneReturns</i> (bool (optional))</dt>
+<dd>
+flag indicating only None return values
+            (defaults to True)
+</dd>
+<dt><i>isNested</i> (bool (optional))</dt>
+<dd>
+flag indicating a nested function (defaults to False)
+</dd>
+<dt><i>decoratorList</i> (list of ast.Attribute, ast.Call or ast.Name (optional))</dt>
+<dd>
+list of decorator nodes (defaults to None)
+</dd>
+<dt><i>args</i> (list of Argument (optional))</dt>
+<dd>
+list of arguments (defaults to None)
+</dd>
+</dl>
+<a NAME="Function.__decoratorChecker" ID="Function.__decoratorChecker"></a>
+<h4>Function.__decoratorChecker</h4>
+<b>__decoratorChecker</b>(<i>decorator, checkDecorators</i>)
+
+<p>
+        Private method to check the provided decorator for a match against the
+        provided set of check names.
+</p>
+<p>
+        Decorators are assumed to be of the following form:
+            * `a.name` or `a.name()`
+            * `name` or `name()`
+</p>
+<p>
+        Note: Deeper imports (e.g. `a.b.name`) are not explicitly supported.
+</p>
+<dl>
+
+<dt><i>decorator</i> (ast.Attribute, ast.Call or ast.Name)</dt>
+<dd>
+decorator node to check
+</dd>
+<dt><i>checkDecorators</i> (set of str)</dt>
+<dd>
+set of decorators to check against
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating the presence of any decorators
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="Function.getAnnotatedArguments" ID="Function.getAnnotatedArguments"></a>
+<h4>Function.getAnnotatedArguments</h4>
+<b>getAnnotatedArguments</b>(<i></i>)
+
+<p>
+        Public method to get list of arguments with type annotations.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+list of arguments with type annotations.
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of Argument
+</dd>
+</dl>
+<a NAME="Function.getMissedAnnotations" ID="Function.getMissedAnnotations"></a>
+<h4>Function.getMissedAnnotations</h4>
+<b>getMissedAnnotations</b>(<i></i>)
+
+<p>
+        Public method to provide a list of arguments with missing type
+        annotations.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+list of arguments with missing type annotations
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of Argument
+</dd>
+</dl>
+<a NAME="Function.hasDecorator" ID="Function.hasDecorator"></a>
+<h4>Function.hasDecorator</h4>
+<b>hasDecorator</b>(<i>checkDecorators</i>)
+
+<p>
+        Public method to check whether the function node is decorated by any of
+        the provided decorators.
+</p>
+<p>
+        Decorator matching is done against the provided `checkDecorators` set.
+        Decorators are assumed to be either a module attribute (e.g.
+        `@typing.overload`) or name (e.g. `@overload`). For the case of a
+        module attribute, only the attribute is checked against
+        `overload_decorators`.
+</p>
+<p>
+        Note: Deeper decorator imports (e.g. `a.b.overload`) are not explicitly
+        supported.
+</p>
+<dl>
+
+<dt><i>checkDecorators</i> (set of str)</dt>
+<dd>
+set of decorators to check against
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating the presence of any decorators
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="Function.isDynamicallyTyped" ID="Function.isDynamicallyTyped"></a>
+<h4>Function.isDynamicallyTyped</h4>
+<b>isDynamicallyTyped</b>(<i></i>)
+
+<p>
+        Public method to check, if a function definition is dynamically typed
+        (i.e. completely lacking hints).
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating a dynamically typed function definition
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="Function.isFullyAnnotated" ID="Function.isFullyAnnotated"></a>
+<h4>Function.isFullyAnnotated</h4>
+<b>isFullyAnnotated</b>(<i></i>)
+
+<p>
+        Public method to check, if the function definition is fully type
+        annotated.
+</p>
+<p>
+        Note: self.args will always include an Argument object for return.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating a fully annotated function definition
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="Function._maybeInjectClassArgument" ID="Function._maybeInjectClassArgument"></a>
+<h4>Function._maybeInjectClassArgument (static)</h4>
+<b>_maybeInjectClassArgument</b>(<i>funcObj</i>)
+
+<p>
+        Static method to inject `self` or `cls` args into a type comment to
+        align with PEP 3107-style annotations.
+</p>
+<p>
+        Because PEP 484 does not describe a method to provide partial function-
+        level type comments, there is a potential for ambiguity in the context
+        of both class methods and classmethods when aligning type comments to
+        method arguments.
+</p>
+<p>
+        These two class methods, for example, should lint equivalently:
+</p>
+<p>
+            def bar(self, a):
+                # type: (int) -> int
+                ...
+</p>
+<p>
+            def bar(self, a: int) -> int
+                ...
+</p>
+<p>
+        When this example type comment is parsed by `ast` and then matched with
+        the method's arguments, it associates the `int` hint to `self` rather
+        than `a`, so a dummy hint needs to be provided in situations where
+        `self` or `class` are not hinted in the type comment in order to
+        achieve equivalent linting results to PEP-3107 style annotations.
+</p>
+<p>
+        A dummy `ast.Ellipses` constant is injected if the following criteria
+        are met:
+            1. The function node is either a class method or classmethod
+            2. The number of hinted args is at least 1 less than the number
+               of function args
+</p>
+<dl>
+
+<dt><i>hintTree</i> (ast.FunctionType)</dt>
+<dd>
+parsed type hint node
+</dd>
+<dt><i>funcObj</i> (Function)</dt>
+<dd>
+reference to the Function object
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+reference to the hint node
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+ast.FunctionType
+</dd>
+</dl>
+<a NAME="Function._singleLineColonSeeker" ID="Function._singleLineColonSeeker"></a>
+<h4>Function._singleLineColonSeeker (static)</h4>
+<b>_singleLineColonSeeker</b>(<i>line</i>)
+
+<p>
+        Static method to find the line & column indices of a single line
+        function definition.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node
+</dd>
+<dt><i>line</i> (str)</dt>
+<dd>
+source code line
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+line and column offset of the colon
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (int, int)
+</dd>
+</dl>
+<a NAME="Function.colonSeeker" ID="Function.colonSeeker"></a>
+<h4>Function.colonSeeker (static)</h4>
+<b>colonSeeker</b>(<i>lines</i>)
+
+<p>
+        Static method to find the line & column indices of the function
+        definition's closing colon.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node
+</dd>
+<dt><i>lines</i> (list of str)</dt>
+<dd>
+list of source code lines
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+line and column offset of the colon
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (int, int)
+</dd>
+</dl>
+<a NAME="Function.getClassDecoratorType" ID="Function.getClassDecoratorType"></a>
+<h4>Function.getClassDecoratorType (static)</h4>
+<b>getClassDecoratorType</b>(<i></i>)
+
+<p>
+        Static method to get the class method's decorator type from its
+        function node.
+</p>
+<p>
+        Only @classmethod and @staticmethod decorators are identified; all
+        other decorators are ignored
+</p>
+<p>
+        If @classmethod or @staticmethod decorators are not present, this
+        function will return None.
+</p>
+<dl>
+
+<dt><i>functionNode</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+class decorator type
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+ClassDecoratorType or None
+</dd>
+</dl>
+<a NAME="Function.getFunctionType" ID="Function.getFunctionType"></a>
+<h4>Function.getFunctionType (static)</h4>
+<b>getFunctionType</b>(<i></i>)
+
+<p>
+        Static method to determine the function's FunctionType from its name.
+</p>
+<p>
+        MethodType is determined by the following priority:
+          1. Special: function name prefixed & suffixed by "__"
+          2. Private: function name prefixed by "__"
+          3. Protected: function name prefixed by "_"
+          4. Public: everything else
+</p>
+<dl>
+
+<dt><i>functionName</i> (str)</dt>
+<dd>
+function name to be checked
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+type of function
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+FunctionType
+</dd>
+</dl>
+<a NAME="Function.tryTypeComment" ID="Function.tryTypeComment"></a>
+<h4>Function.tryTypeComment (static)</h4>
+<b>tryTypeComment</b>(<i>node</i>)
+
+<p>
+        Static method to infer type hints from a function-level type comment.
+</p>
+<p>
+        If a function is type commented it is assumed to have a return
+        annotation, otherwise Python will fail to parse the hint.
+</p>
+<dl>
+
+<dt><i>funcObj</i> (Function)</dt>
+<dd>
+reference to the Function object
+</dd>
+<dt><i>node</i> (ast.AsyncFunctionDef or ast.FunctionDef)</dt>
+<dd>
+reference to the function definition node
+</dd>
+</dl>