Skip to content

Commit f3d082f

Browse files
Wohopssonartech
authored andcommitted
SONARPY-3116 Use instanceof with variable when possible
GitOrigin-RevId: ded3d92301a781752f9081405e8b01fa11f656a6
1 parent 73c707a commit f3d082f

5 files changed

Lines changed: 12 additions & 14 deletions

File tree

python-checks/src/main/java/org/sonar/python/checks/UselessStatementCheck.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,9 @@ private void checkBinaryExpression(SubscriptionContext ctx) {
228228
}
229229

230230
private static boolean couldBePython2PrintStatement(BinaryExpression binaryExpression) {
231-
return TreeUtils.hasDescendant(binaryExpression, t -> t.is(Kind.CALL_EXPR)
232-
&& ((CallExpression) t).callee().is(Kind.NAME)
233-
&& "print".equals(((Name) ((CallExpression) t).callee()).name()));
231+
return TreeUtils.hasDescendant(binaryExpression, t -> t instanceof CallExpression callExpression
232+
&& callExpression.callee() instanceof Name name
233+
&& "print".equals(name.name()));
234234
}
235235

236236
private void checkUnaryExpression(SubscriptionContext ctx) {

python-checks/src/main/java/org/sonar/python/checks/XMLParserXXEVulnerableCheck.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,8 @@ private static boolean checkSettingFeatureGesToTrue(CallExpression callExpressio
163163
}
164164

165165
private static boolean isCallToSetFeature(CallExpression callExpression) {
166-
if (!callExpression.callee().is(Tree.Kind.QUALIFIED_EXPR)) {
167-
return false;
168-
}
169-
QualifiedExpression callee = (QualifiedExpression) callExpression.callee();
170-
return callee.qualifier().is(Tree.Kind.NAME) && "setFeature".equals(callee.name().name());
166+
return callExpression.callee() instanceof QualifiedExpression callee
167+
&& callee.qualifier().is(Tree.Kind.NAME)
168+
&& "setFeature".equals(callee.name().name());
171169
}
172170
}

python-checks/src/main/java/org/sonar/python/checks/hotspots/CorsCheck.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ private static void checkDjangoSettings(SubscriptionContext ctx) {
119119
AssignmentStatement assignment = (AssignmentStatement) ctx.syntaxNode();
120120

121121
if (isVarAssignment(assignment, DJANGO_ALLOW_ALL)
122-
&& assignment.assignedValue().is(NAME)
123-
&& "True".equals(((Name) assignment.assignedValue()).name())) {
122+
&& assignment.assignedValue() instanceof Name name
123+
&& "True".equals(name.name())) {
124124
ctx.addIssue(assignment, MESSAGE);
125125

126126
} else if (isVarAssignment(assignment, DJANGO_WHITELIST)) {

python-checks/src/main/java/org/sonar/python/checks/tests/AssertAfterRaiseCheck.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ public boolean isValidUnittestRaise(CallExpression callExpression) {
107107
.filter(call -> call.callee().is(Tree.Kind.QUALIFIED_EXPR))
108108
.map(call -> (QualifiedExpression) call.callee())
109109
.anyMatch(
110-
callee -> callee.qualifier().is(Tree.Kind.NAME)
111-
&& "self".equals(((Name) callee.qualifier()).name())
110+
callee -> callee.qualifier() instanceof Name qualifier
111+
&& "self".equals(qualifier.name())
112112
&& UnittestUtils.RAISE_METHODS.contains(callee.name().name()))
113113
&& isNotAssertionErrorArgument(TreeUtils.nthArgumentOrKeyword(0, UNITTEST_ARG_EXCEPTION, callExpression.arguments()));
114114
}
@@ -140,7 +140,7 @@ public boolean isAnAssert(Statement statement) {
140140
}
141141

142142
public boolean isUnittestAssert(QualifiedExpression callee) {
143-
return callee.qualifier().is(Tree.Kind.NAME) && "self".equals(((Name) callee.qualifier()).name())
143+
return callee.qualifier() instanceof Name qualifier && "self".equals(qualifier.name())
144144
&& UnittestUtils.allAssertMethods().contains(callee.name().name());
145145
}
146146
}

python-checks/src/main/java/org/sonar/python/checks/tests/AssertOnDissimilarTypesCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void initialize(Context context) {
5959
}
6060

6161
QualifiedExpression qualifiedExpression = (QualifiedExpression) callExpression.callee();
62-
if ((!(qualifiedExpression.qualifier().is(Tree.Kind.NAME) && "self".equals(((Name) qualifiedExpression.qualifier()).name())))
62+
if (!(qualifiedExpression.qualifier() instanceof Name qualifier && "self".equals(qualifier.name()))
6363
|| !UnittestUtils.isWithinUnittestTestCase(qualifiedExpression)) {
6464
return;
6565
}

0 commit comments

Comments
 (0)