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