1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2025-02-12 16:06:23 +02:00

Ложное сообщение для составных типов вне реквизитов #1069

This commit is contained in:
Dmitriy Marmyshev 2022-07-19 13:28:37 +03:00
parent b04602d882
commit 627f9082f6
3 changed files with 21 additions and 1 deletions

View File

@ -75,6 +75,7 @@
- Ложное срабатывание проверки: doc-comment-ref-link Учет точки в конце ссылки на метод #993
- Ложное срабатывание проверки: statement-type-change для типов общего модуля #994
- Некорректное сообщение об ошибке в строгих типах. Не существует типа "Таблица" #1055
- Ложное сообщение об ошибке о неиспользовании составных типов для стандартных объектов метаданных #1069
## 0.2.0

View File

@ -25,6 +25,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import com._1c.g5.v8.dt.mcore.TypeDescription;
import com._1c.g5.v8.dt.mcore.TypeItem;
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
import com._1c.g5.v8.dt.metadata.mdclass.BasicFeature;
import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
import com.e1c.g5.v8.dt.check.CheckComplexity;
import com.e1c.g5.v8.dt.check.ICheckParameters;
@ -84,9 +85,18 @@ public final class DbObjectAnyRefTypeCheck
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
IProgressMonitor monitor)
{
List<TypeItem> types = ((TypeDescription)object).getTypes();
TypeDescription typeDescription = (TypeDescription)object;
if (!(typeDescription.eContainer() instanceof BasicFeature))
{
return;
}
List<TypeItem> types = typeDescription.getTypes();
for (TypeItem typeItem : types)
{
if (monitor.isCanceled())
{
return;
}
String typeItemName = McoreUtil.getTypeName(typeItem);
if (!Objects.isNull(typeItemName) && REF_TYPES.contains(typeItemName))
{

View File

@ -25,6 +25,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import com._1c.g5.v8.dt.mcore.TypeDescription;
import com._1c.g5.v8.dt.mcore.TypeItem;
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
import com._1c.g5.v8.dt.metadata.mdclass.BasicFeature;
import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
import com.e1c.g5.v8.dt.check.CheckComplexity;
import com.e1c.g5.v8.dt.check.ICheckParameters;
@ -96,11 +97,19 @@ public final class DbObjectRefNonRefTypesCheck
IProgressMonitor monitor)
{
TypeDescription td = (TypeDescription)object;
if (!(td.eContainer() instanceof BasicFeature))
{
return;
}
boolean hasRef = false;
boolean hasExl = false;
List<TypeItem> types = td.getTypes();
for (TypeItem typeItem : types)
{
if (monitor.isCanceled())
{
return;
}
String typeItemName = McoreUtil.getTypeName(typeItem);
if (!Objects.isNull(typeItemName))
{