@Override public void visitNewExpression(NewExpressionTree tree) { checkExpression(tree, tree.expression(), usedInCallExpression, usedInNewExpression, "out"); super.visitNewExpression(tree); }
@Override public void visitNewExpression(NewExpressionTree tree) { ExpressionTree expression = tree.expression(); if (expression.is(Tree.Kind.IDENTIFIER_REFERENCE)) { String constructorName = ((IdentifierTree) expression).name(); if ("Array".equals(constructorName)) { addIssue(tree, MESSAGE); } } super.visitNewExpression(tree); } }
@Override public void visitNewExpression(NewExpressionTree tree) { if (tree.parent().is(Kind.EXPRESSION_STATEMENT) && CheckUtils.asString(tree.expression()).endsWith("Error")) { addIssue(tree, MESSAGE); } super.visitNewExpression(tree); } }
@Override public void visitNewExpression(NewExpressionTree tree) { ExpressionTree constructor = tree.expression(); ArgumentListTree arguments = tree.argumentClause(); if (constructor.is(Kind.IDENTIFIER_REFERENCE)) { Kind allowedArgument = ALLOWED_ARGUMENT_PER_WRAPPER.get(((IdentifierTree) constructor).name()); if (allowedArgument != null && !isAllowedUsage(arguments, allowedArgument)) { addIssue(tree, MESSAGE); } } super.visitNewExpression(tree); }
@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 public void visitNewExpression(NewExpressionTree tree) { ExpressionTree expression = tree.expression(); if (!expression.types().isEmpty() && !isConstructor(expression.types())) { Tree primaryLocationTree = expression; String expressionStr = CheckUtils.asString(expression); ExpressionTree unwrapped = CheckUtils.removeParenthesis(expression); if (unwrapped.is(Tree.Kind.FUNCTION_EXPRESSION)) { primaryLocationTree = ((FunctionExpressionTree) unwrapped).functionKeyword(); expressionStr = "this function"; } addIssue(primaryLocationTree, String.format(MESSAGE, expressionStr)) .secondary(tree.newKeyword()); } super.visitNewExpression(tree); }