Home | History | Annotate | Download | only in common
      1 #!/usr/bin/env python
      2 #
      3 # Copyright 2008 The Closure Linter Authors. All Rights Reserved.
      4 #
      5 # Licensed under the Apache License, Version 2.0 (the "License");
      6 # you may not use this file except in compliance with the License.
      7 # You may obtain a copy of the License at
      8 #
      9 #      http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 # Unless required by applicable law or agreed to in writing, software
     12 # distributed under the License is distributed on an "AS-IS" BASIS,
     13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 # See the License for the specific language governing permissions and
     15 # limitations under the License.
     16 
     17 """Interface for a lint running wrapper."""
     18 
     19 __author__ = ('robbyw (at] google.com (Robert Walker)',
     20               'ajp (at] google.com (Andy Perelson)')
     21 
     22 
     23 class LintRunner(object):
     24   """Interface for a lint running wrapper."""
     25 
     26   def __init__(self):
     27     if self.__class__ == LintRunner:
     28       raise NotImplementedError('class LintRunner is abstract')
     29 
     30   def Run(self, filenames, error_handler):
     31     """Run a linter on the given filenames.
     32 
     33     Args:
     34       filenames: The filenames to check
     35       error_handler: An ErrorHandler object
     36 
     37     Returns:
     38       The error handler, which may have been used to collect error info.
     39     """
     40