Completed
Pull Request — master (#1109)
by Abdeali
01:48
created

bears.c_languages.CSharpLintBear.run()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 5
rs 9.4286
1
import re
2
3
from coalib.bearlib.abstractions.Lint import Lint
4
from coalib.bears.LocalBear import LocalBear
5
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
6
7
8
class CSharpLintBear(LocalBear, Lint):
9
    executable = 'mcs'
10
    output_regex = re.compile(
11
        r'(?P<filename>.+\.cs)\((?P<line>\d+),(?P<col>\d+)\): '
12
        r'(?P<severity>error|warning) (?P<severity_code>\w+): (?P<message>.+)'
13
    )
14
    use_stderr = True
15
    severity_map = {
16
        "warning": RESULT_SEVERITY.NORMAL,
17
        "error": RESULT_SEVERITY.MAJOR}
18
19
    def run(self, filename, file):
20
        '''
21
        Checks the code with `mcs` on each file separately.
22
        '''
23
        return self.lint(filename)
24