Skip to content

Commit

Permalink
Issue checkstyle#6624: remove usage of antlr method in VariableDeclar…
Browse files Browse the repository at this point in the history
…ationUsage
  • Loading branch information
rnveach committed Apr 3, 2019
1 parent d76eec9 commit 7a750c8
Showing 1 changed file with 14 additions and 10 deletions.
Expand Up @@ -26,7 +26,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import antlr.collections.ASTEnumeration;
import com.puppycrawl.tools.checkstyle.StatelessCheck;
import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
Expand Down Expand Up @@ -831,20 +830,25 @@ private static boolean isVariableInOperatorExpr(
*/
private static boolean isChild(DetailAST parent, DetailAST ast) {
boolean isChild = false;
final ASTEnumeration astList = parent.findAllPartial(ast);
DetailAST curNode = parent.getFirstChild();

while (astList.hasMoreNodes()) {
final DetailAST astNode = (DetailAST) astList.nextNode();
DetailAST astParent = astNode.getParent();
while (curNode != null) {
if (curNode.equals(ast)) {
isChild = true;
break;
}

while (astParent != null) {
if (astParent.equals(parent)
&& astParent.getLineNo() == parent.getLineNo()) {
isChild = true;
DetailAST toVisit = curNode.getFirstChild();
while (toVisit == null) {
toVisit = curNode.getNextSibling();
curNode = curNode.getParent();

if (curNode == parent) {
break;
}
astParent = astParent.getParent();
}

curNode = toVisit;
}

return isChild;
Expand Down

0 comments on commit 7a750c8

Please sign in to comment.