Sun, 14 Feb 2010 14:01:08 +0000
Fixed an issue where the py3flakes checker threw a syntax error although the syntax check passed.
Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py | file | annotate | diff | comparison | revisions | |
QScintilla/Editor.py | file | annotate | diff | comparison | revisions |
--- a/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Sun Feb 14 13:33:03 2010 +0000 +++ b/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Sun Feb 14 14:01:08 2010 +0000 @@ -140,16 +140,23 @@ self.__createResultItem(fname, line, error, code) else: if Preferences.getFlakes("IncludeInSyntaxCheck"): - warnings = Checker(source, file) - warnings.messages.sort(key = lambda a: a.lineno) - for warning in warnings.messages: - if ignoreStarImportWarnings and \ - isinstance(warning, ImportStarUsed): - continue - self.noResults = False - fname, lineno, message = warning.getMessageData() - self.__createResultItem(fname, lineno, message, "", - isWarning = True) + try: + warnings = Checker(source, file) + warnings.messages.sort(key = lambda a: a.lineno) + for warning in warnings.messages: + if ignoreStarImportWarnings and \ + isinstance(warning, ImportStarUsed): + continue + self.noResults = False + fname, lineno, message = warning.getMessageData() + self.__createResultItem(fname, lineno, message, "", + isWarning = True) + except SyntaxError as err: + if err.text.strip(): + msg = err.text.strip() + else: + msg = err.msg + self.__createResultItem(err.filename, err.lineno, msg, "") progress += 1 self.checkProgress.setValue(progress) QApplication.processEvents()
--- a/QScintilla/Editor.py Sun Feb 14 13:33:03 2010 +0000 +++ b/QScintilla/Editor.py Sun Feb 14 14:01:08 2010 +0000 @@ -4057,15 +4057,22 @@ if Preferences.getFlakes("IncludeInSyntaxCheck"): ignoreStarImportWarnings = \ Preferences.getFlakes("IgnoreStarImportWarnings") - warnings = Checker(self.text(), self.fileName) - warnings.messages.sort(key = lambda a: a.lineno) - for warning in warnings.messages: - if ignoreStarImportWarnings and \ - isinstance(warning, ImportStarUsed): - continue - - _fn, lineno, message = warning.getMessageData() - self.toggleFlakesWarning(lineno, True, message) + try: + warnings = Checker(self.text(), self.fileName) + warnings.messages.sort(key = lambda a: a.lineno) + for warning in warnings.messages: + if ignoreStarImportWarnings and \ + isinstance(warning, ImportStarUsed): + continue + + _fn, lineno, message = warning.getMessageData() + self.toggleFlakesWarning(lineno, True, message) + except SyntaxError as err: + if err.text.strip(): + msg = err.text.strip() + else: + msg = err.msg + self.toggleSyntaxError(err.lineno, True, msg) def __showCodeMetrics(self): """