Здесь вы можете увидеть определение функции:
* Creates parsing expression - "next not".
* During execution of this expression parser will execute sub-expression once.
* This expression succeeds only if sub-expression fails.
*
* @param e sub-expression
* @throws IllegalArgumentException if given argument is not a parsing expression
*/
public final Object nextNot(Object e) {
return new NextNotExpression(convertToExpression(e));
}
Если я правильно понимаю, если объект e
виден, он не сможет.
Однако я смотрю на грамматику SonarQube для Python и PRINT_EXP
выглядит так:
b.rule(PRINT_STMT).is("print", b.nextNot("("), b.firstOf(
b.sequence(">>", TEST, b.optional(b.oneOrMore(",", TEST), b.optional(","))),
b.optional(TEST, b.zeroOrMore(",", TEST), b.optional(","))));
Означает ли это, что если скобка видна, она будет считаться ошибкой?
Потому что в Python 3.x печать - это функция.