1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2025-04-11 11:52:05 +02:00

Неправильно валидируется пустой метод с комментарием #1007

This commit is contained in:
Dzyuba Maksim 2022-03-17 01:05:04 +03:00
parent 8802bfa536
commit 1032da51c1
3 changed files with 14 additions and 4 deletions

View File

@ -106,15 +106,17 @@ public final class ModuleEmptyMethodCheck
private boolean isMethodHasNoComment(Method method)
{
List<INode> nameNodes = NodeModelUtils.findNodesForFeature(method, McorePackage.Literals.NAMED_ELEMENT__NAME);
INode node = NodeModelUtils.findActualNodeFor(method);
if (node != null)
if (node != null && !nameNodes.isEmpty())
{
INode nameNode = nameNodes.get(0);
List<ILeafNode> allLeafNode = Lists.newArrayList(node.getLeafNodes());
for (int i = allLeafNode.size() - 1; i >= 0; --i)
{
ILeafNode leafNode = allLeafNode.get(i);
if (leafNode.getOffset() < node.getOffset())
if (leafNode.getOffset() < nameNode.getOffset())
{
break;
}

View File

@ -6,3 +6,9 @@ EndProcedure
Procedure ModuleEmptyMethodCheck()
EndProcedure
&AtClient
//
Procedure Command1(Command)
EndProcedure

View File

@ -43,9 +43,11 @@ public class ModuleEmptyMethodCheckTest
updateModule(FOLDER_RESOURCE + "module-empty-method.bsl");
List<Marker> markers = getModuleMarkers();
assertEquals(1, markers.size());
assertEquals(2, markers.size());
Marker marker = markers.get(0);
assertEquals("6", marker.getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
}
marker = markers.get(1);
assertEquals("12", marker.getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
}
}