Visitor (final InspectionManager manager, final boolean isOnTheFly) { return new Visitor(manager, isOnTheFly) { @Override protected void checkExpression(XPathExpression expression) { if (!(expression instanceof XPathBinaryExpression expr)) { return; } if (expr.getOperator() == XPathTokenTypes.EQ) { final XPathExpression lop = expr.getLOperand(); final XPathExpression rop = expr.getROperand(); if (isNameComparison(lop, rop)) { assert rop != null; final ProblemDescriptor p = manager.createProblemDescriptor(rop, XPathBundle.message("inspection.message.hardwired.namespace.prefix"), isOnTheFly, LocalQuickFix.EMPTY_ARRAY, ProblemHighlightType.GENERIC_ERROR_OR_WARNING); addProblem(p); } else if (isNameComparison(rop, lop)) { assert lop != null; final ProblemDescriptor p = manager.createProblemDescriptor(lop, XPathBundle.message("inspection.message.hardwired.namespace.prefix"), isOnTheFly, LocalQuickFix.EMPTY_ARRAY, ProblemHighlightType.GENERIC_ERROR_OR_WARNING); addProblem(p); } else if (isNameFunctionCall(lop)) { // TODO } else if (isNameFunctionCall(rop)) { // TODO } } } }; }