mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-04-25 16:54:42 +02:00
Merge branch 'edt-2024-1' into G5V8DT-24769
This commit is contained in:
commit
fe5d34104f
39
.github/workflows/build.yml
vendored
39
.github/workflows/build.yml
vendored
@ -28,10 +28,16 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
if: ${{ !inputs.analyze }}
|
||||
|
||||
- name: Set up JDK 11
|
||||
uses: actions/setup-java@v1
|
||||
# - name: Set up JDK 17
|
||||
# uses: actions/setup-java@v1
|
||||
# with:
|
||||
# java-version: 17
|
||||
# java-package: jdk+fx
|
||||
|
||||
- name: Set up Maven 3.9.6
|
||||
uses: s4u/setup-maven-action@v1.12.0
|
||||
with:
|
||||
java-version: 11
|
||||
java-version: 17
|
||||
java-package: jdk+fx
|
||||
|
||||
- name: Free disk space
|
||||
@ -51,6 +57,13 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven-latest-
|
||||
|
||||
- name: Build with Maven
|
||||
working-directory: ./
|
||||
run: |
|
||||
Xvfb :5 -screen 0 1280x1024x8 -fbdir /tmp &
|
||||
export DISPLAY=:5
|
||||
mvn clean verify -PSDK,find-bugs -Dtycho.localArtifacts=ignore -B -V
|
||||
|
||||
- name: Cache SonarCloud packages
|
||||
uses: actions/cache@v2
|
||||
if: inputs.analyze
|
||||
@ -59,18 +72,21 @@ jobs:
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
|
||||
- name: Build with Maven
|
||||
- name: Set up JDK 17
|
||||
if: inputs.analyze
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 17
|
||||
java-package: jdk
|
||||
|
||||
- name: Sonar scan
|
||||
# Do not start Sonar-scanning for forks without label, and pass fork PR number directly
|
||||
if: inputs.analyze
|
||||
env:
|
||||
# Do not start Sonar-scanning for forks without label, and pass fork PR number directly
|
||||
SONAR_PARAM: "${{ inputs.analyze && format('{0}{1}', 'org.sonarsource.scanner.maven:sonar-maven-plugin:sonar', env.PR_NUMBER) || '' }}"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
||||
SONAR_TOKEN: ${{ secrets.sonar_token }}
|
||||
working-directory: ./
|
||||
run: |
|
||||
Xvfb :5 -screen 0 1280x1024x8 -fbdir /tmp &
|
||||
export DISPLAY=:5
|
||||
echo "Sonar param: \"${SONAR_PARAM}\""
|
||||
mvn clean verify ${SONAR_PARAM} -PSDK,find-bugs -Dtycho.localArtifacts=ignore -B -V
|
||||
run: mvn compile org.sonarsource.scanner.maven:sonar-maven-plugin:sonar ${{ env.PR_NUMBER }} -Dtycho.localArtifacts=ignore -B -V
|
||||
|
||||
- name: Publish Test Report
|
||||
uses: scacap/action-surefire-report@v1
|
||||
@ -96,7 +112,6 @@ jobs:
|
||||
with:
|
||||
name: jacoco
|
||||
path: |
|
||||
./**/target/jacoco.exec
|
||||
./**/target/site/jacoco*/
|
||||
|
||||
- name: Upload test logs on failure
|
||||
|
2
.github/workflows/ci-build.yml
vendored
2
.github/workflows/ci-build.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
name: Build
|
||||
# This build will run on master,release/* push, local PR and PR from forks without label Analyze
|
||||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name || !contains(github.event.pull_request.labels.*.name, 'Analyze')
|
||||
uses: 1C-company/v8-code-style/.github/workflows/build.yml@master
|
||||
uses: 1C-company/v8-code-style/.github/workflows/build.yml@edt-2024-1
|
||||
with:
|
||||
analyze: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name }}
|
||||
secrets:
|
||||
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -13,10 +13,10 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up JDK 11
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 11
|
||||
java-version: 17
|
||||
java-package: jdk+fx
|
||||
|
||||
- name: Cache maven repo
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,3 +12,5 @@ target/
|
||||
#Mac-specific directory that no other operating system needs.
|
||||
.DS_Store
|
||||
.m2/
|
||||
|
||||
org.sonarlint.eclipse.core.prefs
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
## 0.7.0
|
||||
|
||||
Выпуск бета-версии для 1C:EDT 2023.3
|
||||
|
||||
### Новые проверки
|
||||
|
||||
@ -20,6 +21,7 @@
|
||||
|
||||
- Проверка на уникальность имени поля в doc-comment-field-name #1392
|
||||
- Проверка модификации ключей структуры вне функции-конструктора #1054
|
||||
- По умолчанию проверка "Код не должен следовать за асинхронным вызовом" (code-after-async-call) выключена. См. обсуждение в https://github.com/1C-Company/v8-code-style/pull/1408
|
||||
|
||||
|
||||
#### Запросы
|
||||
@ -28,6 +30,7 @@
|
||||
|
||||
### Прочие изменения
|
||||
|
||||
- Контекстная команда форматирования документирующего комментария в редакторе модуля #1418
|
||||
|
||||
### Исправленные ошибки
|
||||
|
||||
@ -311,6 +314,7 @@
|
||||
- Исправлен расчета типов возвращаемых значений функций с вызовом сервера
|
||||
- Испрвление проверки типа локальной переменной в variable-value-type
|
||||
- Проверка типов invocation-parameter-type-intersect при вызове метода, если существуют документирующие комментарии использует только декларированные типы
|
||||
- Исправлена ошибка, при которой не выполнялась автосортировка вложенных подсистем при включенной автосортировке верхнеуровневых объектов метаданных
|
||||
|
||||
## 0.1.0
|
||||
|
||||
|
67
bom/pom.xml
67
bom/pom.xml
@ -24,26 +24,26 @@
|
||||
<name>BOM</name>
|
||||
|
||||
<prerequisites>
|
||||
<maven>3.6.0</maven>
|
||||
<maven>3.9.4</maven>
|
||||
</prerequisites>
|
||||
|
||||
<properties>
|
||||
<tycho.version>2.7.0</tycho.version>
|
||||
<tycho.extras.version>2.7.0</tycho.extras.version>
|
||||
<tycho.version>4.0.5</tycho.version>
|
||||
<tycho.extras.version>4.0.5</tycho.extras.version>
|
||||
<markdown-page-generator.version>2.3.1</markdown-page-generator.version>
|
||||
<!-- Override this property in each project -->
|
||||
<markdown.page.generator.html.file.path>${project.basedir}</markdown.page.generator.html.file.path>
|
||||
|
||||
<spotbugs.maven.plugin.version>3.1.12.2</spotbugs.maven.plugin.version>
|
||||
<spotbugs.maven.plugin.version>4.8.3.1</spotbugs.maven.plugin.version>
|
||||
<maven.checkstyle.plugin.version>3.1.1</maven.checkstyle.plugin.version>
|
||||
<checkstyle.version>8.29</checkstyle.version>
|
||||
<checkstyle.header.file>java.header</checkstyle.header.file>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<maven.compiler.release>11</maven.compiler.release>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
<maven.compiler.release>17</maven.compiler.release>
|
||||
|
||||
<maven.build.timestamp.format>'v'yyyyMMdd-HHmm</maven.build.timestamp.format>
|
||||
<qualifier>${maven.build.timestamp}</qualifier>
|
||||
@ -51,7 +51,7 @@
|
||||
<eclipse.p2.latest>http://download.eclipse.org/releases/2022-03/</eclipse.p2.latest>
|
||||
|
||||
<p2repo.archive.skip>false</p2repo.archive.skip>
|
||||
<org.jacoco.version>0.8.6</org.jacoco.version>
|
||||
<org.jacoco.version>0.8.8</org.jacoco.version>
|
||||
<!-- SonarQube Settings -->
|
||||
<sonar.projectKey>1C-Company_v8-code-style</sonar.projectKey>
|
||||
<sonar.organization>1c-company</sonar.organization>
|
||||
@ -87,6 +87,8 @@
|
||||
<sonar.issue.ignore.multicriteria.t4.resourceKey>/tests/**/*.java</sonar.issue.ignore.multicriteria.t4.resourceKey>
|
||||
<!-- Source files should not have any duplicated blocks -->
|
||||
<sonar.cpd.exclusions>**/*Plugin.java,/tests/**/*</sonar.cpd.exclusions>
|
||||
|
||||
<eclipse.jarsigner.plugin.version>1.1.2_p3</eclipse.jarsigner.plugin.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@ -98,7 +100,7 @@
|
||||
<version>${tycho.version}</version>
|
||||
<configuration>
|
||||
<resolver>p2</resolver>
|
||||
<executionEnvironment>JavaSE-11</executionEnvironment>
|
||||
<executionEnvironment>JavaSE-17</executionEnvironment>
|
||||
<includePackedArtifacts>false</includePackedArtifacts>
|
||||
<target>
|
||||
<artifact>
|
||||
@ -239,7 +241,7 @@
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.8</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<!--plugin>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>${org.jacoco.version}</version>
|
||||
@ -248,7 +250,7 @@
|
||||
<exclude>**/MdClassPackageImpl*</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugin-->
|
||||
<plugin>
|
||||
<groupId>com.ruleoftech</groupId>
|
||||
<artifactId>markdown-page-generator-plugin</artifactId>
|
||||
@ -299,6 +301,20 @@
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.cbi.maven.plugins</groupId>
|
||||
<artifactId>eclipse-jarsigner-plugin</artifactId>
|
||||
<version>${eclipse.jarsigner.plugin.version}</version>
|
||||
<configuration>
|
||||
<signerUrl>${signer.url}/jarsign.php</signerUrl>
|
||||
<excludeInnerJars>true</excludeInnerJars>
|
||||
<retryLimit>5</retryLimit>
|
||||
<systemPropertyVariables>
|
||||
<signer.ssl.keyStore>${env.SIGN_KEYSTORE_PATH}</signer.ssl.keyStore>
|
||||
<signer.ssl.keyStorePassword>${keystorePassword}</signer.ssl.keyStorePassword>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
|
||||
@ -380,12 +396,39 @@
|
||||
<dependency>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs</artifactId>
|
||||
<version>4.0.0-beta2</version>
|
||||
<version>4.8.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>sign</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.cbi.maven.plugins</groupId>
|
||||
<artifactId>eclipse-jarsigner-plugin</artifactId>
|
||||
<version>${eclipse.jarsigner.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
|
||||
</profiles>
|
||||
</project>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,8 +1,8 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -9,8 +9,9 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.118.0,4.0.0)",
|
||||
org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)",
|
||||
org.eclipse.ui.forms;bundle-version="[3.11.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.23.0,3.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.emf.ecore;bundle-version="[2.23.0,3.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.autosort.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -23,5 +24,4 @@ Import-Package: com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.v8codestyle.autosort;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[30.1.0,31.0.0)",
|
||||
com.google.inject;version="[5.0.0,6.0.0)"
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,8 +1,8 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -9,8 +9,9 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
|
||||
com._1c.g5.wiring;bundle-version="[2.0.0,3.0.0)",
|
||||
org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.autosort
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -28,11 +29,9 @@ Import-Package: com._1c.g5.v8.activitytracking.core;version="[1.0.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.md.sort;version="[1.0.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com.e1c.g5.v8.dt.cli.api;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.cli.api.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.cli.api.components;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[30.1.0,31.0.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)",
|
||||
com.google.inject.binder;version="[5.0.1,6.0.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)",
|
||||
org.slf4j;version="[1.7.2,2.0.0)"
|
||||
Export-Package: com.e1c.v8codestyle.autosort;version="0.7.0";
|
||||
uses:="org.eclipse.emf.ecore,
|
||||
|
@ -119,6 +119,20 @@ public class SortService
|
||||
this.configurationProvider = configurationProvider;
|
||||
this.workspaceOrchestrator = workspaceOrchestrator;
|
||||
this.modelEditingSupport = modelEditingSupport;
|
||||
workspaceOrchestrator.addListener(event -> {
|
||||
if (event.isProjectClosing())
|
||||
{
|
||||
IProject project = event.getProject().getWorkspaceProject();
|
||||
if (project != null)
|
||||
{
|
||||
SortJob job = jobs.remove(project);
|
||||
if (job != null)
|
||||
{
|
||||
job.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@LifecycleParticipant(phase = LifecyclePhase.RESOURCE_LOADING,
|
||||
@ -467,6 +481,23 @@ public class SortService
|
||||
}
|
||||
}
|
||||
|
||||
private void appendSubordinateSubsystems(Collection<SortItem> result, IBmTransaction transaction)
|
||||
{
|
||||
for (Iterator<IBmObject> iterator =
|
||||
transaction.getTopObjectIterator(MdClassPackage.Literals.SUBSYSTEM); iterator.hasNext();)
|
||||
{
|
||||
IBmObject subsystem = iterator.next();
|
||||
|
||||
EList<?> subordinateSubsystems =
|
||||
(EList<?>)subsystem.eGet(MdClassPackage.Literals.SUBSYSTEM__SUBSYSTEMS, false);
|
||||
if (subordinateSubsystems.size() > 1)
|
||||
{
|
||||
String fqn = subsystem.bmGetFqn();
|
||||
result.add(new SortItem(fqn, MdClassPackage.Literals.SUBSYSTEM__SUBSYSTEMS, sorter));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Map<EClass, List<EReference>> getSubordinateListsToSort(Iterator<EClass> eClassIterator,
|
||||
IProject project)
|
||||
{
|
||||
@ -474,7 +505,8 @@ public class SortService
|
||||
while (eClassIterator.hasNext())
|
||||
{
|
||||
EClass topObjectEClass = eClassIterator.next();
|
||||
if (topObjectEClass.equals(CONFIGURATION) || !MD_OBJECT.isSuperTypeOf(topObjectEClass))
|
||||
if (topObjectEClass.equals(CONFIGURATION) || topObjectEClass.equals(MdClassPackage.Literals.SUBSYSTEM)
|
||||
|| !MD_OBJECT.isSuperTypeOf(topObjectEClass))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -516,6 +548,10 @@ public class SortService
|
||||
{
|
||||
result.add(new SortItem(CONFIGURATION_FQN, feature, sorter));
|
||||
}
|
||||
if (feature.equals(MdClassPackage.Literals.CONFIGURATION__SUBSYSTEMS))
|
||||
{
|
||||
appendSubordinateSubsystems(result, transaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -13,27 +13,33 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
|
||||
org.eclipse.xtext.ui;bundle-version="[2.24.0,3.0.0)",
|
||||
org.eclipse.handly.xtext.ui;bundle-version="[1.5.0,2.0.0)",
|
||||
org.eclipse.handly;bundle-version="[1.5.0,2.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.bsl.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.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.common;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.documentation.comment;version="[4.0.0,5.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="[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.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.resource.owner;version="[2.0.0,3.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.services;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.contentassist;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.editor;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.menu;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.contentassist;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.editor;version="[10.0.0,11.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.event;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.menu;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.ui.quickfix;version="[4.1.0,5.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.util;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.filesystem;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.model;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.form.model;version="[11.1.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.lcore.nodemodel.util;version="[1.0.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.lcore.ui.texteditor;version="[1.1.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
@ -43,8 +49,8 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.bsl.check.qfix;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[4.0.0,5.0.0)",
|
||||
com.e1c.v8codestyle.bsl;version="[0.7.0,0.8.0)",
|
||||
com.e1c.v8codestyle.bsl.strict;version="[0.7.0,0.8.0)"
|
||||
|
@ -15,6 +15,8 @@
|
||||
|
||||
command.enableStrictTypes.mnemonic = E
|
||||
command.enableStrictTypes.name = Enable @strict-types in modules
|
||||
command.formatDocComment.mnemonic = F
|
||||
command.formatDocComment.name = Format Method Documentation Comment
|
||||
|
||||
menu.label = Source
|
||||
|
||||
|
@ -237,6 +237,10 @@
|
||||
id="com.e1c.v8codestyle.bsl.ui.commands.addStrictTypesAnnotationCommand"
|
||||
name="%command.enableStrictTypes.name">
|
||||
</command>
|
||||
<command
|
||||
id="com.e1c.v8codestyle.bsl.ui.commands.formatDocCommentCommand"
|
||||
name="%command.formatDocComment.name">
|
||||
</command>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.menus">
|
||||
@ -330,6 +334,16 @@
|
||||
</reference>
|
||||
</visibleWhen>
|
||||
</command>
|
||||
<command
|
||||
commandId="com.e1c.v8codestyle.bsl.ui.commands.formatDocCommentCommand"
|
||||
style="push">
|
||||
<visibleWhen
|
||||
checkEnabled="false">
|
||||
<reference
|
||||
definitionId="com._1c.g5.v8.dt.bsl.Bsl.Editor.editable">
|
||||
</reference>
|
||||
</visibleWhen>
|
||||
</command>
|
||||
</menu>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
@ -343,6 +357,14 @@
|
||||
definitionId="com._1c.g5.v8.dt.bsl.Bsl.Editor.editable">
|
||||
</reference></activeWhen>
|
||||
</handler>
|
||||
<handler
|
||||
class="com.e1c.v8codestyle.internal.bsl.ui.ExecutableExtensionFactory:com.e1c.v8codestyle.internal.bsl.ui.handlers.FormatDocCommentModuleEditorHandler"
|
||||
commandId="com.e1c.v8codestyle.bsl.ui.commands.formatDocCommentCommand">
|
||||
<activeWhen>
|
||||
<reference
|
||||
definitionId="com._1c.g5.v8.dt.bsl.Bsl.Editor.editable">
|
||||
</reference></activeWhen>
|
||||
</handler>
|
||||
</extension>
|
||||
|
||||
<extension point="com.e1c.g5.v8.dt.check.fixes">
|
||||
@ -368,5 +390,11 @@
|
||||
class="com.e1c.v8codestyle.internal.bsl.ui.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.ui.qfix.ServerExecutionSafeModeFix">
|
||||
</fix>
|
||||
</extension>
|
||||
<extension
|
||||
point="com._1c.g5.v8.dt.bsl.ui.bslModuleTextInsertInfoService">
|
||||
<bslModuleTextInsertInfoService
|
||||
class="com.e1c.v8codestyle.internal.bsl.ui.ExecutableExtensionFactory:com.e1c.v8codestyle.internal.bsl.ui.services.BslModuleRegionsInfoService">
|
||||
</bslModuleTextInsertInfoService>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
@ -14,6 +14,8 @@
|
||||
|
||||
command.enableStrictTypes.mnemonic = В
|
||||
command.enableStrictTypes.name = Включить строгую типизацию (@strict-types) в модулях
|
||||
command.formatDocComment.mnemonic = Ф
|
||||
command.formatDocComment.name = Форматировать документирующий комментарий метода
|
||||
|
||||
menu.label = Исходники
|
||||
|
||||
|
@ -81,9 +81,6 @@ public class OpenBslDocCommentViewFix
|
||||
@Override
|
||||
protected TextEdit fixIssue(XtextResource state, IXtextBslModuleFixModel model) throws BadLocationException
|
||||
{
|
||||
IXtextInteractiveBslModuleFixModel interactiveModel = (IXtextInteractiveBslModuleFixModel)model;
|
||||
|
||||
Integer offset = model.getIssue().getOffset() + 1;
|
||||
Display display = PlatformUI.getWorkbench().getDisplay();
|
||||
if (display.isDisposed())
|
||||
{
|
||||
@ -101,13 +98,18 @@ public class OpenBslDocCommentViewFix
|
||||
}
|
||||
});
|
||||
|
||||
IXtextInteractiveBslModuleFixModel interactiveModel = (IXtextInteractiveBslModuleFixModel)model;
|
||||
Integer offset = model.getIssue().getOffset() + 1;
|
||||
ITextViewer viewer = BslQuickFixUtil.getTextViewer(interactiveModel.getModificationContext());
|
||||
if (viewer != null && !display.isDisposed())
|
||||
{
|
||||
display.asyncExec(() -> {
|
||||
viewer.revealRange(offset, 1);
|
||||
viewer.getTextWidget().setFocus();
|
||||
viewer.setSelectedRange(offset, 1);
|
||||
if (viewer.getDocument() != null)
|
||||
{
|
||||
viewer.revealRange(offset, 1);
|
||||
viewer.getTextWidget().setFocus();
|
||||
viewer.setSelectedRange(offset, 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
return null;
|
||||
|
@ -19,10 +19,12 @@ import org.eclipse.xtext.resource.IResourceServiceProvider;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.BslMultiLineCommentDocumentationProvider;
|
||||
import com._1c.g5.v8.dt.bsl.ui.contentassist.BslProposalProvider;
|
||||
import com._1c.g5.v8.dt.core.filesystem.IQualifiedNameFilePathConverter;
|
||||
import com._1c.g5.v8.dt.core.model.IModelEditingSupport;
|
||||
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.lcore.ui.texteditor.IndentTextEditorProvider;
|
||||
import com._1c.g5.wiring.AbstractServiceAwareModule;
|
||||
import com.e1c.g5.v8.dt.check.qfix.IFixRepository;
|
||||
import com.e1c.v8codestyle.bsl.IModuleStructureProvider;
|
||||
@ -59,6 +61,8 @@ class ExternalDependenciesModule
|
||||
bind(BslMultiLineCommentDocumentationProvider.class)
|
||||
.toProvider(() -> rsp.get(BslMultiLineCommentDocumentationProvider.class));
|
||||
bind(EObjectAtOffsetHelper.class).toProvider(() -> rsp.get(EObjectAtOffsetHelper.class));
|
||||
bind(BslProposalProvider.class).toProvider(() -> rsp.get(BslProposalProvider.class));
|
||||
bind(IndentTextEditorProvider.class).toProvider(() -> rsp.get(IndentTextEditorProvider.class));
|
||||
|
||||
// CodeStyle Services
|
||||
bind(IModuleStructureProvider.class).toService();
|
||||
|
@ -0,0 +1,235 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2024, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.bsl.ui.handlers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.commands.AbstractHandler;
|
||||
import org.eclipse.core.commands.ExecutionEvent;
|
||||
import org.eclipse.core.commands.ExecutionException;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.handly.buffer.BufferChange;
|
||||
import org.eclipse.handly.snapshot.NonExpiringSnapshot;
|
||||
import org.eclipse.jface.text.ITextViewer;
|
||||
import org.eclipse.text.edits.ReplaceEdit;
|
||||
import org.eclipse.text.edits.TextEdit;
|
||||
import org.eclipse.ui.IWorkbenchPart;
|
||||
import org.eclipse.ui.handlers.HandlerUtil;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
import org.eclipse.xtext.nodemodel.ICompositeNode;
|
||||
import org.eclipse.xtext.nodemodel.ILeafNode;
|
||||
import org.eclipse.xtext.nodemodel.INode;
|
||||
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
|
||||
import org.eclipse.xtext.resource.XtextResource;
|
||||
import org.eclipse.xtext.ui.editor.XtextEditor;
|
||||
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
|
||||
import org.eclipse.xtext.util.CancelIndicator;
|
||||
import org.eclipse.xtext.util.Triple;
|
||||
import org.eclipse.xtext.util.Tuples;
|
||||
import org.eclipse.xtext.util.concurrent.CancelableUnitOfWork;
|
||||
|
||||
import com._1c.g5.ides.ui.texteditor.xtext.embedded.EmbeddedEditorBuffer;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.BslCommentUtils;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocCommentSerializer;
|
||||
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.BslMultiLineCommentDocumentationProvider;
|
||||
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.model.Method;
|
||||
import com._1c.g5.v8.dt.bsl.model.Module;
|
||||
import com._1c.g5.v8.dt.bsl.ui.contentassist.BslProposalProvider;
|
||||
import com._1c.g5.v8.dt.bsl.ui.menu.BslHandlerUtil;
|
||||
import com._1c.g5.v8.dt.bsl.util.BslUtil;
|
||||
import com._1c.g5.v8.dt.common.PreferenceUtils;
|
||||
import com._1c.g5.v8.dt.common.StringUtils;
|
||||
import com._1c.g5.v8.dt.core.model.EditingMode;
|
||||
import com._1c.g5.v8.dt.core.model.IModelEditingSupport;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8Project;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.lcore.nodemodel.util.CustomNodeModelUtils;
|
||||
import com._1c.g5.v8.dt.lcore.ui.texteditor.IndentTextEditorProvider;
|
||||
import com.e1c.v8codestyle.internal.bsl.ui.UiPlugin;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
* The Handler to format current method's documentation comment in opened in BSL editor.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*/
|
||||
public class FormatDocCommentModuleEditorHandler
|
||||
extends AbstractHandler
|
||||
{
|
||||
|
||||
@Inject
|
||||
private BslMultiLineCommentDocumentationProvider commentProvider;
|
||||
|
||||
@Inject
|
||||
private BslProposalProvider proposalProvider;
|
||||
|
||||
@Inject
|
||||
private IBslPreferences bslPreferences;
|
||||
|
||||
@Inject
|
||||
private IV8ProjectManager v8projectManager;
|
||||
|
||||
@Inject
|
||||
private IndentTextEditorProvider indentProvider;
|
||||
|
||||
@Inject
|
||||
private IModelEditingSupport modelEditingSupport;
|
||||
|
||||
@Override
|
||||
public Object execute(ExecutionEvent event) throws ExecutionException
|
||||
{
|
||||
IWorkbenchPart part = HandlerUtil.getActivePart(event);
|
||||
|
||||
XtextEditor target = BslHandlerUtil.extractXtextEditor(part);
|
||||
if (target != null)
|
||||
{
|
||||
final ITextViewer viewer = BslHandlerUtil.getTextViewer(target);
|
||||
IXtextDocument document = target.getDocument();
|
||||
|
||||
Triple<Integer, Integer, String> content =
|
||||
document.readOnly(new CancelableUnitOfWork<Triple<Integer, Integer, String>, XtextResource>()
|
||||
{
|
||||
@Override
|
||||
public Triple<Integer, Integer, String> exec(XtextResource resource, CancelIndicator monitor)
|
||||
throws Exception
|
||||
{
|
||||
if (resource.getContents() != null && !resource.getContents().isEmpty())
|
||||
{
|
||||
EObject obj = resource.getContents().get(0);
|
||||
if (obj instanceof Module)
|
||||
return getFormatedDocComment((Module)obj, viewer);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (content != null && content.getFirst() > -1 && content.getSecond() > -1 && content.getThird() != null)
|
||||
{
|
||||
replaceDocComment(document, content.getThird(), content.getFirst(), content.getSecond());
|
||||
}
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void replaceDocComment(IXtextDocument document, String comment, int insertOffset, int length)
|
||||
{
|
||||
TextEdit change = new ReplaceEdit(insertOffset, length, comment);
|
||||
|
||||
try (EmbeddedEditorBuffer buffer = new EmbeddedEditorBuffer(document))
|
||||
{
|
||||
NonExpiringSnapshot snapshot = new NonExpiringSnapshot(buffer);
|
||||
BufferChange bufferChange = new BufferChange(change);
|
||||
bufferChange.setBase(snapshot);
|
||||
buffer.applyChange(bufferChange, new NullProgressMonitor());
|
||||
}
|
||||
catch (CoreException e)
|
||||
{
|
||||
UiPlugin.logError(e);
|
||||
}
|
||||
}
|
||||
|
||||
private Triple<Integer, Integer, String> getFormatedDocComment(Module module, ITextViewer viewer)
|
||||
{
|
||||
if (!modelEditingSupport.canEdit(module, EditingMode.DIRECT))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Method method = getNearestMethod(module, (viewer.getSelectedRange()).x);
|
||||
if (method != null)
|
||||
{
|
||||
List<INode> lines = commentProvider.getDocumentationNodes(method);
|
||||
if (lines.isEmpty())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
int methodOffset = lines.get(0).getOffset();
|
||||
int length = lines.get(lines.size() - 1).getEndOffset() - methodOffset;
|
||||
|
||||
String lineFormatter = proposalProvider.getLineFormatter(module, viewer.getDocument(), methodOffset);
|
||||
IV8Project project = v8projectManager.getProject(module);
|
||||
boolean oldFormat = (project != null && project.getProject() != null)
|
||||
? this.bslPreferences.getDocumentCommentProperties(project.getProject()).oldCommentFormat() : true;
|
||||
|
||||
BslDocumentationComment docComment =
|
||||
BslCommentUtils.parseTemplateComment(method, oldFormat, commentProvider);
|
||||
if (isEmpty(docComment.getDescription()))
|
||||
{
|
||||
docComment.getDescription().getParts().clear();
|
||||
}
|
||||
|
||||
boolean isRussian = BslUtil.isRussian(method, v8projectManager);
|
||||
String indent = indentProvider.getIndent();
|
||||
|
||||
String lineSeparator = resolveLineSeparator(project);
|
||||
String comment = BslDocCommentSerializer.newBuilder()
|
||||
.setOldFormat(oldFormat)
|
||||
.setScriptVariant(isRussian)
|
||||
.lineSeparator(lineSeparator)
|
||||
.ignoreLineNumbers()
|
||||
.build()
|
||||
.serialize(docComment, lineFormatter, indent)
|
||||
.concat(lineSeparator);
|
||||
|
||||
return Tuples.create(methodOffset, length, comment);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean isEmpty(Description description)
|
||||
{
|
||||
for (IDescriptionPart part : description.getParts())
|
||||
{
|
||||
if (part instanceof TextPart)
|
||||
{
|
||||
String text = ((TextPart)part).getText();
|
||||
if (StringUtils.isNotBlank(text))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private Method getNearestMethod(Module module, int offset)
|
||||
{
|
||||
ICompositeNode iCompositeNode = NodeModelUtils.findActualNodeFor(module);
|
||||
ILeafNode node = CustomNodeModelUtils.findLeafNodeAtOffset(iCompositeNode, offset);
|
||||
EObject actualObject = NodeModelUtils.findActualSemanticObjectFor(node);
|
||||
if (actualObject instanceof Method)
|
||||
return (Method)actualObject;
|
||||
return EcoreUtil2.getContainerOfType(actualObject, Method.class);
|
||||
}
|
||||
|
||||
private static String resolveLineSeparator(IV8Project v8project)
|
||||
{
|
||||
if (v8project == null)
|
||||
return System.lineSeparator();
|
||||
return PreferenceUtils.getLineSeparator(v8project.getProject());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,176 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2023, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.bsl.ui.services;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.jface.text.BadLocationException;
|
||||
import org.eclipse.jface.text.IDocument;
|
||||
import org.eclipse.xtext.nodemodel.INode;
|
||||
|
||||
import com.e1c.v8codestyle.internal.bsl.ui.UiPlugin;
|
||||
|
||||
/**
|
||||
* Provides offsets and suffixes information of module region
|
||||
*
|
||||
* @author Kuznetsov Nikita
|
||||
*/
|
||||
public final class BslModuleOffsets
|
||||
{
|
||||
private int startOffset;
|
||||
private int endOffset;
|
||||
private int insertOffset;
|
||||
|
||||
private boolean needReplace;
|
||||
|
||||
private Map<String, BslModuleOffsets> suffixes;
|
||||
|
||||
/**
|
||||
* Create and calculate module region offsets
|
||||
*
|
||||
* @param document actual {@link IDocument} to get offsets from, can't be {@code null}
|
||||
* @param node {@link INode} to get offsets from, can't be {@code null}
|
||||
* @param nodeAfter {@link INode} to get offsets from, can't be {@code null}
|
||||
* @return module region information with calculated region offsets or {@code null}
|
||||
*/
|
||||
public static BslModuleOffsets create(IDocument document, INode node, INode nodeAfter)
|
||||
{
|
||||
try
|
||||
{
|
||||
int startLine = node.getTotalStartLine() - 1;
|
||||
int startOffset = document.getLineOffset((startLine <= 1) ? 0 : startLine);
|
||||
int endOffset = nodeAfter.getTotalOffset();
|
||||
int insertOffset = document.getLineOffset(document.getLineOfOffset(nodeAfter.getTotalOffset()));
|
||||
return new BslModuleOffsets(startOffset, endOffset, insertOffset);
|
||||
}
|
||||
catch (BadLocationException ex)
|
||||
{
|
||||
UiPlugin.log(UiPlugin.createErrorStatus("Can't create module region information", ex)); //$NON-NLS-1$
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns start offset of module region
|
||||
*
|
||||
* @return offset before region declaration
|
||||
*/
|
||||
public int getStartOffset()
|
||||
{
|
||||
return startOffset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns end offset of module region
|
||||
*
|
||||
* @return offset after region declaration
|
||||
*/
|
||||
public int getEndOffset()
|
||||
{
|
||||
return endOffset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns before end offset inside module region
|
||||
*
|
||||
* @return offset before end of region declaration
|
||||
*/
|
||||
public int getBeforeEndOffset()
|
||||
{
|
||||
return insertOffset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is need to replace existing module region
|
||||
*
|
||||
* @return <code>true</code> if need to replace existing region, <code>false</code> otherwise
|
||||
*/
|
||||
public boolean needReplace()
|
||||
{
|
||||
return needReplace;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets necessity of replacing existing module region
|
||||
*/
|
||||
public void setNeedReplace()
|
||||
{
|
||||
needReplace = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add suffix of the name of this module region
|
||||
*
|
||||
* @param suffix to add to suffixes map of this module region
|
||||
* @param document to update offsets, can't be {@code null}
|
||||
* @param node to update offsets, can't be {@code null}
|
||||
* @param nodeAfter to update offsets, can't be {@code null}
|
||||
*/
|
||||
public void addSuffix(String suffix, IDocument document, INode node, INode nodeAfter)
|
||||
{
|
||||
if (suffixes == null)
|
||||
{
|
||||
suffixes = new HashMap<>();
|
||||
}
|
||||
BslModuleOffsets suffixRegionInformation = create(document, node, nodeAfter);
|
||||
if (suffixRegionInformation != null)
|
||||
{
|
||||
suffixes.put(suffix, suffixRegionInformation);
|
||||
int suffixStartOffset = suffixRegionInformation.getStartOffset();
|
||||
int suffixEndOffset = suffixRegionInformation.getEndOffset();
|
||||
int suffixInsertOffset = suffixRegionInformation.getBeforeEndOffset();
|
||||
if (insertOffset < suffixInsertOffset)
|
||||
{
|
||||
insertOffset = suffixInsertOffset;
|
||||
endOffset = suffixEndOffset;
|
||||
}
|
||||
if (startOffset > suffixStartOffset)
|
||||
{
|
||||
startOffset = suffixStartOffset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Is module region has suffixes
|
||||
*
|
||||
* @return {@code true} if module region has suffixes, {@code false} otherwise
|
||||
*/
|
||||
public boolean hasSuffixes()
|
||||
{
|
||||
return suffixes != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns module region information by suffix if exists
|
||||
*
|
||||
* @param suffix {@link String} suffix of declared name module region
|
||||
* @return {@link BslModuleOffsets} if suffix exists, {@code null} otherwise
|
||||
*/
|
||||
public BslModuleOffsets getInformationBySuffix(String suffix)
|
||||
{
|
||||
if (hasSuffixes())
|
||||
{
|
||||
return suffixes.get(suffix);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private BslModuleOffsets(int startOffset, int endOffset, int insertOffset)
|
||||
{
|
||||
this.startOffset = startOffset;
|
||||
this.endOffset = endOffset;
|
||||
this.insertOffset = insertOffset;
|
||||
}
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2023-2024, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.bsl.ui.services;
|
||||
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
|
||||
|
||||
/**
|
||||
* Built-in language module region information with {@link String} region wrap data
|
||||
*
|
||||
* @author Kuznetsov Nikita
|
||||
*/
|
||||
public class BslModuleRegionsInfo
|
||||
implements IBslModuleTextInsertInfo
|
||||
{
|
||||
private final URI resourceURI;
|
||||
private final int insertPosition;
|
||||
private final int clearPosition;
|
||||
private final int clearLength;
|
||||
private final String regionName;
|
||||
|
||||
/**
|
||||
* {@link BslModuleRegionsInfo} constructor
|
||||
*
|
||||
* @param resourceURI current module or document resource {@link URI}, cannot be <code>null</code>
|
||||
* @param insertPosition <code>int</code> insertion offset, cannot be negative
|
||||
* @param clearPosition text clear <code>int</code> position, can be negative if no clear needed
|
||||
* @param clearLength text clear <code>int</code> length, can be negative if no clear needed
|
||||
* @param regionName {@link String} region name, can be <code>null</code>
|
||||
*/
|
||||
public BslModuleRegionsInfo(URI resourceURI, int insertPosition, int clearPosition, int clearLength,
|
||||
String regionName)
|
||||
{
|
||||
this.resourceURI = resourceURI;
|
||||
this.insertPosition = insertPosition;
|
||||
this.clearPosition = clearPosition;
|
||||
this.clearLength = clearLength;
|
||||
this.regionName = regionName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public URI getResourceURI()
|
||||
{
|
||||
return resourceURI;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPosition()
|
||||
{
|
||||
return clearLength > 0 ? clearPosition : insertPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getClearLength()
|
||||
{
|
||||
return clearLength;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns region name
|
||||
*
|
||||
* @return {@link String} region name, can be <code>null</code>
|
||||
*/
|
||||
public String getRegionName()
|
||||
{
|
||||
return regionName;
|
||||
}
|
||||
}
|
@ -0,0 +1,390 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2023-2024, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.bsl.ui.services;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.EClass;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.nodemodel.INode;
|
||||
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
|
||||
import org.eclipse.xtext.resource.IResourceServiceProvider;
|
||||
import org.eclipse.xtext.resource.XtextResource;
|
||||
import org.eclipse.xtext.ui.editor.model.IXtextDocument;
|
||||
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.EventItemType;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleEventData;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfoService;
|
||||
import com._1c.g5.v8.dt.bsl.model.Module;
|
||||
import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor;
|
||||
import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
|
||||
import com._1c.g5.v8.dt.bsl.resource.owner.BslOwnerComputerService;
|
||||
import com._1c.g5.v8.dt.bsl.ui.BslGeneratorMultiLangProposals;
|
||||
import com._1c.g5.v8.dt.bsl.ui.editor.BslXtextDocument;
|
||||
import com._1c.g5.v8.dt.bsl.ui.event.BslModuleEventData;
|
||||
import com._1c.g5.v8.dt.common.PreferenceUtils;
|
||||
import com._1c.g5.v8.dt.common.StringUtils;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8Project;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.form.model.FormPackage;
|
||||
import com._1c.g5.v8.dt.mcore.NamedElement;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
|
||||
import com.e1c.v8codestyle.bsl.IModuleStructureProvider;
|
||||
import com.e1c.v8codestyle.bsl.ModuleStructureSection;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
* Module regions related implementation of {@link IBslModuleTextInsertInfoService}
|
||||
*
|
||||
* @author Kuznetsov Nikita
|
||||
*/
|
||||
public class BslModuleRegionsInfoService
|
||||
implements IBslModuleTextInsertInfoService
|
||||
{
|
||||
|
||||
@Inject
|
||||
private IModuleStructureProvider moduleStructureProvider;
|
||||
|
||||
@Override
|
||||
public IBslModuleTextInsertInfo getEventHandlerTextInsertInfo(IXtextDocument document, int defaultPosition,
|
||||
IBslModuleEventData data)
|
||||
{
|
||||
if (!(data instanceof BslModuleEventData))
|
||||
{
|
||||
return IBslModuleTextInsertInfo.getDefaultModuleTextInsertInfo(document, defaultPosition);
|
||||
}
|
||||
BslModuleEventData bslModuleEventData = (BslModuleEventData)data;
|
||||
URI resourceURI = document.getResourceURI();
|
||||
IResourceServiceProvider rsp =
|
||||
IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(resourceURI);
|
||||
IV8ProjectManager projectManager = rsp.get(IV8ProjectManager.class);
|
||||
IV8Project project = projectManager.getProject(resourceURI);
|
||||
ModuleInfoUnitOfWork moduleInfoUnitOfWork = new ModuleInfoUnitOfWork(rsp.get(BslOwnerComputerService.class));
|
||||
ModuleInfo moduleInfo = document instanceof BslXtextDocument bslXTextDocument
|
||||
? bslXTextDocument.readOnlyDataModelWithoutSync(moduleInfoUnitOfWork)
|
||||
: document.readOnly(moduleInfoUnitOfWork);
|
||||
EObject eventOwner = data.getEventOwner();
|
||||
BslModuleEventData regionData = (BslModuleEventData)data;
|
||||
EventItemType itemType = regionData.getEventItemType();
|
||||
String suffix = getSuffix(eventOwner, itemType, bslModuleEventData.isInternal());
|
||||
ScriptVariant scriptVariant = project.getScriptVariant();
|
||||
String declaredRegionName =
|
||||
getDeclaredRegionName(moduleInfo.owner, itemType, bslModuleEventData.isInternal(), scriptVariant);
|
||||
Map<String, BslModuleOffsets> regionOffsets =
|
||||
getRegionOffsets(document, moduleInfo.regionPreprocessors, declaredRegionName, scriptVariant);
|
||||
BslModuleOffsets bslModuleOffsets = regionOffsets.get(declaredRegionName);
|
||||
int offset = getRegionOffset(regionOffsets, declaredRegionName, suffix, defaultPosition, scriptVariant);
|
||||
String regionName = null;
|
||||
boolean createRegion = !isRegionExists(regionOffsets, declaredRegionName, suffix);
|
||||
int clearOffset = 0;
|
||||
int clearLength = 0;
|
||||
if (bslModuleOffsets != null && bslModuleOffsets.needReplace())
|
||||
{
|
||||
createRegion = true;
|
||||
String lineSeparator = PreferenceUtils.getLineSeparator(project.getProject());
|
||||
int lineSeparatorOffset =
|
||||
bslModuleOffsets.getStartOffset() >= lineSeparator.length() ? lineSeparator.length() : 0;
|
||||
clearOffset = bslModuleOffsets.getStartOffset() - lineSeparatorOffset;
|
||||
clearLength = bslModuleOffsets.getEndOffset() - bslModuleOffsets.getStartOffset() + lineSeparatorOffset;
|
||||
}
|
||||
if (createRegion && project.getProject() != null
|
||||
&& moduleStructureProvider.canCreateStructure(project.getProject()))
|
||||
{
|
||||
regionName = suffix.isEmpty() ? declaredRegionName : (declaredRegionName + suffix);
|
||||
}
|
||||
return new BslModuleRegionsInfo(resourceURI, offset, clearOffset, clearLength, regionName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String wrap(IBslModuleTextInsertInfo moduleTextInsertInfo, String content)
|
||||
{
|
||||
if (moduleTextInsertInfo instanceof BslModuleRegionsInfo moduleRegionInformation)
|
||||
{
|
||||
String regionName = moduleRegionInformation.getRegionName();
|
||||
if (regionName != null)
|
||||
{
|
||||
IResourceServiceProvider rsp = IResourceServiceProvider.Registry.INSTANCE
|
||||
.getResourceServiceProvider(moduleTextInsertInfo.getResourceURI());
|
||||
IV8ProjectManager projectManager = rsp.get(IV8ProjectManager.class);
|
||||
BslGeneratorMultiLangProposals proposals = rsp.get(BslGeneratorMultiLangProposals.class);
|
||||
IV8Project project = projectManager.getProject(moduleTextInsertInfo.getResourceURI());
|
||||
String lineSeparator = PreferenceUtils.getLineSeparator(project.getProject());
|
||||
proposals.setRussianLang(ScriptVariant.RUSSIAN.equals(project.getScriptVariant()));
|
||||
String beginRegion = proposals.getBeginRegionPropStr();
|
||||
String endRegion = proposals.getEndRegionPropStr();
|
||||
String space = proposals.getSpacePropStr();
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if (moduleTextInsertInfo.getPosition() != 0)
|
||||
{
|
||||
builder.append(lineSeparator);
|
||||
}
|
||||
builder.append(beginRegion).append(space).append(regionName);
|
||||
builder.append(content);
|
||||
builder.append(endRegion);
|
||||
if (moduleTextInsertInfo.getPosition() == 0)
|
||||
{
|
||||
builder.append(lineSeparator);
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
||||
private Map<String, BslModuleOffsets> getRegionOffsets(IXtextDocument document,
|
||||
List<RegionPreprocessor> regionPreprocessors, String targetRegionName, ScriptVariant scriptVariant)
|
||||
{
|
||||
ModuleStructureSection[] declaredRegionNames = ModuleStructureSection.values();
|
||||
Map<String, BslModuleOffsets> regionOffsets = new HashMap<>(declaredRegionNames.length / 2);
|
||||
for (RegionPreprocessor regionPreprocessor : regionPreprocessors)
|
||||
{
|
||||
INode nodeAfter = NodeModelUtils.findActualNodeFor(regionPreprocessor.getItemAfter());
|
||||
if (nodeAfter != null)
|
||||
{
|
||||
String preprocessorRegionName = regionPreprocessor.getName();
|
||||
for (int regionNameIndex = 0; regionNameIndex < declaredRegionNames.length; regionNameIndex++)
|
||||
{
|
||||
ModuleStructureSection moduleStructureSection = declaredRegionNames[regionNameIndex];
|
||||
String declaredRegionName = moduleStructureSection.getName(scriptVariant);
|
||||
if ((preprocessorRegionName != null)
|
||||
&& isMatchingRegion(preprocessorRegionName, declaredRegionName))
|
||||
{
|
||||
INode node = NodeModelUtils.findActualNodeFor(regionPreprocessor.getItem());
|
||||
if (node != null)
|
||||
{
|
||||
BslModuleOffsets moduleRegionInformation = null;
|
||||
if (!preprocessorRegionName.equals(declaredRegionName))
|
||||
{
|
||||
if (!moduleStructureSection.isSuffixed())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
String suffix = getSuffixOfMatchingRegion(preprocessorRegionName, declaredRegionName);
|
||||
moduleRegionInformation = regionOffsets.get(declaredRegionName);
|
||||
if (moduleRegionInformation == null)
|
||||
{
|
||||
moduleRegionInformation = BslModuleOffsets.create(document, node, nodeAfter);
|
||||
if (moduleRegionInformation == null)
|
||||
{
|
||||
return regionOffsets;
|
||||
}
|
||||
}
|
||||
moduleRegionInformation.addSuffix(suffix, document, node, nodeAfter);
|
||||
}
|
||||
if (moduleRegionInformation == null && !moduleStructureSection.isSuffixed())
|
||||
{
|
||||
moduleRegionInformation = BslModuleOffsets.create(document, node, nodeAfter);
|
||||
}
|
||||
if (moduleRegionInformation != null)
|
||||
{
|
||||
regionOffsets.put(declaredRegionName, moduleRegionInformation);
|
||||
if ((targetRegionName != null) && targetRegionName.equals(preprocessorRegionName))
|
||||
{
|
||||
if (node.getLength() == 0)
|
||||
{
|
||||
moduleRegionInformation.setNeedReplace();
|
||||
}
|
||||
return regionOffsets;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return regionOffsets;
|
||||
}
|
||||
|
||||
private int getRegionOffset(Map<String, BslModuleOffsets> regionOffsets, String declaredRegionName, String suffix,
|
||||
int defaultOffset, ScriptVariant scriptVariant)
|
||||
{
|
||||
int offset = defaultOffset;
|
||||
boolean createNewRegion = !isRegionExists(regionOffsets, declaredRegionName, suffix);
|
||||
BslModuleOffsets regionOffset = regionOffsets.get(declaredRegionName);
|
||||
|
||||
if (regionOffset != null)
|
||||
{
|
||||
if (!suffix.isEmpty())
|
||||
{
|
||||
BslModuleOffsets suffixedRegionInformation = regionOffset.getInformationBySuffix(suffix);
|
||||
if (suffixedRegionInformation != null)
|
||||
{
|
||||
return suffixedRegionInformation.getBeforeEndOffset();
|
||||
}
|
||||
else if (createNewRegion)
|
||||
{
|
||||
return getNewRegionOffset(regionOffsets, declaredRegionName, suffix, defaultOffset, scriptVariant);
|
||||
}
|
||||
}
|
||||
return regionOffset.getBeforeEndOffset();
|
||||
}
|
||||
if (createNewRegion)
|
||||
{
|
||||
return getNewRegionOffset(regionOffsets, declaredRegionName, suffix, defaultOffset, scriptVariant);
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
|
||||
private boolean isRegionExists(Map<String, BslModuleOffsets> regionOffsets, String declaredRegionName,
|
||||
String suffix)
|
||||
{
|
||||
BslModuleOffsets moduleRegionInformation = regionOffsets.get(declaredRegionName);
|
||||
return (moduleRegionInformation != null)
|
||||
&& (suffix.isEmpty() || moduleRegionInformation.getInformationBySuffix(suffix) != null);
|
||||
}
|
||||
|
||||
private int getNewRegionOffset(Map<String, BslModuleOffsets> regionOffsets, String regionName, String suffix,
|
||||
int defaultOffset, ScriptVariant scriptVariant)
|
||||
{
|
||||
boolean placeBefore = false;
|
||||
int offset = regionOffsets.isEmpty() ? 0 : defaultOffset;
|
||||
ModuleStructureSection[] declaredRegionNames = ModuleStructureSection.values();
|
||||
BslModuleOffsets lastRegionInformation = null;
|
||||
BslModuleOffsets regionInformation = null;
|
||||
for (int regionNameIndex = 0; regionNameIndex < declaredRegionNames.length; regionNameIndex++)
|
||||
{
|
||||
ModuleStructureSection moduleStructuredSection = declaredRegionNames[regionNameIndex];
|
||||
String declaredRegionName = moduleStructuredSection.getName(scriptVariant);
|
||||
if (declaredRegionName.equals(regionName))
|
||||
{
|
||||
placeBefore = true;
|
||||
}
|
||||
if (regionInformation != null)
|
||||
{
|
||||
lastRegionInformation = regionInformation;
|
||||
}
|
||||
regionInformation = regionOffsets.get(declaredRegionName);
|
||||
if (regionInformation != null)
|
||||
{
|
||||
if (placeBefore && (suffix.isEmpty() || !declaredRegionName.equals(regionName)))
|
||||
{
|
||||
return lastRegionInformation != null ? lastRegionInformation.getEndOffset()
|
||||
: regionInformation.getStartOffset();
|
||||
}
|
||||
offset = placeBefore ? regionInformation.getStartOffset() : regionInformation.getEndOffset();
|
||||
}
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
|
||||
private String getDeclaredRegionName(EClass moduleOwnerClass, EventItemType itemType, boolean isInternal,
|
||||
ScriptVariant scriptVariant)
|
||||
{
|
||||
if (isInternal)
|
||||
{
|
||||
return getPrivateRegionName(scriptVariant);
|
||||
}
|
||||
if (moduleOwnerClass.getName().equals("AbstractForm")) //$NON-NLS-1$
|
||||
{
|
||||
return getDeclaredRegionNameForForm(itemType, scriptVariant);
|
||||
}
|
||||
return getDefaultRegionName(scriptVariant);
|
||||
}
|
||||
|
||||
private String getDeclaredRegionNameForForm(EventItemType itemType, ScriptVariant scriptVariant)
|
||||
{
|
||||
switch (itemType)
|
||||
{
|
||||
case MAIN:
|
||||
return ModuleStructureSection.FORM_EVENT_HANDLERS.getName(scriptVariant);
|
||||
case COMMAND:
|
||||
return ModuleStructureSection.FORM_COMMAND_EVENT_HANDLERS.getName(scriptVariant);
|
||||
case TABLE:
|
||||
return ModuleStructureSection.FORM_TABLE_ITEMS_EVENT_HANDLERS.getName(scriptVariant);
|
||||
default:
|
||||
return ModuleStructureSection.FORM_HEADER_ITEMS_EVENT_HANDLERS.getName(scriptVariant);
|
||||
}
|
||||
}
|
||||
|
||||
private String getPrivateRegionName(ScriptVariant scriptVariant)
|
||||
{
|
||||
return ModuleStructureSection.PRIVATE.getName(scriptVariant);
|
||||
}
|
||||
|
||||
private String getDefaultRegionName(ScriptVariant scriptVariant)
|
||||
{
|
||||
return ModuleStructureSection.EVENT_HANDLERS.getName(scriptVariant);
|
||||
}
|
||||
|
||||
private String getSuffix(EObject eventOwner, EventItemType itemType, boolean isInternal)
|
||||
{
|
||||
if (isInternal)
|
||||
{
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
if (itemType.equals(EventItemType.TABLE))
|
||||
{
|
||||
EObject container = eventOwner;
|
||||
while (container != null)
|
||||
{
|
||||
if (container.eClass() == FormPackage.Literals.TABLE)
|
||||
{
|
||||
return ((NamedElement)container).getName();
|
||||
}
|
||||
else
|
||||
{
|
||||
container = container.eContainer();
|
||||
}
|
||||
}
|
||||
}
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
private String getSuffixOfMatchingRegion(String regionName, String declaredRegionName)
|
||||
{
|
||||
return regionName.substring(declaredRegionName.length(), regionName.length());
|
||||
}
|
||||
|
||||
private boolean isMatchingRegion(String regionName, String declaredRegionName)
|
||||
{
|
||||
int declaredRegionNameLength = declaredRegionName.length();
|
||||
return regionName.length() >= declaredRegionNameLength
|
||||
&& regionName.substring(0, declaredRegionNameLength).equals(declaredRegionName);
|
||||
}
|
||||
|
||||
private final class ModuleInfo
|
||||
{
|
||||
private final EClass owner;
|
||||
private final List<RegionPreprocessor> regionPreprocessors;
|
||||
|
||||
public ModuleInfo(EClass owner, List<RegionPreprocessor> regionPreprocessors)
|
||||
{
|
||||
this.owner = owner;
|
||||
this.regionPreprocessors = regionPreprocessors;
|
||||
}
|
||||
}
|
||||
|
||||
private final class ModuleInfoUnitOfWork
|
||||
implements IUnitOfWork<ModuleInfo, XtextResource>
|
||||
{
|
||||
private final BslOwnerComputerService bslOwnerComputerService;
|
||||
|
||||
public ModuleInfoUnitOfWork(BslOwnerComputerService bslOwnerComputerService)
|
||||
{
|
||||
this.bslOwnerComputerService = bslOwnerComputerService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleInfo exec(XtextResource resource) throws Exception
|
||||
{
|
||||
Module module = (Module)resource.getParseResult().getRootASTElement();
|
||||
return new ModuleInfo(bslOwnerComputerService.computeOwnerEClass(module),
|
||||
BslUtil.getAllRegionPreprocessors(module));
|
||||
}
|
||||
}
|
||||
}
|
@ -14,7 +14,7 @@ package com.e1c.v8codestyle.internal.bsl.ui.views;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import org.eclipse.jface.action.IMenuManager;
|
||||
import org.eclipse.jface.action.IToolBarManager;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,8 +1,8 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -13,26 +13,26 @@ Require-Bundle: org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)",
|
||||
org.eclipse.xtext;bundle-version="[2.17.0,3.0.0)",
|
||||
org.eclipse.xtext.builder;bundle-version="[2.18.0,3.0.0)",
|
||||
org.eclipse.jdt.annotation;bundle-version="[2.2.0,3.0.0)";resolution:=optional
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.bsl
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.bm.integration;version="[11.0.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.bm.xtext;version="[15.0.0,16.0.0)",
|
||||
com._1c.g5.v8.dt.bsl;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.bsl;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.comment;version="[3.0.0,4.0.0)",
|
||||
com._1c.g5.v8.dt.bsl.common;version="[6.0.0,7.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.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.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.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.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.validation;version="[17.0.0,18.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.core.naming;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
|
||||
@ -47,13 +47,13 @@ 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.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.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.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.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[4.0.0,5.0.0)",
|
||||
com.e1c.v8codestyle;version="[0.7.0,0.8.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
Export-Package: com.e1c.v8codestyle.bsl;version="0.7.0",
|
||||
|
@ -15,29 +15,37 @@ package com.e1c.v8codestyle.bsl;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
|
||||
|
||||
/**
|
||||
* Standard module structure dually-named section.
|
||||
* Standard module structure dually-named section;
|
||||
* <br>Sorted by priority of module regions standard.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*/
|
||||
public enum ModuleStructureSection
|
||||
{
|
||||
PUBLIC("Public", "ПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
INTERNAL("Internal", "СлужебныйПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
PRIVATE("Private", "СлужебныеПроцедурыИФункции"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
VARIABLES("Variables", "ОписаниеПеременных"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
INITIALIZE("Initialize", "Инициализация"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
PUBLIC("Public", "ПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
EVENT_HANDLERS("EventHandlers", "ОбработчикиСобытий"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
INTERNAL("Internal", "СлужебныйПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
FORM_EVENT_HANDLERS("FormEventHandlers", "ОбработчикиСобытийФормы"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
FORM_HEADER_ITEMS_EVENT_HANDLERS("FormHeaderItemsEventHandlers", "ОбработчикиСобытийЭлементовШапкиФормы"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
FORM_TABLE_ITEMS_EVENT_HANDLERS("FormTableItemsEventHandlers", "ОбработчикиСобытийЭлементовТаблицыФормы", true), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
FORM_COMMAND_EVENT_HANDLERS("FormCommandsEventHandlers", "ОбработчикиКомандФормы"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
FORM_TABLE_ITEMS_EVENT_HANDLERS("FormTableItemsEventHandlers", "ОбработчикиСобытийЭлементовТаблицыФормы"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
PRIVATE("Private", "СлужебныеПроцедурыИФункции"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
INITIALIZE("Initialize", "Инициализация"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
DEPRECATED_REGION("Deprecated", "УстаревшиеПроцедурыИФункции"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
private final String[] names;
|
||||
private final boolean isSuffixed;
|
||||
|
||||
ModuleStructureSection(String name, String nameRu, boolean isSuffixed)
|
||||
{
|
||||
this.names = new String[] { name, nameRu };
|
||||
this.isSuffixed = isSuffixed;
|
||||
}
|
||||
|
||||
ModuleStructureSection(String name, String nameRu)
|
||||
{
|
||||
this.names = new String[] { name, nameRu };
|
||||
this(name, nameRu, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -61,4 +69,13 @@ public enum ModuleStructureSection
|
||||
return names[scriptVariant.getValue()];
|
||||
}
|
||||
|
||||
/**
|
||||
* Is module region name used only with suffix
|
||||
*
|
||||
* @return <code>true</code> if region name must be suffixed, <code>false</code> otherwise
|
||||
*/
|
||||
public boolean isSuffixed()
|
||||
{
|
||||
return isSuffixed;
|
||||
}
|
||||
}
|
||||
|
@ -52,8 +52,6 @@ import com.e1c.g5.v8.dt.check.components.BasicCheck;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.bsl.IAsyncInvocationProvider;
|
||||
import com.e1c.v8codestyle.check.CommonSenseCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.bsl.BslPlugin;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
@ -101,7 +99,7 @@ public final class CodeAfterAsyncCallCheck
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MAJOR)
|
||||
.issueType(IssueType.WARNING)
|
||||
.extension(new CommonSenseCheckExtension(getCheckId(), BslPlugin.PLUGIN_ID))
|
||||
.disable()
|
||||
.module()
|
||||
.checkedObjectType(INVOCATION)
|
||||
.parameter(PARAMETER_NAME, Boolean.class, DEFAULT_CHECK, Messages.CodeAfterAsyncCallCheck_Parameter);
|
||||
|
@ -86,7 +86,7 @@ public class ExportProcedureMissingCommentCheck
|
||||
|
||||
private static boolean verifyTopRegion(Optional<RegionPreprocessor> regionTop)
|
||||
{
|
||||
if (regionTop.isEmpty())
|
||||
if (regionTop.isEmpty() || regionTop.get().getName() == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -275,6 +275,10 @@ public class ModuleStructureTopRegionCheck
|
||||
for (RegionPreprocessor region : allRegions)
|
||||
{
|
||||
String regionName = region.getName();
|
||||
if (StringUtils.isBlank(regionName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
countRegions.putIfAbsent(regionName, new ArrayList<>());
|
||||
countRegions.get(regionName).add(region);
|
||||
if (getFirstParentRegion(region).isEmpty())
|
||||
@ -288,7 +292,7 @@ public class ModuleStructureTopRegionCheck
|
||||
{
|
||||
for (String name : regionNames)
|
||||
{
|
||||
if (regionName.equalsIgnoreCase(name))
|
||||
if (regionName == null || regionName.equalsIgnoreCase(name))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.Parameter;
|
||||
import com._1c.g5.v8.dt.mcore.Property;
|
||||
@ -52,14 +54,15 @@ public abstract class AbstractDocCommentTypeCheck
|
||||
/**
|
||||
* Constructs an instance
|
||||
*
|
||||
* @param resourceLookup
|
||||
* @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>
|
||||
*/
|
||||
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()))
|
||||
{
|
||||
return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 2,
|
||||
scopeProvider, context, typeComputationContext));
|
||||
scopeProvider, context, v8ProjectManager, typeComputationContext));
|
||||
}
|
||||
else
|
||||
{
|
||||
return Optional.ofNullable(linkPart.getActualObjectForPart(linkPart.getPartsWithOffset().size() - 1,
|
||||
scopeProvider, context, typeComputationContext));
|
||||
scopeProvider, context, v8ProjectManager, typeComputationContext));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.e1c.g5.dt.core.api.naming.INamingService;
|
||||
import com.e1c.g5.dt.core.api.platform.BmOperationContext;
|
||||
@ -65,15 +68,16 @@ public class CollectionTypeDefinitionCheck
|
||||
/**
|
||||
* Constructs an instance
|
||||
*
|
||||
* @param resourceLookup
|
||||
* @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
|
||||
public CollectionTypeDefinitionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,7 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
|
||||
@ -65,11 +68,19 @@ public class DocCommentUseMinusCheck
|
||||
|
||||
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
|
||||
public DocCommentUseMinusCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.scoping.IScopeProvider;
|
||||
|
||||
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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
@ -61,19 +64,20 @@ public class ExportFunctionReturnSectionCheck
|
||||
/**
|
||||
* Instantiates a new check of export function return section.
|
||||
*
|
||||
* @param resourceLookup the resource lookup service, cannot be {@code null}.
|
||||
* @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>
|
||||
* @param bslPreferences the BSL preferences 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}.
|
||||
*/
|
||||
@Inject
|
||||
public ExportFunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager, IBslPreferences bslPreferences,
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
|
||||
BslMultiLineCommentDocumentationProvider commentProvider, IScopeProvider scopeProvider)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
this.resourceLookup = resourceLookup;
|
||||
this.bslPreferences = bslPreferences;
|
||||
this.commentProvider = commentProvider;
|
||||
@ -117,7 +121,7 @@ public class ExportFunctionReturnSectionCheck
|
||||
DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project);
|
||||
|
||||
docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider,
|
||||
props.oldCommentFormat(), root.getMethod(), typeComputationContext);
|
||||
props.oldCommentFormat(), root.getMethod(), v8ProjectManager, typeComputationContext);
|
||||
}
|
||||
|
||||
if (docComment == null || docComment.getReturnSection() == null || isTypeEmptyAndNoLink(
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public ExportProcedureCommentDescriptionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,6 +16,7 @@ import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public FieldDefinitionNameCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -15,12 +15,15 @@ package com.e1c.v8codestyle.bsl.comment.check;
|
||||
import java.text.MessageFormat;
|
||||
|
||||
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.IDescriptionPart;
|
||||
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.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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public FieldDefinitionTypeCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.e1c.g5.dt.core.api.naming.INamingService;
|
||||
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.
|
||||
*
|
||||
* @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}.
|
||||
*/
|
||||
@Inject
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,7 @@ import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
import org.eclipse.xtext.naming.QualifiedName;
|
||||
import org.eclipse.xtext.scoping.IScope;
|
||||
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.core.platform.IBmModelManager;
|
||||
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.TypeItem;
|
||||
import com.e1c.g5.dt.core.api.naming.INamingService;
|
||||
@ -64,12 +67,25 @@ public class FunctionReturnSectionCheck
|
||||
|
||||
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
|
||||
public FunctionReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager, IBslPreferences bslPreferences, IQualifiedNameConverter qualifiedNameConverter,
|
||||
IScopeProvider scopeProvider, BslMultiLineCommentDocumentationProvider commentProvider)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
|
||||
IQualifiedNameConverter qualifiedNameConverter, IScopeProvider scopeProvider,
|
||||
BslMultiLineCommentDocumentationProvider commentProvider)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
this.resourceLookup = resourceLookup;
|
||||
this.bslPreferences = bslPreferences;
|
||||
this.qualifiedNameConverter = qualifiedNameConverter;
|
||||
@ -119,7 +135,7 @@ public class FunctionReturnSectionCheck
|
||||
IScope typeScope = scopeProvider.getScope(method, McorePackage.Literals.TYPE_DESCRIPTION__TYPES);
|
||||
|
||||
Collection<TypeItem> computedReturnTypes =
|
||||
root.computeReturnTypes(typeScope, scopeProvider, qualifiedNameConverter, commentProvider,
|
||||
root.computeReturnTypes(typeScope, scopeProvider, qualifiedNameConverter, commentProvider, v8ProjectManager,
|
||||
oldCommentFormat(root.getModule()), method, typeComputationContext);
|
||||
|
||||
if (computedReturnTypes.isEmpty())
|
||||
|
@ -13,6 +13,7 @@
|
||||
package com.e1c.v8codestyle.bsl.comment.check;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public MultilineDescriptionEndsOnDotCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,6 +16,7 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
import com.e1c.g5.v8.dt.bsl.check.DocumentationCommentBasicDelegateCheck;
|
||||
@ -57,11 +60,19 @@ public class MultilineDescriptionFieldSuggestionCheck
|
||||
private static final Pattern PATTERN_FIELD =
|
||||
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
|
||||
public MultilineDescriptionFieldSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -18,6 +18,7 @@ import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public MultilineDescriptionParameterSuggestionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -20,6 +20,9 @@ import java.util.TreeSet;
|
||||
|
||||
import org.eclipse.core.resources.IProject;
|
||||
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 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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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 final IResourceLookup resourceLookup;
|
||||
|
||||
private final IBslPreferences bslPreferences;
|
||||
|
||||
private final IScopeProvider scopeProvider;
|
||||
|
||||
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
|
||||
public ParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager, IBslPreferences bslPreferences, IScopeProvider scopeProvider,
|
||||
BslMultiLineCommentDocumentationProvider commentProvider)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager, IBslPreferences bslPreferences,
|
||||
IScopeProvider scopeProvider, BslMultiLineCommentDocumentationProvider commentProvider)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
this.resourceLookup = resourceLookup;
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
this.bslPreferences = bslPreferences;
|
||||
this.scopeProvider = scopeProvider;
|
||||
this.commentProvider = commentProvider;
|
||||
@ -159,7 +173,7 @@ public class ParametersSectionCheck
|
||||
DocumentationCommentProperties props = bslPreferences.getDocumentCommentProperties(project);
|
||||
|
||||
docComment = BslCommentUtils.getLinkPartCommentContent(linkPart, scopeProvider, commentProvider,
|
||||
props.oldCommentFormat(), object.getMethod(), typeComputationContext);
|
||||
props.oldCommentFormat(), object.getMethod(), v8ProjectManager, typeComputationContext);
|
||||
}
|
||||
if (docComment == null)
|
||||
{
|
||||
|
@ -13,6 +13,7 @@
|
||||
package com.e1c.v8codestyle.bsl.comment.check;
|
||||
|
||||
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.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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public ProcedureReturnSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -13,12 +13,15 @@
|
||||
package com.e1c.v8codestyle.bsl.comment.check;
|
||||
|
||||
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.ParametersSection;
|
||||
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.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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* 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
|
||||
public RedundantParametersSectionCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -13,6 +13,7 @@
|
||||
package com.e1c.v8codestyle.bsl.comment.check;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.scoping.IScopeProvider;
|
||||
|
||||
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.core.platform.IBmModelManager;
|
||||
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.platform.BmOperationContext;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
@ -61,13 +64,17 @@ public class RefLinkPartCheck
|
||||
/**
|
||||
* 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}.
|
||||
*/
|
||||
@Inject
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,9 @@ package com.e1c.v8codestyle.bsl.comment.check;
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
import org.eclipse.xtext.naming.QualifiedName;
|
||||
import org.eclipse.xtext.resource.IEObjectDescription;
|
||||
import org.eclipse.xtext.scoping.IScope;
|
||||
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.core.platform.IBmModelManager;
|
||||
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.e1c.g5.dt.core.api.naming.INamingService;
|
||||
import com.e1c.g5.dt.core.api.platform.BmOperationContext;
|
||||
@ -53,11 +57,22 @@ public class TypeDefinitionCheck
|
||||
|
||||
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
|
||||
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.scopeProvider = scopeProvider;
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
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.core.platform.IBmModelManager;
|
||||
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.TypeItem;
|
||||
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 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>
|
||||
*/
|
||||
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
|
||||
|
@ -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.IDtProject;
|
||||
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.McorePackage;
|
||||
import com._1c.g5.v8.dt.mcore.Type;
|
||||
@ -109,6 +111,11 @@ public abstract class AbstractTypeCheck
|
||||
/** The comment provider service. */
|
||||
protected final BslMultiLineCommentDocumentationProvider commentProvider;
|
||||
|
||||
/**
|
||||
* {@link IV8ProjectManager} for getting {@link IV8Project} by {@link EObject}
|
||||
*/
|
||||
protected final IV8ProjectManager v8ProjectManager;
|
||||
|
||||
private final InternalTypeNameRegistry internalTypeNameRegistry;
|
||||
|
||||
/**
|
||||
@ -117,15 +124,20 @@ public abstract class AbstractTypeCheck
|
||||
* @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>
|
||||
*/
|
||||
protected AbstractTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
|
||||
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager)
|
||||
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
|
||||
IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super();
|
||||
this.resourceLookup = resourceLookup;
|
||||
this.namingService = namingService;
|
||||
this.bmModelManager = bmModelManager;
|
||||
this.bslPreferences = bslPreferences;
|
||||
this.v8ProjectManager = v8ProjectManager;
|
||||
IResourceServiceProvider rsp =
|
||||
IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(URI.createURI("*.bsl")); //$NON-NLS-1$
|
||||
this.typeComputer = rsp.get(TypesComputer.class);
|
||||
@ -250,7 +262,7 @@ public abstract class AbstractTypeCheck
|
||||
IProject project = resourceLookup.getProject(object);
|
||||
boolean oldFormatComment = bslPreferences.getDocumentCommentProperties(project).oldCommentFormat();
|
||||
return TypeSystemUtil.computeCommentTypes(object, typeScope, scopeProvider, qualifiedNameConverter,
|
||||
commentProvider, oldFormatComment,
|
||||
commentProvider, v8ProjectManager, oldFormatComment,
|
||||
new BmOperationContext(namingService, bmModelManager, bmTransaction));
|
||||
}
|
||||
|
||||
|
@ -17,12 +17,15 @@ import static com.e1c.v8codestyle.bsl.strict.check.StrictTypeAnnotationCheckExte
|
||||
import java.text.MessageFormat;
|
||||
|
||||
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.IDescriptionPart;
|
||||
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.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.platform.BmOperationContext;
|
||||
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$
|
||||
|
||||
/**
|
||||
* @param resourceLookup
|
||||
* @param namingService
|
||||
* @param bmModelManager
|
||||
* 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
|
||||
public DocCommentFieldTypeCheck(IResourceLookup resourceLookup, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -14,12 +14,15 @@ package com.e1c.v8codestyle.bsl.strict.check;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
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.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.google.inject.Inject;
|
||||
|
||||
@ -40,12 +43,16 @@ public class DynamicFeatureAccessMethodNotFoundCheck
|
||||
* @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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -14,12 +14,15 @@ package com.e1c.v8codestyle.bsl.strict.check;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
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.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.google.inject.Inject;
|
||||
|
||||
@ -39,12 +42,16 @@ public class DynamicFeatureAccessTypeCheck
|
||||
* @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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -29,6 +29,7 @@ import java.util.stream.StreamSupport;
|
||||
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.resource.Resource;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
@ -96,10 +97,6 @@ public class FunctionCtorReturnSectionCheck
|
||||
|
||||
private final BslMultiLineCommentDocumentationProvider commentProvider;
|
||||
|
||||
private final IResourceLookup resourceLookup;
|
||||
|
||||
private final IV8ProjectManager v8ProjectManager;
|
||||
|
||||
private final IBslPreferences bslPreferences;
|
||||
|
||||
/**
|
||||
@ -113,22 +110,23 @@ public class FunctionCtorReturnSectionCheck
|
||||
* @param dynamicComputer the dynamic computer 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 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
|
||||
public FunctionCtorReturnSectionCheck(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
public FunctionCtorReturnSectionCheck(IResourceLookup resourceLookup,
|
||||
IQualifiedNameConverter qualifiedNameConverter, IBslPreferences bslPreferences, TypesComputer typesComputer,
|
||||
DynamicFeatureAccessComputer dynamicComputer, IScopeProvider scopeProvider,
|
||||
BslMultiLineCommentDocumentationProvider commentProvider, INamingService namingService,
|
||||
IBmModelManager bmModelManager)
|
||||
IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, namingService, bmModelManager);
|
||||
super(resourceLookup, namingService, bmModelManager, v8ProjectManager);
|
||||
this.typesComputer = typesComputer;
|
||||
this.dynamicComputer = dynamicComputer;
|
||||
this.scopeProvider = scopeProvider;
|
||||
this.commentProvider = commentProvider;
|
||||
this.qualifiedNameConverter = qualifiedNameConverter;
|
||||
this.resourceLookup = resourceLookup;
|
||||
this.v8ProjectManager = v8ProjectManager;
|
||||
this.bslPreferences = bslPreferences;
|
||||
}
|
||||
|
||||
@ -181,7 +179,7 @@ public class FunctionCtorReturnSectionCheck
|
||||
boolean oldFormat = props.oldCommentFormat();
|
||||
|
||||
Collection<TypeItem> computedReturnTypes = root.computeReturnTypes(typeScope, scopeProvider,
|
||||
qualifiedNameConverter, commentProvider, oldFormat, method, context);
|
||||
qualifiedNameConverter, commentProvider, v8ProjectManager, oldFormat, method, context);
|
||||
|
||||
Set<String> checkTypes = getCheckTypes(parameters);
|
||||
|
||||
@ -215,6 +213,10 @@ public class FunctionCtorReturnSectionCheck
|
||||
|
||||
for (TypeItem returnType : returnTypes)
|
||||
{
|
||||
if (returnType.eIsProxy())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
String returnTypeName = McoreUtil.getTypeName(returnType);
|
||||
if (returnTypeName != null && computedReturnTypeNames.contains(returnTypeName))
|
||||
{
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.e1c.g5.dt.core.api.naming.INamingService;
|
||||
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 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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -126,8 +126,6 @@ public class InvocationParamIntersectionCheck
|
||||
|
||||
//@formatter:on
|
||||
|
||||
private final IV8ProjectManager v8ProjectManager;
|
||||
|
||||
private final ExportMethodTypeProvider exportMethodTypeProvider;
|
||||
|
||||
/**
|
||||
@ -136,17 +134,18 @@ public class InvocationParamIntersectionCheck
|
||||
* @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 v8ProjectManager the v 8 project manager 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
|
||||
public InvocationParamIntersectionCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
|
||||
IQualifiedNameConverter qualifiedNameConverter, IV8ProjectManager v8ProjectManager,
|
||||
ExportMethodTypeProvider exportMethodTypeProvider, INamingService namingService, IBmModelManager bmModelManager)
|
||||
IQualifiedNameConverter qualifiedNameConverter, ExportMethodTypeProvider exportMethodTypeProvider,
|
||||
INamingService namingService, IBmModelManager bmModelManager, IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager);
|
||||
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
|
||||
this.exportMethodTypeProvider = exportMethodTypeProvider;
|
||||
this.v8ProjectManager = v8ProjectManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -295,7 +294,7 @@ public class InvocationParamIntersectionCheck
|
||||
new BmOperationContext(namingService, bmModelManager, bmTransaction);
|
||||
targetTypes = docComment.get()
|
||||
.computeParameterTypes(parameter.getName(), typeScope, scopeProvider, qualifiedNameConverter,
|
||||
commentProvider, oldFormatComment, method, typeComputationContext);
|
||||
commentProvider, v8ProjectManager, oldFormatComment, method, typeComputationContext);
|
||||
}
|
||||
|
||||
if (targetTypes.isEmpty())
|
||||
@ -462,7 +461,7 @@ public class InvocationParamIntersectionCheck
|
||||
// if parameter declared in doc-comment then check only declared types
|
||||
targetTypes = docComment.get()
|
||||
.computeParameterTypes(paramName, typeScope, scopeProvider, qualifiedNameConverter, commentProvider,
|
||||
oldFormatComment, method, typeComputationContext);
|
||||
v8ProjectManager, oldFormatComment, method, typeComputationContext);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.v8.dt.check.CheckComplexity;
|
||||
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 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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.TypeItem;
|
||||
@ -68,23 +69,22 @@ public class SimpleStatementTypeCheck
|
||||
|
||||
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.
|
||||
*
|
||||
* @param resourceLookup the resource lookup 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 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
|
||||
public SimpleStatementTypeCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
|
||||
IV8ProjectManager v8ProjectManager, IQualifiedNameConverter qualifiedNameConverter,
|
||||
INamingService namingService, IBmModelManager bmModelManager)
|
||||
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
|
||||
IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager);
|
||||
this.v8ProjectManager = v8ProjectManager;
|
||||
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager, v8ProjectManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -18,6 +18,7 @@ import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.STRING_LITERAL__LIN
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
|
||||
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.core.platform.IBmModelManager;
|
||||
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.platform.IEObjectTypeNames;
|
||||
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 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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -23,6 +23,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.util.EcoreUtil;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
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.core.platform.IBmModelManager;
|
||||
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.Property;
|
||||
import com._1c.g5.v8.dt.mcore.TypeItem;
|
||||
@ -85,12 +88,23 @@ public class StructureKeyModificationCheck
|
||||
|
||||
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
|
||||
public StructureKeyModificationCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.Type;
|
||||
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 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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
@ -207,7 +212,10 @@ public class TypedValueAddingToUntypedCollectionCheck
|
||||
}
|
||||
else
|
||||
{
|
||||
actualTypes.addAll(((Type)type).getCollectionElementTypes().allTypes());
|
||||
if (((Type)type).getCollectionElementTypes() != null)
|
||||
{
|
||||
actualTypes.addAll(((Type)type).getCollectionElementTypes().allTypes());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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.core.platform.IBmModelManager;
|
||||
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.util.Environments;
|
||||
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 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>
|
||||
*/
|
||||
@Inject
|
||||
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
|
||||
|
@ -2,9 +2,7 @@
|
||||
#Region EventHandlers
|
||||
|
||||
// Enter code here.
|
||||
|
||||
//%CURRENT_CODE%
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
@ -6,9 +6,7 @@
|
||||
#Region FormEventHandlers
|
||||
|
||||
// Enter code here.
|
||||
|
||||
//%CURRENT_CODE%
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FormHeaderItemsEventHandlers
|
||||
@ -17,12 +15,6 @@
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FormTableItemsEventHandlers //<FromTableName>
|
||||
|
||||
// Enter code here.
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FormCommandsEventHandlers
|
||||
|
||||
// Enter code here.
|
||||
|
@ -2,9 +2,7 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
// Код процедур и функций
|
||||
|
||||
//%CURRENT_CODE%
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -6,9 +6,7 @@
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
// Код процедур и функций
|
||||
|
||||
//%CURRENT_CODE%
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
@ -17,12 +15,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормы //<ИмяТаблицыФормы>
|
||||
|
||||
// Код процедур и функций
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
// Код процедур и функций
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -8,9 +8,9 @@ Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.23.0,3.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)",
|
||||
javax.inject;bundle-version="[1.0.0,2.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)",
|
||||
org.eclipse.xtext;bundle-version="[2.26.0,3.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.form
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -24,14 +24,14 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.dcs.model.settings;version="[3.2.0,4.0.0)",
|
||||
com._1c.g5.v8.dt.form.model;version="[11.0.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.form.model.util;version="[7.2.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.form.service;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.form.service;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.form.service.datasourceinfo;version="[3.0.0,4.0.0)",
|
||||
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.metadata;version="[5.0.0,6.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.dbview;version="[4.0.0,5.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.platform.version;version="[2.14.0,3.0.0)",
|
||||
com._1c.g5.v8.dt.ql.model;version="[4.0.0,5.0.0)",
|
||||
com._1c.g5.v8.dt.ql.model;version="[5.0.0,6.0.0)",
|
||||
com._1c.g5.v8.dt.ql.resource;version="[5.0.0,6.0.0)",
|
||||
com._1c.g5.v8.dt.ql.typesystem;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
@ -40,10 +40,8 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.context;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.ext;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[4.0.0,5.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[30.1.0,31.0.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)",
|
||||
com.google.inject.binder;version="[5.0.1,6.0.0)"
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -47,7 +47,6 @@ import com.google.inject.Inject;
|
||||
public class DataCompositionConditionalAppearanceUseCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "data-composition-conditional-appearance-use"; //$NON-NLS-1$
|
||||
|
||||
private final IBmModelManager bmModelManager;
|
||||
@ -78,10 +77,14 @@ public class DataCompositionConditionalAppearanceUseCheck
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MINOR)
|
||||
.issueType(IssueType.UI_STYLE)
|
||||
.extension(new StandardCheckExtension(710, getCheckId(), CorePlugin.PLUGIN_ID))
|
||||
.topObject(DATA_COMPOSITION_SETTINGS)
|
||||
.extension(new StandardCheckExtension(710, getCheckId(), CorePlugin.PLUGIN_ID));
|
||||
|
||||
builder.topObject(DATA_COMPOSITION_SETTINGS)
|
||||
.containment(DATA_COMPOSITION_CONDITIONAL_APPEARANCE)
|
||||
.features(DATA_COMPOSITION_CONDITIONAL_APPEARANCE__ITEMS);
|
||||
|
||||
builder.topObject(DATA_COMPOSITION_CONDITIONAL_APPEARANCE)
|
||||
.features(DATA_COMPOSITION_CONDITIONAL_APPEARANCE__ITEMS);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -104,7 +107,6 @@ public class DataCompositionConditionalAppearanceUseCheck
|
||||
}
|
||||
|
||||
EObject eObject = dcca;
|
||||
|
||||
DynamicListExtInfo dl = manager.getOwner(eObject, DynamicListExtInfo.class);
|
||||
if (dl != null)
|
||||
{
|
||||
@ -114,9 +116,8 @@ public class DataCompositionConditionalAppearanceUseCheck
|
||||
return;
|
||||
}
|
||||
|
||||
resultAcceptor.addIssue(
|
||||
MessageFormat.format(
|
||||
Messages.DataCompositionConditionalAppearanceUseCheck_Form_attribute, formAttribute.getName()),
|
||||
resultAcceptor.addIssue(MessageFormat
|
||||
.format(Messages.DataCompositionConditionalAppearanceUseCheck_Form_attribute, formAttribute.getName()),
|
||||
dcca, DATA_COMPOSITION_CONDITIONAL_APPEARANCE__ITEMS);
|
||||
|
||||
}
|
||||
@ -128,12 +129,8 @@ public class DataCompositionConditionalAppearanceUseCheck
|
||||
return;
|
||||
}
|
||||
|
||||
resultAcceptor.addIssue(
|
||||
MessageFormat.format(
|
||||
Messages.DataCompositionConditionalAppearanceUseCheck_Form, form.getMdForm().getName()),
|
||||
dcca, DATA_COMPOSITION_CONDITIONAL_APPEARANCE__ITEMS);
|
||||
|
||||
resultAcceptor.addIssue(MessageFormat.format(Messages.DataCompositionConditionalAppearanceUseCheck_Form,
|
||||
form.getMdForm().getName()), dcca, DATA_COMPOSITION_CONDITIONAL_APPEARANCE__ITEMS);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -13,8 +13,9 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.119.0,4.0.0)",
|
||||
org.eclipse.ui.forms;bundle-version="[3.11.100,4.0.0)",
|
||||
org.eclipse.emf.databinding;bundle-version="[1.5.0,2.0.0)",
|
||||
org.eclipse.jface.databinding;bundle-version="[1.12.200,2.0.0)",
|
||||
org.eclipse.core.databinding.property;bundle-version="[1.8.100,2.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.core.databinding.property;bundle-version="[1.8.100,2.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.md.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -27,5 +28,4 @@ Import-Package: com._1c.g5.v8.dt.common;version="[6.4.0,7.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.v8codestyle.md;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[30.1.0,31.0.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)"
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -7,8 +7,9 @@ Bundle-Activator: com.e1c.v8codestyle.internal.md.CorePlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.22.0,3.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.md
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -28,8 +29,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.context;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.ext;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[4.0.0,5.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[30.1.0,31.0.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)"
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
Export-Package: com.e1c.v8codestyle.md;version="0.7.0"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -8,8 +8,9 @@ Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.22.0,3.0.0)",
|
||||
org.eclipse.xtext;bundle-version="[2.24.0,3.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.ql
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -19,7 +20,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.dbview;version="4.0.0",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.ql.model;version="[4.0.0,5.0.0)",
|
||||
com._1c.g5.v8.dt.ql.model;version="[5.0.0,6.0.0)",
|
||||
com._1c.g5.v8.dt.ql.typesystem;version="5.0.0",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
@ -27,5 +28,4 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="1.0.0",
|
||||
com.e1c.g5.v8.dt.ql.check;version="[1.0.0,2.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)"
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
|
@ -82,7 +82,7 @@ public class TempTableHasIndex
|
||||
return;
|
||||
}
|
||||
|
||||
if (selectQuery.getIndexes() == null || selectQuery.getIndexes().isEmpty())
|
||||
if (selectQuery.getIndexSets().isEmpty())
|
||||
{
|
||||
AbstractQuerySchemaTable table = selectQuery.getPlacementTable();
|
||||
String excludeTableNamePattern = parameters.getString(PARAMETER_EXCLUDE_TABLE_NAME_PATTERN);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
|
@ -1,10 +1,10 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
@ -8,8 +8,9 @@ Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
org.eclipse.emf.ecore;bundle-version="[2.22.0,3.0.0)",
|
||||
org.eclipse.xtext;bundle-version="[2.24.0,3.0.0)",
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)",
|
||||
com.google.inject;bundle-version="[7.0.0,8.0.0)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Automatic-Module-Name: com.e1c.v8codestyle.right
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Localization: plugin
|
||||
@ -21,10 +22,10 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
|
||||
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.md;version="[19.0.0,20.0.0)",
|
||||
com._1c.g5.v8.dt.md;version="[20.0.0,21.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.v8.dt.platform.version;version="[2.0.0,3.0.0)",
|
||||
com._1c.g5.v8.dt.rights;version="[6.1.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.rights;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.rights.model;version="[4.0.0,5.0.0)",
|
||||
com._1c.g5.v8.dt.rights.model.util;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
@ -33,6 +34,5 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.context;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.ext;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.inject;version="[5.0.1,6.0.0)"
|
||||
com.e1c.g5.v8.dt.check.settings;version="[4.0.0,5.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
|
@ -153,7 +153,7 @@ public class CorePlugin
|
||||
{
|
||||
try
|
||||
{
|
||||
return Guice.createInjector(new ServiceModule(), new ExternalDependenciesModule(this));
|
||||
return Guice.createInjector(new ExternalDependenciesModule(this));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ import com._1c.g5.v8.dt.core.platform.IBmModelManager;
|
||||
import com._1c.g5.v8.dt.core.platform.IConfigurationProvider;
|
||||
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.wiring.AbstractServiceAwareModule;
|
||||
|
||||
/**
|
||||
@ -32,7 +32,6 @@ import com._1c.g5.wiring.AbstractServiceAwareModule;
|
||||
public class ExternalDependenciesModule
|
||||
extends AbstractServiceAwareModule
|
||||
{
|
||||
|
||||
/**
|
||||
* @param plugin
|
||||
*/
|
||||
@ -50,9 +49,6 @@ public class ExternalDependenciesModule
|
||||
bind(IBmRightsIndexManager.class).toService();
|
||||
bind(IBmEmfIndexManager.class).toService();
|
||||
bind(IConfigurationProvider.class).toService();
|
||||
|
||||
// XXX remove this when the IRightInfosService become OSGi service
|
||||
bind(IRuntimeVersionSupport.class).toService();
|
||||
bind(IRightInfosService.class).toService();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,89 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.right;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.eclipse.emf.ecore.EClass;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
|
||||
import com._1c.g5.v8.dt.core.platform.IConfigurationProvider;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.Configuration;
|
||||
import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport;
|
||||
import com._1c.g5.v8.dt.platform.version.Version;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.Right;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
/**
|
||||
* This service is a correct wrapper of {@link IRightInfosService} to get correct data corresponding
|
||||
* project runtime version.
|
||||
* <br>
|
||||
* FIXME Replace this service after refactoring of {@link IRightInfosService}.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*/
|
||||
@Singleton
|
||||
public class InternalRightInfosService
|
||||
{
|
||||
|
||||
private final IRuntimeVersionSupport runtimeVersionSupport;
|
||||
|
||||
private final IConfigurationProvider configurationProvider;
|
||||
|
||||
private final Provider<IRightInfosService> rightInfosServiceProvider;
|
||||
|
||||
private final Map<Version, IRightInfosService> infos = new ConcurrentHashMap<>();
|
||||
|
||||
@Inject
|
||||
public InternalRightInfosService(IRuntimeVersionSupport runtimeVersionSupport,
|
||||
IConfigurationProvider configurationProvider, Provider<IRightInfosService> rightInfosServiceProvider)
|
||||
{
|
||||
this.runtimeVersionSupport = runtimeVersionSupport;
|
||||
this.configurationProvider = configurationProvider;
|
||||
this.rightInfosServiceProvider = rightInfosServiceProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the rights of some {@link EClass} of configuration metadata object that may have some rights.
|
||||
*
|
||||
* @param eClass the {@link EClass} of configuration metadata object that has some rights, cannot be {@code null}.
|
||||
* @param context the context object of the configuration to determine platform version, cannot be {@code null}.
|
||||
* @return the rights of the {@link EClass}
|
||||
*/
|
||||
public Set<Right> getEClassRights(EClass eClass, EObject context)
|
||||
{
|
||||
|
||||
Version version = runtimeVersionSupport.getRuntimeVersionOrDefault(context, Version.LATEST);
|
||||
|
||||
IRightInfosService info = infos.computeIfAbsent(version, v -> {
|
||||
|
||||
IRightInfosService service = rightInfosServiceProvider.get();
|
||||
Configuration configuration = configurationProvider.getConfiguration(context);
|
||||
service.init(configuration);
|
||||
|
||||
return service;
|
||||
});
|
||||
|
||||
if (info == null)
|
||||
{
|
||||
return Collections.emptySet();
|
||||
}
|
||||
return info.getEClassRights(eClass);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.internal.right;
|
||||
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com.google.inject.AbstractModule;
|
||||
|
||||
/**
|
||||
* The internal service module.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*/
|
||||
public class ServiceModule
|
||||
extends AbstractModule
|
||||
{
|
||||
private static final String SERVICE_CLASS = "com._1c.g5.v8.dt.internal.rights.RightsInfoService"; //$NON-NLS-1$
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected void configure()
|
||||
{
|
||||
|
||||
// XXX remove this when the IRightInfosService become OSGi service
|
||||
Class<? extends IRightInfosService> clazz = null;
|
||||
try
|
||||
{
|
||||
clazz = (Class<? extends IRightInfosService>)Class.forName(SERVICE_CLASS, true,
|
||||
IRightInfosService.class.getClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException e)
|
||||
{
|
||||
CorePlugin.logError(e);
|
||||
}
|
||||
// Here create new instance every time - this allows to bind it to specific platform Version
|
||||
// See com.e1c.v8codestyle.internal.right.InternalRightInfosService for details.
|
||||
bind(IRightInfosService.class).to(clazz);
|
||||
}
|
||||
}
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightActiveUsers
|
||||
@Inject
|
||||
public RightActiveUsers(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightAdministration
|
||||
@Inject
|
||||
public RightAdministration(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightAllFunctionsMode
|
||||
@Inject
|
||||
public RightAllFunctionsMode(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightConfigurationExtensionsAdministration
|
||||
@Inject
|
||||
public RightConfigurationExtensionsAdministration(IResourceLookup resourceLookup,
|
||||
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightDataAdministration
|
||||
@Inject
|
||||
public RightDataAdministration(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ public class RightDelete
|
||||
@Inject
|
||||
public RightDelete(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -19,10 +19,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -48,7 +48,7 @@ public class RightExclusiveMode
|
||||
@Inject
|
||||
public RightExclusiveMode(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -18,10 +18,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -42,7 +42,7 @@ public class RightInteractiveClearDeletionMarkPredefinedData
|
||||
@Inject
|
||||
public RightInteractiveClearDeletionMarkPredefinedData(IResourceLookup resourceLookup,
|
||||
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -18,10 +18,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -42,7 +42,7 @@ public class RightInteractiveDelete
|
||||
@Inject
|
||||
public RightInteractiveDelete(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -18,10 +18,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -42,7 +42,7 @@ public class RightInteractiveDeleteMarkedPredefinedData
|
||||
@Inject
|
||||
public RightInteractiveDeleteMarkedPredefinedData(IResourceLookup resourceLookup,
|
||||
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
@ -18,10 +18,10 @@ import com._1c.g5.v8.dt.bm.index.rights.IBmRightsIndexManager;
|
||||
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.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.rights.IRightInfosService;
|
||||
import com._1c.g5.v8.dt.rights.model.util.RightName;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.right.CorePlugin;
|
||||
import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
@ -42,7 +42,7 @@ public class RightInteractiveDeletePredefinedData
|
||||
@Inject
|
||||
public RightInteractiveDeletePredefinedData(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
|
||||
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
|
||||
IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
|
||||
IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
|
||||
{
|
||||
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
|
||||
rightInfosService);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user