mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-09-20 22:51:58 +00:00
Fix lintlib script
This commit is contained in:
parent
b7a0b97e97
commit
2a52527a46
1 changed files with 26 additions and 32 deletions
|
@ -7,12 +7,11 @@ import collections
|
||||||
import logging as log
|
import logging as log
|
||||||
log.basicConfig(level=log.INFO, format='%(levelname)s: %(message)s')
|
log.basicConfig(level=log.INFO, format='%(levelname)s: %(message)s')
|
||||||
|
|
||||||
Lint = collections.namedtuple('Lint', 'name level doc sourcefile')
|
Lint = collections.namedtuple('Lint', 'name level doc sourcefile group')
|
||||||
Config = collections.namedtuple('Config', 'name ty doc default')
|
Config = collections.namedtuple('Config', 'name ty doc default')
|
||||||
|
|
||||||
lintname_re = re.compile(r'''pub\s+([A-Z_][A-Z_0-9]*)''')
|
lintname_re = re.compile(r'''pub\s+([A-Z_][A-Z_0-9]*)''')
|
||||||
level_re = re.compile(r'''(Forbid|Deny|Warn|Allow)''')
|
group_re = re.compile(r'''\s*([a-z_][a-z_0-9]+)''')
|
||||||
group_re = re.compile(r'''([a-z_][a-z_0-9]+)''')
|
|
||||||
conf_re = re.compile(r'''define_Conf! {\n([^}]*)\n}''', re.MULTILINE)
|
conf_re = re.compile(r'''define_Conf! {\n([^}]*)\n}''', re.MULTILINE)
|
||||||
confvar_re = re.compile(
|
confvar_re = re.compile(
|
||||||
r'''/// Lint: (\w+). (.*).*\n\s*\([^,]+,\s+"([^"]+)",\s+([^=\)]+)=>\s+(.*)\),''', re.MULTILINE)
|
r'''/// Lint: (\w+). (.*).*\n\s*\([^,]+,\s+"([^"]+)",\s+([^=\)]+)=>\s+(.*)\),''', re.MULTILINE)
|
||||||
|
@ -27,6 +26,7 @@ lint_levels = {
|
||||||
"nursery": 'Allow',
|
"nursery": 'Allow',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def parse_lints(lints, filepath):
|
def parse_lints(lints, filepath):
|
||||||
last_comment = []
|
last_comment = []
|
||||||
comment = True
|
comment = True
|
||||||
|
@ -57,36 +57,30 @@ def parse_lints(lints, filepath):
|
||||||
else:
|
else:
|
||||||
last_comment = []
|
last_comment = []
|
||||||
if not comment:
|
if not comment:
|
||||||
if name:
|
m = lintname_re.search(line)
|
||||||
g = group_re.search(line)
|
|
||||||
if g:
|
if m:
|
||||||
group = g.group(1).lower()
|
name = m.group(1).lower()
|
||||||
level = lint_levels[group]
|
line = next(fp)
|
||||||
log.info("found %s with level %s in %s",
|
|
||||||
name, level, filepath)
|
if deprecated:
|
||||||
lints.append(Lint(name, level, last_comment, filepath, group))
|
level = "Deprecated"
|
||||||
last_comment = []
|
group = "deprecated"
|
||||||
comment = True
|
else:
|
||||||
else:
|
while True:
|
||||||
m = lintname_re.search(line)
|
g = group_re.search(line)
|
||||||
if m:
|
if g:
|
||||||
name = m.group(1).lower()
|
group = g.group(1).lower()
|
||||||
|
level = lint_levels[group]
|
||||||
|
break
|
||||||
|
line = next(fp)
|
||||||
|
|
||||||
|
log.info("found %s with level %s in %s",
|
||||||
|
name, level, filepath)
|
||||||
|
lints.append(Lint(name, level, last_comment, filepath, group))
|
||||||
|
last_comment = []
|
||||||
|
comment = True
|
||||||
|
|
||||||
if deprecated:
|
|
||||||
level = "Deprecated"
|
|
||||||
else:
|
|
||||||
while True:
|
|
||||||
m = level_re.search(line)
|
|
||||||
if m:
|
|
||||||
level = m.group(0)
|
|
||||||
break
|
|
||||||
line = next(fp)
|
|
||||||
if not clippy:
|
|
||||||
log.info("found %s with level %s in %s",
|
|
||||||
name, level, filepath)
|
|
||||||
lints.append(Lint(name, level, last_comment, filepath, "deprecated"))
|
|
||||||
last_comment = []
|
|
||||||
comment = True
|
|
||||||
if "}" in line:
|
if "}" in line:
|
||||||
log.warn("Warning: missing Lint-Name in %s", filepath)
|
log.warn("Warning: missing Lint-Name in %s", filepath)
|
||||||
comment = True
|
comment = True
|
||||||
|
|
Loading…
Reference in a new issue