Странное поведение findbug с RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT - PullRequest
0 голосов
/ 28 марта 2019

У меня есть findebug, который проверяет поиск ошибки в одном случае и не находит в другом, и я совершенно не понимаю, как он связан.

Так что я столкнулся с этим RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT и начал пробовать другой код, и нашел варианткоторые исправляют это предупреждение, но оно выглядит совершенно не связанным с сообщенной проблемой.

Этот код генерирует RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT

        final Node currentProjectNode = TripleUtil.createNode(projectId);

        final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
        pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);

И этот код НЕ генерирует ошибку

        final Node currentProjectNode = TripleUtil.createNode(projectId);
        final PrefixMappingImpl prefixMapping = new PrefixMappingImpl();
        prefixMapping.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
        final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
        pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);

Поскольку выможно увидеть, что я просто создаю экземпляр класса и затем использую его метод, и все, я не изменил код, который генерирует ошибку, я не изменил метод, который генерирует ошибку.Похоже, в первом примере findbug просто не может найти правильную реализацию или что-то, но я не понимаю, почему?В конце концов, об этом не следует сообщать, потому что prefixMapping.setNsPrefix выполняет некоторую работу, а не просто возвращает значение.

...