1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2025-07-17 05:02:20 +02:00

Merge pull request #1399 from 1C-Company/G5V8DT-22792

G5V8DT-22792 Оптимизация в работе встроенного языка
This commit is contained in:
MaksimDzyuba
2024-06-25 20:42:24 +03:00
committed by GitHub
33 changed files with 355 additions and 108 deletions

View File

@ -21,7 +21,7 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)", com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.bsl.comment;version="[3.0.0,4.0.0)", com._1c.g5.v8.dt.bsl.comment;version="[3.0.0,4.0.0)",
com._1c.g5.v8.dt.bsl.common;version="[7.0.0,8.0.0)", com._1c.g5.v8.dt.bsl.common;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.bsl.documentation.comment;version="[4.0.0,5.0.0)", com._1c.g5.v8.dt.bsl.documentation.comment;version="[5.0.0,6.0.0)",
com._1c.g5.v8.dt.bsl.formatting;version="[3.0.0,4.0.0)", com._1c.g5.v8.dt.bsl.formatting;version="[3.0.0,4.0.0)",
com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)", com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)",
com._1c.g5.v8.dt.bsl.model.util;version="[4.7.0,5.0.0)", com._1c.g5.v8.dt.bsl.model.util;version="[4.7.0,5.0.0)",

View File

@ -23,14 +23,14 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.bsl.comment;version="[3.0.0,4.0.0)", com._1c.g5.v8.dt.bsl.comment;version="[3.0.0,4.0.0)",
com._1c.g5.v8.dt.bsl.common;version="[7.0.0,8.0.0)", com._1c.g5.v8.dt.bsl.common;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.bsl.contextdef;version="[2.0.0,3.0.0)", com._1c.g5.v8.dt.bsl.contextdef;version="[2.0.0,3.0.0)",
com._1c.g5.v8.dt.bsl.documentation.comment;version="[4.0.0,5.0.0)", com._1c.g5.v8.dt.bsl.documentation.comment;version="[5.0.0,6.0.0)",
com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)", com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)",
com._1c.g5.v8.dt.bsl.model.resource.owner;version="[2.0.0,3.0.0)", com._1c.g5.v8.dt.bsl.model.resource.owner;version="[2.0.0,3.0.0)",
com._1c.g5.v8.dt.bsl.model.util;version="[4.0.0,5.0.0)", com._1c.g5.v8.dt.bsl.model.util;version="[4.0.0,5.0.0)",
com._1c.g5.v8.dt.bsl.resource;version="[15.0.0,16.0.0)", com._1c.g5.v8.dt.bsl.resource;version="[15.0.0,16.0.0)",
com._1c.g5.v8.dt.bsl.services;version="[7.0.0,8.0.0)", com._1c.g5.v8.dt.bsl.services;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.bsl.typesystem;version="[10.0.0,11.0.0)", com._1c.g5.v8.dt.bsl.typesystem;version="[10.0.0,11.0.0)",
com._1c.g5.v8.dt.bsl.typesystem.util;version="[10.0.0,11.0.0)", com._1c.g5.v8.dt.bsl.typesystem.util;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.bsl.util;version="[8.0.0,9.0.0)", com._1c.g5.v8.dt.bsl.util;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.bsl.validation;version="[18.0.0,19.0.0)", com._1c.g5.v8.dt.bsl.validation;version="[18.0.0,19.0.0)",
com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)", com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
@ -47,7 +47,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
com._1c.g5.wiring.binder;version="[1.0.0,2.0.0)", com._1c.g5.wiring.binder;version="[1.0.0,2.0.0)",
com.e1c.g5.dt.core.api.naming;version="1.0.0", com.e1c.g5.dt.core.api.naming;version="1.0.0",
com.e1c.g5.dt.core.api.platform;version="[1.1.0,2.0.0)", com.e1c.g5.dt.core.api.platform;version="[1.1.0,2.0.0)",
com.e1c.g5.v8.dt.bsl.check;version="[2.0.0,3.0.0)", com.e1c.g5.v8.dt.bsl.check;version="[3.0.0,4.0.0)",
com.e1c.g5.v8.dt.bsl.check.qfix;version="[3.0.0,4.0.0)", com.e1c.g5.v8.dt.bsl.check.qfix;version="[3.0.0,4.0.0)",
com.e1c.g5.v8.dt.check;version="[2.0.0,3.0.0)", com.e1c.g5.v8.dt.check;version="[2.0.0,3.0.0)",
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)", com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",

View File

@ -33,6 +33,8 @@ import com._1c.g5.v8.dt.bsl.resource.TypesComputer;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Method; import com._1c.g5.v8.dt.mcore.Method;
import com._1c.g5.v8.dt.mcore.Parameter; import com._1c.g5.v8.dt.mcore.Parameter;
import com._1c.g5.v8.dt.mcore.Property; import com._1c.g5.v8.dt.mcore.Property;
@ -52,14 +54,15 @@ public abstract class AbstractDocCommentTypeCheck
/** /**
* Constructs an instance * Constructs an instance
* *
* @param resourceLookup * @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService * @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager * @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
protected AbstractDocCommentTypeCheck(IResourceLookup resourceLookup, INamingService namingService, protected AbstractDocCommentTypeCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
/** /**
@ -172,12 +175,12 @@ public abstract class AbstractDocCommentTypeCheck
|| (linkPart.getPartsWithOffset().get(linkPart.getPartsWithOffset().size() - 1)).getFirst().isEmpty())) || (linkPart.getPartsWithOffset().get(linkPart.getPartsWithOffset().size() - 1)).getFirst().isEmpty()))
{ {
return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 2, return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 2,
scopeProvider, context, typeComputationContext)); scopeProvider, context, v8ProjectManager, typeComputationContext));
} }
else else
{ {
return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 1, return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 1,
scopeProvider, context, typeComputationContext)); scopeProvider, context, v8ProjectManager, typeComputationContext));
} }
} }

View File

@ -17,6 +17,7 @@ import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart; import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
@ -25,6 +26,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.TypeDefinition;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.platform.IEObjectTypeNames; import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
@ -65,15 +68,16 @@ public class CollectionTypeDefinitionCheck
/** /**
* Constructs an instance * Constructs an instance
* *
* @param resourceLookup * @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService * @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager * @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public CollectionTypeDefinitionCheck(IResourceLookup resourceLookup, INamingService namingService, public CollectionTypeDefinitionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -17,6 +17,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description;
@ -24,6 +25,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.bsl.documentation.comment.TextPart; import com._1c.g5.v8.dt.bsl.documentation.comment.TextPart;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -65,11 +68,19 @@ public class DocCommentUseMinusCheck
private static final int SHOW_PREV_SYMBOLS = 7; private static final int SHOW_PREV_SYMBOLS = 7;
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public DocCommentUseMinusCheck(IResourceLookup resourceLookup, INamingService namingService, public DocCommentUseMinusCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -16,6 +16,7 @@ import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.NAMED_ELEMENT__NAME;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider;
import com._1c.g5.v8.dt.bsl.comment.DocumentationCommentProperties; import com._1c.g5.v8.dt.bsl.comment.DocumentationCommentProperties;
@ -28,6 +29,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.LinkPart;
import com._1c.g5.v8.dt.bsl.model.Function; import com._1c.g5.v8.dt.bsl.model.Function;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -61,19 +64,20 @@ public class ExportFunctionReturnSectionCheck
/** /**
* Instantiates a new check of export function return section. * Instantiates a new check of export function return section.
* *
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService * @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager * @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param commentProvider the comment provider service, cannot be {@code null}. * @param commentProvider the comment provider service, cannot be {@code null}.
* @param scopeProvider the scope provider service, cannot be {@code null}. * @param scopeProvider the scope provider service, cannot be {@code null}.
*/ */
@Inject @Inject
public ExportFunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService, public ExportFunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IBslPreferences bslPreferences, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
BslMultiLineCommentDocumentationProvider commentProvider, IScopeProvider scopeProvider) BslMultiLineCommentDocumentationProvider commentProvider, IScopeProvider scopeProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.resourceLookup = resourceLookup; this.resourceLookup = resourceLookup;
this.bslPreferences = bslPreferences; this.bslPreferences = bslPreferences;
this.commentProvider = commentProvider; this.commentProvider = commentProvider;
@ -117,7 +121,7 @@ public class ExportFunctionReturnSectionCheck
DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project); DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project);
docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider, docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider,
props.oldCommentFormat(), root.getMethod(), typeComputationContext); props.oldCommentFormat(), root.getMethod(), v8ProjectManager, typeComputationContext);
} }
if (docComment == null || docComment.getReturnSection() == null || isTypeEmptyAndNoLink( if (docComment == null || docComment.getReturnSection() == null || isTypeEmptyAndNoLink(

View File

@ -26,6 +26,8 @@ import com._1c.g5.v8.dt.bsl.model.PreprocessorItem;
import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor; import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -47,11 +49,19 @@ public class ExportProcedureCommentDescriptionCheck
{ {
private static final String CHECK_ID = "doc-comment-export-procedure-description-section"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-export-procedure-description-section"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public ExportProcedureCommentDescriptionCheck(IResourceLookup resourceLookup, INamingService namingService, public ExportProcedureCommentDescriptionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -16,6 +16,7 @@ import java.text.MessageFormat;
import java.util.List; import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart; import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
@ -24,6 +25,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.TypeDefinition;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -47,11 +50,19 @@ public class FieldDefinitionNameCheck
{ {
private static final String CHECK_ID = "doc-comment-field-name"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-field-name"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public FieldDefinitionNameCheck(IResourceLookup resourceLookup, INamingService namingService, public FieldDefinitionNameCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -15,12 +15,15 @@ package com.e1c.v8codestyle.bsl.comment.check;
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart; import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.FieldDefinition; import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.FieldDefinition;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -41,11 +44,19 @@ public class FieldDefinitionTypeCheck
{ {
private static final String CHECK_ID = "doc-comment-field-type"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-field-type"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public FieldDefinitionTypeCheck(IResourceLookup resourceLookup, INamingService namingService, public FieldDefinitionTypeCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -30,6 +30,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.TypeDefinition;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.platform.IEObjectTypeNames; import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
@ -81,13 +83,17 @@ public class FieldDefinitionTypeWithLinkRefCheck
/** /**
* Instantiates a new field definition type with link reference to constructor function check. * Instantiates a new field definition type with link reference to constructor function check.
* *
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param scopeProvider the scope provider service, cannot be {@code null}. * @param scopeProvider the scope provider service, cannot be {@code null}.
*/ */
@Inject @Inject
public FieldDefinitionTypeWithLinkRefCheck(IResourceLookup resourceLookup, INamingService namingService, public FieldDefinitionTypeWithLinkRefCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IScopeProvider scopeProvider) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IScopeProvider scopeProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.scopeProvider = scopeProvider; this.scopeProvider = scopeProvider;
} }

View File

@ -18,6 +18,7 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.scoping.IScope; import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider;
@ -30,6 +31,8 @@ import com._1c.g5.v8.dt.bsl.model.Function;
import com._1c.g5.v8.dt.bsl.model.Method; import com._1c.g5.v8.dt.bsl.model.Method;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.McorePackage; import com._1c.g5.v8.dt.mcore.McorePackage;
import com._1c.g5.v8.dt.mcore.TypeItem; import com._1c.g5.v8.dt.mcore.TypeItem;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
@ -64,12 +67,25 @@ public class FunctionReturnSectionCheck
private final IQualifiedNameConverter qualifiedNameConverter; private final IQualifiedNameConverter qualifiedNameConverter;
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param bslPreferences service for getting preferences for Built-In language, cannot be <code>null</code>
* @param qualifiedNameConverter service for getting {@link QualifiedName} by {@link EObject}, cannot be <code>null</code>
* @param scopeProvider service for getting {@link IScope} for Built-In language, cannot be <code>null</code>
* @param commentProvider service for getting comments content in Built-In language, cannot be <code>null</code>
*/
@Inject @Inject
public FunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService, public FunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IBslPreferences bslPreferences, IQualifiedNameConverter qualifiedNameConverter, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
IScopeProvider scopeProvider, BslMultiLineCommentDocumentationProvider commentProvider) IQualifiedNameConverter qualifiedNameConverter, IScopeProvider scopeProvider,
BslMultiLineCommentDocumentationProvider commentProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.resourceLookup = resourceLookup; this.resourceLookup = resourceLookup;
this.bslPreferences = bslPreferences; this.bslPreferences = bslPreferences;
this.qualifiedNameConverter = qualifiedNameConverter; this.qualifiedNameConverter = qualifiedNameConverter;
@ -119,7 +135,7 @@ public class FunctionReturnSectionCheck
IScope typeScope = scopeProvider.getScope(method, McorePackage.Literals.TYPE_DESCRIPTION__TYPES); IScope typeScope = scopeProvider.getScope(method, McorePackage.Literals.TYPE_DESCRIPTION__TYPES);
Collection<TypeItem> computedReturnTypes = Collection<TypeItem> computedReturnTypes =
root.computeReturnTypes(typeScope, scopeProvider, qualifiedNameConverter, commentProvider, root.computeReturnTypes(typeScope, scopeProvider, qualifiedNameConverter, commentProvider, v8ProjectManager,
oldCommentFormat(root.getModule()), method, typeComputationContext); oldCommentFormat(root.getModule()), method, typeComputationContext);
if (computedReturnTypes.isEmpty()) if (computedReturnTypes.isEmpty())

View File

@ -13,6 +13,7 @@
package com.e1c.v8codestyle.bsl.comment.check; package com.e1c.v8codestyle.bsl.comment.check;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description;
@ -20,6 +21,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.bsl.documentation.comment.TextPart; import com._1c.g5.v8.dt.bsl.documentation.comment.TextPart;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -40,11 +43,19 @@ public class MultilineDescriptionEndsOnDotCheck
private static final String CHECK_ID = "doc-comment-description-ends-on-dot"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-description-ends-on-dot"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public MultilineDescriptionEndsOnDotCheck(IResourceLookup resourceLookup, INamingService namingService, public MultilineDescriptionEndsOnDotCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -16,6 +16,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description;
@ -24,6 +25,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.TextPart;
import com._1c.g5.v8.dt.bsl.model.Procedure; import com._1c.g5.v8.dt.bsl.model.Procedure;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -57,11 +60,19 @@ public class MultilineDescriptionFieldSuggestionCheck
private static final Pattern PATTERN_FIELD = private static final Pattern PATTERN_FIELD =
Pattern.compile("^\\s*\\*+\\s*\\w+\\s*-", Pattern.UNICODE_CHARACTER_CLASS | Pattern.CASE_INSENSITIVE); //$NON-NLS-1$ Pattern.compile("^\\s*\\*+\\s*\\w+\\s*-", Pattern.UNICODE_CHARACTER_CLASS | Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public MultilineDescriptionFieldSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService, public MultilineDescriptionFieldSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -18,6 +18,7 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.Description;
@ -27,6 +28,8 @@ import com._1c.g5.v8.dt.bsl.model.FormalParam;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -54,11 +57,19 @@ public class MultilineDescriptionParameterSuggestionCheck
private static final String CHECK_ID = "doc-comment-parameter-in-description-suggestion"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-parameter-in-description-suggestion"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public MultilineDescriptionParameterSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService, public MultilineDescriptionParameterSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -20,6 +20,9 @@ import java.util.TreeSet;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider;
import com._1c.g5.v8.dt.bsl.comment.DocumentationCommentProperties; import com._1c.g5.v8.dt.bsl.comment.DocumentationCommentProperties;
@ -36,6 +39,8 @@ import com._1c.g5.v8.dt.bsl.model.Method;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -63,21 +68,30 @@ public class ParametersSectionCheck
private static final String PARAMETER_PARMA_SECT_FOR_EXPORT = "requireParameterSectionOnlyForExport"; //$NON-NLS-1$ private static final String PARAMETER_PARMA_SECT_FOR_EXPORT = "requireParameterSectionOnlyForExport"; //$NON-NLS-1$
private final IResourceLookup resourceLookup;
private final IBslPreferences bslPreferences; private final IBslPreferences bslPreferences;
private final IScopeProvider scopeProvider; private final IScopeProvider scopeProvider;
private final BslMultiLineCommentDocumentationProvider commentProvider; private final BslMultiLineCommentDocumentationProvider commentProvider;
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param bslPreferences service for getting preferences for Built-In language, cannot be <code>null</code>
* @param qualifiedNameConverter service for getting {@link QualifiedName} by {@link EObject}, cannot be <code>null</code>
* @param scopeProvider service for getting {@link IScope} for Built-In language, cannot be <code>null</code>
* @param commentProvider service for getting comments content in Built-In language, cannot be <code>null</code>
*/
@Inject @Inject
public ParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService, public ParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IBslPreferences bslPreferences, IScopeProvider scopeProvider, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
BslMultiLineCommentDocumentationProvider commentProvider) IScopeProvider scopeProvider, BslMultiLineCommentDocumentationProvider commentProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.resourceLookup = resourceLookup;
this.bslPreferences = bslPreferences; this.bslPreferences = bslPreferences;
this.scopeProvider = scopeProvider; this.scopeProvider = scopeProvider;
this.commentProvider = commentProvider; this.commentProvider = commentProvider;
@ -159,7 +173,7 @@ public class ParametersSectionCheck
DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project); DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project);
docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider, docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider,
props.oldCommentFormat(), object.getMethod(), typeComputationContext); props.oldCommentFormat(), object.getMethod(), v8ProjectManager, typeComputationContext);
} }
if (docComment == null) if (docComment == null)
{ {

View File

@ -13,6 +13,7 @@
package com.e1c.v8codestyle.bsl.comment.check; package com.e1c.v8codestyle.bsl.comment.check;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.ReturnSection; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.ReturnSection;
@ -20,6 +21,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.bsl.model.Procedure; import com._1c.g5.v8.dt.bsl.model.Procedure;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -43,11 +46,19 @@ public class ProcedureReturnSectionCheck
private static final String CHECK_ID = "doc-comment-procedure-return-section"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-procedure-return-section"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public ProcedureReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService, public ProcedureReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -13,12 +13,15 @@
package com.e1c.v8codestyle.bsl.comment.check; package com.e1c.v8codestyle.bsl.comment.check;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.ParametersSection; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment.ParametersSection;
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart; import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck; import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
@ -41,11 +44,19 @@ public class RedundantParametersSectionCheck
{ {
private static final String CHECK_ID = "doc-comment-redundant-parameter-section"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-redundant-parameter-section"; //$NON-NLS-1$
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/
@Inject @Inject
public RedundantParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService, public RedundantParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -13,6 +13,7 @@
package com.e1c.v8codestyle.bsl.comment.check; package com.e1c.v8codestyle.bsl.comment.check;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
@ -22,6 +23,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.LinkPart;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -61,13 +64,17 @@ public class RefLinkPartCheck
/** /**
* Instantiates a new reference link part check. * Instantiates a new reference link part check.
* *
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param scopeProvider the scope provider service, cannot be {@code null}. * @param scopeProvider the scope provider service, cannot be {@code null}.
*/ */
@Inject @Inject
public RefLinkPartCheck(IResourceLookup resourceLookup, INamingService namingService, public RefLinkPartCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IScopeProvider scopeProvider) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IScopeProvider scopeProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.scopeProvider = scopeProvider; this.scopeProvider = scopeProvider;
} }

View File

@ -15,7 +15,9 @@ package com.e1c.v8codestyle.bsl.comment.check;
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope; import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.IScopeProvider;
@ -27,6 +29,8 @@ import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.TypeDefinition;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.McorePackage; import com._1c.g5.v8.dt.mcore.McorePackage;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
@ -53,11 +57,22 @@ public class TypeDefinitionCheck
private final IQualifiedNameConverter qualifiedNameConverter; private final IQualifiedNameConverter qualifiedNameConverter;
/**
* Constructs an instance
*
* @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param qualifiedNameConverter service for getting {@link QualifiedName} by {@link EObject}, cannot be <code>null</code>
* @param scopeProvider service for getting {@link IScope} for Built-In language, cannot be <code>null</code>
*/
@Inject @Inject
public TypeDefinitionCheck(IResourceLookup resourceLookup, INamingService namingService, public TypeDefinitionCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager, IQualifiedNameConverter qualifiedNameConverter, IScopeProvider scopeProvider) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager,
IQualifiedNameConverter qualifiedNameConverter, IScopeProvider scopeProvider)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.qualifiedNameConverter = qualifiedNameConverter; this.qualifiedNameConverter = qualifiedNameConverter;
this.scopeProvider = scopeProvider; this.scopeProvider = scopeProvider;
} }

View File

@ -20,6 +20,7 @@ import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
@ -32,6 +33,8 @@ import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Environmental; import com._1c.g5.v8.dt.mcore.Environmental;
import com._1c.g5.v8.dt.mcore.TypeItem; import com._1c.g5.v8.dt.mcore.TypeItem;
import com._1c.g5.v8.dt.mcore.util.Environments; import com._1c.g5.v8.dt.mcore.util.Environments;
@ -66,11 +69,15 @@ public abstract class AbstractDynamicFeatureAccessTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
protected AbstractDynamicFeatureAccessTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, protected AbstractDynamicFeatureAccessTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -55,6 +55,8 @@ import com._1c.g5.v8.dt.bsl.typesystem.util.TypeSystemUtil;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IDtProject; import com._1c.g5.v8.dt.core.platform.IDtProject;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Environmental; import com._1c.g5.v8.dt.mcore.Environmental;
import com._1c.g5.v8.dt.mcore.McorePackage; import com._1c.g5.v8.dt.mcore.McorePackage;
import com._1c.g5.v8.dt.mcore.Type; import com._1c.g5.v8.dt.mcore.Type;
@ -109,6 +111,11 @@ public abstract class AbstractTypeCheck
/** The comment provider service. */ /** The comment provider service. */
protected final BslMultiLineCommentDocumentationProvider commentProvider; protected final BslMultiLineCommentDocumentationProvider commentProvider;
/**
* {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}
*/
protected final IV8ProjectManager v8ProjectManager;
private final InternalTypeNameRegistry internalTypeNameRegistry; private final InternalTypeNameRegistry internalTypeNameRegistry;
/** /**
@ -117,15 +124,20 @@ public abstract class AbstractTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
protected AbstractTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, protected AbstractTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(); super();
this.resourceLookup = resourceLookup; this.resourceLookup = resourceLookup;
this.namingService = namingService; this.namingService = namingService;
this.bmModelManager = bmModelManager; this.bmModelManager = bmModelManager;
this.bslPreferences = bslPreferences; this.bslPreferences = bslPreferences;
this.v8ProjectManager = v8ProjectManager;
IResourceServiceProvider rsp = IResourceServiceProvider rsp =
IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(URI.createURI("*.bsl")); //$NON-NLS-1$ IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(URI.createURI("*.bsl")); //$NON-NLS-1$
this.typeComputer = rsp.get(TypesComputer.class); this.typeComputer = rsp.get(TypesComputer.class);
@ -250,7 +262,7 @@ public abstract class AbstractTypeCheck
IProject project = resourceLookup.getProject(object); IProject project = resourceLookup.getProject(object);
boolean oldFormatComment = bslPreferences.getDocumentCommentProperties(project).oldCommentFormat(); boolean oldFormatComment = bslPreferences.getDocumentCommentProperties(project).oldCommentFormat();
return TypeSystemUtil.computeCommentTypes(object, typeScope, scopeProvider, qualifiedNameConverter, return TypeSystemUtil.computeCommentTypes(object, typeScope, scopeProvider, qualifiedNameConverter,
commentProvider, oldFormatComment, commentProvider, v8ProjectManager, oldFormatComment,
new BmOperationContext(namingService, bmModelManager, bmTransaction)); new BmOperationContext(namingService, bmModelManager, bmTransaction));
} }

View File

@ -17,12 +17,15 @@ import static com.e1c.v8codestyle.bsl.strict.check.StrictTypeAnnotationCheckExte
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment; import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart; import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.FieldDefinition; import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.FieldDefinition;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.dt.core.api.platform.BmOperationContext; import com.e1c.g5.dt.core.api.platform.BmOperationContext;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -46,15 +49,18 @@ public class DocCommentFieldTypeCheck
private static final String CHECK_ID = "doc-comment-field-type-strict"; //$NON-NLS-1$ private static final String CHECK_ID = "doc-comment-field-type-strict"; //$NON-NLS-1$
/** /**
* @param resourceLookup * Constructs an instance
* @param namingService *
* @param bmModelManager * @param resourceLookup service for look up workspace resources, see {@link IResourceLookup}, cannot be <code>null</code>
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public DocCommentFieldTypeCheck(IResourceLookup resourceLookup, INamingService namingService, public DocCommentFieldTypeCheck(IResourceLookup resourceLookup, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -14,12 +14,15 @@ package com.e1c.v8codestyle.bsl.strict.check;
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
import com._1c.g5.v8.dt.bsl.common.IBslPreferences; import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess; import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -40,12 +43,16 @@ public class DynamicFeatureAccessMethodNotFoundCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public DynamicFeatureAccessMethodNotFoundCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public DynamicFeatureAccessMethodNotFoundCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -14,12 +14,15 @@ package com.e1c.v8codestyle.bsl.strict.check;
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
import com._1c.g5.v8.dt.bsl.common.IBslPreferences; import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess; import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -39,12 +42,16 @@ public class DynamicFeatureAccessTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public DynamicFeatureAccessTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public DynamicFeatureAccessTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -29,6 +29,7 @@ import java.util.stream.StreamSupport;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
@ -96,10 +97,6 @@ public class FunctionCtorReturnSectionCheck
private final BslMultiLineCommentDocumentationProvider commentProvider; private final BslMultiLineCommentDocumentationProvider commentProvider;
private final IResourceLookup resourceLookup;
private final IV8ProjectManager v8ProjectManager;
private final IBslPreferences bslPreferences; private final IBslPreferences bslPreferences;
/** /**
@ -113,22 +110,23 @@ public class FunctionCtorReturnSectionCheck
* @param dynamicComputer the dynamic computer service, cannot be {@code null}. * @param dynamicComputer the dynamic computer service, cannot be {@code null}.
* @param scopeProvider the scope provider service, cannot be {@code null}. * @param scopeProvider the scope provider service, cannot be {@code null}.
* @param commentProvider the comment provider service, cannot be {@code null}. * @param commentProvider the comment provider service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public FunctionCtorReturnSectionCheck(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager, public FunctionCtorReturnSectionCheck(IResourceLookup resourceLookup,
IQualifiedNameConverter qualifiedNameConverter, IBslPreferences bslPreferences, TypesComputer typesComputer, IQualifiedNameConverter qualifiedNameConverter, IBslPreferences bslPreferences, TypesComputer typesComputer,
DynamicFeatureAccessComputer dynamicComputer, IScopeProvider scopeProvider, DynamicFeatureAccessComputer dynamicComputer, IScopeProvider scopeProvider,
BslMultiLineCommentDocumentationProvider commentProvider, INamingService namingService, BslMultiLineCommentDocumentationProvider commentProvider, INamingService namingService,
IBmModelManager bmModelManager) IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, namingService, bmModelManager); super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
this.typesComputer = typesComputer; this.typesComputer = typesComputer;
this.dynamicComputer = dynamicComputer; this.dynamicComputer = dynamicComputer;
this.scopeProvider = scopeProvider; this.scopeProvider = scopeProvider;
this.commentProvider = commentProvider; this.commentProvider = commentProvider;
this.qualifiedNameConverter = qualifiedNameConverter; this.qualifiedNameConverter = qualifiedNameConverter;
this.resourceLookup = resourceLookup;
this.v8ProjectManager = v8ProjectManager;
this.bslPreferences = bslPreferences; this.bslPreferences = bslPreferences;
} }
@ -181,7 +179,7 @@ public class FunctionCtorReturnSectionCheck
boolean oldFormat = props.oldCommentFormat(); boolean oldFormat = props.oldCommentFormat();
Collection<TypeItem> computedReturnTypes = root.computeReturnTypes(typeScope, scopeProvider, Collection<TypeItem> computedReturnTypes = root.computeReturnTypes(typeScope, scopeProvider,
qualifiedNameConverter, commentProvider, oldFormat, method, context); qualifiedNameConverter, commentProvider, v8ProjectManager, oldFormat, method, context);
Set<String> checkTypes = getCheckTypes(parameters); Set<String> checkTypes = getCheckTypes(parameters);

View File

@ -21,6 +21,8 @@ import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
import com._1c.g5.v8.dt.bsl.model.BslPackage; import com._1c.g5.v8.dt.bsl.model.BslPackage;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.McorePackage; import com._1c.g5.v8.dt.mcore.McorePackage;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
@ -46,12 +48,16 @@ public class FunctionReturnTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public FunctionReturnTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public FunctionReturnTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -126,8 +126,6 @@ public class InvocationParamIntersectionCheck
//@formatter:on //@formatter:on
private final IV8ProjectManager v8ProjectManager;
private final ExportMethodTypeProvider exportMethodTypeProvider; private final ExportMethodTypeProvider exportMethodTypeProvider;
/** /**
@ -136,17 +134,18 @@ public class InvocationParamIntersectionCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param v8ProjectManager the v 8 project manager service, cannot be {@code null}.
* @param exportMethodTypeProvider the export method type provider service, cannot be {@code null}. * @param exportMethodTypeProvider the export method type provider service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public InvocationParamIntersectionCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public InvocationParamIntersectionCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, IV8ProjectManager v8ProjectManager, IQualifiedNameConverter qualifiedNameConverter, ExportMethodTypeProvider exportMethodTypeProvider,
ExportMethodTypeProvider exportMethodTypeProvider, INamingService namingService, IBmModelManager bmModelManager) INamingService namingService, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
this.exportMethodTypeProvider = exportMethodTypeProvider; this.exportMethodTypeProvider = exportMethodTypeProvider;
this.v8ProjectManager = v8ProjectManager;
} }
@Override @Override
@ -295,7 +294,7 @@ public class InvocationParamIntersectionCheck
new BmOperationContext(namingService, bmModelManager, bmTransaction); new BmOperationContext(namingService, bmModelManager, bmTransaction);
targetTypes = docComment.get() targetTypes = docComment.get()
.computeParameterTypes(parameter.getName(), typeScope, scopeProvider, qualifiedNameConverter, .computeParameterTypes(parameter.getName(), typeScope, scopeProvider, qualifiedNameConverter,
commentProvider, oldFormatComment, method, typeComputationContext); commentProvider, v8ProjectManager, oldFormatComment, method, typeComputationContext);
} }
if (targetTypes.isEmpty()) if (targetTypes.isEmpty())
@ -462,7 +461,7 @@ public class InvocationParamIntersectionCheck
// if parameter declared in doc-comment then check only declared types // if parameter declared in doc-comment then check only declared types
targetTypes = docComment.get() targetTypes = docComment.get()
.computeParameterTypes(paramName, typeScope, scopeProvider, qualifiedNameConverter, commentProvider, .computeParameterTypes(paramName, typeScope, scopeProvider, qualifiedNameConverter, commentProvider,
oldFormatComment, method, typeComputationContext); v8ProjectManager, oldFormatComment, method, typeComputationContext);
} }
else else
{ {

View File

@ -26,6 +26,8 @@ import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
import com._1c.g5.v8.dt.bsl.model.FormalParam; import com._1c.g5.v8.dt.bsl.model.FormalParam;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
import com.e1c.g5.v8.dt.check.CheckComplexity; import com.e1c.g5.v8.dt.check.CheckComplexity;
import com.e1c.g5.v8.dt.check.ICheckParameters; import com.e1c.g5.v8.dt.check.ICheckParameters;
@ -51,12 +53,16 @@ public class MethodParamTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public MethodParamTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public MethodParamTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -39,6 +39,7 @@ import com._1c.g5.v8.dt.bsl.model.StaticFeatureAccess;
import com._1c.g5.v8.dt.bsl.model.Variable; import com._1c.g5.v8.dt.bsl.model.Variable;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager; import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Environmental; import com._1c.g5.v8.dt.mcore.Environmental;
import com._1c.g5.v8.dt.mcore.TypeItem; import com._1c.g5.v8.dt.mcore.TypeItem;
@ -68,23 +69,22 @@ public class SimpleStatementTypeCheck
private static final String DEFAULT_ALLOW_IMPLICIT_VAR_RESET_TO_UNDEFINED = Boolean.TRUE.toString(); private static final String DEFAULT_ALLOW_IMPLICIT_VAR_RESET_TO_UNDEFINED = Boolean.TRUE.toString();
private final IV8ProjectManager v8ProjectManager;
/** /**
* Instantiates a new simple statement change type check. * Instantiates a new simple statement change type check.
* *
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param v8ProjectManager the v8 project manager service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public SimpleStatementTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public SimpleStatementTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IV8ProjectManager v8ProjectManager, IQualifiedNameConverter qualifiedNameConverter, IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
INamingService namingService, IBmModelManager bmModelManager) IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
this.v8ProjectManager = v8ProjectManager;
} }
@Override @Override

View File

@ -18,6 +18,7 @@ import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.STRING_LITERAL__LIN
import java.text.MessageFormat; import java.text.MessageFormat;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
import com._1c.g5.v8.bm.core.IBmTransaction; import com._1c.g5.v8.bm.core.IBmTransaction;
@ -28,6 +29,8 @@ import com._1c.g5.v8.dt.bsl.model.OperatorStyleCreator;
import com._1c.g5.v8.dt.bsl.model.StringLiteral; import com._1c.g5.v8.dt.bsl.model.StringLiteral;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.util.McoreUtil; import com._1c.g5.v8.dt.mcore.util.McoreUtil;
import com._1c.g5.v8.dt.platform.IEObjectTypeNames; import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
@ -55,12 +58,16 @@ public class StructureCtorValueTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public StructureCtorValueTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public StructureCtorValueTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -23,6 +23,7 @@ import java.util.stream.Collectors;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.URI; import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameConverter;
@ -43,6 +44,8 @@ import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.common.StringUtils;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.DerivedProperty; import com._1c.g5.v8.dt.mcore.DerivedProperty;
import com._1c.g5.v8.dt.mcore.Property; import com._1c.g5.v8.dt.mcore.Property;
import com._1c.g5.v8.dt.mcore.TypeItem; import com._1c.g5.v8.dt.mcore.TypeItem;
@ -85,12 +88,23 @@ public class StructureKeyModificationCheck
private final IStaticExpressionValueComputer staticExpressionValueComputer; private final IStaticExpressionValueComputer staticExpressionValueComputer;
/**
* Instantiates a new structure constructor value type check.
*
* @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
* @param staticExpressionValueComputer {@link IStaticExpressionValueComputer} for compute string literal type, cannot be <code>null</code>
*/
@Inject @Inject
public StructureKeyModificationCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public StructureKeyModificationCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager, IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IStaticExpressionValueComputer staticExpressionValueComputer) IV8ProjectManager v8ProjectManager, IStaticExpressionValueComputer staticExpressionValueComputer)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
this.staticExpressionValueComputer = staticExpressionValueComputer; this.staticExpressionValueComputer = staticExpressionValueComputer;
} }

View File

@ -37,6 +37,8 @@ import com._1c.g5.v8.dt.bsl.model.SourceObjectLinkProvider;
import com._1c.g5.v8.dt.bsl.model.util.BslUtil; import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Method; import com._1c.g5.v8.dt.mcore.Method;
import com._1c.g5.v8.dt.mcore.Type; import com._1c.g5.v8.dt.mcore.Type;
import com._1c.g5.v8.dt.mcore.TypeItem; import com._1c.g5.v8.dt.mcore.TypeItem;
@ -79,12 +81,15 @@ public class TypedValueAddingToUntypedCollectionCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public TypedValueAddingToUntypedCollectionCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public TypedValueAddingToUntypedCollectionCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override

View File

@ -32,6 +32,8 @@ import com._1c.g5.v8.dt.bsl.model.StaticFeatureAccess;
import com._1c.g5.v8.dt.bsl.model.Variable; import com._1c.g5.v8.dt.bsl.model.Variable;
import com._1c.g5.v8.dt.core.platform.IBmModelManager; import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8Project;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
import com._1c.g5.v8.dt.mcore.Environmental; import com._1c.g5.v8.dt.mcore.Environmental;
import com._1c.g5.v8.dt.mcore.util.Environments; import com._1c.g5.v8.dt.mcore.util.Environments;
import com.e1c.g5.dt.core.api.naming.INamingService; import com.e1c.g5.dt.core.api.naming.INamingService;
@ -59,12 +61,16 @@ public class VariableTypeCheck
* @param resourceLookup the resource lookup service, cannot be {@code null}. * @param resourceLookup the resource lookup service, cannot be {@code null}.
* @param bslPreferences the BSL preferences service, cannot be {@code null}. * @param bslPreferences the BSL preferences service, cannot be {@code null}.
* @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}. * @param qualifiedNameConverter the qualified name converter service, cannot be {@code null}.
* @param namingService service for getting names of EDT object and resources, cannot be <code>null</code>
* @param bmModelManager service for getting instance of Bm Model by {@link EObject}, cannot be <code>null</code>
* @param v8ProjectManager {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}, cannot be <code>null</code>
*/ */
@Inject @Inject
public VariableTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences, public VariableTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager) IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
IV8ProjectManager v8ProjectManager)
{ {
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager); super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
} }
@Override @Override