95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # (c) 2005 Divmod, Inc.  See LICENSE file for details
 | |
| 
 | |
| class Message(object):
 | |
|     message = ''
 | |
|     message_args = ()
 | |
|     def __init__(self, filename, lineno):
 | |
|         self.filename = filename
 | |
|         self.lineno = lineno
 | |
|     def __str__(self):
 | |
|         return '%s:%s: %s' % (self.filename, self.lineno, self.message % self.message_args)
 | |
| 
 | |
| 
 | |
| class UnusedImport(Message):
 | |
|     message = '%r imported but unused'
 | |
|     def __init__(self, filename, lineno, name):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name,)
 | |
| 
 | |
| 
 | |
| class RedefinedWhileUnused(Message):
 | |
|     message = 'redefinition of unused %r from line %r'
 | |
|     def __init__(self, filename, lineno, name, orig_lineno):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name, orig_lineno)
 | |
| 
 | |
| 
 | |
| class ImportShadowedByLoopVar(Message):
 | |
|     message = 'import %r from line %r shadowed by loop variable'
 | |
|     def __init__(self, filename, lineno, name, orig_lineno):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name, orig_lineno)
 | |
| 
 | |
| 
 | |
| class ImportStarUsed(Message):
 | |
|     message = "'from %s import *' used; unable to detect undefined names"
 | |
|     def __init__(self, filename, lineno, modname):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (modname,)
 | |
| 
 | |
| 
 | |
| class UndefinedName(Message):
 | |
|     message = 'undefined name %r'
 | |
|     def __init__(self, filename, lineno, name):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name,)
 | |
| 
 | |
| 
 | |
| 
 | |
| class UndefinedExport(Message):
 | |
|     message = 'undefined name %r in __all__'
 | |
|     def __init__(self, filename, lineno, name):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name,)
 | |
| 
 | |
| 
 | |
| 
 | |
| class UndefinedLocal(Message):
 | |
|     message = "local variable %r (defined in enclosing scope on line %r) referenced before assignment"
 | |
|     def __init__(self, filename, lineno, name, orig_lineno):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name, orig_lineno)
 | |
| 
 | |
| 
 | |
| class DuplicateArgument(Message):
 | |
|     message = 'duplicate argument %r in function definition'
 | |
|     def __init__(self, filename, lineno, name):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name,)
 | |
| 
 | |
| 
 | |
| class RedefinedFunction(Message):
 | |
|     message = 'redefinition of function %r from line %r'
 | |
|     def __init__(self, filename, lineno, name, orig_lineno):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (name, orig_lineno)
 | |
| 
 | |
| 
 | |
| class LateFutureImport(Message):
 | |
|     message = 'future import(s) %r after other statements'
 | |
|     def __init__(self, filename, lineno, names):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (names,)
 | |
| 
 | |
| 
 | |
| class UnusedVariable(Message):
 | |
|     """
 | |
|     Indicates that a variable has been explicity assigned to but not actually
 | |
|     used.
 | |
|     """
 | |
| 
 | |
|     message = 'local variable %r is assigned to but never used'
 | |
|     def __init__(self, filename, lineno, names):
 | |
|         Message.__init__(self, filename, lineno)
 | |
|         self.message_args = (names,)
 |