X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fdouble_parens.rs;h=7f2ff8b9b26f62bb42252aca0293c3e49e3ca410;hb=2ff568d746e4641b992c0b74bea046e43a637997;hp=5b5639371a188627ceeb6dc34fdc1ac7ef420636;hpb=6937d5581af14b71e23af0db81241a3fea11c70a;p=rust.git diff --git a/clippy_lints/src/double_parens.rs b/clippy_lints/src/double_parens.rs index 5b5639371a1..7f2ff8b9b26 100644 --- a/clippy_lints/src/double_parens.rs +++ b/clippy_lints/src/double_parens.rs @@ -1,7 +1,7 @@ -use crate::utils::{in_macro, span_lint}; -use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass}; -use rustc::{declare_tool_lint, lint_array}; -use syntax::ast::*; +use crate::utils::span_lint; +use rustc_ast::ast::{Expr, ExprKind}; +use rustc_lint::{EarlyContext, EarlyLintPass}; +use rustc_session::{declare_lint_pass, declare_tool_lint}; declare_clippy_lint! { /// **What it does:** Checks for unnecessary double parentheses. @@ -13,36 +13,26 @@ /// /// **Example:** /// ```rust - /// ((0)) - /// foo((0)) - /// ((1, 2)) + /// # fn foo(bar: usize) {} + /// ((0)); + /// foo((0)); + /// ((1, 2)); /// ``` pub DOUBLE_PARENS, complexity, "Warn on unnecessary double parentheses" } -#[derive(Copy, Clone)] -pub struct DoubleParens; - -impl LintPass for DoubleParens { - fn get_lints(&self) -> LintArray { - lint_array!(DOUBLE_PARENS) - } - - fn name(&self) -> &'static str { - "DoubleParens" - } -} +declare_lint_pass!(DoubleParens => [DOUBLE_PARENS]); impl EarlyLintPass for DoubleParens { fn check_expr(&mut self, cx: &EarlyContext<'_>, expr: &Expr) { - if in_macro(expr.span) { + if expr.span.from_expansion() { return; } - match expr.node { - ExprKind::Paren(ref in_paren) => match in_paren.node { + match expr.kind { + ExprKind::Paren(ref in_paren) => match in_paren.kind { ExprKind::Paren(_) | ExprKind::Tup(_) => { span_lint( cx, @@ -56,7 +46,7 @@ fn check_expr(&mut self, cx: &EarlyContext<'_>, expr: &Expr) { ExprKind::Call(_, ref params) => { if params.len() == 1 { let param = ¶ms[0]; - if let ExprKind::Paren(_) = param.node { + if let ExprKind::Paren(_) = param.kind { span_lint( cx, DOUBLE_PARENS, @@ -69,7 +59,7 @@ fn check_expr(&mut self, cx: &EarlyContext<'_>, expr: &Expr) { ExprKind::MethodCall(_, ref params) => { if params.len() == 2 { let param = ¶ms[1]; - if let ExprKind::Paren(_) = param.node { + if let ExprKind::Paren(_) = param.kind { span_lint( cx, DOUBLE_PARENS,