Проверка пользовательских правил сонара. Тип коллекции java неизвестен. Символ - PullRequest
0 голосов
/ 20 ноября 2018

Тип коллекции всегда возвращает 'unknownSymbol' в пользовательском классе правил проверки сонара.

// демонстрационный класс

public class SaasConstantNameCheckCase {
    private static final long serialVersionUID;
    private final String title;
    public static final Integer maxSize = 1111;// Noncompliant
    private static List list = new ArrayList<>();
    private static HashMap<String, String> map = new HashMap<>();
}

// класс пользовательских правил

@Override
public void visitVariable(VariableTree tree) {
    VariableSymbol symbol = (VariableSymbol) tree.symbol();
    String type = symbol.type().name();
    System.out.println("type->"+type);
}

// результат теста

type->long
type->String
type->Integer
type->!unknownSymbol!
type->!unknownSymbol!

Почему?

1 Ответ

0 голосов
/ 20 ноября 2018

SonarJava покажет эту строку unknownSymbol!, если не удается разрешить символы фактического типа.

В этом конкретном случае вам следует либо использовать полностью определенные типы java.util.List и java.util.HashMap, либо импортировать их.

...