Utilities/py3flakes/messages.py

branch
5_4_x
changeset 3551
d608f3f42d71
parent 3160
209a07d7e401
child 3553
389f83a37571
equal deleted inserted replaced
3548:509de9ee6cb8 3551:d608f3f42d71
19 Class defining the base for all specific message classes. 19 Class defining the base for all specific message classes.
20 """ 20 """
21 message = '' 21 message = ''
22 message_args = () 22 message_args = ()
23 23
24 def __init__(self, filename, lineno): 24 def __init__(self, filename, loc):
25 """ 25 """
26 Constructor 26 Constructor
27 27
28 @param filename name of the file (string) 28 @param filename name of the file (string)
29 @param lineno line number (integer) 29 @param loc location (integer)
30 """ 30 """
31 self.filename = filename 31 self.filename = filename
32 self.lineno = lineno 32 self.lineno = loc.lineno
33 33 self.col = getattr(loc, 'col_offset', 0)
34
34 def __str__(self): 35 def __str__(self):
35 """ 36 """
36 Special method return a string representation of the instance object. 37 Special method return a string representation of the instance object.
37 38
38 @return string representation of the object (string) 39 @return string representation of the object (string)
58 """ 59 """
59 message = QCoreApplication.translate( 60 message = QCoreApplication.translate(
60 'py3Flakes', 61 'py3Flakes',
61 '{0!r} imported but unused.') 62 '{0!r} imported but unused.')
62 63
63 def __init__(self, filename, lineno, name): 64 def __init__(self, filename, loc, name):
64 """ 65 """
65 Constructor 66 Constructor
66 67
67 @param filename name of the file (string) 68 @param filename name of the file (string)
68 @param lineno line number (integer) 69 @param loc location (integer)
69 @param name name of the unused import (string) 70 @param name name of the unused import (string)
70 """ 71 """
71 Message.__init__(self, filename, lineno) 72 Message.__init__(self, filename, loc)
72 self.message_args = (name,) 73 self.message_args = (name,)
73 74
74 75
75 class RedefinedWhileUnused(Message): 76 class RedefinedWhileUnused(Message):
76 """ 77 """
78 """ 79 """
79 message = QCoreApplication.translate( 80 message = QCoreApplication.translate(
80 'py3Flakes', 81 'py3Flakes',
81 'Redefinition of unused {0!r} from line {1!r}.') 82 'Redefinition of unused {0!r} from line {1!r}.')
82 83
83 def __init__(self, filename, lineno, name, orig_lineno): 84 def __init__(self, filename, loc, name, orig_loc):
84 """ 85 """
85 Constructor 86 Constructor
86 87
87 @param filename name of the file (string) 88 @param filename name of the file (string)
88 @param lineno line number (integer) 89 @param loc location (integer)
89 @param name name of the redefined object (string) 90 @param name name of the redefined object (string)
90 @param orig_lineno line number of the original definition (integer) 91 @param orig_loc location of the original definition (integer)
91 """ 92 """
92 Message.__init__(self, filename, lineno) 93 Message.__init__(self, filename, loc)
93 self.message_args = (name, orig_lineno) 94 self.message_args = (name, orig_loc.lineno)
95
96
97 class RedefinedInListComp(Message):
98 """
99 Class defining the "Redefined by list comprehension" message.
100 """
101 message = QCoreApplication.translate(
102 'py3Flakes',
103 'list comprehension redefines {0!r} from line {1!r}')
104
105 def __init__(self, filename, loc, name, orig_loc):
106 Message.__init__(self, filename, loc)
107 self.message_args = (name, orig_loc.lineno)
94 108
95 109
96 class ImportShadowedByLoopVar(Message): 110 class ImportShadowedByLoopVar(Message):
97 """ 111 """
98 Class defining the "Import Shadowed By Loop Var" message. 112 Class defining the "Import Shadowed By Loop Var" message.
99 """ 113 """
100 message = QCoreApplication.translate( 114 message = QCoreApplication.translate(
101 'py3Flakes', 115 'py3Flakes',
102 'Import {0!r} from line {1!r} shadowed by loop variable.') 116 'Import {0!r} from line {1!r} shadowed by loop variable.')
103 117
104 def __init__(self, filename, lineno, name, orig_lineno): 118 def __init__(self, filename, loc, name, orig_loc):
105 """ 119 """
106 Constructor 120 Constructor
107 121
108 @param filename name of the file (string) 122 @param filename name of the file (string)
109 @param lineno line number (integer) 123 @param loc location (integer)
110 @param name name of the shadowed import (string) 124 @param name name of the shadowed import (string)
111 @param orig_lineno line number of the import (integer) 125 @param orig_loc location of the import (integer)
112 """ 126 """
113 Message.__init__(self, filename, lineno) 127 Message.__init__(self, filename, loc)
114 self.message_args = (name, orig_lineno) 128 self.message_args = (name, orig_loc.lineno)
115 129
116 130
117 class ImportStarUsed(Message): 131 class ImportStarUsed(Message):
118 """ 132 """
119 Class defining the "Import Star Used" message. 133 Class defining the "Import Star Used" message.
120 """ 134 """
121 message = QCoreApplication.translate( 135 message = QCoreApplication.translate(
122 'py3Flakes', 136 'py3Flakes',
123 "'from {0} import *' used; unable to detect undefined names.") 137 "'from {0} import *' used; unable to detect undefined names.")
124 138
125 def __init__(self, filename, lineno, modname): 139 def __init__(self, filename, loc, modname):
126 """ 140 """
127 Constructor 141 Constructor
128 142
129 @param filename name of the file (string) 143 @param filename name of the file (string)
130 @param lineno line number (integer) 144 @param loc location (integer)
131 @param modname name of the module imported using star import (string) 145 @param modname name of the module imported using star import (string)
132 """ 146 """
133 Message.__init__(self, filename, lineno) 147 Message.__init__(self, filename, loc)
134 self.message_args = (modname,) 148 self.message_args = (modname,)
135 149
136 150
137 class UndefinedName(Message): 151 class UndefinedName(Message):
138 """ 152 """
139 Class defining the "Undefined Name" message. 153 Class defining the "Undefined Name" message.
140 """ 154 """
141 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r}.') 155 message = QCoreApplication.translate('py3Flakes', 'Undefined name {0!r}.')
142 156
143 def __init__(self, filename, lineno, name): 157 def __init__(self, filename, loc, name):
144 """ 158 """
145 Constructor 159 Constructor
146 160
147 @param filename name of the file (string) 161 @param filename name of the file (string)
148 @param lineno line number (integer) 162 @param loc location (integer)
149 @param name undefined name (string) 163 @param name undefined name (string)
150 """ 164 """
151 Message.__init__(self, filename, lineno) 165 Message.__init__(self, filename, loc)
152 self.message_args = (name,) 166 self.message_args = (name,)
153 167
154 168
169 class DoctestSyntaxError(Message):
170 """
171 Class defining the "Doctest syntax error" message.
172 """
173 message = QCoreApplication.translate(
174 'py3Flakes',
175 'syntax error in doctest')
176
177 def __init__(self, filename, loc, position=None):
178 Message.__init__(self, filename, loc)
179 if position:
180 (self.lineno, self.col) = position
181 self.message_args = ()
182
183
155 class UndefinedExport(Message): 184 class UndefinedExport(Message):
156 """ 185 """
157 Class defining the "Undefined Export" message. 186 Class defining the "Undefined Export" message.
158 """ 187 """
159 message = QCoreApplication.translate( 188 message = QCoreApplication.translate(
160 'py3Flakes', 'Undefined name {0!r} in __all__.') 189 'py3Flakes', 'Undefined name {0!r} in __all__.')
161 190
162 def __init__(self, filename, lineno, name): 191 def __init__(self, filename, loc, name):
163 """ 192 """
164 Constructor 193 Constructor
165 194
166 @param filename name of the file (string) 195 @param filename name of the file (string)
167 @param lineno line number (integer) 196 @param loc location (integer)
168 @param name undefined exported name (string) 197 @param name undefined exported name (string)
169 """ 198 """
170 Message.__init__(self, filename, lineno) 199 Message.__init__(self, filename, loc)
171 self.message_args = (name,) 200 self.message_args = (name,)
172 201
173 202
174 class UndefinedLocal(Message): 203 class UndefinedLocal(Message):
175 """ 204 """
178 message = QCoreApplication.translate( 207 message = QCoreApplication.translate(
179 'py3Flakes', 208 'py3Flakes',
180 "Local variable {0!r} (defined in enclosing scope on line {1!r})" 209 "Local variable {0!r} (defined in enclosing scope on line {1!r})"
181 " referenced before assignment.") 210 " referenced before assignment.")
182 211
183 def __init__(self, filename, lineno, name, orig_lineno): 212 def __init__(self, filename, loc, name, orig_loc):
184 """ 213 """
185 Constructor 214 Constructor
186 215
187 @param filename name of the file (string) 216 @param filename name of the file (string)
188 @param lineno line number (integer) 217 @param loc location (integer)
189 @param name name of the prematurely referenced variable (string) 218 @param name name of the prematurely referenced variable (string)
190 @param orig_lineno line number of the variable definition (integer) 219 @param orig_loc location of the variable definition (integer)
191 """ 220 """
192 Message.__init__(self, filename, lineno) 221 Message.__init__(self, filename, loc)
193 self.message_args = (name, orig_lineno) 222 self.message_args = (name, orig_loc.lineno)
194 223
195 224
196 class DuplicateArgument(Message): 225 class DuplicateArgument(Message):
197 """ 226 """
198 Class defining the "Duplicate Argument" message. 227 Class defining the "Duplicate Argument" message.
199 """ 228 """
200 message = QCoreApplication.translate( 229 message = QCoreApplication.translate(
201 'py3Flakes', 230 'py3Flakes',
202 'Duplicate argument {0!r} in function definition.') 231 'Duplicate argument {0!r} in function definition.')
203 232
204 def __init__(self, filename, lineno, name): 233 def __init__(self, filename, loc, name):
205 """ 234 """
206 Constructor 235 Constructor
207 236
208 @param filename name of the file (string) 237 @param filename name of the file (string)
209 @param lineno line number (integer) 238 @param loc location (integer)
210 @param name name of the duplicate argument (string) 239 @param name name of the duplicate argument (string)
211 """ 240 """
212 Message.__init__(self, filename, lineno) 241 Message.__init__(self, filename, loc)
213 self.message_args = (name,) 242 self.message_args = (name,)
214 243
215 244
216 class RedefinedFunction(Message): 245 class RedefinedFunction(Message):
217 """ 246 """
219 """ 248 """
220 message = QCoreApplication.translate( 249 message = QCoreApplication.translate(
221 'py3Flakes', 250 'py3Flakes',
222 'Redefinition of function {0!r} from line {1!r}.') 251 'Redefinition of function {0!r} from line {1!r}.')
223 252
224 def __init__(self, filename, lineno, name, orig_lineno): 253 def __init__(self, filename, loc, name, orig_loc):
225 """ 254 """
226 Constructor 255 Constructor
227 256
228 @param filename name of the file (string) 257 @param filename name of the file (string)
229 @param lineno line number (integer) 258 @param loc location (integer)
230 @param name name of the redefined function (string) 259 @param name name of the redefined function (string)
231 @param orig_lineno line number of the original definition (integer) 260 @param orig_loc location of the original definition (integer)
232 """ 261 """
233 Message.__init__(self, filename, lineno) 262 Message.__init__(self, filename, loc)
234 self.message_args = (name, orig_lineno) 263 self.message_args = (name, orig_loc.lineno)
235 264
236 265
237 class LateFutureImport(Message): 266 class LateFutureImport(Message):
238 """ 267 """
239 Class defining the "Late Future Import" message. 268 Class defining the "Late Future Import" message.
240 """ 269 """
241 message = QCoreApplication.translate( 270 message = QCoreApplication.translate(
242 'py3Flakes', 271 'py3Flakes',
243 'Future import(s) {0!r} after other statements.') 272 'Future import(s) {0!r} after other statements.')
244 273
245 def __init__(self, filename, lineno, names): 274 def __init__(self, filename, loc, names):
246 """ 275 """
247 Constructor 276 Constructor
248 277
249 @param filename name of the file (string) 278 @param filename name of the file (string)
250 @param lineno line number (integer) 279 @param loc location (integer)
251 @param names names of the imported futures (string) 280 @param names names of the imported futures (string)
252 """ 281 """
253 Message.__init__(self, filename, lineno) 282 Message.__init__(self, filename, loc)
254 self.message_args = (names,) 283 self.message_args = (names,)
255 284
256 285
257 class UnusedVariable(Message): 286 class UnusedVariable(Message):
258 """ 287 """
263 """ 292 """
264 message = QCoreApplication.translate( 293 message = QCoreApplication.translate(
265 'py3Flakes', 294 'py3Flakes',
266 'Local variable {0!r} is assigned to but never used.') 295 'Local variable {0!r} is assigned to but never used.')
267 296
268 def __init__(self, filename, lineno, name): 297 def __init__(self, filename, loc, names):
269 """ 298 """
270 Constructor 299 Constructor
271 300
272 @param filename name of the file (string) 301 @param filename name of the file (string)
273 @param lineno line number (integer) 302 @param loc location (integer)
274 @param name name of the unused variable (string) 303 @param name name of the unused variable (string)
275 """ 304 """
276 Message.__init__(self, filename, lineno) 305 Message.__init__(self, filename, loc)
277 self.message_args = (name,) 306 self.message_args = (names,)
307
308
309 class ReturnWithArgsInsideGenerator(Message):
310 """
311 Indicates a return statement with arguments inside a generator.
312 """
313 message = '\'return\' with argument inside generator'

eric ide

mercurial