Sat, 25 Mar 2017 17:37:44 +0100
Regenerated the source docu.
--- a/APIs/Python3/eric6.api Sat Mar 25 17:36:50 2017 +0100 +++ b/APIs/Python3/eric6.api Sat Mar 25 17:37:44 2017 +0100 @@ -179,6 +179,7 @@ eric6.DebugClients.Python.DebugBase.DebugBase.getStack?4(frame=None, applyTrace=False) eric6.DebugClients.Python.DebugBase.DebugBase.go?4(special) eric6.DebugClients.Python.DebugBase.DebugBase.lib?7 +eric6.DebugClients.Python.DebugBase.DebugBase.move_instruction_pointer?4(lineno) eric6.DebugClients.Python.DebugBase.DebugBase.pathsToSkip?7 eric6.DebugClients.Python.DebugBase.DebugBase.profile?4(frame, event, arg) eric6.DebugClients.Python.DebugBase.DebugBase.profileWithRecursion?4(frame, event, arg) @@ -440,6 +441,7 @@ eric6.Debugger.DebugServer.DebugServer.remoteCoverage?4(fn, argv, wd, env, autoClearShell=True, erase=False, forProject=False, runInConsole=False, clientType="") eric6.Debugger.DebugServer.DebugServer.remoteEnvironment?4(env) eric6.Debugger.DebugServer.DebugServer.remoteLoad?4(fn, argv, wd, env, autoClearShell=True, tracePython=False, autoContinue=True, forProject=False, runInConsole=False, autoFork=False, forkChild=False, clientType="", enableCallTrace=False) +eric6.Debugger.DebugServer.DebugServer.remoteMoveIP?4(line) eric6.Debugger.DebugServer.DebugServer.remoteProfile?4(fn, argv, wd, env, autoClearShell=True, erase=False, forProject=False, runInConsole=False, clientType="") eric6.Debugger.DebugServer.DebugServer.remoteRawInput?4(s) eric6.Debugger.DebugServer.DebugServer.remoteRun?4(fn, argv, wd, env, autoClearShell=True, forProject=False, runInConsole=False, autoFork=False, forkChild=False, clientType="") @@ -556,6 +558,7 @@ eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteEnvironment?4(env) eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteEval?4(arg) eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) +eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteMoveIP?4(line) eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteProfile?4(fn, argv, wd, erase=False) eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteRawInput?4(s) eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) @@ -597,6 +600,7 @@ eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteCoverage?4(fn, argv, wd, erase=False) eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteEnvironment?4(env) eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) +eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteMoveIP?4(line) eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteProfile?4(fn, argv, wd, erase=False) eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteRawInput?4(s) eric6.Debugger.DebuggerInterfacePython2.DebuggerInterfacePython2.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) @@ -638,6 +642,7 @@ eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteCoverage?4(fn, argv, wd, erase=False) eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteEnvironment?4(env) eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteLoad?4(fn, argv, wd, traceInterpreter=False, autoContinue=True, autoFork=False, forkChild=False) +eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteMoveIP?4(line) eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteProfile?4(fn, argv, wd, erase=False) eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteRawInput?4(s) eric6.Debugger.DebuggerInterfacePython3.DebuggerInterfacePython3.remoteRun?4(fn, argv, wd, autoFork=False, forkChild=False) @@ -3964,6 +3969,13 @@ eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.Reindenter.run?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.Reindenter?1(sourceLines) eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.CodeStyleStatisticsDialog?1(statistics, parent=None) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.ComplexityChecker.Codes?7 +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.ComplexityChecker.run?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.ComplexityChecker?1(source, filename, select, ignore, args) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.LineComplexityVisitor.score?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.LineComplexityVisitor.sortedList?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.LineComplexityVisitor.visit?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.LineComplexityVisitor?1() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleChecker.Codes?7 eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleChecker.run?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleChecker.unpackArgs?4() @@ -3975,9 +3987,6 @@ eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.ssource?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.start?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext?1(source, startLine, contextType) -eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.McCabeChecker.Codes?7 -eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.McCabeChecker.run?4() -eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.McCabeChecker?1(source, filename, select, ignore, maxComplexity=10) eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.BuiltinsWhiteList?7 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.Codes?7 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.FormatFieldRegex?7
--- a/APIs/Python3/eric6.bas Sat Mar 25 17:36:50 2017 +0100 +++ b/APIs/Python3/eric6.bas Sat Mar 25 17:37:44 2017 +0100 @@ -506,6 +506,7 @@ LexerYAML Lexer QsciLexerYAML LfConvertDataDialog QDialog Ui_LfConvertDataDialog LfRevisionsInputDialog QDialog Ui_LfRevisionsInputDialog +LineComplexityVisitor ast.NodeVisitor ListResolver BaseResolver Listspace ViewManager LogViewer QWidget
--- a/Documentation/Help/source.qhp Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Help/source.qhp Sat Mar 25 17:37:44 2017 +0100 @@ -478,8 +478,8 @@ <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html" /> + <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html" /> - <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html" /> @@ -2995,6 +2995,15 @@ <keyword name="CompleterRuby.__inSingleQuotedString" id="CompleterRuby.__inSingleQuotedString" ref="eric6.QScintilla.TypingCompleters.CompleterRuby.html#CompleterRuby.__inSingleQuotedString" /> <keyword name="CompleterRuby.charAdded" id="CompleterRuby.charAdded" ref="eric6.QScintilla.TypingCompleters.CompleterRuby.html#CompleterRuby.charAdded" /> <keyword name="CompleterRuby.readSettings" id="CompleterRuby.readSettings" ref="eric6.QScintilla.TypingCompleters.CompleterRuby.html#CompleterRuby.readSettings" /> + <keyword name="ComplexityChecker" id="ComplexityChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker" /> + <keyword name="ComplexityChecker (Constructor)" id="ComplexityChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__init__" /> + <keyword name="ComplexityChecker (Module)" id="ComplexityChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html" /> + <keyword name="ComplexityChecker.__checkLineComplexity" id="ComplexityChecker.__checkLineComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__checkLineComplexity" /> + <keyword name="ComplexityChecker.__checkMcCabeComplexity" id="ComplexityChecker.__checkMcCabeComplexity" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__checkMcCabeComplexity" /> + <keyword name="ComplexityChecker.__error" id="ComplexityChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__error" /> + <keyword name="ComplexityChecker.__ignoreCode" id="ComplexityChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__ignoreCode" /> + <keyword name="ComplexityChecker.__reportInvalidSyntax" id="ComplexityChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.__reportInvalidSyntax" /> + <keyword name="ComplexityChecker.run" id="ComplexityChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#ComplexityChecker.run" /> <keyword name="Config (Module)" id="Config (Module)" ref="eric6.Debugger.Config.html" /> <keyword name="Config (Module)" id="Config (Module)" ref="eric6.DocumentationTools.Config.html" /> <keyword name="Config (Module)" id="Config (Module)" ref="eric6.E5XML.Config.html" /> @@ -3314,6 +3323,7 @@ <keyword name="DebugBase.getFrameLocals" id="DebugBase.getFrameLocals" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.getFrameLocals" /> <keyword name="DebugBase.getStack" id="DebugBase.getStack" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.getStack" /> <keyword name="DebugBase.go" id="DebugBase.go" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.go" /> + <keyword name="DebugBase.move_instruction_pointer" id="DebugBase.move_instruction_pointer" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.move_instruction_pointer" /> <keyword name="DebugBase.profile" id="DebugBase.profile" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.profile" /> <keyword name="DebugBase.profileWithRecursion" id="DebugBase.profileWithRecursion" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.profileWithRecursion" /> <keyword name="DebugBase.run" id="DebugBase.run" ref="eric6.DebugClients.Python.DebugBase.html#DebugBase.run" /> @@ -3454,6 +3464,7 @@ <keyword name="DebugServer.remoteCoverage" id="DebugServer.remoteCoverage" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteCoverage" /> <keyword name="DebugServer.remoteEnvironment" id="DebugServer.remoteEnvironment" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteEnvironment" /> <keyword name="DebugServer.remoteLoad" id="DebugServer.remoteLoad" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteLoad" /> + <keyword name="DebugServer.remoteMoveIP" id="DebugServer.remoteMoveIP" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteMoveIP" /> <keyword name="DebugServer.remoteProfile" id="DebugServer.remoteProfile" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteProfile" /> <keyword name="DebugServer.remoteRawInput" id="DebugServer.remoteRawInput" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteRawInput" /> <keyword name="DebugServer.remoteRun" id="DebugServer.remoteRun" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteRun" /> @@ -3530,6 +3541,7 @@ <keyword name="DebugUI.__getClientVariables" id="DebugUI.__getClientVariables" ref="eric6.Debugger.DebugUI.html#DebugUI.__getClientVariables" /> <keyword name="DebugUI.__getThreadList" id="DebugUI.__getThreadList" ref="eric6.Debugger.DebugUI.html#DebugUI.__getThreadList" /> <keyword name="DebugUI.__lastEditorClosed" id="DebugUI.__lastEditorClosed" ref="eric6.Debugger.DebugUI.html#DebugUI.__lastEditorClosed" /> + <keyword name="DebugUI.__moveInstructionPointer" id="DebugUI.__moveInstructionPointer" ref="eric6.Debugger.DebugUI.html#DebugUI.__moveInstructionPointer" /> <keyword name="DebugUI.__nextBreakpoint" id="DebugUI.__nextBreakpoint" ref="eric6.Debugger.DebugUI.html#DebugUI.__nextBreakpoint" /> <keyword name="DebugUI.__passiveDebugStarted" id="DebugUI.__passiveDebugStarted" ref="eric6.Debugger.DebugUI.html#DebugUI.__passiveDebugStarted" /> <keyword name="DebugUI.__previousBreakpoint" id="DebugUI.__previousBreakpoint" ref="eric6.Debugger.DebugUI.html#DebugUI.__previousBreakpoint" /> @@ -3626,6 +3638,7 @@ <keyword name="DebuggerInterfaceNone.remoteEnvironment" id="DebuggerInterfaceNone.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteEnvironment" /> <keyword name="DebuggerInterfaceNone.remoteEval" id="DebuggerInterfaceNone.remoteEval" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteEval" /> <keyword name="DebuggerInterfaceNone.remoteLoad" id="DebuggerInterfaceNone.remoteLoad" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteLoad" /> + <keyword name="DebuggerInterfaceNone.remoteMoveIP" id="DebuggerInterfaceNone.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteMoveIP" /> <keyword name="DebuggerInterfaceNone.remoteProfile" id="DebuggerInterfaceNone.remoteProfile" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteProfile" /> <keyword name="DebuggerInterfaceNone.remoteRawInput" id="DebuggerInterfaceNone.remoteRawInput" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteRawInput" /> <keyword name="DebuggerInterfaceNone.remoteRun" id="DebuggerInterfaceNone.remoteRun" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteRun" /> @@ -3673,6 +3686,7 @@ <keyword name="DebuggerInterfacePython2.remoteCoverage" id="DebuggerInterfacePython2.remoteCoverage" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteCoverage" /> <keyword name="DebuggerInterfacePython2.remoteEnvironment" id="DebuggerInterfacePython2.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteEnvironment" /> <keyword name="DebuggerInterfacePython2.remoteLoad" id="DebuggerInterfacePython2.remoteLoad" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteLoad" /> + <keyword name="DebuggerInterfacePython2.remoteMoveIP" id="DebuggerInterfacePython2.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteMoveIP" /> <keyword name="DebuggerInterfacePython2.remoteProfile" id="DebuggerInterfacePython2.remoteProfile" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteProfile" /> <keyword name="DebuggerInterfacePython2.remoteRawInput" id="DebuggerInterfacePython2.remoteRawInput" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteRawInput" /> <keyword name="DebuggerInterfacePython2.remoteRun" id="DebuggerInterfacePython2.remoteRun" ref="eric6.Debugger.DebuggerInterfacePython2.html#DebuggerInterfacePython2.remoteRun" /> @@ -3720,6 +3734,7 @@ <keyword name="DebuggerInterfacePython3.remoteCoverage" id="DebuggerInterfacePython3.remoteCoverage" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteCoverage" /> <keyword name="DebuggerInterfacePython3.remoteEnvironment" id="DebuggerInterfacePython3.remoteEnvironment" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteEnvironment" /> <keyword name="DebuggerInterfacePython3.remoteLoad" id="DebuggerInterfacePython3.remoteLoad" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteLoad" /> + <keyword name="DebuggerInterfacePython3.remoteMoveIP" id="DebuggerInterfacePython3.remoteMoveIP" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteMoveIP" /> <keyword name="DebuggerInterfacePython3.remoteProfile" id="DebuggerInterfacePython3.remoteProfile" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteProfile" /> <keyword name="DebuggerInterfacePython3.remoteRawInput" id="DebuggerInterfacePython3.remoteRawInput" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteRawInput" /> <keyword name="DebuggerInterfacePython3.remoteRun" id="DebuggerInterfacePython3.remoteRun" ref="eric6.Debugger.DebuggerInterfacePython3.html#DebuggerInterfacePython3.remoteRun" /> @@ -9472,6 +9487,12 @@ <keyword name="LfRevisionsInputDialog (Module)" id="LfRevisionsInputDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.LargefilesExtension.LfRevisionsInputDialog.html" /> <keyword name="LfRevisionsInputDialog.getRevisions" id="LfRevisionsInputDialog.getRevisions" ref="eric6.Plugins.VcsPlugins.vcsMercurial.LargefilesExtension.LfRevisionsInputDialog.html#LfRevisionsInputDialog.getRevisions" /> <keyword name="LfRevisionsInputDialog.on_revisionsEdit_textChanged" id="LfRevisionsInputDialog.on_revisionsEdit_textChanged" ref="eric6.Plugins.VcsPlugins.vcsMercurial.LargefilesExtension.LfRevisionsInputDialog.html#LfRevisionsInputDialog.on_revisionsEdit_textChanged" /> + <keyword name="LineComplexityVisitor" id="LineComplexityVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor" /> + <keyword name="LineComplexityVisitor (Constructor)" id="LineComplexityVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor.__init__" /> + <keyword name="LineComplexityVisitor.__median" id="LineComplexityVisitor.__median" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor.__median" /> + <keyword name="LineComplexityVisitor.score" id="LineComplexityVisitor.score" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor.score" /> + <keyword name="LineComplexityVisitor.sortedList" id="LineComplexityVisitor.sortedList" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor.sortedList" /> + <keyword name="LineComplexityVisitor.visit" id="LineComplexityVisitor.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html#LineComplexityVisitor.visit" /> <keyword name="LineShortener" id="LineShortener" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#LineShortener" /> <keyword name="LineShortener (Constructor)" id="LineShortener (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#LineShortener.__init__" /> <keyword name="LineShortener.__breakMultiline" id="LineShortener.__breakMultiline" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#LineShortener.__breakMultiline" /> @@ -9631,13 +9652,6 @@ <keyword name="MasterPasswordEntryDialog.on_currentPasswordEdit_textChanged" id="MasterPasswordEntryDialog.on_currentPasswordEdit_textChanged" ref="eric6.Preferences.ConfigurationPages.MasterPasswordEntryDialog.html#MasterPasswordEntryDialog.on_currentPasswordEdit_textChanged" /> <keyword name="MasterPasswordEntryDialog.on_newPasswordAgainEdit_textChanged" id="MasterPasswordEntryDialog.on_newPasswordAgainEdit_textChanged" ref="eric6.Preferences.ConfigurationPages.MasterPasswordEntryDialog.html#MasterPasswordEntryDialog.on_newPasswordAgainEdit_textChanged" /> <keyword name="MasterPasswordEntryDialog.on_newPasswordEdit_textChanged" id="MasterPasswordEntryDialog.on_newPasswordEdit_textChanged" ref="eric6.Preferences.ConfigurationPages.MasterPasswordEntryDialog.html#MasterPasswordEntryDialog.on_newPasswordEdit_textChanged" /> - <keyword name="McCabeChecker" id="McCabeChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker" /> - <keyword name="McCabeChecker (Constructor)" id="McCabeChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker.__init__" /> - <keyword name="McCabeChecker (Module)" id="McCabeChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html" /> - <keyword name="McCabeChecker.__error" id="McCabeChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker.__error" /> - <keyword name="McCabeChecker.__ignoreCode" id="McCabeChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker.__ignoreCode" /> - <keyword name="McCabeChecker.__reportInvalidSyntax" id="McCabeChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker.__reportInvalidSyntax" /> - <keyword name="McCabeChecker.run" id="McCabeChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html#McCabeChecker.run" /> <keyword name="MercurialPage" id="MercurialPage" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.html#MercurialPage" /> <keyword name="MercurialPage (Constructor)" id="MercurialPage (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.html#MercurialPage.__init__" /> <keyword name="MercurialPage (Module)" id="MercurialPage (Module)" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.MercurialPage.html" /> @@ -17436,8 +17450,8 @@ <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html</file> + <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html</file> - <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html</file>
--- a/Documentation/Source/eric6.DebugClients.Python.DebugBase.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.DebugClients.Python.DebugBase.html Sat Mar 25 17:37:44 2017 +0100 @@ -119,6 +119,9 @@ <td><a href="#DebugBase.go">go</a></td> <td>Public method to resume the thread.</td> </tr><tr> +<td><a href="#DebugBase.move_instruction_pointer">move_instruction_pointer</a></td> +<td>Public methode to move the instruction pointer to another line.</td> +</tr><tr> <td><a href="#DebugBase.profile">profile</a></td> <td>Public method used to trace some stuff independent of the debugger trace function.</td> </tr><tr> @@ -476,6 +479,16 @@ <dd> flag indicating a special continue operation </dd> +</dl><a NAME="DebugBase.move_instruction_pointer" ID="DebugBase.move_instruction_pointer"></a> +<h4>DebugBase.move_instruction_pointer</h4> +<b>move_instruction_pointer</b>(<i>lineno</i>) +<p> + Public methode to move the instruction pointer to another line. +</p><dl> +<dt><i>lineno</i> (int)</dt> +<dd> +new line number +</dd> </dl><a NAME="DebugBase.profile" ID="DebugBase.profile"></a> <h4>DebugBase.profile</h4> <b>profile</b>(<i>frame, event, arg</i>)
--- a/Documentation/Source/eric6.Debugger.DebugServer.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Debugger.DebugServer.html Sat Mar 25 17:37:44 2017 +0100 @@ -388,6 +388,9 @@ <td><a href="#DebugServer.remoteLoad">remoteLoad</a></td> <td>Public method to load a new program to debug.</td> </tr><tr> +<td><a href="#DebugServer.remoteMoveIP">remoteMoveIP</a></td> +<td>Public method to move the instruction pointer to a different line.</td> +</tr><tr> <td><a href="#DebugServer.remoteProfile">remoteProfile</a></td> <td>Public method to load a new program to collect profiling data.</td> </tr><tr> @@ -1314,6 +1317,16 @@ flag indicating to enable the call trace function (boolean) </dd> +</dl><a NAME="DebugServer.remoteMoveIP" ID="DebugServer.remoteMoveIP"></a> +<h4>DebugServer.remoteMoveIP</h4> +<b>remoteMoveIP</b>(<i>line</i>) +<p> + Public method to move the instruction pointer to a different line. +</p><dl> +<dt><i>line</i></dt> +<dd> +the new line, where execution should be continued +</dd> </dl><a NAME="DebugServer.remoteProfile" ID="DebugServer.remoteProfile"></a> <h4>DebugServer.remoteProfile</h4> <b>remoteProfile</b>(<i>fn, argv, wd, env, autoClearShell=True, erase=False, forProject=False, runInConsole=False, clientType=""</i>)
--- a/Documentation/Source/eric6.Debugger.DebugUI.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Debugger.DebugUI.html Sat Mar 25 17:37:44 2017 +0100 @@ -193,6 +193,9 @@ <td><a href="#DebugUI.__lastEditorClosed">__lastEditorClosed</a></td> <td>Private slot to handle the closeProgram signal.</td> </tr><tr> +<td><a href="#DebugUI.__moveInstructionPointer">__moveInstructionPointer</a></td> +<td>Private method to move the instruction pointer to a different line.</td> +</tr><tr> <td><a href="#DebugUI.__nextBreakpoint">__nextBreakpoint</a></td> <td>Private slot to handle the 'Next breakpoint' action.</td> </tr><tr> @@ -661,6 +664,11 @@ <b>__lastEditorClosed</b>(<i></i>) <p> Private slot to handle the closeProgram signal. +</p><a NAME="DebugUI.__moveInstructionPointer" ID="DebugUI.__moveInstructionPointer"></a> +<h4>DebugUI.__moveInstructionPointer</h4> +<b>__moveInstructionPointer</b>(<i></i>) +<p> + Private method to move the instruction pointer to a different line. </p><a NAME="DebugUI.__nextBreakpoint" ID="DebugUI.__nextBreakpoint"></a> <h4>DebugUI.__nextBreakpoint</h4> <b>__nextBreakpoint</b>(<i></i>)
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html Sat Mar 25 17:37:44 2017 +0100 @@ -117,6 +117,9 @@ <td><a href="#DebuggerInterfaceNone.remoteLoad">remoteLoad</a></td> <td>Public method to load a new program to debug.</td> </tr><tr> +<td><a href="#DebuggerInterfaceNone.remoteMoveIP">remoteMoveIP</a></td> +<td>Public method to move the instruction pointer to a different line.</td> +</tr><tr> <td><a href="#DebuggerInterfaceNone.remoteProfile">remoteProfile</a></td> <td>Public method to load a new program to collect profiling data.</td> </tr><tr> @@ -438,6 +441,16 @@ flag indicating to debug the child after forking (boolean) </dd> +</dl><a NAME="DebuggerInterfaceNone.remoteMoveIP" ID="DebuggerInterfaceNone.remoteMoveIP"></a> +<h4>DebuggerInterfaceNone.remoteMoveIP</h4> +<b>remoteMoveIP</b>(<i>line</i>) +<p> + Public method to move the instruction pointer to a different line. +</p><dl> +<dt><i>line</i></dt> +<dd> +the new line, where execution should be continued +</dd> </dl><a NAME="DebuggerInterfaceNone.remoteProfile" ID="DebuggerInterfaceNone.remoteProfile"></a> <h4>DebuggerInterfaceNone.remoteProfile</h4> <b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>)
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfacePython2.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Debugger.DebuggerInterfacePython2.html Sat Mar 25 17:37:44 2017 +0100 @@ -138,6 +138,9 @@ <td><a href="#DebuggerInterfacePython2.remoteLoad">remoteLoad</a></td> <td>Public method to load a new program to debug.</td> </tr><tr> +<td><a href="#DebuggerInterfacePython2.remoteMoveIP">remoteMoveIP</a></td> +<td>Public method to move the instruction pointer to a different line.</td> +</tr><tr> <td><a href="#DebuggerInterfacePython2.remoteProfile">remoteProfile</a></td> <td>Public method to load a new program to collect profiling data.</td> </tr><tr> @@ -548,6 +551,16 @@ flag indicating to debug the child after forking (boolean) </dd> +</dl><a NAME="DebuggerInterfacePython2.remoteMoveIP" ID="DebuggerInterfacePython2.remoteMoveIP"></a> +<h4>DebuggerInterfacePython2.remoteMoveIP</h4> +<b>remoteMoveIP</b>(<i>line</i>) +<p> + Public method to move the instruction pointer to a different line. +</p><dl> +<dt><i>line</i></dt> +<dd> +the new line, where execution should be continued +</dd> </dl><a NAME="DebuggerInterfacePython2.remoteProfile" ID="DebuggerInterfacePython2.remoteProfile"></a> <h4>DebuggerInterfacePython2.remoteProfile</h4> <b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>)
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfacePython3.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Debugger.DebuggerInterfacePython3.html Sat Mar 25 17:37:44 2017 +0100 @@ -138,6 +138,9 @@ <td><a href="#DebuggerInterfacePython3.remoteLoad">remoteLoad</a></td> <td>Public method to load a new program to debug.</td> </tr><tr> +<td><a href="#DebuggerInterfacePython3.remoteMoveIP">remoteMoveIP</a></td> +<td>Public method to move the instruction pointer to a different line.</td> +</tr><tr> <td><a href="#DebuggerInterfacePython3.remoteProfile">remoteProfile</a></td> <td>Public method to load a new program to collect profiling data.</td> </tr><tr> @@ -548,6 +551,16 @@ flag indicating to debug the child after forking (boolean) </dd> +</dl><a NAME="DebuggerInterfacePython3.remoteMoveIP" ID="DebuggerInterfacePython3.remoteMoveIP"></a> +<h4>DebuggerInterfacePython3.remoteMoveIP</h4> +<b>remoteMoveIP</b>(<i>line</i>) +<p> + Public method to move the instruction pointer to a different line. +</p><dl> +<dt><i>line</i></dt> +<dd> +the new line, where execution should be continued +</dd> </dl><a NAME="DebuggerInterfacePython3.remoteProfile" ID="DebuggerInterfacePython3.remoteProfile"></a> <h4>DebuggerInterfacePython3.remoteProfile</h4> <b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>)
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html Sat Mar 25 17:37:44 2017 +0100 @@ -147,10 +147,10 @@ arguments used by the codeStyleCheck function (list of excludeMessages (str), includeMessages (str), repeatMessages (bool), fixCodes (str), noFixCodes (str), fixIssues (bool), - maxLineLength (int), hangClosing (bool), docType (str), maximum - allowed code complexity (int), dictionary with arguments for the - miscellaneous checker (dict), errors (list of str), eol (str), - encoding (str), backup (bool)) + maxLineLength (int), hangClosing (bool), docType (str), dictionary + with arguments for the code complexity checker (dict), dictionary + with arguments for the miscellaneous checker (dict), errors (list + of str), eol (str), encoding (str), backup (bool)) </dd> </dl><dl> <dt>Returns:</dt>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html Sat Mar 25 17:37:44 2017 +0100 @@ -0,0 +1,285 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker</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.ComplexityChecker</h1> +<p> +Module implementing a checker for code complexity. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#ComplexityChecker">ComplexityChecker</a></td> +<td>Class implementing a checker for code complexity.</td> +</tr><tr> +<td><a href="#LineComplexityVisitor">LineComplexityVisitor</a></td> +<td>Class calculating the number of AST nodes per line of code and the median nodes/line score.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="ComplexityChecker" ID="ComplexityChecker"></a> +<h2>ComplexityChecker</h2> +<p> + Class implementing a checker for code complexity. +</p> +<h3>Derived from</h3> +object +<h3>Class Attributes</h3> +<table> +<tr><td>Codes</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#ComplexityChecker.__init__">ComplexityChecker</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#ComplexityChecker.__checkLineComplexity">__checkLineComplexity</a></td> +<td>Private method to check the complexity of a single line of code and the median line complexity of the source code.</td> +</tr><tr> +<td><a href="#ComplexityChecker.__checkMcCabeComplexity">__checkMcCabeComplexity</a></td> +<td>Private method to check the McCabe code complexity.</td> +</tr><tr> +<td><a href="#ComplexityChecker.__error">__error</a></td> +<td>Private method to record an issue.</td> +</tr><tr> +<td><a href="#ComplexityChecker.__ignoreCode">__ignoreCode</a></td> +<td>Private method to check if the message code should be ignored.</td> +</tr><tr> +<td><a href="#ComplexityChecker.__reportInvalidSyntax">__reportInvalidSyntax</a></td> +<td>Private method to report a syntax error.</td> +</tr><tr> +<td><a href="#ComplexityChecker.run">run</a></td> +<td>Public method to check the given source for code complexity.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="ComplexityChecker.__init__" ID="ComplexityChecker.__init__"></a> +<h4>ComplexityChecker (Constructor)</h4> +<b>ComplexityChecker</b>(<i>source, filename, select, ignore, args</i>) +<p> + Constructor +</p><dl> +<dt><i>source</i> (list of str)</dt> +<dd> +source code to be checked +</dd><dt><i>filename</i> (str)</dt> +<dd> +name of the source file +</dd><dt><i>select</i> (list of str)</dt> +<dd> +list of selected codes +</dd><dt><i>ignore</i> (list of str)</dt> +<dd> +list of codes to be ignored +</dd><dt><i>args</i> (dict)</dt> +<dd> +dictionary of arguments for the miscellaneous checks +</dd> +</dl><a NAME="ComplexityChecker.__checkLineComplexity" ID="ComplexityChecker.__checkLineComplexity"></a> +<h4>ComplexityChecker.__checkLineComplexity</h4> +<b>__checkLineComplexity</b>(<i></i>) +<p> + Private method to check the complexity of a single line of code and + the median line complexity of the source code. +</p><p> + Complexity is defined as the number of AST nodes produced by a line + of code. +</p><a NAME="ComplexityChecker.__checkMcCabeComplexity" ID="ComplexityChecker.__checkMcCabeComplexity"></a> +<h4>ComplexityChecker.__checkMcCabeComplexity</h4> +<b>__checkMcCabeComplexity</b>(<i></i>) +<p> + Private method to check the McCabe code complexity. +</p><a NAME="ComplexityChecker.__error" ID="ComplexityChecker.__error"></a> +<h4>ComplexityChecker.__error</h4> +<b>__error</b>(<i>lineNumber, offset, code, *args</i>) +<p> + Private method to record an issue. +</p><dl> +<dt><i>lineNumber</i> (int)</dt> +<dd> +line number of the issue +</dd><dt><i>offset</i> (int)</dt> +<dd> +position within line of the issue +</dd><dt><i>code</i> (str)</dt> +<dd> +message code +</dd><dt><i>args</i> (list)</dt> +<dd> +arguments for the message +</dd> +</dl><a NAME="ComplexityChecker.__ignoreCode" ID="ComplexityChecker.__ignoreCode"></a> +<h4>ComplexityChecker.__ignoreCode</h4> +<b>__ignoreCode</b>(<i>code</i>) +<p> + Private method to check if the message code should be ignored. +</p><dl> +<dt><i>code</i> (str)</dt> +<dd> +message code to check for +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating to ignore the given code +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="ComplexityChecker.__reportInvalidSyntax" ID="ComplexityChecker.__reportInvalidSyntax"></a> +<h4>ComplexityChecker.__reportInvalidSyntax</h4> +<b>__reportInvalidSyntax</b>(<i></i>) +<p> + Private method to report a syntax error. +</p><a NAME="ComplexityChecker.run" ID="ComplexityChecker.run"></a> +<h4>ComplexityChecker.run</h4> +<b>run</b>(<i></i>) +<p> + Public method to check the given source for code complexity. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="LineComplexityVisitor" ID="LineComplexityVisitor"></a> +<h2>LineComplexityVisitor</h2> +<p> + Class calculating the number of AST nodes per line of code + and the median nodes/line score. +</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="#LineComplexityVisitor.__init__">LineComplexityVisitor</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#LineComplexityVisitor.__median">__median</a></td> +<td>Private method to determine the median of a list.</td> +</tr><tr> +<td><a href="#LineComplexityVisitor.score">score</a></td> +<td>Public method to calculate the median.</td> +</tr><tr> +<td><a href="#LineComplexityVisitor.sortedList">sortedList</a></td> +<td>Public method to get a sorted list of (line, nodes) tuples.</td> +</tr><tr> +<td><a href="#LineComplexityVisitor.visit">visit</a></td> +<td>Public method to recursively visit all the nodes and add up the instructions.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="LineComplexityVisitor.__init__" ID="LineComplexityVisitor.__init__"></a> +<h4>LineComplexityVisitor (Constructor)</h4> +<b>LineComplexityVisitor</b>(<i></i>) +<p> + Constructor +</p><a NAME="LineComplexityVisitor.__median" ID="LineComplexityVisitor.__median"></a> +<h4>LineComplexityVisitor.__median</h4> +<b>__median</b>(<i>lst</i>) +<p> + Private method to determine the median of a list. +</p><dl> +<dt><i>lst</i> (list of int)</dt> +<dd> +list to determine the median for +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +median of the list +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +float +</dd> +</dl><a NAME="LineComplexityVisitor.score" ID="LineComplexityVisitor.score"></a> +<h4>LineComplexityVisitor.score</h4> +<b>score</b>(<i></i>) +<p> + Public method to calculate the median. +</p><dl> +<dt>Returns:</dt> +<dd> +median line complexity value +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +float +</dd> +</dl><a NAME="LineComplexityVisitor.sortedList" ID="LineComplexityVisitor.sortedList"></a> +<h4>LineComplexityVisitor.sortedList</h4> +<b>sortedList</b>(<i></i>) +<p> + Public method to get a sorted list of (line, nodes) tuples. +</p><dl> +<dt>Returns:</dt> +<dd> +sorted list of (line, nodes) tuples +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of tuple of (int,int) +</dd> +</dl><a NAME="LineComplexityVisitor.visit" ID="LineComplexityVisitor.visit"></a> +<h4>LineComplexityVisitor.visit</h4> +<b>visit</b>(<i>node</i>) +<p> + Public method to recursively visit all the nodes and add up the + instructions. +</p><dl> +<dt><i>node</i> (ast.AST)</dt> +<dd> +reference to the node +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html Sat Mar 25 17:36:50 2017 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -<!DOCTYPE html> -<html><head> -<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker</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.McCabeChecker</h1> -<p> -Module implementing a checker for code complexity. -</p> -<h3>Global Attributes</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Classes</h3> -<table> -<tr> -<td><a href="#McCabeChecker">McCabeChecker</a></td> -<td>Class implementing a checker for code complexity iaw.</td> -</tr> -</table> -<h3>Functions</h3> -<table> -<tr><td>None</td></tr> -</table> -<hr /><hr /> -<a NAME="McCabeChecker" ID="McCabeChecker"></a> -<h2>McCabeChecker</h2> -<p> - Class implementing a checker for code complexity iaw. McCabe. -</p> -<h3>Derived from</h3> -object -<h3>Class Attributes</h3> -<table> -<tr><td>Codes</td></tr> -</table> -<h3>Class Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<h3>Methods</h3> -<table> -<tr> -<td><a href="#McCabeChecker.__init__">McCabeChecker</a></td> -<td>Constructor</td> -</tr><tr> -<td><a href="#McCabeChecker.__error">__error</a></td> -<td>Private method to record an issue.</td> -</tr><tr> -<td><a href="#McCabeChecker.__ignoreCode">__ignoreCode</a></td> -<td>Private method to check if the error code should be ignored.</td> -</tr><tr> -<td><a href="#McCabeChecker.__reportInvalidSyntax">__reportInvalidSyntax</a></td> -<td>Private method to report a syntax error.</td> -</tr><tr> -<td><a href="#McCabeChecker.run">run</a></td> -<td>Public method to check the given source for code complexity.</td> -</tr> -</table> -<h3>Static Methods</h3> -<table> -<tr><td>None</td></tr> -</table> -<a NAME="McCabeChecker.__init__" ID="McCabeChecker.__init__"></a> -<h4>McCabeChecker (Constructor)</h4> -<b>McCabeChecker</b>(<i>source, filename, select, ignore, maxComplexity=10</i>) -<p> - Constructor -</p><dl> -<dt><i>source</i> (list of str)</dt> -<dd> -source code to be checked -</dd><dt><i>filename</i> (str)</dt> -<dd> -name of the source file -</dd><dt><i>select</i> (list of str)</dt> -<dd> -list of selected codes -</dd><dt><i>ignore</i> (list of str)</dt> -<dd> -list of codes to be ignored -</dd><dt><i>maxComplexity</i> (int)</dt> -<dd> -maximum allowed complexity value -</dd> -</dl><a NAME="McCabeChecker.__error" ID="McCabeChecker.__error"></a> -<h4>McCabeChecker.__error</h4> -<b>__error</b>(<i>lineNumber, offset, code, *args</i>) -<p> - Private method to record an issue. -</p><dl> -<dt><i>lineNumber</i> (int)</dt> -<dd> -line number of the issue -</dd><dt><i>offset</i> (int)</dt> -<dd> -position within line of the issue -</dd><dt><i>code</i> (str)</dt> -<dd> -message code -</dd><dt><i>args</i> (list)</dt> -<dd> -arguments for the message -</dd> -</dl><a NAME="McCabeChecker.__ignoreCode" ID="McCabeChecker.__ignoreCode"></a> -<h4>McCabeChecker.__ignoreCode</h4> -<b>__ignoreCode</b>(<i>code</i>) -<p> - Private method to check if the error code should be ignored. -</p><dl> -<dt><i>code</i></dt> -<dd> -message code to check for (string) -</dd> -</dl><dl> -<dt>Returns:</dt> -<dd> -flag indicating to ignore the given code (boolean) -</dd> -</dl><a NAME="McCabeChecker.__reportInvalidSyntax" ID="McCabeChecker.__reportInvalidSyntax"></a> -<h4>McCabeChecker.__reportInvalidSyntax</h4> -<b>__reportInvalidSyntax</b>(<i></i>) -<p> - Private method to report a syntax error. -</p><a NAME="McCabeChecker.run" ID="McCabeChecker.run"></a> -<h4>McCabeChecker.run</h4> -<b>run</b>(<i></i>) -<p> - Public method to check the given source for code complexity. -</p> -<div align="right"><a href="#top">Up</a></div> -<hr /> -</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html Sat Mar 25 17:36:50 2017 +0100 +++ b/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html Sat Mar 25 17:37:44 2017 +0100 @@ -46,12 +46,12 @@ <td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html">CodeStyleStatisticsDialog</a></td> <td>Module implementing a dialog showing statistical data for the last code style checker run.</td> </tr><tr> +<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.ComplexityChecker.html">ComplexityChecker</a></td> +<td>Module implementing a checker for code complexity.</td> +</tr><tr> <td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.html">DocStyleChecker</a></td> <td>Module implementing a checker for documentation string conventions.</td> </tr><tr> -<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.McCabeChecker.html">McCabeChecker</a></td> -<td>Module implementing a checker for code complexity.</td> -</tr><tr> <td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html">MiscellaneousChecker</a></td> <td>Module implementing a checker for miscellaneous checks.</td> </tr><tr>
--- a/eric6.e4p Sat Mar 25 17:36:50 2017 +0100 +++ b/eric6.e4p Sat Mar 25 17:37:44 2017 +0100 @@ -471,8 +471,8 @@ <Source>Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py</Source> + <Source>Plugins/CheckerPlugins/CodeStyleChecker/ComplexityChecker.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py</Source> - <Source>Plugins/CheckerPlugins/CodeStyleChecker/McCabeChecker.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py</Source> <Source>Plugins/CheckerPlugins/CodeStyleChecker/__init__.py</Source> @@ -2555,6 +2555,18 @@ <string></string> </value> <key> + <string>LineComplexity</string> + </key> + <value> + <int>20</int> + </value> + <key> + <string>LineComplexityScore</string> + </key> + <value> + <int>10</int> + </value> + <key> <string>MaxCodeComplexity</string> </key> <value>