diff -r 509de9ee6cb8 -r d608f3f42d71 Utilities/py3flakes/messages.py --- a/Utilities/py3flakes/messages.py Tue Apr 29 18:02:02 2014 +0200 +++ b/Utilities/py3flakes/messages.py Tue Apr 29 23:28:07 2014 +0200 @@ -21,16 +21,17 @@ message = '' message_args = () - def __init__(self, filename, lineno): + def __init__(self, filename, loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) """ self.filename = filename - self.lineno = lineno - + self.lineno = loc.lineno + self.col = getattr(loc, 'col_offset', 0) + def __str__(self): """ Special method return a string representation of the instance object. @@ -60,15 +61,15 @@ 'py3Flakes', '{0!r} imported but unused.') - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the unused import (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) @@ -80,17 +81,30 @@ 'py3Flakes', 'Redefinition of unused {0!r} from line {1!r}.') - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the redefined object (string) - @param orig_lineno line number of the original definition (integer) + @param orig_loc location of the original definition (integer) """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) + + +class RedefinedInListComp(Message): + """ + Class defining the "Redefined by list comprehension" message. + """ + message = QCoreApplication.translate( + 'py3Flakes', + 'list comprehension redefines {0!r} from line {1!r}') + + def __init__(self, filename, loc, name, orig_loc): + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class ImportShadowedByLoopVar(Message): @@ -101,17 +115,17 @@ 'py3Flakes', 'Import {0!r} from line {1!r} shadowed by loop variable.') - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the shadowed import (string) - @param orig_lineno line number of the import (integer) + @param orig_loc location of the import (integer) """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class ImportStarUsed(Message): @@ -122,15 +136,15 @@ 'py3Flakes', "'from {0} import *' used; unable to detect undefined names.") - def __init__(self, filename, lineno, modname): + def __init__(self, filename, loc, modname): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param modname name of the module imported using star import (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (modname,) @@ -140,18 +154,33 @@ """ message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r}.') - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name undefined name (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) +class DoctestSyntaxError(Message): + """ + Class defining the "Doctest syntax error" message. + """ + message = QCoreApplication.translate( + 'py3Flakes', + 'syntax error in doctest') + + def __init__(self, filename, loc, position=None): + Message.__init__(self, filename, loc) + if position: + (self.lineno, self.col) = position + self.message_args = () + + class UndefinedExport(Message): """ Class defining the "Undefined Export" message. @@ -159,15 +188,15 @@ message = QCoreApplication.translate( 'py3Flakes', 'Undefined name {0!r} in __all__.') - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name undefined exported name (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) @@ -180,17 +209,17 @@ "Local variable {0!r} (defined in enclosing scope on line {1!r})" " referenced before assignment.") - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the prematurely referenced variable (string) - @param orig_lineno line number of the variable definition (integer) + @param orig_loc location of the variable definition (integer) """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class DuplicateArgument(Message): @@ -201,15 +230,15 @@ 'py3Flakes', 'Duplicate argument {0!r} in function definition.') - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, name): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the duplicate argument (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (name,) @@ -221,17 +250,17 @@ 'py3Flakes', 'Redefinition of function {0!r} from line {1!r}.') - def __init__(self, filename, lineno, name, orig_lineno): + def __init__(self, filename, loc, name, orig_loc): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the redefined function (string) - @param orig_lineno line number of the original definition (integer) + @param orig_loc location of the original definition (integer) """ - Message.__init__(self, filename, lineno) - self.message_args = (name, orig_lineno) + Message.__init__(self, filename, loc) + self.message_args = (name, orig_loc.lineno) class LateFutureImport(Message): @@ -242,15 +271,15 @@ 'py3Flakes', 'Future import(s) {0!r} after other statements.') - def __init__(self, filename, lineno, names): + def __init__(self, filename, loc, names): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param names names of the imported futures (string) """ - Message.__init__(self, filename, lineno) + Message.__init__(self, filename, loc) self.message_args = (names,) @@ -265,13 +294,20 @@ 'py3Flakes', 'Local variable {0!r} is assigned to but never used.') - def __init__(self, filename, lineno, name): + def __init__(self, filename, loc, names): """ Constructor @param filename name of the file (string) - @param lineno line number (integer) + @param loc location (integer) @param name name of the unused variable (string) """ - Message.__init__(self, filename, lineno) - self.message_args = (name,) + Message.__init__(self, filename, loc) + self.message_args = (names,) + + +class ReturnWithArgsInsideGenerator(Message): + """ + Indicates a return statement with arguments inside a generator. + """ + message = '\'return\' with argument inside generator'