[javascriptlint-commit] SF.net SVN: javascriptlint: [199] trunk/pyjsl/warnings.py
Status: Beta
Brought to you by:
matthiasmiller
|
From: <mat...@us...> - 2008-04-26 05:14:52
|
Revision: 199
http://javascriptlint.svn.sourceforge.net/javascriptlint/?rev=199&view=rev
Author: matthiasmiller
Date: 2008-04-25 22:14:50 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
Slight tweak to the way visitors are collected.
Modified Paths:
--------------
trunk/pyjsl/warnings.py
Modified: trunk/pyjsl/warnings.py
===================================================================
--- trunk/pyjsl/warnings.py 2008-04-26 05:09:30 UTC (rev 198)
+++ trunk/pyjsl/warnings.py 2008-04-26 05:14:50 UTC (rev 199)
@@ -68,12 +68,14 @@
'dup_option_explicit': 'duplicate "option explicit" control comment',
}
+_visitors = []
def lookfor(*args):
def decorate(fn):
- fn._lint_nodes = args
fn.warning = fn.func_name.rstrip('_')
assert fn.warning in warnings, 'Missing warning description: %s' % fn.warning
- return fn
+
+ for arg in args:
+ _visitors.append((arg, fn))
return decorate
class LintWarning(Exception):
@@ -478,17 +480,11 @@
pass
def make_visitors():
- functions = [
- obj for obj in sys.modules[__name__].__dict__.values()
- if type(obj) == types.FunctionType and hasattr(obj, '_lint_nodes')
- ]
-
visitors = {}
- for func in functions:
- for node_kind in func._lint_nodes:
- try:
- visitors[node_kind].append(func)
- except KeyError:
- visitors[node_kind] = [func]
+ for kind, func in _visitors:
+ try:
+ visitors[kind].append(func)
+ except KeyError:
+ visitors[kind] = [func]
return visitors
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|