UtilitiesPython2/py2flakes/messages.py

branch
Py2 comp.
changeset 2571
e6bb19eb87ea
parent 2552
1e893ea4e366
child 2572
dc6d76ab5d10
equal deleted inserted replaced
2552:1e893ea4e366 2571:e6bb19eb87ea
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5 # Original (c) 2005 Divmod, Inc. See LICENSE file for details
6 #
7 # This module is based on pyflakes for Python2 but was heavily hacked to
8 # work within eric5
9
10
11 class Message(object):
12 """
13 Class defining the base for all specific message classes.
14 """
15 message = ''
16 message_args = ()
17
18 def __init__(self, filename, lineno):
19 """
20 Constructor
21
22 @param filename name of the file (string)
23 @param lineno line number (integer)
24 """
25 self.filename = filename
26 self.lineno = lineno
27
28 def __str__(self):
29 """
30 Special method return a string representation of the instance object.
31
32 @return string representation of the object (string)
33 """
34 return '%s:%s: %s' % (
35 self.filename, self.lineno, self.message % self.message_args)
36
37 def getMessageData(self):
38 """
39 Public method to get the individual message data elements.
40
41 @return tuple containing file name, line number and message
42 (string, integer, string)
43 """
44 return (self.filename, self.lineno, self.message % self.message_args)
45
46
47 class UnusedImport(Message):
48 """
49 Class defining the "Unused Import" message.
50 """
51 message = '%r imported but unused'
52
53 def __init__(self, filename, lineno, name):
54 """
55 Constructor
56
57 @param filename name of the file (string)
58 @param lineno line number (integer)
59 @param name name of the unused import (string)
60 """
61 Message.__init__(self, filename, lineno)
62 self.message_args = (name,)
63
64
65 class RedefinedWhileUnused(Message):
66 """
67 Class defining the "Redefined While Unused" message.
68 """
69 message = 'redefinition of unused %r from line %r'
70
71 def __init__(self, filename, lineno, name, orig_lineno):
72 """
73 Constructor
74
75 @param filename name of the file (string)
76 @param lineno line number (integer)
77 @param name name of the redefined object (string)
78 @param orig_lineno line number of the original definition (integer)
79 """
80 Message.__init__(self, filename, lineno)
81 self.message_args = (name, orig_lineno)
82
83
84 class ImportShadowedByLoopVar(Message):
85 """
86 Class defining the "Import Shadowed By Loop Var" message.
87 """
88 message = 'import %r from line %r shadowed by loop variable'
89
90 def __init__(self, filename, lineno, name, orig_lineno):
91 """
92 Constructor
93
94 @param filename name of the file (string)
95 @param lineno line number (integer)
96 @param name name of the shadowed import (string)
97 @param orig_lineno line number of the import (integer)
98 """
99 Message.__init__(self, filename, lineno)
100 self.message_args = (name, orig_lineno)
101
102
103 class ImportStarUsed(Message):
104 """
105 Class defining the "Import Star Used" message.
106 """
107 message = "'from %s import *' used; unable to detect undefined names"
108
109 def __init__(self, filename, lineno, modname):
110 """
111 Constructor
112
113 @param filename name of the file (string)
114 @param lineno line number (integer)
115 @param modname name of the module imported using star import (string)
116 """
117 Message.__init__(self, filename, lineno)
118 self.message_args = (modname,)
119
120
121 class UndefinedName(Message):
122 """
123 Class defining the "Undefined Name" message.
124 """
125 message = 'undefined name %r'
126
127 def __init__(self, filename, lineno, name):
128 """
129 Constructor
130
131 @param filename name of the file (string)
132 @param lineno line number (integer)
133 @param name undefined name (string)
134 """
135 Message.__init__(self, filename, lineno)
136 self.message_args = (name,)
137
138
139 class UndefinedExport(Message):
140 """
141 Class defining the "Undefined Export" message.
142 """
143 message = 'undefined name %r in __all__'
144
145 def __init__(self, filename, lineno, name):
146 """
147 Constructor
148
149 @param filename name of the file (string)
150 @param lineno line number (integer)
151 @param name undefined exported name (string)
152 """
153 Message.__init__(self, filename, lineno)
154 self.message_args = (name,)
155
156
157 class UndefinedLocal(Message):
158 """
159 Class defining the "Undefined Local Variable" message.
160 """
161 message = "local variable %r (defined in enclosing scope on line %r)" \
162 " referenced before assignment"
163
164 def __init__(self, filename, lineno, name, orig_lineno):
165 """
166 Constructor
167
168 @param filename name of the file (string)
169 @param lineno line number (integer)
170 @param name name of the prematurely referenced variable (string)
171 @param orig_lineno line number of the variable definition (integer)
172 """
173 Message.__init__(self, filename, lineno)
174 self.message_args = (name, orig_lineno)
175
176
177 class DuplicateArgument(Message):
178 """
179 Class defining the "Duplicate Argument" message.
180 """
181 message = 'duplicate argument %r in function definition'
182
183 def __init__(self, filename, lineno, name):
184 """
185 Constructor
186
187 @param filename name of the file (string)
188 @param lineno line number (integer)
189 @param name name of the duplicate argument (string)
190 """
191 Message.__init__(self, filename, lineno)
192 self.message_args = (name,)
193
194
195 class RedefinedFunction(Message):
196 """
197 Class defining the "Redefined Function" message.
198 """
199 message = 'redefinition of function %r from line %r'
200
201 def __init__(self, filename, lineno, name, orig_lineno):
202 """
203 Constructor
204
205 @param filename name of the file (string)
206 @param lineno line number (integer)
207 @param name name of the redefined function (string)
208 @param orig_lineno line number of the original definition (integer)
209 """
210 Message.__init__(self, filename, lineno)
211 self.message_args = (name, orig_lineno)
212
213
214 class LateFutureImport(Message):
215 """
216 Class defining the "Late Future Import" message.
217 """
218 message = 'future import(s) %r after other statements'
219
220 def __init__(self, filename, lineno, names):
221 """
222 Constructor
223
224 @param filename name of the file (string)
225 @param lineno line number (integer)
226 @param names names of the imported futures (string)
227 """
228 Message.__init__(self, filename, lineno)
229 self.message_args = (names,)
230
231
232 class UnusedVariable(Message):
233 """
234 Class defining the "Unused Variable" message.
235
236 Indicates that a variable has been explicitly assigned to but not actually
237 used.
238 """
239 message = 'local variable %r is assigned to but never used'
240
241 def __init__(self, filename, lineno, names):
242 """
243 Constructor
244
245 @param filename name of the file (string)
246 @param lineno line number (integer)
247 @param name name of the unused variable (string)
248 """
249 Message.__init__(self, filename, lineno)
250 self.message_args = (names,)
251
252 #
253 # eflag: FileType = Python2

eric ide

mercurial