3 # Copyright 2008 The Closure Linter Authors. All Rights Reserved.
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
9 # http://www.apache.org/licenses/LICENSE-2.0
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.
17 """Interface for a lint running wrapper."""
19 __author__ = ('robbyw@google.com (Robert Walker)',
20 'ajp@google.com (Andy Perelson)')
23 class LintRunner(object):
24 """Interface for a lint running wrapper."""
27 if self.__class__ == LintRunner:
28 raise NotImplementedError('class LintRunner is abstract')
30 def Run(self, filenames, error_handler):
31 """Run a linter on the given filenames.
34 filenames: The filenames to check
35 error_handler: An ErrorHandler object
38 The error handler, which may have been used to collect error info.