Skip to content

Commit 733175b

Browse files
committed
Minor performance improvement
1 parent 9100ff1 commit 733175b

3 files changed

Lines changed: 8 additions & 10 deletions

File tree

java-squid/src/main/java/org/sonar/java/ast/visitors/SubscriptionVisitor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ protected void scanTree(Tree tree) {
7474

7575
private void visit(Tree tree) {
7676
boolean isSubscribed = isSubscribed(tree);
77-
boolean isSyntaxToken = tree.is(Tree.Kind.TOKEN);
78-
if (isSyntaxToken) {
77+
boolean shouldVisitSyntaxToken = (visitToken || visitTrivia) && tree.is(Tree.Kind.TOKEN);
78+
if (shouldVisitSyntaxToken) {
7979
SyntaxToken syntaxToken = (SyntaxToken) tree;
8080
if (visitToken) {
8181
visitToken(syntaxToken);
@@ -89,7 +89,7 @@ private void visit(Tree tree) {
8989
visitNode(tree);
9090
}
9191
visitChildren(tree);
92-
if (!isSyntaxToken && isSubscribed) {
92+
if (!shouldVisitSyntaxToken && isSubscribed) {
9393
leaveNode(tree);
9494
}
9595
}

java-squid/src/main/java/org/sonar/java/model/JavaTree.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import org.sonar.sslr.grammar.GrammarRuleKey;
4949

5050
import javax.annotation.Nullable;
51-
5251
import java.util.Collections;
5352
import java.util.Deque;
5453
import java.util.Iterator;
@@ -75,11 +74,10 @@ public int getLine() {
7574

7675
@Override
7776
public final boolean is(Kind... kind) {
78-
if (kind() != null) {
79-
for (Kind kindIter : kind) {
80-
if (kind() == kindIter) {
81-
return true;
82-
}
77+
Kind treeKind = kind();
78+
for (Kind kindIter : kind) {
79+
if (treeKind == kindIter) {
80+
return true;
8381
}
8482
}
8583
return false;

java-squid/src/main/java/org/sonar/java/se/checks/NullDereferenceCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ private ProgramState checkMemberSelect(CheckerContext context, MemberSelectExpre
9595

9696
@Override
9797
public ProgramState checkPostStatement(CheckerContext context, Tree syntaxNode) {
98-
if (context.isNull(context.getState().peekValue()) && syntaxNode.is(Tree.Kind.SWITCH_STATEMENT)) {
98+
if (syntaxNode.is(Tree.Kind.SWITCH_STATEMENT) && context.isNull(context.getState().peekValue())) {
9999
context.reportIssue(syntaxNode, this, "NullPointerException might be thrown as '" + SyntaxTreeNameFinder.getName(syntaxNode) + "' is nullable here");
100100
context.createSink();
101101
return context.getState();

0 commit comments

Comments
 (0)