Skip to content

Commit 3e796de

Browse files
authored
Merge pull request #2850 from qtLex/fix/new-expresion-loop
Добавлен обход по дереву для описаний оповещения.
2 parents 7fac284 + 6619bb1 commit 3e796de

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ public BSLParserRuleContext visitNewExpression(BSLParser.NewExpressionContext ct
146146
);
147147
}
148148

149-
return ctx;
149+
return super.visitNewExpression(ctx);
150150
}
151151

152152
return super.visitNewExpression(ctx);

src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFillerTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ void testFindNotifyDescription() {
9393
assertThat(method).isPresent();
9494
references = referenceIndex.getReferencesTo(method.get());
9595
assertThat(references).hasSize(1);
96+
97+
// Проверяем обход дерева в глубину для NewExpression если это описание оповещения
98+
method = documentContext.getSymbolTree().getMethodSymbol("ДополнительныеПараметрыОповещения");
99+
assertThat(method).isPresent();
100+
references = referenceIndex.getReferencesTo(method.get());
101+
assertThat(references).hasSize(1);
96102
}
97103

98104
@Test

src/test/resources/references/ReferenceIndexNotifyDescription.bsl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
ОписаниеОповещения1 = Новый ОписаниеОповещения(
55
"ОбработчикОписаниеОповещения",
66
ЭтотОбъект,
7-
,
7+
ДополнительныеПараметрыОповещения(), // Проверим ловится ли ссылка на вложенный метод
88
"ОшибкаОписаниеОповещения",
99
ЭтотОбъект
1010
);
@@ -30,6 +30,12 @@
3030

3131
КонецПроцедуры
3232

33+
Функция ДополнительныеПараметрыОповещения()
34+
35+
Возврат Новый Структура("Тест", "Тест");
36+
37+
КонецФункции
38+
3339
Процедура ОбработчикОписаниеОповещения(Ответ, ДопПараметры) Экспорт
3440

3541
// Тут какой-то код

0 commit comments

Comments
 (0)