2020package org .sonar .python .checks ;
2121
2222import java .util .Arrays ;
23- import java .util .HashMap ;
2423import java .util .HashSet ;
2524import java .util .List ;
26- import java .util .Map ;
2725import java .util .Optional ;
2826import java .util .Set ;
2927import java .util .stream .Collectors ;
@@ -55,8 +53,6 @@ public class StringFormatCorrectnessCheck extends AbstractStringFormatCheck {
5553 "debug" , "info" , "warning" , "error" , "critical"
5654 ));
5755
58- private Map <Name , Boolean > singleAssignedLoggers = new HashMap <>();
59-
6056 @ Override
6157 public void initialize (Context context ) {
6258 context .registerSyntaxNodeConsumer (Tree .Kind .MODULO , this ::checkPrintfStyle );
@@ -72,7 +68,7 @@ private void checkCallExpression(SubscriptionContext ctx) {
7268 }
7369 }
7470
75- private boolean isCallToLog (CallExpression callExpression ) {
71+ private static boolean isCallToLog (CallExpression callExpression ) {
7672 Symbol symbol = callExpression .calleeSymbol ();
7773
7874 if (symbol != null && LOGGER_FULL_NAMES .contains (symbol .fullyQualifiedName ())) {
@@ -82,7 +78,7 @@ private boolean isCallToLog(CallExpression callExpression) {
8278 return isQualifiedCallToLogger (callExpression );
8379 }
8480
85- private boolean isQualifiedCallToLogger (CallExpression callExpression ) {
81+ private static boolean isQualifiedCallToLogger (CallExpression callExpression ) {
8682 if (!callExpression .callee ().is (Tree .Kind .QUALIFIED_EXPR )) {
8783 return false ;
8884 }
@@ -97,22 +93,18 @@ private boolean isQualifiedCallToLogger(CallExpression callExpression) {
9793 return false ;
9894 }
9995
100- Name name = (Name ) qualifier ;
101-
102- return singleAssignedLoggers .computeIfAbsent (name , key -> {
103- Expression singleAssignedValue = Expressions .singleAssignedValue (key );
104- if (singleAssignedValue == null || !singleAssignedValue .is (Tree .Kind .CALL_EXPR )) {
105- return false ;
106- }
96+ Expression singleAssignedValue = Expressions .singleAssignedValue ((Name ) qualifier );
97+ if (singleAssignedValue == null || !singleAssignedValue .is (Tree .Kind .CALL_EXPR )) {
98+ return false ;
99+ }
107100
108- CallExpression call = (CallExpression ) singleAssignedValue ;
109- Symbol symbol = call .calleeSymbol ();
110- if (symbol == null ) {
111- return false ;
112- }
101+ CallExpression call = (CallExpression ) singleAssignedValue ;
102+ Symbol symbol = call .calleeSymbol ();
103+ if (symbol == null ) {
104+ return false ;
105+ }
113106
114- return "logging.getLogger" .equals (symbol .fullyQualifiedName ());
115- });
107+ return "logging.getLogger" .equals (symbol .fullyQualifiedName ());
116108 }
117109
118110 private static void checkLoggerLog (SubscriptionContext ctx , CallExpression callExpression ) {
0 commit comments