|
43 | 43 | public class UnnecessaryListCastCheck extends PythonSubscriptionCheck { |
44 | 44 | private TypeCheckBuilder isListCallCheck; |
45 | 45 |
|
46 | | - private static final Set<String> MODIFYING_LIST_METHODS = Set.of("append", "extend", "insert", "remove", "pop", "clear", |
47 | | - "sort", "reverse"); |
| 46 | + private static final Set<String> MODIFYING_LIST_METHODS = Set.of("append", "extend", "insert", "remove", "pop", |
| 47 | + "clear", "sort", "reverse"); |
48 | 48 | private TypeCheckMap<Object> typeCheckMap; |
49 | 49 |
|
50 | 50 | @Override |
@@ -144,16 +144,19 @@ public boolean isModifyingListMethod() { |
144 | 144 | public void visitCallExpression(CallExpression callExpr) { |
145 | 145 | super.visitCallExpression(callExpr); |
146 | 146 | var symbol = listName.symbolV2(); |
147 | | - if(symbol != null) { |
148 | | - isModifyingListMethod |= isMethodReceiverInstanceOf(callExpr, symbol) |
149 | | - && isModifyingListMethod(callExpr); |
| 147 | + if (symbol != null) { |
| 148 | + isModifyingListMethod |= isMethodReceiverInstanceOf(callExpr, symbol) |
| 149 | + && isModifyingListMethod(callExpr); |
150 | 150 | } |
151 | 151 | } |
152 | 152 |
|
153 | 153 | private static boolean isMethodReceiverInstanceOf(CallExpression callExpr, SymbolV2 listSymbol) { |
154 | | - return callExpr.callee() instanceof QualifiedExpression qualifiedExpression && |
155 | | - qualifiedExpression.qualifier() instanceof Name name && |
156 | | - name.symbolV2().equals(listSymbol); |
| 154 | + if (callExpr.callee() instanceof QualifiedExpression qualifiedExpression && |
| 155 | + qualifiedExpression.qualifier() instanceof Name name) { |
| 156 | + var symbolV2 = name.symbolV2(); |
| 157 | + return symbolV2 != null && symbolV2.equals(listSymbol); |
| 158 | + } |
| 159 | + return false; |
157 | 160 | } |
158 | 161 |
|
159 | 162 | private boolean isModifyingListMethod(CallExpression callExpression) { |
|
0 commit comments