1e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#!/usr/bin/python
2e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#
3e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao# Checks files to make sure they conform to LLVM standards which can be applied
4e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao# to any programming language: at present, line length and trailing whitespace.
5e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
6e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoimport common_lint
7e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoimport sys
8e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
9e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoclass GenericCodeLint(common_lint.BaseLint):
10e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  MAX_LINE_LENGTH = 80
11e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
12e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  def RunOnFile(self, filename, lines):
13e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao    common_lint.VerifyLineLength(filename, lines,
14e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao                                 GenericCodeLint.MAX_LINE_LENGTH)
15e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao    common_lint.VerifyTrailingWhitespace(filename, lines)
16e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
17e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
18e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaodef GenericCodeLintMain(filenames):
19e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  common_lint.RunLintOverAllFiles(GenericCodeLint(), filenames)
20e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  return 0
21e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
22e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao
23e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoif __name__ == '__main__':
24e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  sys.exit(GenericCodeLintMain(sys.argv[1:]))
25