1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2026-05-21 02:19:05 +02:00
This commit is contained in:
IvanSergeev
2026-01-23 17:35:30 +04:00
parent 8fc8eaf4d9
commit 9fc9f08f39
@@ -14,9 +14,6 @@ package com.e1c.v8codestyle.bsl.check;
import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.INVOCATION;
import java.util.Arrays;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.xtext.nodemodel.ICompositeNode;
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
@@ -36,6 +33,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
import com.e1c.g5.v8.dt.check.settings.IssueType;
import com.e1c.v8codestyle.check.CommonSenseCheckExtension;
import com.e1c.v8codestyle.internal.bsl.BslPlugin;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
/**
@@ -50,6 +48,37 @@ public class DontUseModalityModeCheck
private final IConfigurationProvider configurationProvider;
private final ImmutableMap<Integer, String> immutableMapCall = ImmutableMap.<Integer, String> builder()
.put(1, "открытьзначение") //$NON-NLS-1$
.put(2, "openvalue") //$NON-NLS-1$
.put(3, "открытьформумодально") //$NON-NLS-1$
.put(4, "openformmodal")//$NON-NLS-1$
.put(5, "вопрос") //$NON-NLS-1$
.put(6, "doquerybox") //$NON-NLS-1$
.put(7, "предупреждение") //$NON-NLS-1$
.put(8, "Domessagebox") //$NON-NLS-1$
.put(9, "выбратьизсписка") //$NON-NLS-1$
.put(10, "choosefromlist") //$NON-NLS-1$
.put(11, "ввестистроку") //$NON-NLS-1$
.put(12, "inputstring") //$NON-NLS-1$
.put(13, "ввестичисло") //$NON-NLS-1$
.put(14, "inputnumber") //$NON-NLS-1$
.put(15, "ввестидату") //$NON-NLS-1$
.put(16, "inputdate") //$NON-NLS-1$
.put(17, "открытьмодально") //$NON-NLS-1$
.put(18, "domodal") //$NON-NLS-1$
.put(19, "поместитьфайл") //$NON-NLS-1$
.put(20, "putfile") //$NON-NLS-1$
.put(21, "отметитьэлементы") //$NON-NLS-1$
.put(22, "checkitems") //$NON-NLS-1$
.put(23, "выбратьэлемент") //$NON-NLS-1$
.put(24, "chooseitem") //$NON-NLS-1$
.put(25, "установитьрасширениеработысфайлами") //$NON-NLS-1$
.put(26, "installfilesystemextension") //$NON-NLS-1$
.put(27, "установитьвнешнююкомпоненту") //$NON-NLS-1$
.put(28, "installaddin") //$NON-NLS-1$
.build();
@Inject
public DontUseModalityModeCheck(IConfigurationProvider configurationProvider)
{
@@ -83,28 +112,12 @@ public class DontUseModalityModeCheck
{
Invocation invocation = (Invocation)object;
Configuration configuration = configurationProvider.getConfiguration(invocation);
if (configuration.getModalityUseMode() == ModalityUseMode.get(2))
if (configuration.getModalityUseMode() == ModalityUseMode.DONT_USE)
{
String[] modalityCall = new String[] { "ОткрытьЗначение", "OpenValue", //$NON-NLS-1$ //$NON-NLS-2$
"ОткрытьФормуМодально", "OpenFormModal", //$NON-NLS-1$ //$NON-NLS-2$
"Вопрос", "DoQueryBox", //$NON-NLS-1$ //$NON-NLS-2$
"Предупреждение", "DoMessageBox", //$NON-NLS-1$ //$NON-NLS-2$
"ВыбратьИзСписка", "ChooseFromList", //$NON-NLS-1$ //$NON-NLS-2$
"ВвестиСтроку", "InputString", //$NON-NLS-1$ //$NON-NLS-2$
"ОткрытьМодально", "DoModal", //$NON-NLS-1$ //$NON-NLS-2$
"ВвестиЧисло", "InputNumber", //$NON-NLS-1$ //$NON-NLS-2$
"ВвестиДату", "InputDate", //$NON-NLS-1$ //$NON-NLS-2$
"ПоместитьФайл", "PutFile", //$NON-NLS-1$ //$NON-NLS-2$
"ОтметитьЭлементы", "CheckItems", //$NON-NLS-1$ //$NON-NLS-2$
"ВыбратьЭлемент", "ChooseItem", //$NON-NLS-1$ //$NON-NLS-2$
"УстановитьРасширениеРаботыСФайлами", "InstallFileSystemExtension", //$NON-NLS-1$ //$NON-NLS-2$
"УстановитьВнешнююКомпоненту", "InstallAddIn" }; //$NON-NLS-1$ //$NON-NLS-2$
List<String> callList = Arrays.asList(modalityCall);
FeatureAccess featureAccess = invocation.getMethodAccess();
String name = featureAccess.getName();
if (callList.stream().anyMatch(str -> str.equalsIgnoreCase(name)))
if (immutableMapCall.containsValue(name.toLowerCase()))
{
ICompositeNode node = NodeModelUtils.findActualNodeFor(featureAccess);
DirectLocation directLocation =
@@ -115,4 +128,4 @@ public class DontUseModalityModeCheck
}
}
}
}
}