У меня есть объект, созданный таким образом, как только в одном месте в моем коде (AggregateFunctions).Что означает следующий анализ кода?
private String selectColumns() {
String query = "SELECT ";
if (this.distinctResults) {
query = query + "DISTINCT ";
}
SelectColumn selectColumn = new SelectColumn(this);
if (!this.applyAggregation) {
for (Object object : this.columns) {
query = selectColumn.selectColumn(query, object);
}
} else {
AggregateFunctions aggregateFunctions = new AggregateFunctions(this);
query = query + aggregateFunctions.select();
}
//Remove extra ', '
query = query.substring(0, query.length() - 2) + " FROM ";
return query;
}
Конструкторы:
public AggregateFunctions(@NotNull SqlQueryGenerator sqlQueryGenerator) {
this.spaceEncloser = sqlQueryGenerator.getSpaceEncloser();
this.selectColumn = new SelectColumn(sqlQueryGenerator);
JSONObject formData = sqlQueryGenerator.getFormData();
this.columns = formData.getJSONArray("columns");
this.aggregateJson = formData.getJSONObject("functions").getJSONArray("aggregate");
this.aggregatesList = new ArrayList<Aggregate>();
prepareAggregates();
this.query = new StringBuilder();
}
public SelectColumn(SqlQueryGenerator sqlQueryGenerator) {
this.sqlQueryGenerator = sqlQueryGenerator;
}
Но IntelliJ анализ кода говорит следующее о рекурсивных вызовов. В принципе, я не понял смысла. Может ли кто-нибудь уточнить, чтобы помочь мне понять?
Проблема синопсис
Конструктор имеет использование (ов), но все они принадлежат рекурсивные вызовы цепи, которая не имеет членов достижимые из точек входа.
Решение проблемы
- Безопасное удаление
- Закомментируйте
- Добавить в точке входа
Это означает, что вы создали недостижимую цепочку вызовов конструктора в своем коде. В принципе, у вас есть код, который делает что-то, но не может туда добраться. –
Трудно сказать без дополнительной информации. Возможно, нам нужен точный метод, в котором размещается этот вызов, и содержимое constructr 'Aggregate'. –
Хорошо. Я обновлю вопрос – phoenix