PsiElementVisitor (@NotNull ProblemsHolder holder, boolean isOnTheFly) { return new JsonPathVisitor() { @Override public void visitFunctionCall(@NotNull JsonPathFunctionCall call) { super.visitFunctionCall(call); JsonPathId functionId = call.getId(); String functionName = functionId.getText(); if (!JsonPathConstants.STANDARD_FUNCTIONS.containsKey(functionName)) { boolean isEvaluateExpr = Boolean.TRUE.equals(holder.getFile().getUserData(JSON_PATH_EVALUATE_EXPRESSION_KEY)); if (isEvaluateExpr) { holder.registerProblem(functionId, JsonPathBundle.message("inspection.message.jsonpath.unsupported.jayway.function", functionName), ProblemHighlightType.ERROR); } else { holder.registerProblem(functionId, null, JsonPathBundle.message("inspection.message.jsonpath.unknown.function.name", functionName)); // todo Suppress for name quick fix } } } }; }