private static int line(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().startLine(); } else { return ((LineIssue) issue).line(); } }
private static String message(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().message(); } else { return ((LineIssue) issue).message(); } }
private static IssueLocation secondary(int line, List<IssueLocation> allSecondaryLocations) { for (IssueLocation location : allSecondaryLocations) { if (location.startLine() == line) { return location; } } return null; }
@Override public void visitNewExpression(NewExpressionTree tree) { if (isFunctionConstructorWithPossibleInjection(tree.expression(), tree.argumentClause())) { addIssue(new PreciseIssue(this, new IssueLocation(tree.newKeyword(), tree.expression(), MESSAGE))); } super.visitNewExpression(tree); }
@Override protected void scanChildren(Tree tree) { if (identifier == null) { super.scanChildren(tree); } } }
@Override public void accept(TreeVisitor visitor) { visitor.visitImportModuletDeclaration(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitIfStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitSwitchStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitThrowStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitFromClause(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitEmptyStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitWhileStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitExpressionStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitWithStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitBreakStatement(this); } }
@Override public void visitScript(ScriptTree tree) { nestingLevel = 0; super.visitScript(tree); }
@Override public void accept(TreeVisitor visitor) { visitor.visitForInStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitCaseClause(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitTryStatement(this); } }
@Override public void accept(TreeVisitor visitor) { visitor.visitImportDeclaration(this); } }