From 15ebee9eb37c780154f8e75d963d4d888057e2e0 Mon Sep 17 00:00:00 2001 From: Guillaume Dequenne Date: Tue, 10 Sep 2019 11:54:00 +0200 Subject: [PATCH] Migrate BackTickUsageCheck to Strongly typed AST --- .../python/checks/BackticksUsageCheck.java | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/python-checks/src/main/java/org/sonar/python/checks/BackticksUsageCheck.java b/python-checks/src/main/java/org/sonar/python/checks/BackticksUsageCheck.java index dec42aab98..35b8d22f08 100644 --- a/python-checks/src/main/java/org/sonar/python/checks/BackticksUsageCheck.java +++ b/python-checks/src/main/java/org/sonar/python/checks/BackticksUsageCheck.java @@ -19,29 +19,16 @@ */ package org.sonar.python.checks; -import com.sonar.sslr.api.AstNode; -import com.sonar.sslr.api.AstNodeType; -import java.util.Collections; -import java.util.Set; import org.sonar.check.Rule; -import org.sonar.python.PythonCheckAstNode; -import org.sonar.python.api.PythonGrammar; -import org.sonar.python.api.PythonPunctuator; +import org.sonar.python.PythonSubscriptionCheck; +import org.sonar.python.api.tree.Tree; @Rule(key = BackticksUsageCheck.CHECK_KEY) -public class BackticksUsageCheck extends PythonCheckAstNode { +public class BackticksUsageCheck extends PythonSubscriptionCheck { public static final String CHECK_KEY = "BackticksUsage"; @Override - public Set subscribedKinds() { - return Collections.singleton(PythonGrammar.ATOM); + public void initialize(Context context) { + context.registerSyntaxNodeConsumer(Tree.Kind.REPR, ctx -> ctx.addIssue(ctx.syntaxNode(), "Use \"repr\" instead.")); } - - @Override - public void visitNode(AstNode astNode) { - if (astNode.hasDirectChildren(PythonPunctuator.BACKTICK)) { - addIssue(astNode, "Use \"repr\" instead."); - } - } - }