From 1353ca9679bdaab7c0c476b2c79f32180abf0c75 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Wed, 21 Oct 2020 19:58:27 +0300 Subject: [PATCH 1/7] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=20ls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7c565803d6e..da752e59cdf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,13 +15,14 @@ plugins { id("me.qoomon.git-versioning") version "3.0.0" id("com.github.ben-manes.versions") version "0.31.0" id("io.freefair.javadoc-links") version "5.2.1" - id("org.springframework.boot") version "2.3.3.RELEASE" + id("org.springframework.boot") version "2.3.4.RELEASE" id("com.github.1c-syntax.bslls-dev-tools") version "0.3.1" } apply(plugin = "io.spring.dependency-management") repositories { + mavenLocal() mavenCentral() maven(url = "https://jitpack.io") } @@ -69,6 +70,8 @@ dependencies { } api("com.github.1c-syntax", "utils", "0.3.1") api("com.github.1c-syntax", "mdclasses", "0.6.1") + // ls-core + api("com.github.1c-syntax", "ls-core-lib", "feature-first_step-c57a90d-DIRTY") // JLanguageTool implementation("org.languagetool", "languagetool-core", "5.0.2") @@ -128,7 +131,7 @@ tasks.withType { tasks.jar { manifest { - attributes["Main-Class"] = "com.github._1c_syntax.bsl.languageserver.BSLLSPLauncher" + attributes["Main-Class"] = "com.github._1c_syntax.ls_core.LSLauncher" attributes["Implementation-Version"] = archiveVersion.get() } enabled = true @@ -136,6 +139,7 @@ tasks.jar { tasks.bootJar { manifest { + attributes["Start-Class"] = "com.github._1c_syntax.ls_core.LSLauncher" attributes["Implementation-Version"] = archiveVersion.get() } archiveClassifier.set("exec") From 1c53575ef87142b3dd2766ceba21f0028f2ec352 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Wed, 21 Oct 2020 20:00:32 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D1=8F?= =?UTF-8?q?=20=D1=87=D0=B0=D1=81=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ls_core/LSLauncherConfiguration.java | 33 +++++++++++++++++++ .../bsl/languageserver/TestApplication.java | 9 +++++ 2 files changed, 42 insertions(+) create mode 100644 src/main/java/com/github/_1c_syntax/ls_core/LSLauncherConfiguration.java create mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java diff --git a/src/main/java/com/github/_1c_syntax/ls_core/LSLauncherConfiguration.java b/src/main/java/com/github/_1c_syntax/ls_core/LSLauncherConfiguration.java new file mode 100644 index 00000000000..86433db2618 --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/ls_core/LSLauncherConfiguration.java @@ -0,0 +1,33 @@ +/* + * This file is a part of Gherkin Language server. + * + * Copyright © 2020-2020 + * Valery Maximov , 1c-syntax team and contributors + * + * SPDX-License-Identifier: LGPL-3.0-or-later + * + * Gherkin Language server is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3.0 of the License, or (at your option) any later version. + * + * Gherkin Language server is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Gherkin Language server. + */ +package com.github._1c_syntax.ls_core; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** + * Данный класс необходим spring boot'у для инжекта реализации + */ +@ComponentScan("com.github._1c_syntax.bsl.languageserver") +@Configuration +public class LSLauncherConfiguration { +} diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java new file mode 100644 index 00000000000..4629170108c --- /dev/null +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java @@ -0,0 +1,9 @@ +package com.github._1c_syntax.bsl.languageserver; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +@ComponentScan("com.github._1c_syntax.ls_core") +public class TestApplication { +} From 3eb6067a97f827a8413cf1065b72f27375c0cf64 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Wed, 21 Oct 2020 20:10:40 +0300 Subject: [PATCH 3/7] ls launcher --- .../bsl/languageserver/AutoServerInfo.java | 73 --------- .../bsl/languageserver/BSLLSPLauncher.java | 152 ------------------ .../cli/LanguageServerStartCommand.java | 96 ----------- .../languageserver/cli/VersionCommand.java | 70 -------- .../cli/lsp/FileAwarePrintWriter.java | 132 --------------- .../LanguageServerLauncherConfiguration.java | 54 ------- .../languageserver/cli/lsp/package-info.java | 29 ---- .../languageserver/AutoServerInfoTest.java | 41 ----- .../languageserver/BSLLSPLauncherTest.java | 98 +---------- .../cli/VersionCommandTest.java | 67 -------- .../languageserver/diagnostics/SmokyTest.java | 4 +- 11 files changed, 10 insertions(+), 806 deletions(-) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfo.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncher.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/LanguageServerStartCommand.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommand.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/FileAwarePrintWriter.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/LanguageServerLauncherConfiguration.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/package-info.java delete mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfoTest.java delete mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommandTest.java diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfo.java deleted file mode 100644 index d3a1878cdf1..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfo.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import lombok.EqualsAndHashCode; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; -import java.io.IOException; -import java.io.InputStream; -import java.io.Serializable; -import java.util.jar.Attributes; -import java.util.jar.Manifest; - -/** - * Информация о сервере. Автоматически заполняется на основании данных о версии и имени приложения. - */ -@Slf4j -@EqualsAndHashCode(exclude = "applicationName", callSuper = true) -@Component -public class AutoServerInfo extends org.eclipse.lsp4j.ServerInfo implements Serializable { - - private static final String MANIFEST_VERSION = readVersion(); - - @SuppressWarnings("FieldMayBeFinal") - @Value("${spring.application.name:Dummy Language Server}") - // Field is transient to exclude it from GSON serialization in jsonrpc. - private transient String applicationName = ""; - - @PostConstruct - private void init() { - setName(applicationName); - setVersion(MANIFEST_VERSION); - } - - private static String readVersion() { - final InputStream mfStream = Thread.currentThread() - .getContextClassLoader() - .getResourceAsStream("META-INF/MANIFEST.MF"); - - Manifest manifest = new Manifest(); - try { - manifest.read(mfStream); - } catch (IOException e) { - LOGGER.error("Can't read manifest", e); - return ""; - } - - return manifest.getMainAttributes().getValue(Attributes.Name.IMPLEMENTATION_VERSION); - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncher.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncher.java deleted file mode 100644 index 4ede63dd286..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncher.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import com.github._1c_syntax.bsl.languageserver.cli.AnalyzeCommand; -import com.github._1c_syntax.bsl.languageserver.cli.FormatCommand; -import com.github._1c_syntax.bsl.languageserver.cli.LanguageServerStartCommand; -import com.github._1c_syntax.bsl.languageserver.cli.VersionCommand; -import lombok.RequiredArgsConstructor; -import org.jetbrains.annotations.NotNull; -import org.springframework.boot.CommandLineRunner; -import org.springframework.boot.ExitCodeGenerator; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.stereotype.Component; -import picocli.CommandLine; -import picocli.CommandLine.Option; -import picocli.CommandLine.ParameterException; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.Callable; - -import static picocli.CommandLine.Command; - -@Command( - name = "bsl-language-server", - subcommands = { - AnalyzeCommand.class, - FormatCommand.class, - VersionCommand.class, - LanguageServerStartCommand.class - }, - usageHelpAutoWidth = true, - synopsisSubcommandLabel = "[COMMAND [ARGS]]", - footer = "@|green Copyright(c) 2018-2020|@", - header = "@|green BSL language server|@") -@SpringBootApplication -@Component -@ConditionalOnProperty( - prefix = "app.command.line.runner", - value = "enabled", - havingValue = "true", - matchIfMissing = true) -@RequiredArgsConstructor -public class BSLLSPLauncher implements Callable, CommandLineRunner, ExitCodeGenerator { - - private static final String DEFAULT_COMMAND = "lsp"; - - @Option( - names = {"-h", "--help"}, - usageHelp = true, - description = "Show this help message and exit") - private boolean usageHelpRequested; - - @Option( - names = {"-c", "--configuration"}, - description = "Path to language server configuration file", - paramLabel = "", - defaultValue = "") - private String configurationOption; - - @Option(names = "--spring.config.location", hidden = true) - private String springConfigLocation; - - @Option(names = "--debug", hidden = true) - private boolean debug; - - private final CommandLine.IFactory picocliFactory; - - private int exitCode; - - public static void main(String[] args) { - var applicationContext = SpringApplication.run(BSLLSPLauncher.class, args); - var launcher = applicationContext.getBean(BSLLSPLauncher.class); - if (launcher.getExitCode() >= 0) { - System.exit( - SpringApplication.exit(applicationContext) - ); - } - } - - @Override - public void run(String[] args) { - var cmd = new CommandLine(this, picocliFactory); - - // проверка использования дефолтной команды - // если строка параметров пуста, то это точно вызов команды по умолчанию - if (args.length == 0) { - args = addDefaultCommand(args); - } else { - // выполнение проверки строки запуска в попытке, т.к. парсер при нахождении - // неизвестных параметров выдает ошибку - try { - var parseResult = cmd.parseArgs(args); - // если переданы параметры без команды и это не справка - // то считаем, что параметры для команды по умолчанию - if (!parseResult.hasSubcommand() && !parseResult.isUsageHelpRequested()) { - args = addDefaultCommand(args); - } - } catch (ParameterException ex) { - // если поймали ошибку, а имя команды не передано, подставим команду и посмотрим, - // вдруг заработает - if (!ex.getCommandLine().getParseResult().hasSubcommand()) { - args = addDefaultCommand(args); - } - } - } - - exitCode = cmd.execute(args); - - } - - @NotNull - private static String[] addDefaultCommand(String[] args) { - List tmpList = new ArrayList<>(Arrays.asList(args)); - tmpList.add(0, DEFAULT_COMMAND); - args = tmpList.toArray(new String[0]); - return args; - } - - @Override - public int getExitCode() { - return exitCode; - } - - public Integer call() { - // заглушка, командой как таковой не пользуемся - return 0; - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/LanguageServerStartCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/LanguageServerStartCommand.java deleted file mode 100644 index 6ca7c559caf..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/LanguageServerStartCommand.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.cli; - -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.jsonrpc.Launcher; -import org.eclipse.lsp4j.services.LanguageClient; -import org.eclipse.lsp4j.services.LanguageClientAware; -import org.springframework.stereotype.Component; - -import java.io.File; -import java.util.List; -import java.util.concurrent.Callable; - -import static picocli.CommandLine.Command; -import static picocli.CommandLine.Option; - -/** - * Запускает приложение в режиме Language Server - * Ключ команды: - * без ключа - * Параметры: - * -c, (--configuration) <arg> - Путь к конфигурационному файлу BSL Language Server (.bsl-language-server.json). - * Возможно указывать как в абсолютном, так и относительном виде. - * Если параметр опущен, то будут использованы настройки по умолчанию. - * Выводимая информация: - * Данный режим используется для взаимодействия с клиентом по протоколу LSP. - */ -@Slf4j -@Command( - name = "lsp", - aliases = {"--lsp"}, - description = "LSP server mode (default)", - usageHelpAutoWidth = true, - footer = "@|green Copyright(c) 2018-2020|@") -@Component -@RequiredArgsConstructor -public class LanguageServerStartCommand implements Callable { - @Option( - names = {"-h", "--help"}, - usageHelp = true, - description = "Show this help message and exit") - private boolean usageHelpRequested; - - @Option( - names = {"-c", "--configuration"}, - description = "Path to language server configuration file", - paramLabel = "", - defaultValue = "") - private String configurationOption; - - @Option(names = "--spring.config.location", hidden = true) - private String springConfigLocation; - - @Option(names = "--debug", hidden = true) - private boolean debug; - - private final LanguageServerConfiguration configuration; - private final Launcher launcher; - private final List languageClientAwares; - - public Integer call() { - - File configurationFile = new File(configurationOption); - configuration.update(configurationFile); - - var languageClient = launcher.getRemoteProxy(); - - languageClientAwares.forEach(languageClientAware -> languageClientAware.connect(languageClient)); - - launcher.startListening(); - return -1; - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommand.java deleted file mode 100644 index 98c36cb2ce3..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommand.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.cli; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.ServerInfo; -import org.springframework.stereotype.Component; -import picocli.CommandLine.Command; -import picocli.CommandLine.Option; - -import java.util.concurrent.Callable; - -/** - * Выводит версию приложения - * Ключ команды: - * -v, (--version) - */ -@Slf4j -@Command( - name = "version", - aliases = {"-v", "--version"}, - description = "Print version", - usageHelpAutoWidth = true, - footer = "@|green Copyright(c) 2018-2020|@") -@Component -@RequiredArgsConstructor -public class VersionCommand implements Callable { - - @Option(names = "--spring.config.location", hidden = true) - private String springConfigLocation; - - @Option(names = "--debug", hidden = true) - private boolean debug; - - private final ServerInfo serverInfo; - - public Integer call() { - String version = serverInfo.getVersion(); - if (version.isEmpty()) { - return 1; - } - - System.out.printf( - "version: %s%n", - version - ); - - return 0; - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/FileAwarePrintWriter.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/FileAwarePrintWriter.java deleted file mode 100644 index bbfcd08e4a6..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/FileAwarePrintWriter.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.cli.lsp; - -import com.github._1c_syntax.bsl.languageserver.configuration.watcher.LanguageServerConfigurationChangeEvent; -import com.github._1c_syntax.bsl.languageserver.configuration.watcher.LanguageServerConfigurationFileChangeEvent; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; - -import javax.annotation.CheckForNull; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; -import java.util.Objects; - -/** - * Обертка над PrintWriter, позволяющая изменять выходной файловый поток "на-лету", - * в отличие от установки в конструкторе в оригинальном {@link PrintWriter}. - */ -@Component -@Slf4j -public class FileAwarePrintWriter extends PrintWriter { - - private boolean isEmpty = true; - private File file; - - /** - * Конструктор по умолчанию. Отправляет вывод в /dev/null. - */ - public FileAwarePrintWriter() { - super(OutputStream.nullOutputStream()); - } - - /** - * @param file Файл, в который отныне нужно перенаправлять вывод PrintWriter - */ - public void setFile(@CheckForNull File file) { - - // sync on non-private field, cause this#lock is supposed to be used as lock-object. See field description. - synchronized (lock) { - if (Objects.equals(file, this.file)) { - return; - } - - this.file = file; - - if (file == null) { - closeOutputStream(); - return; - } - - if (file.isDirectory()) { - LOGGER.error("Trace log setting must lead to file, not directory! {}", file.getAbsolutePath()); - return; - } - - FileOutputStream fileOutputStream; - try { - // stream is not closed, cause it used as output stream in writer. See this#out field. - fileOutputStream = new FileOutputStream(file); - } catch (FileNotFoundException e) { - LOGGER.error("Can't create LSP trace file", e); - return; - } - - closeOutputStream(); - - this.out = new BufferedWriter(new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8)); - this.lock = this.out; - this.isEmpty = false; - } - - } - - @Override - public void print(String s) { - if (isEmpty) { - return; - } - super.print(s); - } - - @Override - public void flush() { - if (isEmpty) { - return; - } - super.flush(); - } - - /** - * Обработчик события {@link LanguageServerConfigurationFileChangeEvent}. - * - * @param event Событие - */ - @EventListener - public void handleEvent(LanguageServerConfigurationChangeEvent event) { - setFile(event.getSource().getTraceLog()); - } - - @SneakyThrows - private void closeOutputStream() { - out.close(); - isEmpty = true; - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/LanguageServerLauncherConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/LanguageServerLauncherConfiguration.java deleted file mode 100644 index 3fab87528aa..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/LanguageServerLauncherConfiguration.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.cli.lsp; - -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.jsonrpc.Launcher; -import org.eclipse.lsp4j.launch.LSPLauncher; -import org.eclipse.lsp4j.services.LanguageClient; -import org.eclipse.lsp4j.services.LanguageServer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.io.InputStream; -import java.io.OutputStream; - -/** - * Конфигурация для создания объектов из lsp4j-слоя. - */ -@Configuration -@Slf4j -public class LanguageServerLauncherConfiguration { - - @Bean - public Launcher launcher( - LanguageServer server, - FileAwarePrintWriter printWriter - ) { - InputStream in = System.in; - OutputStream out = System.out; - - return LSPLauncher.createServerLauncher(server, in, out, false, printWriter); - - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/package-info.java deleted file mode 100644 index 1d90566daee..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/lsp/package-info.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -/** - * Классы для конфигурирования и запуска команды - * {@link com.github._1c_syntax.bsl.languageserver.cli.LanguageServerStartCommand} - */ -@ParametersAreNonnullByDefault -package com.github._1c_syntax.bsl.languageserver.cli.lsp; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfoTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfoTest.java deleted file mode 100644 index 024cbe6f880..00000000000 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/AutoServerInfoTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; - -import static org.assertj.core.api.Assertions.assertThat; - -@SpringBootTest -class AutoServerInfoTest { - - @Autowired - private AutoServerInfo autoServerInfo; - - @Test - void testDataIsFilled() { - assertThat(autoServerInfo.getName()).isNotBlank(); - assertThat(autoServerInfo.getVersion()).isNotBlank(); - } -} \ No newline at end of file diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncherTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncherTest.java index cfa1738ebb6..ab462efd6a2 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncherTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLSPLauncherTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver; import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; +import com.github._1c_syntax.ls_core.LSLauncher; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -56,23 +57,6 @@ void restoreStreams() { System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err))); } - @Test - @ExpectSystemExitWithStatus(2) - void testParseError() { - // given - String[] args = new String[]{"--error"}; - - // when - try { - BSLLSPLauncher.main(args); - } catch (RuntimeException ignored) { - // catch prevented system.exit call - } - - // then - assertThat(errContent.toString()).containsIgnoringCase("Unknown option: '--error'"); - } - @Test @ExpectSystemExitWithStatus(0) void testAnalyze() { @@ -81,7 +65,7 @@ void testAnalyze() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -101,7 +85,7 @@ void testAnalyzeSilent() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -120,7 +104,7 @@ void testAnalyzeError() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -139,7 +123,7 @@ void testFormat() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -159,7 +143,7 @@ void testFormatOneFile() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -179,7 +163,7 @@ void testFormatSilent() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -198,7 +182,7 @@ void testFormatError() { // when try { - BSLLSPLauncher.main(args); + LSLauncher.main(args); } catch (RuntimeException ignored) { // catch prevented system.exit call } @@ -208,70 +192,4 @@ void testFormatError() { assertThat(outContent.toString()).contains("is not exists"); assertThat(errContent.toString()).isEmpty(); } - - @Test - @ExpectSystemExitWithStatus(0) - void testVersion() { - // given - String[] args = {"-v"}; - - // when - try { - BSLLSPLauncher.main(args); - } catch (RuntimeException ignored) { - // catch prevented system.exit call - } - - // then - // main-method should runs without exceptions - assertThat(outContent.toString()).startsWith("version:"); - assertThat(errContent.toString()).isEmpty(); - } - - @Test - void testWithoutParameters() { - // given - String[] args = new String[]{}; - - // when - BSLLSPLauncher.main(args); - - // then - // main-method should runs without exceptions - assertThat(outContent.toString()).isEmpty(); - assertThat(errContent.toString()).isEmpty(); - } - - @Test - void testWithoutCommandWithConfig() { - // проверим, что перешли в команду lsp - - // given - String[] args = "-c .".split(" "); - - // when - try { - BSLLSPLauncher.main(args); - } catch (RuntimeException ignored) { - // catch prevented system.exit call - } - - // then - assertThat(outContent.toString()).contains("LanguageServerStartCommand"); - assertThat(errContent.toString()).isEmpty(); - } - - @Test - void testWithoutParametersErrorCfg() { - // given - String[] args = new String[]{"-c", "src/test/resources/cli/error-trace.json"}; - - // when - BSLLSPLauncher.main(args); - - // then - // main-method should runs without exceptions - assertThat(outContent.toString()).contains("Trace log setting must lead to file, not directory"); - assertThat(errContent.toString()).isEmpty(); - } } \ No newline at end of file diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommandTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommandTest.java deleted file mode 100644 index 042d8237bae..00000000000 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/cli/VersionCommandTest.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.cli; - -import com.github._1c_syntax.bsl.languageserver.AutoServerInfo; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.test.annotation.DirtiesContext; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - -@SpringBootTest -@DirtiesContext -class VersionCommandTest { - - @MockBean - private AutoServerInfo autoServerInfo; - - @Autowired - private VersionCommand command; - - @Test - void testFailedCall() { - // given - when(autoServerInfo.getVersion()).thenReturn(""); - - // when - var call = command.call(); - - // then - assertThat(call).isEqualTo(1); - } - - @Test - void testSuccessfulCall() { - // given - when(autoServerInfo.getVersion()).thenReturn("0.0.0"); - - // when - var call = command.call(); - - // then - assertThat(call).isZero(); - } -} \ No newline at end of file diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java index 64ca334c80b..2c1639b07d9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java @@ -22,10 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; -import com.github._1c_syntax.bsl.languageserver.BSLLSPLauncher; import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.LSLauncher; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; @@ -64,7 +64,7 @@ void test() { String[] args = new String[]{"--analyze", "--srcDir", "./src/test/resources/diagnostics"}; // when - BSLLSPLauncher.main(args); + LSLauncher.main(args); // then assertThat(true).isTrue(); From cad3ebb69c2e9747664377f565af68e289b4de09 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Fri, 23 Oct 2020 09:26:30 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=91=D0=B5=D0=B7=D1=83=D1=81=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE=D0=B5=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/contributing/DiagnosticStructure.md | 2 +- .../bsl/languageserver/BSLLSBinding.java | 12 +- .../bsl/languageserver/BSLLanguageServer.java | 138 ------ .../BSLTextDocumentService.java | 311 ------------ .../languageserver/BSLWorkspaceService.java | 64 --- .../languageserver/cli/AnalyzeCommand.java | 14 +- .../bsl/languageserver/cli/FormatCommand.java | 12 +- .../codeactions/AbstractQuickFixSupplier.java | 6 +- .../codeactions/CodeActionSupplier.java | 4 +- .../codeactions/FixAllCodeActionSupplier.java | 6 +- .../GenerateStandardRegionsSupplier.java | 13 +- .../QuickFixCodeActionSupplier.java | 6 +- .../codeactions/QuickFixSupplier.java | 1 - .../codelenses/CodeLensSupplier.java | 4 +- .../CognitiveComplexityCodeLensSupplier.java | 8 +- .../CyclomaticComplexityCodeLensSupplier.java | 8 +- ...va => BSLLanguageServerConfiguration.java} | 21 +- .../configuration/Language.java | 60 --- .../codelens/CodeLensOptions.java | 2 +- .../configuration/codelens/package-info.java | 2 +- ...ptions.java => BSLDiagnosticsOptions.java} | 6 +- .../diagnostics/ComputeTrigger.java | 42 -- .../configuration/diagnostics/Mode.java | 58 --- .../databind/ParametersDeserializer.java | 92 ---- .../diagnostics/package-info.java | 2 +- .../documentlink/DocumentLinkOptions.java | 2 +- .../documentlink/package-info.java | 2 +- .../configuration/package-info.java | 2 +- .../ConfigurationFileChangeListener.java | 10 +- .../ConfigurationFileSystemWatcher.java | 4 +- ...anguageServerConfigurationChangeEvent.java | 41 -- ...ageServerConfigurationFileChangeEvent.java | 42 -- .../configuration/watcher/package-info.java | 2 +- ...ntContext.java => BSLDocumentContext.java} | 22 +- ...rverContext.java => BSLServerContext.java} | 36 +- ...mputer.java => BSLDiagnosticComputer.java} | 8 +- .../computer/CognitiveComplexityComputer.java | 14 +- .../context/computer/Computer.java | 26 - .../CyclomaticComplexityComputer.java | 14 +- .../computer/DiagnosticIgnoranceComputer.java | 9 +- .../computer/MethodSymbolComputer.java | 16 +- .../context/computer/QueryComputer.java | 6 +- .../computer/RegionSymbolComputer.java | 16 +- .../context/computer/SymbolTreeComputer.java | 10 +- .../computer/VariableSymbolComputer.java | 24 +- .../DocumentContextConfiguration.java | 14 +- .../languageserver/context/symbol/Symbol.java | 4 +- .../context/symbol/SymbolTree.java | 12 +- .../AbstractCommonModuleNameDiagnostic.java | 4 +- .../diagnostics/AbstractDiagnostic.java | 8 +- .../AbstractListenerDiagnostic.java | 8 +- .../AbstractSDBLVisitorDiagnostic.java | 8 +- .../AbstractVisitorDiagnostic.java | 8 +- .../diagnostics/BSLDiagnostic.java | 8 +- ...Storage.java => BSLDiagnosticStorage.java} | 24 +- ...inTransactionBeforeTryCatchDiagnostic.java | 6 +- .../diagnostics/CachedPublicDiagnostic.java | 6 +- .../CanonicalSpellingKeywordsDiagnostic.java | 10 +- .../CodeBlockBeforeSubDiagnostic.java | 2 - .../CodeOutOfRegionDiagnostic.java | 23 +- .../CognitiveComplexityDiagnostic.java | 7 +- .../CommandModuleExportMethodsDiagnostic.java | 2 - .../diagnostics/CommentedCodeDiagnostic.java | 10 +- ...tTransactionOutsideTryCatchDiagnostic.java | 6 +- .../CommonModuleAssignDiagnostic.java | 2 - .../CommonModuleInvalidTypeDiagnostic.java | 2 - .../CommonModuleNameCachedDiagnostic.java | 2 - .../CommonModuleNameClientDiagnostic.java | 2 - ...ommonModuleNameClientServerDiagnostic.java | 2 - .../CommonModuleNameFullAccessDiagnostic.java | 2 - ...ommonModuleNameGlobalClientDiagnostic.java | 2 - .../CommonModuleNameGlobalDiagnostic.java | 2 - .../CommonModuleNameServerCallDiagnostic.java | 2 - .../CommonModuleNameWordsDiagnostic.java | 2 - .../CompilationDirectiveLostDiagnostic.java | 2 - ...ompilationDirectiveNeedLessDiagnostic.java | 2 - .../ConsecutiveEmptyLinesDiagnostic.java | 14 +- .../CreateQueryInCycleDiagnostic.java | 2 - .../CyclomaticComplexityDiagnostic.java | 7 +- .../DataExchangeLoadingDiagnostic.java | 8 +- .../DeletingCollectionItemDiagnostic.java | 6 +- .../DeprecatedAttributes8312Diagnostic.java | 8 +- .../DeprecatedCurrentDateDiagnostic.java | 2 - .../diagnostics/DeprecatedFindDiagnostic.java | 2 - .../DeprecatedMessageDiagnostic.java | 2 - .../DeprecatedMethodCallDiagnostic.java | 12 +- .../DeprecatedMethods8310Diagnostic.java | 2 - .../DeprecatedMethods8317Diagnostic.java | 2 - .../DeprecatedTypeManagedFormDiagnostic.java | 10 +- .../DuplicateRegionDiagnostic.java | 3 - .../diagnostics/EmptyCodeBlockDiagnostic.java | 14 +- .../diagnostics/EmptyRegionDiagnostic.java | 14 +- .../diagnostics/EmptyStatementDiagnostic.java | 18 +- .../ExcessiveAutoTestCheckDiagnostic.java | 2 - .../ExecuteExternalCodeDiagnostic.java | 2 - ...eExternalCodeInCommonModuleDiagnostic.java | 2 - .../ExportVariablesDiagnostic.java | 2 - .../diagnostics/ExtraCommasDiagnostic.java | 2 - .../FormDataToValueDiagnostic.java | 6 +- .../FunctionNameStartsWithGetDiagnostic.java | 2 - .../FunctionOutParameterDiagnostic.java | 6 +- ...unctionReturnsSamePrimitiveDiagnostic.java | 19 +- .../FunctionShouldHaveReturnDiagnostic.java | 8 +- .../diagnostics/GetFormMethodDiagnostic.java | 2 - .../IdenticalExpressionsDiagnostic.java | 2 - .../IfConditionComplexityDiagnostic.java | 6 +- .../IfElseDuplicatedCodeBlockDiagnostic.java | 9 +- .../IfElseDuplicatedConditionDiagnostic.java | 9 +- .../IfElseIfEndsWithElseDiagnostic.java | 2 - .../InvalidCharacterInFileDiagnostic.java | 10 +- .../diagnostics/IsInRoleMethodDiagnostic.java | 20 +- .../JoinWithSubQueryDiagnostic.java | 2 - .../JoinWithVirtualTableDiagnostic.java | 2 - ...atinAndCyrillicSymbolInWordDiagnostic.java | 12 +- .../diagnostics/LineLengthDiagnostic.java | 6 +- .../diagnostics/MagicNumberDiagnostic.java | 2 - .../MetadataObjectNameLengthDiagnostic.java | 6 +- .../diagnostics/MethodSizeDiagnostic.java | 2 - .../MissingCodeTryCatchExDiagnostic.java | 10 +- .../diagnostics/MissingSpaceDiagnostic.java | 10 +- ...issingTemporaryFileDeletionDiagnostic.java | 10 +- ...MissingVariablesDescriptionDiagnostic.java | 2 - ...ringHasAllDeclaredLanguagesDiagnostic.java | 2 - ...gualStringUsingWithTemplateDiagnostic.java | 2 - ...ctorsInStructureDeclarationDiagnostic.java | 13 +- .../NestedFunctionInParametersDiagnostic.java | 6 +- .../NestedStatementsDiagnostic.java | 9 +- .../NestedTernaryOperatorDiagnostic.java | 6 +- ...NonExportMethodsInApiRegionDiagnostic.java | 2 - .../NonStandardRegionDiagnostic.java | 2 - .../NumberOfOptionalParamsDiagnostic.java | 2 - .../diagnostics/NumberOfParamsDiagnostic.java | 2 - ...aluesInStructureConstructorDiagnostic.java | 2 - .../diagnostics/OSUsersMethodDiagnostic.java | 2 - .../OneStatementPerLineDiagnostic.java | 17 +- .../diagnostics/OrderOfParamsDiagnostic.java | 2 - .../PairingBrokenTransactionDiagnostic.java | 6 +- .../diagnostics/ParseErrorDiagnostic.java | 6 +- .../ProcedureReturnsValueDiagnostic.java | 6 +- .../PublicMethodsDescriptionDiagnostic.java | 2 - .../diagnostics/QuickFixProvider.java | 4 +- .../diagnostics/RefOveruseDiagnostic.java | 16 +- .../diagnostics/SelfAssignDiagnostic.java | 6 +- .../diagnostics/SelfInsertionDiagnostic.java | 2 - .../SemicolonPresenceDiagnostic.java | 14 +- .../SeveralCompilerDirectivesDiagnostic.java | 8 +- .../SpaceAtStartCommentDiagnostic.java | 10 +- .../StyleElementConstructorsDiagnostic.java | 2 - .../diagnostics/TempFilesDirDiagnostic.java | 2 - .../TernaryOperatorUsageDiagnostic.java | 2 - .../ThisObjectAssignDiagnostic.java | 2 - ...TimeoutsInExternalResourcesDiagnostic.java | 12 +- .../diagnostics/TooManyReturnsDiagnostic.java | 13 +- .../diagnostics/TryNumberDiagnostic.java | 6 +- .../diagnostics/TypoDiagnostic.java | 10 +- .../UnaryPlusInConcatenationDiagnostic.java | 6 +- .../diagnostics/UnionAllDiagnostic.java | 2 - .../UnknownPreprocessorSymbolDiagnostic.java | 2 - .../UnreachableCodeDiagnostic.java | 22 +- .../UnsafeSafeModeMethodCallDiagnostic.java | 16 +- .../UnusedLocalMethodDiagnostic.java | 2 - .../UnusedParametersDiagnostic.java | 12 +- .../diagnostics/UseLessForEachDiagnostic.java | 6 +- .../UsingCancelParameterDiagnostic.java | 8 +- .../UsingExternalCodeToolsDiagnostic.java | 6 +- .../UsingFindElementByStringDiagnostic.java | 2 - .../diagnostics/UsingGotoDiagnostic.java | 2 - ...UsingHardcodeNetworkAddressDiagnostic.java | 8 +- .../UsingHardcodePathDiagnostic.java | 2 - ...ngHardcodeSecretInformationDiagnostic.java | 8 +- .../UsingModalWindowsDiagnostic.java | 2 - ...UsingObjectNotAvailableUnixDiagnostic.java | 6 +- .../UsingServiceTagDiagnostic.java | 2 - .../UsingSynchronousCallsDiagnostic.java | 8 +- .../diagnostics/UsingThisFormDiagnostic.java | 16 +- ...OfRollbackTransactionMethodDiagnostic.java | 8 +- .../diagnostics/YoLetterUsageDiagnostic.java | 2 - .../DiagnosticBeanPostProcessor.java | 4 +- .../DiagnosticInfosConfiguration.java | 4 +- .../DiagnosticsConfiguration.java | 19 +- .../diagnostics/metadata/DiagnosticCode.java | 44 -- .../diagnostics/metadata/DiagnosticInfo.java | 7 +- .../metadata/DiagnosticSeverity.java | 30 -- .../diagnostics/metadata/DiagnosticType.java | 29 -- .../typo}/AbstractObjectPool.java | 2 +- .../diagnostics/typo/JLanguageToolPool.java | 1 - .../jsonrpc/DiagnosticParams.java | 59 --- .../jsonrpc/ProtocolExtension.java | 42 -- .../languageserver/jsonrpc/package-info.java | 28 -- ...ovider.java => BSLCodeActionProvider.java} | 6 +- ...Provider.java => BSLCodeLensProvider.java} | 6 +- ...ovider.java => BSLDiagnosticProvider.java} | 10 +- ...ider.java => BSLDocumentLinkProvider.java} | 16 +- ...er.java => BSLDocumentSymbolProvider.java} | 10 +- ...ider.java => BSLFoldingRangeProvider.java} | 14 +- ...atProvider.java => BSLFormatProvider.java} | 12 +- ...verProvider.java => BSLHoverProvider.java} | 6 +- ...olProvider.java => BSLSymbolProvider.java} | 16 +- .../reporters/GenericIssueReport.java | 2 - .../reporters/JUnitTestSuites.java | 1 - .../reporters/TSLintReportEntry.java | 1 - .../reporters/data/FileInfo.java | 4 +- .../databind/DiagnosticCodeDeserializer.java | 1 - .../databind/DiagnosticCodeSerializer.java | 1 - ...RelatedInformation.java => BSLRanges.java} | 29 +- .../bsl/languageserver/utils/BSLTrees.java | 122 +++++ .../utils/DiagnosticHelper.java | 39 -- .../languageserver/utils/MdoRefBuilder.java | 10 +- .../utils/MultilingualStringAnalyser.java | 6 +- .../bsl/languageserver/utils/Ranges.java | 111 ----- .../bsl/languageserver/utils/Resources.java | 58 --- .../bsl/languageserver/utils/Trees.java | 453 ------------------ .../bsl/languageserver/utils/UTF8Control.java | 65 --- .../BSLTextDocumentServiceTest.java | 4 +- .../GenerateStandardRegionsSupplierTest.java | 8 +- .../codeactions/QuickFixSupplierTest.java | 1 - ...> BSLLanguageServerConfigurationTest.java} | 17 +- .../ConfigurationFileSystemWatcherTest.java | 5 +- ...tTest.java => BSLDocumentContextTest.java} | 32 +- ...extTest.java => BSLServerContextTest.java} | 8 +- .../CognitiveComplexityComputerTest.java | 4 +- .../CyclomaticComplexityComputerTest.java | 4 +- .../DiagnosticIgnoranceComputerTest.java | 8 +- .../computer/MethodSymbolComputerTest.java | 26 +- .../context/computer/QueryComputerTest.java | 4 +- .../context/computer/VariableSymbolTest.java | 62 +-- .../diagnostics/AbstractDiagnosticTest.java | 28 +- .../CachedPublicDiagnosticTest.java | 4 +- ...nonicalSpellingKeywordsDiagnosticTest.java | 4 +- .../CommonModuleAssignDiagnosticTest.java | 4 +- ...CommonModuleInvalidTypeDiagnosticTest.java | 4 +- .../CommonModuleNameCachedDiagnosticTest.java | 4 +- .../CommonModuleNameClientDiagnosticTest.java | 4 +- ...nModuleNameClientServerDiagnosticTest.java | 4 +- ...monModuleNameFullAccessDiagnosticTest.java | 4 +- ...nModuleNameGlobalClientDiagnosticTest.java | 4 +- .../CommonModuleNameGlobalDiagnosticTest.java | 4 +- ...monModuleNameServerCallDiagnosticTest.java | 4 +- .../CommonModuleNameWordsDiagnosticTest.java | 4 +- ...ompilationDirectiveLostDiagnosticTest.java | 4 +- .../ConsecutiveEmptyLinesDiagnosticTest.java | 8 +- .../DataExchangeLoadingDiagnosticTest.java | 16 +- ...precatedTypeManagedFormDiagnosticTest.java | 4 +- .../diagnostics/DiagnosticInfosTest.java | 5 +- .../diagnostics/DiagnosticsTest.java | 13 +- .../EmptyCodeBlockDiagnosticTest.java | 4 +- .../EmptyRegionDiagnosticTest.java | 4 +- .../EmptyStatementDiagnosticTest.java | 4 +- ...ernalCodeInCommonModuleDiagnosticTest.java | 4 +- ...ElseDuplicatedCodeBlockDiagnosticTest.java | 22 +- ...ElseDuplicatedConditionDiagnosticTest.java | 30 +- ...etadataObjectNameLengthDiagnosticTest.java | 4 +- .../MissingSpaceDiagnosticTest.java | 4 +- ...sInStructureDeclarationDiagnosticTest.java | 58 +-- .../NestedStatementsDiagnosticTest.java | 6 +- .../NonStandardRegionDiagnosticTest.java | 4 +- .../OneStatementPerLineDiagnosticTest.java | 4 +- ...airingBrokenTransactionDiagnosticTest.java | 44 +- .../SemicolonPresenceDiagnosticTest.java | 4 +- .../languageserver/diagnostics/SmokyTest.java | 4 +- .../SpaceAtStartCommentDiagnosticTest.java | 6 +- .../ThisObjectAssignDiagnosticTest.java | 12 +- ...outsInExternalResourcesDiagnosticTest.java | 8 +- .../UsingModalWindowsDiagnosticTest.java | 38 +- .../UsingSynchronousCallsDiagnosticTest.java | 64 +-- .../UsingThisFormDiagnosticTest.java | 4 +- .../metadata/DiagnosticInfoTest.java | 5 +- ...st.java => BSLCodeActionProviderTest.java} | 15 +- ...Test.java => BSLCodeLensProviderTest.java} | 8 +- ...st.java => BSLDiagnosticProviderTest.java} | 8 +- ... => BSLDocumentBSLSymbolProviderTest.java} | 36 +- ....java => BSLDocumentLinkProviderTest.java} | 13 +- ....java => BSLFoldingRangeProviderTest.java} | 10 +- ...erTest.java => BSLFormatProviderTest.java} | 16 +- ...derTest.java => BSLHoverProviderTest.java} | 10 +- ...erTest.java => BSLSymbolProviderTest.java} | 8 +- .../reporters/ConsoleReporterTest.java | 8 +- .../reporters/GenericCoverageTest.java | 4 +- .../reporters/GenericReporterTest.java | 14 +- .../reporters/JUnitReporterTest.java | 12 +- .../reporters/JsonReporterTest.java | 8 +- .../reporters/ReportersAggregatorTest.java | 8 +- .../reporters/TSLintReportEntryTest.java | 4 +- .../reporters/TSLintReporterTest.java | 8 +- .../bsl/languageserver/util/TestUtils.java | 20 +- .../util/assertions/CodeActionAssert.java | 12 +- .../util/assertions/DiagnosticAssert.java | 4 +- 287 files changed, 1105 insertions(+), 3076 deletions(-) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentService.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/{LanguageServerConfiguration.java => BSLLanguageServerConfiguration.java} (89%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/Language.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/{DiagnosticsOptions.java => BSLDiagnosticsOptions.java} (88%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/ComputeTrigger.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/Mode.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/databind/ParametersDeserializer.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationChangeEvent.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationFileChangeEvent.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/context/{DocumentContext.java => BSLDocumentContext.java} (94%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/context/{ServerContext.java => BSLServerContext.java} (82%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/{DiagnosticComputer.java => BSLDiagnosticComputer.java} (88%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/Computer.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/{DiagnosticStorage.java => BSLDiagnosticStorage.java} (92%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCode.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticSeverity.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticType.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/{utils => diagnostics/typo}/AbstractObjectPool.java (97%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/DiagnosticParams.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/ProtocolExtension.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/package-info.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{CodeActionProvider.java => BSLCodeActionProvider.java} (94%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{CodeLensProvider.java => BSLCodeLensProvider.java} (88%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{DiagnosticProvider.java => BSLDiagnosticProvider.java} (82%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentLinkProvider.java => BSLDocumentLinkProvider.java} (80%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentSymbolProvider.java => BSLDocumentSymbolProvider.java} (90%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{FoldingRangeProvider.java => BSLFoldingRangeProvider.java} (94%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{FormatProvider.java => BSLFormatProvider.java} (96%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{HoverProvider.java => BSLHoverProvider.java} (92%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/{SymbolProvider.java => BSLSymbolProvider.java} (87%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/{RelatedInformation.java => BSLRanges.java} (56%) create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLTrees.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Ranges.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Resources.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Trees.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/UTF8Control.java rename src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/{LanguageServerConfigurationTest.java => BSLLanguageServerConfigurationTest.java} (89%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/context/{DocumentContextTest.java => BSLDocumentContextTest.java} (86%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/context/{ServerContextTest.java => BSLServerContextTest.java} (94%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{CodeActionProviderTest.java => BSLCodeActionProviderTest.java} (88%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{CodeLensProviderTest.java => BSLCodeLensProviderTest.java} (93%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{DiagnosticProviderTest.java => BSLDiagnosticProviderTest.java} (89%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentSymbolProviderTest.java => BSLDocumentBSLSymbolProviderTest.java} (81%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentLinkProviderTest.java => BSLDocumentLinkProviderTest.java} (92%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{FoldingRangeProviderTest.java => BSLFoldingRangeProviderTest.java} (87%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{FormatProviderTest.java => BSLFormatProviderTest.java} (91%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{HoverProviderTest.java => BSLHoverProviderTest.java} (84%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/{SymbolProviderTest.java => BSLSymbolProviderTest.java} (96%) diff --git a/docs/contributing/DiagnosticStructure.md b/docs/contributing/DiagnosticStructure.md index fc7855629c9..c7525bf503d 100644 --- a/docs/contributing/DiagnosticStructure.md +++ b/docs/contributing/DiagnosticStructure.md @@ -233,7 +233,7 @@ _**<В разработке>**_ package com.github._1c_syntax.bsl.languageserver.diagnostics; import org.eclipse.lsp4j.Diagnostic; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.junit.jupiter.api.Test; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java index ec8d60a447a..4bb6822361f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import lombok.AccessLevel; import lombok.Getter; @@ -65,12 +65,12 @@ public static Collection getDiagnosticInfos() { return getApplicationContext().getBean("diagnosticInfos", Collection.class); } - public static LanguageServerConfiguration getLanguageServerConfiguration() { - return getApplicationContext().getBean(LanguageServerConfiguration.class); + public static BSLLanguageServerConfiguration getLanguageServerConfiguration() { + return getApplicationContext().getBean(BSLLanguageServerConfiguration.class); } - public static ServerContext getServerContext() { - return getApplicationContext().getBean(ServerContext.class); + public static BSLServerContext getServerContext() { + return getApplicationContext().getBean(BSLServerContext.class); } private static SpringApplication createApplication() { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java deleted file mode 100644 index 40234a6c0bc..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.jsonrpc.DiagnosticParams; -import com.github._1c_syntax.bsl.languageserver.jsonrpc.ProtocolExtension; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.CodeLensOptions; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.DocumentLinkOptions; -import org.eclipse.lsp4j.InitializeParams; -import org.eclipse.lsp4j.InitializeResult; -import org.eclipse.lsp4j.ServerCapabilities; -import org.eclipse.lsp4j.ServerInfo; -import org.eclipse.lsp4j.TextDocumentSyncKind; -import org.eclipse.lsp4j.services.LanguageServer; -import org.eclipse.lsp4j.services.TextDocumentService; -import org.eclipse.lsp4j.services.WorkspaceService; -import org.springframework.stereotype.Component; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.Path; -import java.util.List; -import java.util.concurrent.CompletableFuture; - -@Slf4j -@Component -@RequiredArgsConstructor -public class BSLLanguageServer implements LanguageServer, ProtocolExtension { - - private final LanguageServerConfiguration configuration; - private final BSLTextDocumentService textDocumentService; - private final BSLWorkspaceService workspaceService; - private final ServerContext context; - private final ServerInfo serverInfo; - private boolean shutdownWasCalled; - - @Override - public CompletableFuture initialize(InitializeParams params) { - - setConfigurationRoot(params); - CompletableFuture.runAsync(context::populateContext); - - ServerCapabilities capabilities = new ServerCapabilities(); - capabilities.setTextDocumentSync(TextDocumentSyncKind.Full); - capabilities.setDocumentRangeFormattingProvider(Boolean.TRUE); - capabilities.setDocumentFormattingProvider(Boolean.TRUE); - capabilities.setFoldingRangeProvider(Boolean.TRUE); - capabilities.setDocumentSymbolProvider(Boolean.TRUE); - capabilities.setCodeActionProvider(Boolean.TRUE); - capabilities.setCodeLensProvider(new CodeLensOptions()); - capabilities.setDocumentLinkProvider(new DocumentLinkOptions()); - capabilities.setWorkspaceSymbolProvider(Boolean.TRUE); - - InitializeResult result = new InitializeResult(capabilities, serverInfo); - - return CompletableFuture.completedFuture(result); - } - - private void setConfigurationRoot(InitializeParams params) { - if (params.getRootUri() == null) { - return; - } - - Path rootPath; - try { - rootPath = new File(new URI(params.getRootUri()).getPath()).getCanonicalFile().toPath(); - } catch (URISyntaxException | IOException e) { - LOGGER.error("Can't read root URI from initialization params.", e); - return; - } - - Path configurationRoot = LanguageServerConfiguration.getCustomConfigurationRoot( - configuration, - rootPath); - context.setConfigurationRoot(configurationRoot); - } - - @Override - public CompletableFuture shutdown() { - shutdownWasCalled = true; - textDocumentService.reset(); - context.clear(); - return CompletableFuture.completedFuture(Boolean.TRUE); - } - - @Override - public void exit() { - int status = shutdownWasCalled ? 0 : 1; - System.exit(status); - } - - /** - * {@inheritDoc} - *

- * См. {@link BSLTextDocumentService#diagnostics(DiagnosticParams)} - */ - @Override - public CompletableFuture> diagnostics(DiagnosticParams params) { - return textDocumentService.diagnostics(params); - } - - @Override - public TextDocumentService getTextDocumentService() { - return textDocumentService; - } - - @Override - public WorkspaceService getWorkspaceService() { - return workspaceService; - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentService.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentService.java deleted file mode 100644 index 5c6a6ffd0eb..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentService.java +++ /dev/null @@ -1,311 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.ComputeTrigger; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.jsonrpc.DiagnosticParams; -import com.github._1c_syntax.bsl.languageserver.jsonrpc.ProtocolExtension; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.providers.CodeLensProvider; -import com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider; -import com.github._1c_syntax.bsl.languageserver.providers.DocumentLinkProvider; -import com.github._1c_syntax.bsl.languageserver.providers.DocumentSymbolProvider; -import com.github._1c_syntax.bsl.languageserver.providers.FoldingRangeProvider; -import com.github._1c_syntax.bsl.languageserver.providers.FormatProvider; -import com.github._1c_syntax.bsl.languageserver.providers.HoverProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import lombok.RequiredArgsConstructor; -import org.eclipse.lsp4j.CodeAction; -import org.eclipse.lsp4j.CodeActionParams; -import org.eclipse.lsp4j.CodeLens; -import org.eclipse.lsp4j.CodeLensParams; -import org.eclipse.lsp4j.Command; -import org.eclipse.lsp4j.CompletionItem; -import org.eclipse.lsp4j.CompletionList; -import org.eclipse.lsp4j.CompletionParams; -import org.eclipse.lsp4j.DefinitionParams; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.DidChangeTextDocumentParams; -import org.eclipse.lsp4j.DidCloseTextDocumentParams; -import org.eclipse.lsp4j.DidOpenTextDocumentParams; -import org.eclipse.lsp4j.DidSaveTextDocumentParams; -import org.eclipse.lsp4j.DocumentFormattingParams; -import org.eclipse.lsp4j.DocumentHighlight; -import org.eclipse.lsp4j.DocumentHighlightParams; -import org.eclipse.lsp4j.DocumentLink; -import org.eclipse.lsp4j.DocumentLinkParams; -import org.eclipse.lsp4j.DocumentOnTypeFormattingParams; -import org.eclipse.lsp4j.DocumentRangeFormattingParams; -import org.eclipse.lsp4j.DocumentSymbol; -import org.eclipse.lsp4j.DocumentSymbolParams; -import org.eclipse.lsp4j.FoldingRange; -import org.eclipse.lsp4j.FoldingRangeRequestParams; -import org.eclipse.lsp4j.Hover; -import org.eclipse.lsp4j.HoverParams; -import org.eclipse.lsp4j.Location; -import org.eclipse.lsp4j.LocationLink; -import org.eclipse.lsp4j.ReferenceParams; -import org.eclipse.lsp4j.RenameParams; -import org.eclipse.lsp4j.SignatureHelp; -import org.eclipse.lsp4j.SignatureHelpParams; -import org.eclipse.lsp4j.SymbolInformation; -import org.eclipse.lsp4j.TextEdit; -import org.eclipse.lsp4j.WorkspaceEdit; -import org.eclipse.lsp4j.jsonrpc.messages.Either; -import org.eclipse.lsp4j.services.TextDocumentService; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - -@Component -@RequiredArgsConstructor -public class BSLTextDocumentService implements TextDocumentService, ProtocolExtension { - - private final ServerContext context; - private final LanguageServerConfiguration configuration; - private final DiagnosticProvider diagnosticProvider; - private final CodeActionProvider codeActionProvider; - private final CodeLensProvider codeLensProvider; - private final DocumentLinkProvider documentLinkProvider; - private final DocumentSymbolProvider documentSymbolProvider; - private final FoldingRangeProvider foldingRangeProvider; - private final FormatProvider formatProvider; - private final HoverProvider hoverProvider; - - @Override - public CompletableFuture, CompletionList>> completion(CompletionParams position) { - List completionItems = new ArrayList<>(); - completionItems.add(new CompletionItem("Hello World")); - return CompletableFuture.completedFuture(Either.forLeft(completionItems)); - } - - @Override - public CompletableFuture resolveCompletionItem(CompletionItem unresolved) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture hover(HoverParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - Optional hover = hoverProvider.getHover(params, documentContext); - return CompletableFuture.completedFuture(hover.orElse(null)); - } - - @Override - public CompletableFuture signatureHelp(SignatureHelpParams params) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture, List>> definition( - DefinitionParams params - ) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture> references(ReferenceParams params) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture> documentHighlight(DocumentHighlightParams params) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture>> documentSymbol( - DocumentSymbolParams params - ) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - return CompletableFuture.supplyAsync(() -> documentSymbolProvider.getDocumentSymbols(documentContext)); - } - - @Override - public CompletableFuture>> codeAction(CodeActionParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - return CompletableFuture.supplyAsync(() -> codeActionProvider.getCodeActions(params, documentContext)); - } - - @Override - public CompletableFuture> codeLens(CodeLensParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - return CompletableFuture.supplyAsync(() -> codeLensProvider.getCodeLens(documentContext)); - } - - @Override - public CompletableFuture resolveCodeLens(CodeLens unresolved) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture> formatting(DocumentFormattingParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - List edits = formatProvider.getFormatting(params, documentContext); - return CompletableFuture.completedFuture(edits); - } - - @Override - public CompletableFuture> rangeFormatting(DocumentRangeFormattingParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - List edits = formatProvider.getRangeFormatting(params, documentContext); - return CompletableFuture.completedFuture(edits); - } - - @Override - public CompletableFuture> onTypeFormatting(DocumentOnTypeFormattingParams params) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture> foldingRange(FoldingRangeRequestParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - return CompletableFuture.supplyAsync(() -> foldingRangeProvider.getFoldingRange(documentContext)); - } - - @Override - public CompletableFuture rename(RenameParams params) { - throw new UnsupportedOperationException(); - } - - @Override - public void didOpen(DidOpenTextDocumentParams params) { - DocumentContext documentContext = context.addDocument(params.getTextDocument()); - if (configuration.getDiagnosticsOptions().getComputeTrigger() != ComputeTrigger.NEVER) { - validate(documentContext); - } - } - - @Override - public void didChange(DidChangeTextDocumentParams params) { - - // TODO: Place to optimize -> migrate to #TextDocumentSyncKind.INCREMENTAL and build changed parse tree - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return; - } - - documentContext.rebuild(params.getContentChanges().get(0).getText()); - - if (configuration.getDiagnosticsOptions().getComputeTrigger() == ComputeTrigger.ONTYPE) { - validate(documentContext); - } - } - - @Override - public void didClose(DidCloseTextDocumentParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return; - } - - documentContext.clearSecondaryData(); - - diagnosticProvider.publishEmptyDiagnosticList(documentContext); - } - - @Override - public void didSave(DidSaveTextDocumentParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return; - } - - if (configuration.getDiagnosticsOptions().getComputeTrigger() != ComputeTrigger.NEVER) { - validate(documentContext); - } - } - - @Override - public CompletableFuture> documentLink(DocumentLinkParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(null); - } - - return CompletableFuture.supplyAsync(() -> documentLinkProvider.getDocumentLinks(documentContext)); - } - - @Override - public CompletableFuture> diagnostics(DiagnosticParams params) { - DocumentContext documentContext = context.getDocument(params.getTextDocument().getUri()); - if (documentContext == null) { - return CompletableFuture.completedFuture(Collections.emptyList()); - } - - return CompletableFuture.supplyAsync(() -> { - var diagnostics = documentContext.getDiagnostics(); - - var range = params.getRange(); - if (range != null) { - diagnostics = diagnostics.stream() - .filter(diagnostic -> Ranges.containsRange(range, diagnostic.getRange())) - .collect(Collectors.toList()); - } - return diagnostics; - }); - } - - public void reset() { - context.clear(); - } - - private void validate(DocumentContext documentContext) { - diagnosticProvider.computeAndPublishDiagnostics(documentContext); - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java deleted file mode 100644 index f669b3faf81..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.providers.SymbolProvider; -import lombok.RequiredArgsConstructor; -import org.apache.commons.beanutils.PropertyUtils; -import org.eclipse.lsp4j.DidChangeConfigurationParams; -import org.eclipse.lsp4j.DidChangeWatchedFilesParams; -import org.eclipse.lsp4j.SymbolInformation; -import org.eclipse.lsp4j.WorkspaceSymbolParams; -import org.eclipse.lsp4j.services.WorkspaceService; -import org.springframework.stereotype.Component; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.concurrent.CompletableFuture; - -@Component -@RequiredArgsConstructor -public class BSLWorkspaceService implements WorkspaceService { - - private final LanguageServerConfiguration configuration; - private final SymbolProvider symbolProvider; - - @Override - public CompletableFuture> symbol(WorkspaceSymbolParams params) { - return CompletableFuture.supplyAsync(() -> symbolProvider.getSymbols(params)); - } - - @Override - public void didChangeConfiguration(DidChangeConfigurationParams params) { - try { - PropertyUtils.copyProperties(configuration, params.getSettings()); - } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { - throw new RuntimeException(e); - } - } - - @Override - public void didChangeWatchedFiles(DidChangeWatchedFilesParams params) { - // no-op - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java index 363eb83e996..b83bd3f96bc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java @@ -21,10 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.cli; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.MetricStorage; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.reporters.ReportersAggregator; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; @@ -148,8 +148,8 @@ private static class ReportersKeys extends ArrayList { private boolean debug; private final ReportersAggregator aggregator; - private final LanguageServerConfiguration configuration; - private final ServerContext context; + private final BSLLanguageServerConfiguration configuration; + private final BSLServerContext context; public Integer call() { @@ -168,7 +168,7 @@ public Integer call() { File configurationFile = new File(configurationOption); configuration.update(configurationFile); - Path configurationPath = LanguageServerConfiguration.getCustomConfigurationRoot(configuration, srcDir); + Path configurationPath = BSLLanguageServerConfiguration.getCustomConfigurationRoot(configuration, srcDir); context.setConfigurationRoot(configurationPath); Collection files = FileUtils.listFiles(srcDir.toFile(), new String[]{"bsl", "os"}, true); @@ -209,7 +209,7 @@ private FileInfo getFileInfoFromFile(Path srcDir, File file) { throw new RuntimeException(e); } - DocumentContext documentContext = context.addDocument(file.toURI(), textDocumentContent); + BSLDocumentContext documentContext = context.addDocument(file.toURI(), textDocumentContent); Path filePath = srcDir.relativize(Absolute.path(file)); List diagnostics = documentContext.getDiagnostics(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java index a25c8f10319..4eb0aeed0c0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.cli; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.providers.FormatProvider; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.bsl.languageserver.providers.BSLFormatProvider; import com.github._1c_syntax.utils.Absolute; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -74,8 +74,8 @@ @RequiredArgsConstructor public class FormatCommand implements Callable { - private final ServerContext serverContext; - private final FormatProvider formatProvider; + private final BSLServerContext serverContext; + private final BSLFormatProvider formatProvider; @Option( names = {"-h", "--help"}, @@ -138,7 +138,7 @@ private void formatFile(File file) { String textDocumentContent = FileUtils.readFileToString(file, StandardCharsets.UTF_8); final URI uri = file.toURI(); - DocumentContext documentContext = serverContext.addDocument(uri, textDocumentContent); + BSLDocumentContext documentContext = serverContext.addDocument(uri, textDocumentContent); DocumentFormattingParams params = new DocumentFormattingParams(); FormattingOptions options = new FormattingOptions(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/AbstractQuickFixSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/AbstractQuickFixSupplier.java index 033659b8e8b..e1f7bc9b490 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/AbstractQuickFixSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/AbstractQuickFixSupplier.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; @@ -39,7 +39,7 @@ public abstract class AbstractQuickFixSupplier implements CodeActionSupplier { protected final QuickFixSupplier quickFixSupplier; @Override - public List getCodeActions(CodeActionParams params, DocumentContext documentContext) { + public List getCodeActions(CodeActionParams params, BSLDocumentContext documentContext) { List only = params.getContext().getOnly(); if (only != null && !only.isEmpty() && !only.contains(CodeActionKind.QuickFix)) { return Collections.emptyList(); @@ -63,6 +63,6 @@ public List getCodeActions(CodeActionParams params, DocumentContext protected abstract Stream processDiagnosticStream( Stream diagnosticStream, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/CodeActionSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/CodeActionSupplier.java index 09610fa8702..0276a5d6161 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/CodeActionSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/CodeActionSupplier.java @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; import java.util.List; public interface CodeActionSupplier { - List getCodeActions(CodeActionParams params, DocumentContext documentContext); + List getCodeActions(CodeActionParams params, BSLDocumentContext documentContext); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/FixAllCodeActionSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/FixAllCodeActionSupplier.java index 207b1b6080e..429a24cadd3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/FixAllCodeActionSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/FixAllCodeActionSupplier.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionContext; @@ -50,7 +50,7 @@ public FixAllCodeActionSupplier(QuickFixSupplier quickFixSupplier) { protected Stream processDiagnosticStream( Stream diagnosticStream, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { return diagnosticStream .map(Diagnostic::getCode) @@ -61,7 +61,7 @@ protected Stream processDiagnosticStream( private List getFixAllCodeAction( Either diagnosticCode, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { Optional> quickFixClass = quickFixSupplier.getQuickFixClass(diagnosticCode); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java index 55983bbc3b2..e309eda3a18 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java @@ -21,9 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.utils.Regions; @@ -55,9 +54,9 @@ @Component public class GenerateStandardRegionsSupplier implements CodeActionSupplier { - private final LanguageServerConfiguration languageServerConfiguration; + private final BSLLanguageServerConfiguration languageServerConfiguration; - public GenerateStandardRegionsSupplier(LanguageServerConfiguration languageServerConfiguration) { + public GenerateStandardRegionsSupplier(BSLLanguageServerConfiguration languageServerConfiguration) { this.languageServerConfiguration = languageServerConfiguration; } @@ -71,7 +70,7 @@ public GenerateStandardRegionsSupplier(LanguageServerConfiguration languageServe * пустой {@code List} если генерация областей не требуется */ @Override - public List getCodeActions(CodeActionParams params, DocumentContext documentContext) { + public List getCodeActions(CodeActionParams params, BSLDocumentContext documentContext) { ModuleType moduleType = documentContext.getModuleType(); FileType fileType = documentContext.getFileType(); @@ -114,7 +113,7 @@ public List getCodeActions(CodeActionParams params, DocumentContext return List.of(codeAction); } - private ScriptVariant getRegionsLanguage(DocumentContext documentContext, FileType fileType) { + private ScriptVariant getRegionsLanguage(BSLDocumentContext documentContext, FileType fileType) { ScriptVariant regionsLanguage; Configuration configuration = documentContext.getServerContext().getConfiguration(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixCodeActionSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixCodeActionSupplier.java index 11ad39b70f6..44bbc1589a1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixCodeActionSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixCodeActionSupplier.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -44,7 +44,7 @@ public QuickFixCodeActionSupplier(QuickFixSupplier quickFixSupplier) { protected Stream processDiagnosticStream( Stream diagnosticStream, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { return diagnosticStream .flatMap(diagnostic -> getCodeActionsByDiagnostic(diagnostic, params, documentContext).stream()); @@ -53,7 +53,7 @@ protected Stream processDiagnosticStream( private List getCodeActionsByDiagnostic( Diagnostic diagnostic, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { Optional> quickFixClass = diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java index b3a1a20bff6..b51a225324f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java @@ -24,7 +24,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CodeLensSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CodeLensSupplier.java index 019257848ce..9f0f56dd53f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CodeLensSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CodeLensSupplier.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.codelenses; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeLens; import java.util.List; public interface CodeLensSupplier { - List getCodeLenses(DocumentContext documentContext); + List getCodeLenses(BSLDocumentContext documentContext); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CognitiveComplexityCodeLensSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CognitiveComplexityCodeLensSupplier.java index 75ec763a0cd..48728cefbbd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CognitiveComplexityCodeLensSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CognitiveComplexityCodeLensSupplier.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.codelenses; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeLens; @@ -38,10 +38,10 @@ @RequiredArgsConstructor public class CognitiveComplexityCodeLensSupplier implements CodeLensSupplier { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; @Override - public List getCodeLenses(DocumentContext documentContext) { + public List getCodeLenses(BSLDocumentContext documentContext) { if (!configuration.getCodeLensOptions().isShowCognitiveComplexity()) { return Collections.emptyList(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CyclomaticComplexityCodeLensSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CyclomaticComplexityCodeLensSupplier.java index 23610668064..c9e0ba17fba 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CyclomaticComplexityCodeLensSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codelenses/CyclomaticComplexityCodeLensSupplier.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.codelenses; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeLens; @@ -38,10 +38,10 @@ @RequiredArgsConstructor public class CyclomaticComplexityCodeLensSupplier implements CodeLensSupplier { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; @Override - public List getCodeLenses(DocumentContext documentContext) { + public List getCodeLenses(BSLDocumentContext documentContext) { if (!configuration.getCodeLensOptions().isShowCyclomaticComplexity()) { return Collections.emptyList(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java similarity index 89% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfiguration.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java index c7ac0cc8abc..5b0f2624969 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java @@ -27,10 +27,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; import com.github._1c_syntax.bsl.languageserver.configuration.codelens.CodeLensOptions; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.DiagnosticsOptions; +import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.BSLDiagnosticsOptions; import com.github._1c_syntax.bsl.languageserver.configuration.documentlink.DocumentLinkOptions; -import com.github._1c_syntax.bsl.languageserver.configuration.watcher.LanguageServerConfigurationChangeEvent; -import com.github._1c_syntax.bsl.languageserver.configuration.watcher.LanguageServerConfigurationFileChangeEvent; +import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.configuration.watcher.LanguageServerConfigurationChangeEvent; +import com.github._1c_syntax.ls_core.configuration.watcher.LanguageServerConfigurationFileChangeEvent; import com.github._1c_syntax.utils.Absolute; import lombok.AccessLevel; import lombok.AllArgsConstructor; @@ -74,7 +75,7 @@ @NoArgsConstructor @Slf4j @JsonIgnoreProperties(ignoreUnknown = true) -public class LanguageServerConfiguration implements ApplicationEventPublisherAware { +public class BSLLanguageServerConfiguration implements ApplicationEventPublisherAware { private static final Pattern searchConfiguration = Pattern.compile("Configuration\\.(xml|mdo)$"); @@ -82,7 +83,7 @@ public class LanguageServerConfiguration implements ApplicationEventPublisherAwa @JsonProperty("diagnostics") @Setter(value = AccessLevel.NONE) - private DiagnosticsOptions diagnosticsOptions = new DiagnosticsOptions(); + private BSLDiagnosticsOptions diagnosticsOptions = new BSLDiagnosticsOptions(); @JsonProperty("codeLens") @Setter(value = AccessLevel.NONE) @@ -111,13 +112,13 @@ public void update(File configurationFile) { return; } - LanguageServerConfiguration configuration; + BSLLanguageServerConfiguration configuration; ObjectMapper mapper = new ObjectMapper(); mapper.enable(ACCEPT_CASE_INSENSITIVE_ENUMS); try { - configuration = mapper.readValue(configurationFile, LanguageServerConfiguration.class); + configuration = mapper.readValue(configurationFile, BSLLanguageServerConfiguration.class); } catch (IOException e) { LOGGER.error("Can't deserialize configuration file", e); return; @@ -132,12 +133,12 @@ public void update(File configurationFile) { public void reset() { - copyPropertiesFrom(new LanguageServerConfiguration()); + copyPropertiesFrom(new BSLLanguageServerConfiguration()); notifyConfigurationFileChanged(); notifyConfigurationChanged(); } - public static Path getCustomConfigurationRoot(LanguageServerConfiguration configuration, Path srcDir) { + public static Path getCustomConfigurationRoot(BSLLanguageServerConfiguration configuration, Path srcDir) { Path rootPath = null; Path pathFromConfiguration = configuration.getConfigurationRoot(); @@ -190,7 +191,7 @@ private static File getConfigurationFile(Path rootPath) { } @SneakyThrows - private void copyPropertiesFrom(LanguageServerConfiguration configuration) { + private void copyPropertiesFrom(BSLLanguageServerConfiguration configuration) { // todo: refactor PropertyUtils.copyProperties(this, configuration); PropertyUtils.copyProperties(this.codeLensOptions, configuration.codeLensOptions); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/Language.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/Language.java deleted file mode 100644 index fea03dbdaee..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/Language.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration; - -/** - * Язык для сообщений, ресурсов и прочих взаимододействий между - * BSL Language Server и пользователем. - */ -public enum Language { - - /** - * Русский - */ - RU("ru"), - - /** - * Английский - */ - EN("en"); - - /** - * Язык по умолчанию - */ - public static final Language DEFAULT_LANGUAGE = RU; - - private final String languageCode; - - /** - * @param languageCode код языка в соответствии с {@link java.util.Locale#getLanguage()} - */ - Language(String languageCode) { - this.languageCode = languageCode; - } - - /** - * @return код языка в соответствии с {@link java.util.Locale#getLanguage()} - */ - public String getLanguageCode() { - return languageCode; - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/CodeLensOptions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/CodeLensOptions.java index de5f466b76e..ff63d3d4daa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/CodeLensOptions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/CodeLensOptions.java @@ -28,7 +28,7 @@ import lombok.NoArgsConstructor; /** - * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.CodeLensProvider} + * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLCodeLensProvider} */ @Data @AllArgsConstructor(onConstructor = @__({@JsonCreator(mode = JsonCreator.Mode.DISABLED)})) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/package-info.java index 8648ddebe11..8d46902cd55 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/codelens/package-info.java @@ -21,6 +21,6 @@ */ /** - * Пакет содержит настройки {@link com.github._1c_syntax.bsl.languageserver.providers.CodeLensProvider} + * Пакет содержит настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLCodeLensProvider} */ package com.github._1c_syntax.bsl.languageserver.configuration.codelens; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/DiagnosticsOptions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java similarity index 88% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/DiagnosticsOptions.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java index f53e3977293..67bebda0fdf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/DiagnosticsOptions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java @@ -25,6 +25,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.databind.ParametersDeserializer; +import com.github._1c_syntax.ls_core.configuration.diagnostics.ComputeTrigger; +import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -34,13 +36,13 @@ import java.util.Map; /** - * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider} + * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider} */ @Data @AllArgsConstructor(onConstructor = @__({@JsonCreator(mode = JsonCreator.Mode.DISABLED)})) @NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) -public class DiagnosticsOptions { +public class BSLDiagnosticsOptions { private ComputeTrigger computeTrigger = ComputeTrigger.ONSAVE; private SkipSupport skipSupport = SkipSupport.NEVER; private Mode mode = Mode.ON; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/ComputeTrigger.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/ComputeTrigger.java deleted file mode 100644 index 65816d7ec9f..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/ComputeTrigger.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration.diagnostics; - -/** - * Триггер для запуска процедуры расчета диагностик. - */ -public enum ComputeTrigger { - /** - * При редактировании файла - */ - ONTYPE, - - /** - * При сохранении файла - */ - ONSAVE, - - /** - * Никогда - */ - NEVER -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/Mode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/Mode.java deleted file mode 100644 index 0dd8e5bfefb..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/Mode.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration.diagnostics; - -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; - -/** - * Режим для учета настроек правил. - *

- * См. {@link DiagnosticsOptions#getParameters()} - */ -public enum Mode { - - /** - * Все диагностики считаются выключенными. - */ - OFF, - - /** - * Все диагностики, включенные по умолчанию ({@link DiagnosticMetadata#activatedByDefault()}, считаются включенными. - * Остальные - в соответствии с конфигурацией настроек правил. - */ - ON, - - /** - * Все диагностики, кроме указанных в конфигурации настроек правил, считаются включенными. - */ - EXCEPT, - - /** - * Только диагностики, указанные в конфигурации настроек правил, считаются включенными. - */ - ONLY, - - /** - * Все диагностики считаются включенными. - */ - ALL -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/databind/ParametersDeserializer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/databind/ParametersDeserializer.java deleted file mode 100644 index 1ff23ece5a7..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/databind/ParametersDeserializer.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.databind; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.jsonrpc.messages.Either; - -import java.io.IOException; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -/** - * Служебный класс-десериализатор для коллекции настроек диагностик. - *

- * См. {@link com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.DiagnosticsOptions#getParameters()} - */ -@Slf4j -public class ParametersDeserializer extends JsonDeserializer>>> { - - @Override - public Map>> deserialize( - JsonParser p, - DeserializationContext context - ) throws IOException { - - JsonNode diagnostics = p.getCodec().readTree(p); - - if (diagnostics == null) { - return Collections.emptyMap(); - } - - ObjectMapper mapper = new ObjectMapper(); - Map>> diagnosticsMap = new HashMap<>(); - - Iterator> diagnosticsNodes = diagnostics.fields(); - diagnosticsNodes.forEachRemaining((Map.Entry entry) -> { - JsonNode diagnosticConfig = entry.getValue(); - if (diagnosticConfig.isBoolean()) { - diagnosticsMap.put(entry.getKey(), Either.forLeft(diagnosticConfig.asBoolean())); - } else { - Map diagnosticConfiguration = getDiagnosticConfiguration(mapper, entry.getValue()); - diagnosticsMap.put(entry.getKey(), Either.forRight(diagnosticConfiguration)); - } - }); - - return diagnosticsMap; - } - - private static Map getDiagnosticConfiguration( - ObjectMapper mapper, - JsonNode diagnosticConfig - ) { - Map diagnosticConfiguration; - try { - JavaType type = mapper.getTypeFactory().constructType(new TypeReference>() {}); - diagnosticConfiguration = mapper.readValue(mapper.treeAsTokens(diagnosticConfig), type); - } catch (IOException e) { - LOGGER.error("Can't deserialize diagnostic configuration", e); - return null; - } - return diagnosticConfiguration; - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java index 551a8d4fb84..cf028e39429 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java @@ -20,6 +20,6 @@ * License along with BSL Language Server. */ /** - * Пакет содержит настройки для работы {@link com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider} + * Пакет содержит настройки для работы {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider} */ package com.github._1c_syntax.bsl.languageserver.configuration.diagnostics; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/DocumentLinkOptions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/DocumentLinkOptions.java index b4142087701..b0a1de2227d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/DocumentLinkOptions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/DocumentLinkOptions.java @@ -28,7 +28,7 @@ import lombok.NoArgsConstructor; /** - * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.DocumentLinkProvider} + * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDocumentLinkProvider} */ @Data @AllArgsConstructor(onConstructor = @__({@JsonCreator(mode = JsonCreator.Mode.DISABLED)})) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/package-info.java index 2c15f7357ea..45469593fe8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/documentlink/package-info.java @@ -21,6 +21,6 @@ */ /** - * Пакет содержит настройки {@link com.github._1c_syntax.bsl.languageserver.providers.DocumentLinkProvider} + * Пакет содержит настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDocumentLinkProvider} */ package com.github._1c_syntax.bsl.languageserver.configuration.documentlink; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/package-info.java index f1f647eb85c..73064ed13a2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/package-info.java @@ -24,7 +24,7 @@ * В пакете содержатся классы для конфигурирования BSL Language Server. *

* Корневой пакет содержит корневой класс конфигурации - * {@link com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration} + * {@link com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration} * , настройки верхнего уровня и дополнительные пакеты для настроек в разрезе провайдеров * (диагностики, code lens, и т.д.) */ diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileChangeListener.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileChangeListener.java index b06d40d23ad..5880e0109ad 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileChangeListener.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileChangeListener.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.configuration.watcher; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -37,21 +37,21 @@ * Обработчик событий изменения файла конфигурации. *

* Выполняет обновление/сброс инстанса - * {@link com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration}. + * {@link com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration}. */ @Component @Slf4j @RequiredArgsConstructor public class ConfigurationFileChangeListener { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; /** * Обработчик изменения файла конфигурации. Актуализирует текущий активный инстанс конфигурации - * {@link com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration}. + * {@link com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration}. * * @param configurationFile Изменившийся файл конфигурации, содержащий - * {@link com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration}. + * {@link com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration}. * @param eventKind Тип события, произошедшего с файлом. */ public void onChange(File configurationFile, WatchEvent.Kind eventKind) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java index 826f338c70e..b449b68908e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.configuration.watcher; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.utils.Absolute; import com.sun.nio.file.SensitivityWatchEventModifier; import lombok.RequiredArgsConstructor; @@ -57,7 +57,7 @@ @RequiredArgsConstructor public class ConfigurationFileSystemWatcher { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; private final ConfigurationFileChangeListener listener; private Path registeredPath; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationChangeEvent.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationChangeEvent.java deleted file mode 100644 index fa5ddb99759..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationChangeEvent.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration.watcher; - -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import org.springframework.context.ApplicationEvent; - -/** - * Описание события изменения конфигурации. - *

- * В качестве источника события содержит ссылку на конфигурацию. - */ -public class LanguageServerConfigurationChangeEvent extends ApplicationEvent { - public LanguageServerConfigurationChangeEvent(LanguageServerConfiguration configuration) { - super(configuration); - } - - @Override - public LanguageServerConfiguration getSource() { - return (LanguageServerConfiguration) super.getSource(); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationFileChangeEvent.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationFileChangeEvent.java deleted file mode 100644 index 83ca31a0e47..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/LanguageServerConfigurationFileChangeEvent.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.configuration.watcher; - -import org.springframework.context.ApplicationEvent; - -import java.io.File; - -/** - * Описание события изменения файла конфигурации. - *

- * В качестве источника события содержит ссылку на файл конфигурации. - */ -public class LanguageServerConfigurationFileChangeEvent extends ApplicationEvent { - public LanguageServerConfigurationFileChangeEvent(File configurationFile) { - super(configurationFile); - } - - @Override - public File getSource() { - return (File) super.getSource(); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/package-info.java index 15ee0a330f2..d2dda3f4665 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/package-info.java @@ -22,7 +22,7 @@ /** * В пакете содержатся классы, относящиеся к отслеживанию факта изменения (удаление, создание, редактирование) файла - * конфигурации ({@link com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration}). + * конфигурации ({@link com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration}). */ @ParametersAreNonnullByDefault package com.github._1c_syntax.bsl.languageserver.configuration.watcher; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContext.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java similarity index 94% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContext.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java index 866d5deda06..f72e479ec65 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContext.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java @@ -23,20 +23,20 @@ import com.github._1c_syntax.bsl.languageserver.context.computer.CognitiveComplexityComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.ComplexityData; -import com.github._1c_syntax.bsl.languageserver.context.computer.Computer; import com.github._1c_syntax.bsl.languageserver.context.computer.CyclomaticComplexityComputer; -import com.github._1c_syntax.bsl.languageserver.context.computer.DiagnosticComputer; +import com.github._1c_syntax.bsl.languageserver.context.computer.BSLDiagnosticComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.DiagnosticIgnoranceComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.QueryComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.SymbolTreeComputer; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.bsl.parser.BSLTokenizer; import com.github._1c_syntax.bsl.parser.SDBLTokenizer; +import com.github._1c_syntax.ls_core.context.computer.Computer; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -63,12 +63,12 @@ import static java.util.Objects.requireNonNull; import static org.antlr.v4.runtime.Token.DEFAULT_CHANNEL; -public class DocumentContext { +public class BSLDocumentContext { private final URI uri; private String content; - private final ServerContext context; - private final DiagnosticComputer diagnosticComputer; + private final BSLServerContext context; + private final BSLDiagnosticComputer diagnosticComputer; private final FileType fileType; private BSLTokenizer tokenizer; @@ -92,7 +92,7 @@ public class DocumentContext { private final Lazy> queries = new Lazy<>(this::computeQueries, computeLock); - public DocumentContext(URI uri, String content, ServerContext context, DiagnosticComputer diagnosticComputer) { + public BSLDocumentContext(URI uri, String content, BSLServerContext context, BSLDiagnosticComputer diagnosticComputer) { this.uri = uri; this.content = content; this.context = context; @@ -102,7 +102,7 @@ public DocumentContext(URI uri, String content, ServerContext context, Diagnosti this.fileType = computeFileType(this.uri); } - public ServerContext getServerContext() { + public BSLServerContext getServerContext() { return context; } @@ -321,7 +321,7 @@ private MetricStorage computeMetrics() { .count(); metricsTemp.setComments(comments); - int statements = Trees.findAllRuleNodes(getAst(), BSLParser.RULE_statement).size(); + int statements = BSLTrees.findAllRuleNodes(getAst(), BSLParser.RULE_statement).size(); metricsTemp.setStatements(statements); metricsTemp.setCognitiveComplexity(getCognitiveComplexityData().getFileComplexity()); @@ -332,9 +332,9 @@ private MetricStorage computeMetrics() { private int[] computeCovlocData() { - return Trees.getDescendants(getAst()).stream() + return BSLTrees.getDescendants(getAst()).stream() .filter(Predicate.not(TerminalNodeImpl.class::isInstance)) - .filter(DocumentContext::mustCovered) + .filter(BSLDocumentContext::mustCovered) .mapToInt(node -> ((BSLParserRuleContext) node).getStart().getLine()) .distinct().toArray(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContext.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java similarity index 82% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContext.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java index 37eff00d9af..401e2a4b00a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContext.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java @@ -52,14 +52,14 @@ @Slf4j @Component @RequiredArgsConstructor -public abstract class ServerContext { - private final Map documents = Collections.synchronizedMap(new HashMap<>()); +public abstract class BSLServerContext { + private final Map documents = Collections.synchronizedMap(new HashMap<>()); private final Lazy configurationMetadata = new Lazy<>(this::computeConfigurationMetadata); @CheckForNull @Setter private Path configurationRoot; private final Map mdoRefs = Collections.synchronizedMap(new HashMap<>()); - private final Map> documentsByMDORef + private final Map> documentsByMDORef = Collections.synchronizedMap(new HashMap<>()); private final ReadWriteLock contextLock = new ReentrantReadWriteLock(); @@ -82,7 +82,7 @@ public void populateContext(Collection uris) { contextLock.writeLock().lock(); uris.parallelStream().forEach((File file) -> { - DocumentContext documentContext = getDocument(file.toURI()); + BSLDocumentContext documentContext = getDocument(file.toURI()); if (documentContext == null) { documentContext = createDocumentContext(file); documentContext.getSymbolTree(); @@ -94,16 +94,16 @@ public void populateContext(Collection uris) { LOGGER.debug("Context populated."); } - public Map getDocuments() { + public Map getDocuments() { return Collections.unmodifiableMap(documents); } @CheckForNull - public DocumentContext getDocument(String uri) { + public BSLDocumentContext getDocument(String uri) { return getDocument(URI.create(uri)); } - public Optional getDocument(String mdoRef, ModuleType moduleType) { + public Optional getDocument(String mdoRef, ModuleType moduleType) { var documentsGroup = documentsByMDORef.get(mdoRef); if (documentsGroup != null) { return Optional.ofNullable(documentsGroup.get(moduleType)); @@ -112,18 +112,18 @@ public Optional getDocument(String mdoRef, ModuleType moduleTyp } @CheckForNull - public DocumentContext getDocument(URI uri) { + public BSLDocumentContext getDocument(URI uri) { return documents.get(Absolute.uri(uri)); } - public Map getDocuments(String mdoRef) { + public Map getDocuments(String mdoRef) { return documentsByMDORef.getOrDefault(mdoRef, Collections.emptyMap()); } - public DocumentContext addDocument(URI uri, String content) { + public BSLDocumentContext addDocument(URI uri, String content) { contextLock.readLock().lock(); - DocumentContext documentContext = getDocument(uri); + BSLDocumentContext documentContext = getDocument(uri); if (documentContext == null) { documentContext = createDocumentContext(uri, content); } else { @@ -134,7 +134,7 @@ public DocumentContext addDocument(URI uri, String content) { return documentContext; } - public DocumentContext addDocument(TextDocumentItem textDocumentItem) { + public BSLDocumentContext addDocument(TextDocumentItem textDocumentItem) { return addDocument(URI.create(textDocumentItem.getUri()), textDocumentItem.getText()); } @@ -156,18 +156,18 @@ public Configuration getConfiguration() { } @Lookup - protected abstract DocumentContext lookupDocumentContext(URI absoluteURI, String content); + protected abstract BSLDocumentContext lookupDocumentContext(URI absoluteURI, String content); @SneakyThrows - private DocumentContext createDocumentContext(File file) { + private BSLDocumentContext createDocumentContext(File file) { String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8); return createDocumentContext(file.toURI(), content); } - private DocumentContext createDocumentContext(URI uri, String content) { + private BSLDocumentContext createDocumentContext(URI uri, String content) { URI absoluteURI = Absolute.uri(uri); - DocumentContext documentContext = lookupDocumentContext(absoluteURI, content); + BSLDocumentContext documentContext = lookupDocumentContext(absoluteURI, content); documents.put(absoluteURI, documentContext); addMdoRefByUri(absoluteURI, documentContext); @@ -184,7 +184,7 @@ private Configuration computeConfigurationMetadata() { return customThreadPool.submit(() -> Configuration.create(configurationRoot)).get(); } - private void addMdoRefByUri(URI uri, DocumentContext documentContext) { + private void addMdoRefByUri(URI uri, BSLDocumentContext documentContext) { var modulesByObject = getConfiguration().getModulesByObject(); var mdoByUri = modulesByObject.get(uri); @@ -193,7 +193,7 @@ private void addMdoRefByUri(URI uri, DocumentContext documentContext) { mdoRefs.put(uri, mdoRef); var documentsGroup = documentsByMDORef.get(mdoRef); if (documentsGroup == null) { - Map newDocumentsGroup = new EnumMap<>(ModuleType.class); + Map newDocumentsGroup = new EnumMap<>(ModuleType.class); newDocumentsGroup.put(documentContext.getModuleType(), documentContext); documentsByMDORef.put(mdoRef, newDocumentsGroup); } else { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java similarity index 88% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticComputer.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java index 6bc3a21b3a3..9d28a5489fa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -36,9 +36,9 @@ @Component @RequiredArgsConstructor @Slf4j -public abstract class DiagnosticComputer { +public abstract class BSLDiagnosticComputer { - public List compute(DocumentContext documentContext) { + public List compute(BSLDocumentContext documentContext) { DiagnosticIgnoranceComputer.Data diagnosticIgnorance = documentContext.getDiagnosticIgnorance(); @@ -64,5 +64,5 @@ public List compute(DocumentContext documentContext) { } @Lookup("diagnostics") - protected abstract List diagnostics(DocumentContext documentContext); + protected abstract List diagnostics(BSLDocumentContext documentContext); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java index 66b0bd94d9f..737bacd9525 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java @@ -21,10 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -48,7 +48,7 @@ public class CognitiveComplexityComputer extends BSLParserBaseListener implements Computer { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private int fileComplexity; private int fileCodeBlockComplexity; @@ -62,7 +62,7 @@ public class CognitiveComplexityComputer private int nestedLevel; private final Set ignoredContexts; - public CognitiveComplexityComputer(DocumentContext documentContext) { + public CognitiveComplexityComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; fileComplexity = 0; fileCodeBlockComplexity = 0; @@ -291,7 +291,7 @@ private List flattenExpression(BSLParser.ExpressionContext ctx) { List result = new ArrayList<>(); - final List children = Trees.getChildren(ctx); + final List children = BSLTrees.getChildren(ctx); for (Tree tree : children) { if (!(tree instanceof BSLParserRuleContext)) { continue; @@ -381,7 +381,7 @@ private void addSecondaryLocation(Token token, int increment, int nested) { } else { message = String.format("+%d", increment); } - var secondaryLocation = new ComplexitySecondaryLocation(Ranges.create(token), message.intern()); + var secondaryLocation = new ComplexitySecondaryLocation(BSLRanges.create(token), message.intern()); List locations; if (currentMethod != null) { locations = methodsComplexitySecondaryLocations.computeIfAbsent( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/Computer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/Computer.java deleted file mode 100644 index 158e647ec68..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/Computer.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.context.computer; - -public interface Computer { - T compute(); -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java index beb91400c64..71c289a0c5b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java @@ -21,10 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -45,7 +45,7 @@ public class CyclomaticComplexityComputer extends BSLParserBaseListener implements Computer { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private int fileComplexity; private int fileCodeBlockComplexity; @@ -57,7 +57,7 @@ public class CyclomaticComplexityComputer private MethodSymbol currentMethod; private int complexity; - public CyclomaticComplexityComputer(DocumentContext documentContext) { + public CyclomaticComplexityComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; fileComplexity = 0; fileCodeBlockComplexity = 0; @@ -216,7 +216,7 @@ private static List flattenExpression(BSLParser.ExpressionContext ctx) { List result = new ArrayList<>(); - final List children = Trees.getChildren(ctx); + final List children = BSLTrees.getChildren(ctx); for (Tree tree : children) { if (!(tree instanceof BSLParserRuleContext)) { continue; @@ -278,7 +278,7 @@ private void incrementFileCodeBlockComplexity() { } private void complexityIncrement(Token token) { - complexityIncrement(Ranges.create(token)); + complexityIncrement(BSLRanges.create(token)); } private void complexityIncrement(Range range) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java index a91b77cdb8b..8ee60244541 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java @@ -21,8 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.AllArgsConstructor; import org.antlr.v4.runtime.Token; @@ -63,12 +64,12 @@ public class DiagnosticIgnoranceComputer implements Computer>> diagnosticIgnorance = new HashMap<>(); private final Map> ignoranceStack = new HashMap<>(); - public DiagnosticIgnoranceComputer(DocumentContext documentContext) { + public DiagnosticIgnoranceComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java index ca7633db545..31ee5f01ea8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.ParameterDefinition; @@ -29,8 +29,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationKind; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationParameterDefinition; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.CompilerDirectiveKind; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -57,10 +57,10 @@ public final class MethodSymbolComputer BSLParser.ANNOTATION_ATSERVERNOCONTEXT_SYMBOL, BSLParser.ANNOTATION_ATCLIENTATSERVER_SYMBOL); - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private final List methods = new ArrayList<>(); - public MethodSymbolComputer(DocumentContext documentContext) { + public MethodSymbolComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } @@ -198,8 +198,8 @@ private MethodSymbol createMethodSymbol( return MethodSymbol.builder() .name(subName.getText()) - .range(Ranges.create(startNode, stopNode)) - .subNameRange(Ranges.create(subName)) + .range(BSLRanges.create(startNode, stopNode)) + .subNameRange(BSLRanges.create(subName)) .function(function) .export(export) .description(description) @@ -212,7 +212,7 @@ private MethodSymbol createMethodSymbol( } private Optional createDescription(Token token) { - List comments = Trees.getComments(documentContext.getTokens(), token); + List comments = BSLTrees.getComments(documentContext.getTokens(), token); if (comments.isEmpty()) { return Optional.empty(); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java index 136de1ca6ab..ffd4753ec7b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.SDBLTokenizer; @@ -37,7 +37,7 @@ public class QueryComputer extends BSLParserBaseVisitor implements Computer> { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private final List queries = new ArrayList<>(); private static final Pattern QUERIES_ROOT_KEY = CaseInsensitivePattern.compile( @@ -46,7 +46,7 @@ public class QueryComputer extends BSLParserBaseVisitor implements Co private static final int MINIMAL_QUERY_STRING_LENGTH = 8; - public QueryComputer(DocumentContext documentContext) { + public QueryComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java index f053e8ced4f..f8442a07b38 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import org.antlr.v4.runtime.tree.ParseTree; @@ -39,12 +39,12 @@ public final class RegionSymbolComputer extends BSLParserBaseVisitor implements Computer> { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private final Deque> regionStack = new ArrayDeque<>(); private final List regions = new ArrayList<>(); - public RegionSymbolComputer(DocumentContext documentContext) { + public RegionSymbolComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } @@ -68,8 +68,8 @@ public ParseTree visitRegionStart(BSLParser.RegionStartContext ctx) { RegionSymbol.RegionSymbolBuilder builder = RegionSymbol.builder() .name(ctx.regionName().getText()) - .regionNameRange(Ranges.create(ctx.regionName())) - .startRange(Ranges.create(ctx)); + .regionNameRange(BSLRanges.create(ctx.regionName())) + .startRange(BSLRanges.create(ctx)); regionStack.push(Pair.of(builder, ctx)); return super.visitRegionStart(ctx); @@ -87,10 +87,10 @@ public ParseTree visitRegionEnd(BSLParser.RegionEndContext ctx) { RegionSymbol.RegionSymbolBuilder builder = pair.getLeft(); BSLParser.RegionStartContext regionStartContext = pair.getRight(); - Range range = Ranges.create(regionStartContext, ctx); + Range range = BSLRanges.create(regionStartContext, ctx); builder .range(range) - .endRange(Ranges.create(ctx)) + .endRange(BSLRanges.create(ctx)) ; RegionSymbol region = builder.build(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java index 78d5008ddd9..3d3da94f8a9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java @@ -21,13 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import java.util.ArrayList; import java.util.Comparator; @@ -36,9 +36,9 @@ public class SymbolTreeComputer implements Computer { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; - public SymbolTreeComputer(DocumentContext documentContext) { + public SymbolTreeComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } @@ -67,7 +67,7 @@ public SymbolTree compute() { private static Symbol placeSymbol(List topLevelSymbols, Symbol currentParent, Symbol symbol) { - if (Ranges.containsRange(currentParent.getRange(), symbol.getRange())) { + if (BSLRanges.containsRange(currentParent.getRange(), symbol.getRange())) { currentParent.getChildren().add(symbol); symbol.setParent(Optional.of(currentParent)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java index 6eccca4c416..782e32b0f3c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -40,10 +40,10 @@ public class VariableSymbolComputer extends BSLParserBaseVisitor implements Computer> { - private final DocumentContext documentContext; + private final BSLDocumentContext documentContext; private final List variables = new ArrayList<>(); - public VariableSymbolComputer(DocumentContext documentContext) { + public VariableSymbolComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } @@ -78,8 +78,8 @@ private VariableSymbol createVariableSymbol( ) { return VariableSymbol.builder() .name(varName.getText()) - .range(Ranges.create(ctx)) - .variableNameRange(Ranges.create(varName)) + .range(BSLRanges.create(ctx)) + .variableNameRange(BSLRanges.create(varName)) .export(export) .kind(kind) .description(createDescription(ctx)) @@ -91,12 +91,12 @@ private Optional createDescription(BSLParserRuleContext ctx List comments = new ArrayList<>(); // поиск комментариев начинается от первого токена - VAR - var varToken = Trees.getPreviousTokenFromDefaultChannel(tokens, + var varToken = BSLTrees.getPreviousTokenFromDefaultChannel(tokens, ctx.getStart().getTokenIndex(), BSLParser.VAR_KEYWORD); - varToken.ifPresent(value -> comments.addAll(Trees.getComments(tokens, value))); + varToken.ifPresent(value -> comments.addAll(BSLTrees.getComments(tokens, value))); // висячий комментарий смотрим по токену переменной, он должен находится в этой же строке - Optional trailingComments = Trees.getTrailingComment(tokens, ctx.getStop()); + Optional trailingComments = BSLTrees.getTrailingComment(tokens, ctx.getStop()); if (comments.isEmpty() && trailingComments.isEmpty()) { return Optional.empty(); @@ -107,7 +107,7 @@ private Optional createDescription(BSLParserRuleContext ctx var trailingDescription = trailingComments .map(trailingComment -> VariableDescription.builder() .description(trailingComment.getText()) - .range(Ranges.create(trailingComment)) + .range(BSLRanges.create(trailingComment)) .build() ); @@ -130,7 +130,7 @@ private static Range getRangeForDescription(List tokens) { Token firstElement = tokens.get(0); Token lastElement = tokens.get(tokens.size() - 1); - return Ranges.create(firstElement, lastElement); + return BSLRanges.create(firstElement, lastElement); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/infrastructure/DocumentContextConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/infrastructure/DocumentContextConfiguration.java index 6ee824291b3..5ed9b54b12a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/infrastructure/DocumentContextConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/infrastructure/DocumentContextConfiguration.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.context.infrastructure; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.context.computer.DiagnosticComputer; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.bsl.languageserver.context.computer.BSLDiagnosticComputer; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -40,10 +40,10 @@ public class DocumentContextConfiguration { @Bean @Scope("prototype") - public DocumentContext documentContext(URI uri, String content) { - var serverContext = applicationContext.getBean(ServerContext.class); - var diagnosticComputer = applicationContext.getBean(DiagnosticComputer.class); - return new DocumentContext(uri, content, serverContext, diagnosticComputer); + public BSLDocumentContext documentContext(URI uri, String content) { + var serverContext = applicationContext.getBean(BSLServerContext.class); + var diagnosticComputer = applicationContext.getBean(BSLDiagnosticComputer.class); + return new BSLDocumentContext(uri, content, serverContext, diagnosticComputer); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java index d533e701301..f2644b8b36d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.symbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import lombok.Getter; import lombok.Setter; import org.eclipse.lsp4j.Range; @@ -62,7 +62,7 @@ static Symbol emptySymbol() { @Getter private final SymbolKind symbolKind = SymbolKind.Null; @Getter - private final Range range = Ranges.create(-1, 0, -1, 0); + private final Range range = BSLRanges.create(-1, 0, -1, 0); @Getter @Setter private Optional parent = Optional.empty(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java index 2a609f1431a..36f00d38895 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.context.symbol; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import lombok.Getter; @@ -64,7 +64,7 @@ public List getRegionsFlat() { public Optional getMethodSymbol(BSLParserRuleContext ctx) { BSLParserRuleContext subNameNode; - if (Trees.nodeContainsErrors(ctx)) { + if (BSLTrees.nodeContainsErrors(ctx)) { subNameNode = ctx; } else if (ctx instanceof BSLParser.SubContext) { if (((BSLParser.SubContext) ctx).function() == null) { @@ -76,7 +76,7 @@ public Optional getMethodSymbol(BSLParserRuleContext ctx) { subNameNode = ctx; } - Range subNameRange = Ranges.create(subNameNode); + Range subNameRange = BSLRanges.create(subNameNode); return getMethods().stream() .filter(methodSymbol -> methodSymbol.getSubNameRange().equals(subNameRange)) @@ -91,7 +91,7 @@ public Optional getVariableSymbol(BSLParserRuleContext ctx) { BSLParserRuleContext varNameNode; - if (Trees.nodeContainsErrors(ctx)) { + if (BSLTrees.nodeContainsErrors(ctx)) { varNameNode = ctx; } else if (ctx instanceof BSLParser.ModuleVarDeclarationContext) { varNameNode = ((BSLParser.ModuleVarDeclarationContext) ctx).var_name(); @@ -101,7 +101,7 @@ public Optional getVariableSymbol(BSLParserRuleContext ctx) { varNameNode = ctx; } - Range variableNameRange = Ranges.create(varNameNode); + Range variableNameRange = BSLRanges.create(varNameNode); return getVariables().stream() .filter(variableSymbol -> variableSymbol.getVariableNameRange().equals(variableNameRange)) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractCommonModuleNameDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractCommonModuleNameDiagnostic.java index 3bbc37e0186..c01dad99551 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractCommonModuleNameDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractCommonModuleNameDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -41,7 +41,7 @@ public AbstractCommonModuleNameDiagnostic(String regexp) { @Override protected void check() { - Optional range = Ranges.getFirstSignificantTokenRange(documentContext.getTokens()); + Optional range = BSLRanges.getFirstSignificantTokenRange(documentContext.getTokens()); if (range.isEmpty()) { return; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java index d3acd814c38..e6781a4dacf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; import lombok.Setter; @@ -34,11 +34,11 @@ public abstract class AbstractDiagnostic implements BSLDiagnostic { @Getter @Setter protected DiagnosticInfo info; - protected final DiagnosticStorage diagnosticStorage = new DiagnosticStorage(this); - protected DocumentContext documentContext; + protected final BSLDiagnosticStorage diagnosticStorage = new BSLDiagnosticStorage(this); + protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(DocumentContext documentContext) { + public List getDiagnostics(BSLDocumentContext documentContext) { this.documentContext = documentContext; diagnosticStorage.clearDiagnostics(); check(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java index f698f0ee041..fe73b830d50 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import lombok.Getter; @@ -36,11 +36,11 @@ public abstract class AbstractListenerDiagnostic extends BSLParserBaseListener i @Getter @Setter protected DiagnosticInfo info; - protected final DiagnosticStorage diagnosticStorage = new DiagnosticStorage(this); - protected DocumentContext documentContext; + protected final BSLDiagnosticStorage diagnosticStorage = new BSLDiagnosticStorage(this); + protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(DocumentContext documentContext) { + public List getDiagnostics(BSLDocumentContext documentContext) { this.documentContext = documentContext; diagnosticStorage.clearDiagnostics(); ParseTreeWalker walker = new ParseTreeWalker(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java index c869f1fafed..66539d3709b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.SDBLParserBaseVisitor; import lombok.Getter; @@ -35,11 +35,11 @@ public abstract class AbstractSDBLVisitorDiagnostic extends SDBLParserBaseVisito @Getter @Setter protected DiagnosticInfo info; - protected final DiagnosticStorage diagnosticStorage = new DiagnosticStorage(this); - protected DocumentContext documentContext; + protected final BSLDiagnosticStorage diagnosticStorage = new BSLDiagnosticStorage(this); + protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(DocumentContext documentContext) { + public List getDiagnostics(BSLDocumentContext documentContext) { this.documentContext = documentContext; diagnosticStorage.clearDiagnostics(); var queries = documentContext.getQueries(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java index ad7b7f0863e..97c1d783603 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import lombok.Getter; @@ -36,11 +36,11 @@ public abstract class AbstractVisitorDiagnostic extends BSLParserBaseVisitor getDiagnostics(DocumentContext documentContext) { + public List getDiagnostics(BSLDocumentContext documentContext) { this.documentContext = documentContext; diagnosticStorage.clearDiagnostics(); this.visitFile(documentContext.getAst()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java index eb7a783dff2..7b752c8e972 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import org.eclipse.lsp4j.Diagnostic; @@ -31,16 +31,16 @@ /** * BSLDiagnostic main purpose is to provide collection of LSP {@link Diagnostic}, - * fired on concrete {@link DocumentContext}. + * fired on concrete {@link BSLDocumentContext}. *

* Each BSLDiagnostic implementation MUST contain constructor with exactly one parameter {@link DiagnosticInfo}. * Passed DiagnosticInfo MUST be stored as a object field and returned by {@link #getInfo()}. *

- * {@link #getDiagnostics(DocumentContext)} method SHOULD use {@link DiagnosticStorage} to add and return diagnostics. + * {@link #getDiagnostics(BSLDocumentContext)} method SHOULD use {@link BSLDiagnosticStorage} to add and return diagnostics. */ public interface BSLDiagnostic { - List getDiagnostics(DocumentContext documentContext); + List getDiagnostics(BSLDocumentContext documentContext); void setInfo(DiagnosticInfo info); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticStorage.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java similarity index 92% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticStorage.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java index fc034e9d53f..0a9265fee62 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticStorage.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -36,14 +36,14 @@ import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; -import static com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider.SOURCE; +import static com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider.SOURCE; -public class DiagnosticStorage { +public class BSLDiagnosticStorage { private final BSLDiagnostic diagnostic; private final Queue diagnosticList = new ConcurrentLinkedQueue<>(); - DiagnosticStorage(BSLDiagnostic diagnostic) { + BSLDiagnosticStorage(BSLDiagnostic diagnostic) { this.diagnostic = diagnostic; } @@ -61,7 +61,7 @@ protected void addDiagnostic(BSLParserRuleContext node) { } addDiagnostic( - Ranges.create(node) + BSLRanges.create(node) ); } @@ -71,14 +71,14 @@ protected void addDiagnostic(BSLParserRuleContext node, String diagnosticMessage } addDiagnostic( - Ranges.create(node), + BSLRanges.create(node), diagnosticMessage ); } protected void addDiagnostic(int startLine, int startChar, int endLine, int endChar) { addDiagnostic( - Ranges.create(startLine, startChar, endLine, endChar) + BSLRanges.create(startLine, startChar, endLine, endChar) ); } @@ -99,19 +99,19 @@ protected void addDiagnostic(Range range, String diagnosticMessage) { protected void addDiagnostic(Token token) { addDiagnostic( - Ranges.create(token) + BSLRanges.create(token) ); } protected void addDiagnostic(Token startToken, Token endToken) { addDiagnostic( - Ranges.create(startToken, endToken) + BSLRanges.create(startToken, endToken) ); } protected void addDiagnostic(Token token, String diagnosticMessage) { addDiagnostic( - Ranges.create(token), + BSLRanges.create(token), diagnosticMessage ); } @@ -159,7 +159,7 @@ public void addDiagnostic( } addDiagnostic( - Ranges.create(node), + BSLRanges.create(node), diagnosticMessage, relatedInformation ); @@ -171,7 +171,7 @@ public void addDiagnostic( List relatedInformation ) { addDiagnostic( - Ranges.create(token), + BSLRanges.create(token), diagnosticMessage, relatedInformation ); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java index 5e8871436f8..84de0ea656b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -98,7 +96,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { @Override public ParseTree visitFileCodeBlock(BSLParser.FileCodeBlockContext ctx) { // Находим последний стейт в модуле и запоминаем его - Stream statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); + Stream statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); nodeEndFile = (BSLParser.StatementContext) statements.reduce((a, b) -> b).orElse(null); return super.visitFileCodeBlock(ctx); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java index ccbc8b9e8fb..9a17188b27b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java @@ -21,12 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -67,7 +65,7 @@ protected void check() { .forEach(regionSymbol -> diagnosticStorage.addDiagnostic(regionSymbol.getRegionNameRange())); } - private boolean isCashed(DocumentContext documentContext) { + private boolean isCashed(BSLDocumentContext documentContext) { return documentContext.getMdObject() .filter(CommonModule.class::isInstance) .map(CommonModule.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java index 69db02104c6..9496e6c8e29 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java @@ -21,12 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; @@ -282,7 +280,7 @@ protected void check() { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -299,7 +297,7 @@ public List getQuickFixes( }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java index f24b866e789..0e4fc2778c7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java index cd8ad2d97b3..97ff0849cd5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java @@ -26,12 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -118,12 +115,12 @@ private void addChildrenToRelatedInformation( List relatedInformation, Integer... ruleIndex ) { - Trees.getChildren(ctx, ruleIndex).stream() + BSLTrees.getChildren(ctx, ruleIndex).stream() .filter(node -> !node.getTokens().isEmpty()) .map(node -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(node), + BSLRanges.create(node), "+1" ) ) @@ -132,14 +129,14 @@ private void addChildrenToRelatedInformation( @Override public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { - Trees.getChildren(ctx).stream() + BSLTrees.getChildren(ctx).stream() .filter(node -> !(node instanceof BSLParser.PreprocessorContext) && !(node instanceof TerminalNode)) .findFirst() .ifPresent((Tree node) -> { - Range ctxRange = Ranges.create((BSLParserRuleContext) node); + Range ctxRange = BSLRanges.create((BSLParserRuleContext) node); if (regionsRanges.stream().noneMatch(regionRange -> - Ranges.containsRange(regionRange, ctxRange))) { + BSLRanges.containsRange(regionRange, ctxRange))) { diagnosticStorage.addDiagnostic(ctx); } } @@ -170,15 +167,15 @@ public ParseTree visitFileCodeBlockBeforeSub(BSLParser.FileCodeBlockBeforeSubCon } private void addDiagnosticForFileCodeBlock(BSLParserRuleContext ctx) { - Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement) + BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement) .stream() .filter(node -> node.getParent().getParent() == ctx) .forEach((ParseTree child) -> { if (child.getChildCount() > 1 || !(child.getChild(0) instanceof BSLParser.PreprocessorContext)) { - Range ctxRange = Ranges.create((BSLParser.StatementContext) child); + Range ctxRange = BSLRanges.create((BSLParser.StatementContext) child); if (regionsRanges.stream().noneMatch(regionRange -> - Ranges.containsRange(regionRange, ctxRange))) { + BSLRanges.containsRange(regionRange, ctxRange))) { diagnosticStorage.addDiagnostic((BSLParser.StatementContext) child); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java index dafdac055a0..03686869341 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java @@ -25,11 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -159,7 +156,7 @@ private void checkFileCodeBlock(BSLParserRuleContext ctx) { relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - Ranges.create(ctx.getStart()), + BSLRanges.create(ctx.getStart()), info.getMessage("body", fileCodeBlockComplexity, complexityThreshold) )); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java index 3db5d943782..cd9105982c6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java index 2b8dcc0d42e..573713d196a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java @@ -21,15 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.recognizer.BSLFootprint; import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; import com.github._1c_syntax.bsl.parser.BSLParser; @@ -205,7 +203,7 @@ private static String uncomment(String comment) { @Override public List getQuickFixes( - List diagnostics, CodeActionParams params, DocumentContext documentContext + List diagnostics, CodeActionParams params, BSLDocumentContext documentContext ) { List textEdits = diagnostics.stream() @@ -213,7 +211,7 @@ public List getQuickFixes( .map(range -> new TextEdit(range, "")) .collect(Collectors.toList()); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java index fb84d6ea835..d921777ff62 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -117,7 +115,7 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { @Override public ParseTree visitFileCodeBlock(BSLParser.FileCodeBlockContext ctx) { // Находим последний стейт в модуле и запоминаем его - Stream statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); + Stream statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); nodeEndFile = (BSLParser.StatementContext) statements.reduce((a, b) -> b).orElse(null); return super.visitFileCodeBlock(ctx); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java index 54b43dc5fb5..6f3387a1449 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.Configuration; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java index 66cdca39556..8897c544934 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java index 3f1d3f28ba8..286b267f375 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.mdclasses.metadata.additional.ReturnValueReuse; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java index c80386391fb..fdc3f4b01f2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java index 0e790cf509d..ee545af4439 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java index 9563ff275fd..3f9176a32c0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java index bed1375036f..f99acae5570 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java index 3985967c605..2e3b9861fcd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java index f262b7e5b04..bb69ebc0547 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java index dfad523521a..bd8c93b611f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java index 4e72116c72a..2a3f16ac8c4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java index 5c7dc6a1335..98cbc87fbbb 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java index 0c0cacf2cfb..b95d9e3c933 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java @@ -21,14 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; @@ -97,7 +95,7 @@ private void addIssue(int startEmptyLine, int lastEmptyLine) { @Override public List getQuickFixes( - List diagnostics, CodeActionParams params, DocumentContext documentContext) { + List diagnostics, CodeActionParams params, BSLDocumentContext documentContext) { var eofTokenLine = getEofTokenLine(documentContext.getTokens()); @@ -105,7 +103,7 @@ public List getQuickFixes( .map(diagnostic -> getQuickFixText(diagnostic, eofTokenLine)) .collect(Collectors.toList()); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), @@ -122,7 +120,7 @@ private static TextEdit getQuickFixText(Diagnostic diagnostic, int eofTokenLine) endLine--; newText = ""; } - Range newRange = Ranges.create(range.getStart().getLine(), 0, endLine, 0); + Range newRange = BSLRanges.create(range.getStart().getLine(), 0, endLine, 0); return new TextEdit(newRange, newText); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java index 730ec2e5d9d..0ad0eb252bd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.AssignmentContext; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java index c7dc8cd7c1d..98640848602 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java @@ -25,11 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -130,7 +127,7 @@ private void checkFileCodeBlock(BSLParserRuleContext ctx) { relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - Ranges.create(ctx.getStart()), + BSLRanges.create(ctx.getStart()), info.getMessage("body", fileCodeBlockComplexity, complexityThreshold) )); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java index f928b3195dd..ca962c3dcd6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -122,12 +120,12 @@ && foundReturnStatement(context)) private static boolean foundReturnStatement(BSLParser.IfBranchContext ifBranch) { return Optional.ofNullable(ifBranch.codeBlock()) - .map(codeBlockContext -> Trees.findAllRuleNodes(codeBlockContext, BSLParser.RULE_returnStatement)) + .map(codeBlockContext -> BSLTrees.findAllRuleNodes(codeBlockContext, BSLParser.RULE_returnStatement)) .map(list -> !list.isEmpty()) .orElse(false); } private static ParserRuleContext getSubContext(BSLParser.ProcDeclarationContext ctx) { - return Trees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_sub); + return BSLTrees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_sub); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java index 0b307830bd2..28aa53388a2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext; @@ -68,7 +66,7 @@ private static boolean namesEqual(CallStatementContext callStatement, String col public ParseTree visitForEachStatement(BSLParser.ForEachStatementContext ctx) { String collectionExpression = ctx.expression().getText(); - Trees.findAllRuleNodes(ctx.codeBlock(), BSLParser.RULE_methodCall) + BSLTrees.findAllRuleNodes(ctx.codeBlock(), BSLParser.RULE_methodCall) .stream() .filter(MethodCallContext.class::isInstance) .map(MethodCallContext.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java index 5b72bb6d0d2..462b932878a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -293,9 +291,9 @@ private void checkDeprecatedAttributes(BSLParserRuleContext ctx, Matcher deprecatedAttributesMatcher = deprecatedAttributesPattern.matcher(ctx.getText().substring(1)); if (deprecatedAttributesMatcher.matches()) { - var complexCtx = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_complexIdentifier); + var complexCtx = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_complexIdentifier); if (complexCtx == null) { - complexCtx = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_lValue); + complexCtx = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_lValue); if (complexCtx == null) { return; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java index dc4eb53d266..a64ab7a451a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java index 8feaac1547d..92bb788ccaa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java index b95cb3b2f43..2648c55a1b5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java index 6f6f5a07a32..c0ee3561c90 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java @@ -21,15 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -108,8 +106,8 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { return super.visitGlobalMethodCall(ctx); } - private static boolean currentMethodIsDeprecated(BSLParserRuleContext ctx, DocumentContext documentContext) { - return Optional.ofNullable(Trees.getRootParent(ctx, BSLParser.RULE_sub)) + private static boolean currentMethodIsDeprecated(BSLParserRuleContext ctx, BSLDocumentContext documentContext) { + return Optional.ofNullable(BSLTrees.getRootParent(ctx, BSLParser.RULE_sub)) .flatMap(sub -> documentContext.getSymbolTree().getMethodSymbol(sub)) .map(MethodSymbol::isDeprecated) .orElse(false); @@ -122,7 +120,7 @@ private void checkDeprecatedCall(String mdoRef, Token methodName) { documentContexts.entrySet().stream() .filter(entry -> DEFAULT_MODULE_TYPES.contains(entry.getKey())) .map(Map.Entry::getValue) - .map(DocumentContext::getSymbolTree) + .map(BSLDocumentContext::getSymbolTree) .flatMap(symbolTree -> symbolTree.getMethods().stream()) .filter(methodSymbol -> methodSymbol.isDeprecated() && methodSymbol.getName().equalsIgnoreCase(methodNameText)) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java index 7aa52d7a3e7..37b3ba8082b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java index 2db724671ea..69642bc8077 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java index 98b23d84de8..c5980b9b32c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java @@ -21,14 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -79,7 +77,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -91,7 +89,7 @@ public List getQuickFixes( }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java index 225ea4ccccf..57f21e506e5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java @@ -24,11 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java index 224635dabcc..1dd379f922f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java @@ -23,11 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -74,18 +72,18 @@ public ParseTree visitCodeBlock(BSLParser.CodeBlockContext ctx) { if (commentAsCode) { Stream comments = documentContext.getComments().stream(); - Range rangeCodeBlock = Ranges.create(ctx.getStop(), ctx.getStart()); + Range rangeCodeBlock = BSLRanges.create(ctx.getStop(), ctx.getStart()); if (comments.anyMatch(token -> - Ranges.containsRange( + BSLRanges.containsRange( rangeCodeBlock, - Ranges.create(token)))) { + BSLRanges.create(token)))) { return super.visitCodeBlock(ctx); } } int lineOfStop = ctx.getStop().getLine(); - List list = Trees.getChildren(ctx.getParent()).stream() + List list = BSLTrees.getChildren(ctx.getParent()).stream() .filter(node -> node instanceof TerminalNode) .filter(node -> ((TerminalNode) node).getSymbol().getLine() == lineOfStop) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java index 82b66dd7c0f..1cd8814cb4d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java @@ -21,13 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.ParserRuleContext; import org.eclipse.lsp4j.CodeAction; @@ -75,7 +73,7 @@ public void exitEveryRule(ParserRuleContext ctx) { BSLParser.RegionStartContext currentRegion = regions.pop(); if (currentUsageLevel < currentRegionLevel) { diagnosticStorage.addDiagnostic( - Ranges.create(currentRegion.getParent(), ctx), + BSLRanges.create(currentRegion.getParent(), ctx), info.getMessage(currentRegion.regionName().getText()) ); } else if (currentRegionLevel == currentUsageLevel) { @@ -89,7 +87,7 @@ public void exitEveryRule(ParserRuleContext ctx) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(diagnostics.size()); diagnostics @@ -106,7 +104,7 @@ public List getQuickFixes( }) .ifPresent(lastRange -> textEdits.add(new TextEdit(lastRange, ""))); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java index fdf077db70c..b2ded6d9650 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java @@ -21,13 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -55,9 +53,9 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { if (ctx.getChildCount() == 1 && ctx.SEMICOLON() != null - && !Trees.treeContainsErrors( - Trees.getPreviousNode( - Trees.getRootParent(ctx), + && !BSLTrees.treeContainsErrors( + BSLTrees.getPreviousNode( + BSLTrees.getRootParent(ctx), ctx, BSLParser.RULE_statement))) { diagnosticStorage.addDiagnostic(ctx); @@ -70,7 +68,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -90,7 +88,7 @@ public List getQuickFixes( }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java index e01b94cc6ac..d065bca5263 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java index da392a7247f..0435c141a71 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java index c32180d46a3..177e68b5568 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java index 069ff8c19e4..572ac210762 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java @@ -25,9 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java index d5f5f11437f..d21fc0997f4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java index f98e3edbadd..6c4e2cc98d7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java @@ -25,10 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.CompilerDirectiveKind; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -57,7 +55,7 @@ public FormDataToValueDiagnostic() { @Override protected boolean checkGlobalMethodCall(GlobalMethodCallContext ctx) { - var parentNode = (BSLParser.SubContext) Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub); + var parentNode = (BSLParser.SubContext) BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub); if (parentNode == null) { return false; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java index 79ce982760e..5488c6c8f58 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java index 53ce201e4ad..1ccbe0247c1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.ParameterDefinition; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -67,7 +65,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { return ctx; } - Map lvalues = Trees + Map lvalues = BSLTrees .findAllRuleNodes(ctx.subCodeBlock(), BSLParser.RULE_lValue) .stream() .collect( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java index a1eaa9fc139..a0cf2d9efb2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java @@ -24,12 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -90,7 +87,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { } } - var tree = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + var tree = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); if (tree.size() > 1) { var expressions = tree.stream() .map(BSLParser.ReturnStatementContext.class::cast) @@ -99,7 +96,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { .collect(Collectors.toList()); expressions.stream() - .map(expression -> Trees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier)) + .map(expression -> BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier)) .filter(Collection::isEmpty) .findAny() .ifPresent( @@ -122,7 +119,7 @@ private void checkPrimitiveValue( .map(BSLParser.ReturnStatementContext.class::cast) .map(statement -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(statement.getStart()), + BSLRanges.create(statement.getStart()), info.getResourceString(KEY_MESSAGE))) .collect(Collectors.toList()); diagnosticStorage.addDiagnostic(getSubNameRange(ctx), relatedInformation); @@ -131,18 +128,18 @@ private void checkPrimitiveValue( } private String getExpressionText(BSLParser.ExpressionContext expression) { - if (caseSensitiveForString && Trees.nodeContains(expression, BSLParser.RULE_string)) { + if (caseSensitiveForString && BSLTrees.nodeContains(expression, BSLParser.RULE_string)) { return expression.getText(); } return expression.getText().toUpperCase(Locale.ENGLISH); } private Range getSubNameRange(ParserRuleContext ctx) { - return Optional.ofNullable(Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub)) + return Optional.ofNullable(BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub)) .map(BSLParser.SubContext.class::cast) .flatMap(context -> documentContext.getSymbolTree().getMethodSymbol(context)) .map(MethodSymbol::getSubNameRange) - .orElse(Ranges.create(ctx.getStart())); + .orElse(BSLRanges.create(ctx.getStart())); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java index 852c31e9e00..f467eca521a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; @@ -50,8 +48,8 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { return ctx; } - Collection tokens = Trees.findAllTokenNodes(ctx, BSLLexer.RETURN_KEYWORD); - if (tokens.isEmpty() && !Trees.treeContainsErrors(ctx)) { + Collection tokens = BSLTrees.findAllTokenNodes(ctx, BSLLexer.RETURN_KEYWORD); + if (tokens.isEmpty() && !BSLTrees.treeContainsErrors(ctx)) { BSLParser.SubNameContext subName = ctx.funcDeclaration().subName(); diagnosticStorage.addDiagnostic(subName); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java index 7d2e948aed7..579530d3a18 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java index 624a0c6fb74..6cd82cb39b5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java index 9f5db0685b3..462a2f35ed0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; @@ -63,7 +61,7 @@ public ParseTree visitElsifBranch(BSLParser.ElsifBranchContext ctx) { } private void checkExpressionAndRaise(BSLParser.ExpressionContext expression) { - if (Trees.findAllRuleNodes(expression, BSLParser.RULE_boolOperation).size() + 1 > maxIfConditionComplexity) { + if (BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_boolOperation).size() + 1 > maxIfConditionComplexity) { diagnosticStorage.addDiagnostic(expression); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java index ea3d11067ae..b4fcc3c1d20 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java @@ -22,12 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -111,7 +108,7 @@ private void checkCodeBlock(List codeBlockContexts, relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - Ranges.create(currentCodeBlock), + BSLRanges.create(currentCodeBlock), relatedMessage )); @@ -119,7 +116,7 @@ private void checkCodeBlock(List codeBlockContexts, .map(codeBlockContext -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(codeBlockContext), + BSLRanges.create(codeBlockContext), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java index c534944263a..ee57c1ec7c5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java @@ -22,12 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -105,7 +102,7 @@ private void checkExpression(List expressionContext relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - Ranges.create(currentExpression), + BSLRanges.create(currentExpression), relatedMessage )); @@ -113,7 +110,7 @@ private void checkExpression(List expressionContext .map(expressionContext -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(expressionContext), + BSLRanges.create(expressionContext), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java index e2aa1a117bd..96e18ec2a6a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java index 9d1a9698991..47c68cffc1b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java @@ -21,12 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.Token; @@ -110,7 +108,7 @@ public void check() { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -135,7 +133,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java index ce9dab81ad3..0ad58ba7475 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -83,7 +81,7 @@ public ParseTree visitElsifBranch(BSLParser.ElsifBranchContext ctx) { } private void computeDiagnostics(BSLParser.ExpressionContext expression) { - Trees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier).stream() + BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier).stream() .map(complexCtx -> (BSLParser.ComplexIdentifierContext) complexCtx) .filter(complexCtx -> isInRoleVars.contains(complexCtx.getText())) .filter(ctx -> checkStatement(ctx, expression)) @@ -104,7 +102,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { } private void handleIsInRoleGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { - var rootParent = Trees.getRootParent(ctx, ROOT_PARENTS_FOR_GLOBAL_METHODS); + var rootParent = BSLTrees.getRootParent(ctx, ROOT_PARENTS_FOR_GLOBAL_METHODS); if (rootParent == null) { return; } @@ -118,20 +116,20 @@ private void handleIsInRoleGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { } private void handlePrivilegedModeGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { - var assignmentNode = Trees.getRootParent(ctx, BSLParser.RULE_assignment); + var assignmentNode = BSLTrees.getRootParent(ctx, BSLParser.RULE_assignment); if (assignmentNode != null) { addAssignedNameVar(assignmentNode, privilegedModeNameVars); } } private static void addAssignedNameVar(BSLParserRuleContext assignmentNode, Set nameVars) { - var childNode = Trees.getFirstChild(assignmentNode, BSLParser.RULE_lValue); + var childNode = BSLTrees.getFirstChild(assignmentNode, BSLParser.RULE_lValue); childNode.ifPresent(node -> nameVars.add(node.getText())); } @Override public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { - var childNode = Trees.getFirstChild(ctx, BSLParser.RULE_lValue); + var childNode = BSLTrees.getFirstChild(ctx, BSLParser.RULE_lValue); childNode.ifPresent((BSLParserRuleContext node) -> { isInRoleVars.remove(node.getText()); @@ -141,7 +139,7 @@ public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { } private boolean checkStatement(BSLParserRuleContext ctx) { - var parentExpression = Trees.getRootParent(ctx, BSLParser.RULE_expression); + var parentExpression = BSLTrees.getRootParent(ctx, BSLParser.RULE_expression); return checkStatement(ctx, parentExpression); } @@ -151,14 +149,14 @@ private boolean checkStatement(BSLParserRuleContext ctx, @Nullable BSLParserRule return false; } - var identifierList = Trees.findAllRuleNodes(parentExpression, BSLParser.RULE_complexIdentifier); + var identifierList = BSLTrees.findAllRuleNodes(parentExpression, BSLParser.RULE_complexIdentifier); for (ParseTree parseTree : identifierList) { if (privilegedModeNameVars.contains(parseTree.getText())) { return false; } } - var nextGlobalMethodNode = Trees.getNextNode(parentExpression, + var nextGlobalMethodNode = BSLTrees.getNextNode(parentExpression, ctx, BSLParser.RULE_globalMethodCall); boolean hasPrivilegedModeCheck = (nextGlobalMethodNode instanceof BSLParser.GlobalMethodCallContext diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java index 1a768567bc7..34cbac03e45 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.SDBLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java index 8cad49e9b07..a1083d99800 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.SDBLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java index 4ffd5cd3432..9cd330e3b6d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -102,23 +100,23 @@ protected void check() { } private void check(int ruleID) { - checkTree(Trees.findAllRuleNodes(documentContext.getAst(), ruleID).stream()); + checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), ruleID).stream()); } private void checkLValue() { - checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_lValue).stream() + checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_lValue).stream() .filter(ctx -> ((BSLParser.LValueContext) ctx).IDENTIFIER() != null) .map(ctx -> ((BSLParser.LValueContext) ctx).IDENTIFIER())); } private void checkParameters() { - checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_param).stream() + checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_param).stream() .filter(ctx -> ((BSLParser.ParamContext) ctx).IDENTIFIER() != null) .map(ctx -> ((BSLParser.ParamContext) ctx).IDENTIFIER())); } private void checkLabel() { - checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_labelName).stream() + checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_labelName).stream() .filter(ctx -> ctx.getParent() instanceof BSLParser.GotoStatementContext)); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java index 4bddfd2cbae..95635e94ccd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; import org.antlr.v4.runtime.Token; @@ -74,7 +72,7 @@ protected void check() { Integer maxCharPosition = value.stream().max(Integer::compareTo).orElse(0); if (maxCharPosition > maxLineLength) { diagnosticStorage.addDiagnostic( - Ranges.create(key, 0, key, maxCharPosition), + BSLRanges.create(key, 0, key, maxCharPosition), info.getMessage(maxCharPosition, maxLineLength) ); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java index 8cae3c751ac..818043c8db9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java index 793dfbeb1c5..3a621e92f4b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import org.eclipse.lsp4j.Range; @@ -56,7 +54,7 @@ public class MetadataObjectNameLengthDiagnostic extends AbstractDiagnostic { @Override protected void check() { - Optional range = Ranges.getFirstSignificantTokenRange(documentContext.getTokens()); + Optional range = BSLRanges.getFirstSignificantTokenRange(documentContext.getTokens()); if (range.isEmpty()) { return; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java index a1455d9031f..f7d5ff2b2ce 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java index 4f2e68c6c9c..71c336580fd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -62,11 +60,11 @@ public ParseTree visitExceptCodeBlock(BSLParser.ExceptCodeBlockContext ctx) { if (commentAsCode) { Stream comments = documentContext.getComments().stream(); - Range rangeTry = Ranges.create(ctx.getParent()); + Range rangeTry = BSLRanges.create(ctx.getParent()); if (comments.anyMatch(token -> - Ranges.containsRange( + BSLRanges.containsRange( rangeTry, - Ranges.create(token)))) { + BSLRanges.create(token)))) { return super.visitExceptCodeBlock(ctx); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java index 2ad1680d0dc..c76d9f07cf2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java @@ -21,13 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; @@ -182,7 +180,7 @@ public void configure(Map configuration) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -210,7 +208,7 @@ public List getQuickFixes( } }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java index 083890e7d07..cc18e53b062 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -101,7 +99,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { int filterLine = ctx.getStart().getLine(); BSLParser.CodeBlockContext codeBlockContext = (BSLParser.CodeBlockContext) - Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_codeBlock); + BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_codeBlock); if (codeBlockContext != null && !foundDeleteFile(codeBlockContext, variableName, filterLine)) { @@ -115,7 +113,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { private boolean foundDeleteFile(BSLParser.CodeBlockContext codeBlockContext, String variableName, int filterLine) { boolean result = false; - Collection listCallStatements = Trees + Collection listCallStatements = BSLTrees .findAllRuleNodes(codeBlockContext, BSLParser.RULE_callStatement) .stream() .filter(node -> ((BSLParser.CallStatementContext) node).getStart().getLine() > filterLine) @@ -182,7 +180,7 @@ private static boolean foundVariableInCallParams(BSLParser.DoCallContext doCallC private static String getVariableName(BSLParser.GlobalMethodCallContext ctx) { BSLParser.AssignmentContext assignment = (BSLParser.AssignmentContext) - Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); + BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); if (assignment == null) { return null; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java index 42b3624b4e4..466d3d9973a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java index ccab9b588c7..4d881b3767e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java index 6d058e139d3..92c98087c13 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java index 14226d09969..19e9818b5c6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java @@ -23,13 +23,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.NewExpressionContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -86,19 +83,19 @@ public ParseTree visitNewExpression(NewExpressionContext ctx) { List relatedInformation = new ArrayList<>(); relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - Ranges.create(ctx), + BSLRanges.create(ctx), relatedMessage )); structureDoCallContext.callParamList().callParam().stream() .filter(tree -> tree.start.getType() == BSLParser.NEW_KEYWORD) - .map(tree -> Trees.findAllRuleNodes(tree, BSLParser.RULE_newExpression)) + .map(tree -> BSLTrees.findAllRuleNodes(tree, BSLParser.RULE_newExpression)) .filter(tree -> !tree.isEmpty()) .map(tree -> (ParseTree) tree.toArray()[0]) .map(tree -> (NewExpressionContext) tree) .filter(NestedConstructorsInStructureDeclarationDiagnostic::hasParams) .map(newContext -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(newContext), + BSLRanges.create(newContext), relatedMessage )) .collect(Collectors.toCollection(() -> relatedInformation)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java index 4a765ff2b2e..a2bd8c9c4e5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -84,7 +82,7 @@ private static boolean findNestedCall(BSLParserRuleContext ctx, BSLParser.DoCall // если есть параметры и вызов не в одной строке, то найдем вызовы методов return !ctxDoCall.callParamList().isEmpty() && ctx.getStart().getLine() != ctx.getStop().getLine() - && Trees.nodeContains(ctx, ctxDoCall, BSLParser.RULE_doCall); + && BSLTrees.nodeContains(ctx, ctxDoCall, BSLParser.RULE_doCall); } private void checkMethodCall(BSLParserRuleContext ctx, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java index c58dde70f41..5bb3fbc04e8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java @@ -24,11 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -139,7 +136,7 @@ private void addRelatedInformationDiagnostic(BSLParserRuleContext ctx) { relatedInformation.add( RelatedInformation.create( documentContext.getUri(), - Ranges.create(ctx.getStart()), + BSLRanges.create(ctx.getStart()), relatedMessage ) ); @@ -149,7 +146,7 @@ private void addRelatedInformationDiagnostic(BSLParserRuleContext ctx) { .map(expressionContext -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(((BSLParserRuleContext) expressionContext).getStart()), + BSLRanges.create(((BSLParserRuleContext) expressionContext).getStart()), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java index 6fab8681876..c7448deaab0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -63,7 +61,7 @@ public ParseTree visitTernaryOperator(BSLParser.TernaryOperatorContext ctx) { } private void findNestedTernaryOperator(BSLParserRuleContext ctx, int skip) { - Collection nestedTernaryOperators = Trees.findAllRuleNodes(ctx, BSLParser.RULE_ternaryOperator); + Collection nestedTernaryOperators = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_ternaryOperator); if (nestedTernaryOperators.size() > skip) { nestedTernaryOperators.stream() .skip(skip) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java index 784c2c39eac..708ffbd40b9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java index ab838f802a1..1dbf3c23527 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java @@ -25,9 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.Regions; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java index 8b03f2b5d2d..cad4ccc9eeb 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java index 6b79797cbf2..b191601b287 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java index 1ee2b4d5fad..1ec2bed1f7b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java index 7466e5e38c4..5beced1dedc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java index 1fbef3bb9f9..88119edbd39 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java @@ -21,14 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -67,7 +64,7 @@ private List getRelatedInformation(BSLParser.State .filter(context -> !context.equals(self)) .map(context -> RelatedInformation.create( documentContext.getUri(), - Ranges.create(context), + BSLRanges.create(context), "+1" )).collect(Collectors.toCollection(() -> relatedInformation)); return relatedInformation; @@ -117,13 +114,13 @@ public ParseTree visitFile(BSLParser.FileContext ctx) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); diagnostics.forEach((Diagnostic diagnostic) -> { Range range = diagnostic.getRange(); - Range startLineRange = Ranges.create( + Range startLineRange = BSLRanges.create( range.getStart().getLine(), 0, range.getStart().getLine(), @@ -141,7 +138,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java index 8f437dfd1b3..2ca99d4252b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser.ParamContext; import com.github._1c_syntax.bsl.parser.BSLParser.ParamListContext; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java index 46efc5e198c..095fe6e5ea6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -85,7 +83,7 @@ private void findAndAddDiagnostic(ParseTree ctx, Pattern pattern, HashMap allTranCalls = new ArrayList<>(); - Trees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) + BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) .stream() .filter(node -> pattern.matcher(( (BSLParser.GlobalMethodCallContext) node).methodName().getText()).matches()) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java index 7a25b834ec4..4fd27486a01 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -68,7 +66,7 @@ public void enterFile(BSLParser.FileContext ctx) { BSLParser.FileContext ast = this.documentContext.getAst(); String initialExpectedString = info.getResourceString("expectedTokens") + " "; - Trees.getDescendants(ast).stream() + BSLTrees.getDescendants(ast).stream() .filter(parseTree -> !(parseTree instanceof TerminalNodeImpl)) .map(parseTree -> (BSLParserRuleContext) parseTree) .filter(node -> node.exception != null) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java index c03b7b73ec4..0c28db4d4f9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; @@ -43,7 +41,7 @@ public class ProcedureReturnsValueDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitProcedure(BSLParser.ProcedureContext ctx) { - Collection statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + Collection statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); for (ParseTree thisStatement : statements) { if (thisStatement.getChildCount() > 1) { diagnosticStorage.addDiagnostic((BSLParser.ReturnStatementContext) thisStatement); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java index 74c952a0f75..d22c933e0f5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java @@ -26,9 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QuickFixProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QuickFixProvider.java index b14552b11b1..73c1685be55 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QuickFixProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QuickFixProvider.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; import org.eclipse.lsp4j.Diagnostic; @@ -33,7 +33,7 @@ public interface QuickFixProvider { List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java index 3b07fc762c9..a4e7671c5cc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.bsl.parser.SDBLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -57,8 +55,8 @@ public class RefOveruseDiagnostic extends AbstractSDBLVisitorDiagnostic { @Override public ParseTree visitQuery(SDBLParser.QueryContext ctx) { - var dataSourceCollection = Trees.findAllRuleNodes(ctx, SDBLParser.RULE_dataSource); - var columnsCollection = Trees.findAllRuleNodes(ctx, SDBLParser.RULE_column); + var dataSourceCollection = BSLTrees.findAllRuleNodes(ctx, SDBLParser.RULE_dataSource); + var columnsCollection = BSLTrees.findAllRuleNodes(ctx, SDBLParser.RULE_column); if (columnsCollection.isEmpty()) { return ctx; @@ -117,9 +115,9 @@ private void performCheck(SDBLParser.ColumnContext ctx, SDBLParser.IdentifierCon private String getTableNameOrAlias(ParseTree dataSource) { String alias = Optional.of(dataSource) - .map(dataSrc -> Trees.getFirstChild(dataSrc, SDBLParser.RULE_alias)) + .map(dataSrc -> BSLTrees.getFirstChild(dataSrc, SDBLParser.RULE_alias)) .filter(Optional::isPresent) - .map(optionalAlias -> Trees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) + .map(optionalAlias -> BSLTrees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) .filter(Optional::isPresent) .map(Optional::get) .map(BSLParserRuleContext::getText) @@ -130,9 +128,9 @@ private String getTableNameOrAlias(ParseTree dataSource) { } return Optional.of(dataSource) - .map(dataSrc -> Trees.getFirstChild(dataSrc, SDBLParser.RULE_table)) + .map(dataSrc -> BSLTrees.getFirstChild(dataSrc, SDBLParser.RULE_table)) .filter(Optional::isPresent) - .map(optionalAlias -> Trees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) + .map(optionalAlias -> BSLTrees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) .filter(Optional::isPresent) .map(Optional::get) .map(BSLParserRuleContext::getText) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java index 9448d0f1c5f..0db81ae1a97 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -60,7 +58,7 @@ && getDescendantsCount(ctx.lValue()) == getDescendantsCount(expression)) { private static int getDescendantsCount(ParserRuleContext tree) { - return ((int) Trees.getDescendants(tree).stream() + return ((int) BSLTrees.getDescendants(tree).stream() .filter(node -> (node instanceof TerminalNode)).count()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java index 1fd1580bb82..d8c720b508b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java index 0fa5620d2ef..10db9af9bc3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java @@ -21,13 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -58,7 +56,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { && ctx.SEMICOLON() == null && ctx.getStop() != null) { - if (Trees.treeContainsErrors(ctx)) { + if (BSLTrees.treeContainsErrors(ctx)) { return ctx; } @@ -71,7 +69,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -86,7 +84,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java index c3f223570c5..374c70b3129 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; @@ -43,7 +41,7 @@ public class SeveralCompilerDirectivesDiagnostic extends AbstractVisitorDiagnost @Override public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { - if (Trees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { + if (BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { diagnosticStorage.addDiagnostic(ctx.moduleVarsList()); } return ctx; @@ -53,7 +51,7 @@ public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { public ParseTree visitSub(BSLParser.SubContext ctx) { documentContext.getSymbolTree().getMethodSymbol(ctx).ifPresent((MethodSymbol methodSymbol) -> { if (methodSymbol.getCompilerDirectiveKind().isPresent() - && Trees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { + && BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { diagnosticStorage.addDiagnostic(methodSymbol.getSubNameRange()); } }); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java index 7d2eca0b851..877c1bcdced 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java @@ -21,13 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.recognizer.BSLFootprint; import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -107,7 +105,7 @@ public void check() { public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List textEdits = new ArrayList<>(); @@ -123,7 +121,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java index 23c42fca239..e1e03fcc2df 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java index d3a35136510..1fab67f7235 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java index b32516404a9..d87b2fc1a3c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java index 2a74f0d09b3..d75db31ec51 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java index e0c21cc07de..e624d9bd136 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java @@ -24,11 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -189,7 +187,7 @@ private static boolean isTimeoutModifer(BSLParser.StatementContext localStatemen BSLParser.AcceptorContext acceptor = lValue.acceptor(); if (acceptor != null) { - List allRuleNodes = new ArrayList<>(Trees.findAllRuleNodes(acceptor, BSLParser.RULE_accessProperty)); + List allRuleNodes = new ArrayList<>(BSLTrees.findAllRuleNodes(acceptor, BSLParser.RULE_accessProperty)); if (!allRuleNodes.isEmpty()) { BSLParser.AccessPropertyContext accessProperty = (BSLParser.AccessPropertyContext) allRuleNodes.get(0); @@ -204,17 +202,17 @@ private static boolean isTimeoutModifer(BSLParser.StatementContext localStatemen @Override public ParseTree visitCodeBlock(BSLParser.CodeBlockContext ctx) { - Collection list = Trees.findAllRuleNodes(ctx, BSLParser.RULE_newExpression); + Collection list = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_newExpression); list.forEach((ParseTree e) -> { AtomicBoolean isContact = new AtomicBoolean(true); BSLParser.NewExpressionContext newExpression = (BSLParser.NewExpressionContext) e; if (isSpecificTypeName(newExpression)) { if (checkTimeoutIntoParamList(newExpression, isContact)) { BSLParser.StatementContext statementContext = (BSLParser.StatementContext) - Trees.getAncestorByRuleIndex((ParserRuleContext) e, BSLParser.RULE_statement); + BSLTrees.getAncestorByRuleIndex((ParserRuleContext) e, BSLParser.RULE_statement); String variableName = getVariableName(statementContext); int filterLine = newExpression.getStart().getLine(); - Collection listNextStatements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement) + Collection listNextStatements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement) .stream() .filter(node -> ((BSLParser.StatementContext) node).getStart().getLine() > filterLine) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java index 4701a44227b..a497b08a739 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java @@ -24,12 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.RelatedInformation; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -68,7 +65,7 @@ private static String leftSubStr(String inputString) { private String getRelatedMessage(BSLParser.ReturnStatementContext context) { if (context.getChildCount() > 1) { - return leftSubStr(documentContext.getText(Ranges.create(context))); + return leftSubStr(documentContext.getText(BSLRanges.create(context))); } else { return "+1"; } @@ -78,14 +75,14 @@ private String getRelatedMessage(BSLParser.ReturnStatementContext context) { public ParseTree visitSub(BSLParser.SubContext ctx) { Optional optionalMethodSymbol = documentContext.getSymbolTree().getMethodSymbol(ctx); optionalMethodSymbol.ifPresent((MethodSymbol methodSymbol) -> { - Collection statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + Collection statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); if (statements.size() > maxReturnsCount) { List relatedInformation = new ArrayList<>(); statements.stream() .map(context -> RelatedInformation.create( documentContext.getUri(), - Ranges.create((BSLParser.ReturnStatementContext) context), + BSLRanges.create((BSLParser.ReturnStatementContext) context), getRelatedMessage((BSLParser.ReturnStatementContext) context) )).collect(Collectors.toCollection(() -> relatedInformation)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java index 6ab427d7f35..24339a3253f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -53,7 +51,7 @@ public class TryNumberDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitTryCodeBlock(BSLParser.TryCodeBlockContext ctx) { - Trees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) + BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) .stream() .filter(GlobalMethodCallContext.class::isInstance) .map(GlobalMethodCallContext.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java index 35698328f91..1a9f98e8438 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java @@ -21,15 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.diagnostics.typo.JLanguageToolPool; import com.github._1c_syntax.bsl.languageserver.diagnostics.typo.JLanguageToolPoolEntry; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import lombok.AccessLevel; @@ -122,10 +120,10 @@ private static void releaseLanguageTool(String lang, JLanguageToolPoolEntry lang getLanguageToolPoolMap().get(lang).checkIn(languageToolPoolEntry); } - private String getTokenizedStringFromTokens(DocumentContext documentContext, Map> tokensMap) { + private String getTokenizedStringFromTokens(BSLDocumentContext documentContext, Map> tokensMap) { StringBuilder text = new StringBuilder(); - Trees.findAllRuleNodes(documentContext.getAst(), rulesToFind).stream() + BSLTrees.findAllRuleNodes(documentContext.getAst(), rulesToFind).stream() .map(ruleContext -> (BSLParserRuleContext) ruleContext) .flatMap(ruleContext -> ruleContext.getTokens().stream()) .filter(token -> tokenTypes.contains(token.getType())) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java index 116bd090d78..aa2c10706cb 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -60,7 +58,7 @@ public ParseTree visitMember(BSLParser.MemberContext ctx) { return super.visitMember(ctx); } - Optional previousToken = Trees.getPreviousTokenFromDefaultChannel(documentContext.getTokens(), tokenIndex); + Optional previousToken = BSLTrees.getPreviousTokenFromDefaultChannel(documentContext.getTokens(), tokenIndex); previousToken .filter(token -> "+".equals(token.getText())) .ifPresent(token -> diagnosticStorage.addDiagnostic(unaryModifier.getStart())); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java index 75d4d5c5978..599401874b9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.SDBLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java index 68e7d7bbe29..abdeba45c7b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java index 4ee11c7a820..7b4f3d0b6e7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java @@ -22,11 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -64,7 +62,7 @@ public ParseTree visitFile(BSLParser.FileContext ctx) { preprocessorRanges.clear(); // получим все блоки препроцессора в файле - List preprocessors = new ArrayList<>(Trees.findAllRuleNodes(ctx, BSLParser.RULE_preprocessor)); + List preprocessors = new ArrayList<>(BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_preprocessor)); if (preprocessors.isEmpty()) { return super.visitFile(ctx); @@ -102,7 +100,7 @@ private void savePreprocessorRange(Deque nodes, BSLParser.Preprocesso if (!nodes.isEmpty()) { BSLParser.PreprocessorContext previous = (BSLParser.PreprocessorContext) nodes.pop(); preprocessorRanges.add( - Ranges.create( + BSLRanges.create( previous.getStop().getLine(), previous.getStop().getCharPositionInLine() + previous.getStop().getText().length() + 1, node.getStart().getLine(), @@ -145,7 +143,7 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { // если это вложенный в ранее обработанный блок, то исключим из проверки Position pos = new Position(ctx.getStart().getLine(), ctx.getStart().getCharPositionInLine()); for (Range range : errorRanges) { - if (Ranges.containsPosition(range, pos)) { + if (BSLRanges.containsPosition(range, pos)) { return; } } @@ -165,11 +163,11 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { return; } - List statements = Trees.getChildren(ppNodeParent, BSLParser.RULE_statement) + List statements = BSLTrees.getChildren(ppNodeParent, BSLParser.RULE_statement) .stream() .filter(node -> node.getStart().getType() != BSLLexer.SEMICOLON - && !Trees.nodeContains(node, + && !BSLTrees.nodeContains(node, BSLParser.RULE_regionStart, BSLParser.RULE_regionEnd, BSLParser.RULE_preproc_endif)) @@ -184,7 +182,7 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { // если последний стейт не текущий, значит он будет недостижим if (!ppNode.equals(endCurrentBlockNode)) { - Range newRange = Ranges.create( + Range newRange = BSLRanges.create( statements.get(statements.indexOf(ppNode) - 1).getStart(), endCurrentBlockNode.getStop()); diagnosticStorage.addDiagnostic(newRange); @@ -199,7 +197,7 @@ private BSLParserRuleContext getEndCurrentBlockNode(List s // найдем блок препроцессора, в котором лежит наш стейт Range preprocRange = null; for (Range range : preprocessorRanges) { - if (Ranges.containsPosition(range, pos)) { + if (BSLRanges.containsPosition(range, pos)) { preprocRange = range; } } @@ -214,7 +212,7 @@ private BSLParserRuleContext getEndCurrentBlockNode(List s Position posStatement = new Position( statement.getStart().getLine(), statement.getStart().getCharPositionInLine()); - if (Ranges.containsPosition(preprocRange, posStatement)) { + if (BSLRanges.containsPosition(preprocRange, posStatement)) { endCurrentBlockNode = statement; break; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java index 1313f68dc4b..32d28a93a23 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -75,7 +73,7 @@ protected boolean checkGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { } BSLParser.MemberContext currentRootMember = - (BSLParser.MemberContext) Trees.getRootParent(ctx, BSLParser.RULE_member); + (BSLParser.MemberContext) BSLTrees.getRootParent(ctx, BSLParser.RULE_member); if (currentRootMember == null) { return false; } @@ -89,7 +87,7 @@ private static boolean nonValidExpression(BSLParser.MemberContext currentRootMem BSLParserRuleContext rootExpressionNode = (BSLParserRuleContext) currentRootMember.getParent(); - BSLParserRuleContext rootIfNode = Trees.getRootParent(rootExpressionNode, ROOT_LIST); + BSLParserRuleContext rootIfNode = BSLTrees.getRootParent(rootExpressionNode, ROOT_LIST); if (rootIfNode == null || rootIfNode.getRuleIndex() == BSLParser.RULE_codeBlock) { return false; } @@ -106,19 +104,19 @@ private static boolean haveNeighboorBooleanOperator(BSLParserRuleContext current int indexOfCurrentMemberNode = rootExpressionNode.children.indexOf(currentRootMember); if (indexOfCurrentMemberNode > 0) { var prev = (BSLParserRuleContext) rootExpressionNode.children.get(indexOfCurrentMemberNode - 1); - if (Trees.nodeContains(prev, BSLParser.RULE_compareOperation)) { + if (BSLTrees.nodeContains(prev, BSLParser.RULE_compareOperation)) { return false; } - haveNeighboorBoolOperation = Trees.nodeContains(prev, BSLParser.RULE_boolOperation); + haveNeighboorBoolOperation = BSLTrees.nodeContains(prev, BSLParser.RULE_boolOperation); } if (indexOfCurrentMemberNode < rootExpressionNode.getChildCount() - 1) { var next = (BSLParserRuleContext) rootExpressionNode.children.get(indexOfCurrentMemberNode + 1); - if (Trees.nodeContains(next, BSLParser.RULE_compareOperation)) { + if (BSLTrees.nodeContains(next, BSLParser.RULE_compareOperation)) { return false; } if (!haveNeighboorBoolOperation) { - haveNeighboorBoolOperation = Trees.nodeContains(next, BSLParser.RULE_boolOperation); + haveNeighboorBoolOperation = BSLTrees.nodeContains(next, BSLParser.RULE_boolOperation); } } return haveNeighboorBoolOperation; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java index f380552ed17..8081518e90f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java @@ -26,9 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationKind; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java index e19b4c8d178..e488490b2cf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -62,19 +60,19 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { return ctx; } - List paramsNames = Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) + List paramsNames = BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) .stream() .map(node -> ((BSLParser.ParamContext) node).IDENTIFIER().getText().toLowerCase(Locale.getDefault())) .collect(Collectors.toList()); - Trees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER) + BSLTrees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER) .stream() .filter(Objects::nonNull) .forEach(node -> paramsNames.remove((node.getText().toLowerCase(Locale.getDefault()))) ); - Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) + BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) .stream() .map(param -> ((BSLParser.ParamContext) param).IDENTIFIER()) .filter(param -> paramsNames.contains(param.getText().toLowerCase(Locale.getDefault()))) @@ -87,7 +85,7 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { private static boolean itsHandler(BSLParser.SubCodeBlockContext ctx) { - Optional subNames = Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_subName).stream().findFirst(); + Optional subNames = BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_subName).stream().findFirst(); String subName = ""; if (subNames.isPresent()) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java index 8ea5b48dab7..79947976b13 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.ComplexIdentifierContext; @@ -66,7 +64,7 @@ public ParseTree visitForEachStatement(BSLParser.ForEachStatementContext ctx) { return super.visitForEachStatement(ctx); } - boolean hasUsage = Trees.findAllTokenNodes(ctx.codeBlock(), BSLParser.IDENTIFIER) + boolean hasUsage = BSLTrees.findAllTokenNodes(ctx.codeBlock(), BSLParser.IDENTIFIER) .stream() .filter(node -> iteratorIdName.equalsIgnoreCase(node.getText())) .anyMatch(parentClassMatchTo(ComplexIdentifierContext.class) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java index b9cc760f998..85c7dbca27a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -54,7 +52,7 @@ public class UsingCancelParameterDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitSub(BSLParser.SubContext ctx) { - Collection params = Trees.findAllRuleNodes(ctx, BSLParser.RULE_param); + Collection params = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_param); boolean inParams = params.stream() .map(node -> ((BSLParser.ParamContext) node).IDENTIFIER()) @@ -66,7 +64,7 @@ public ParseTree visitSub(BSLParser.SubContext ctx) { return ctx; } - Trees.findAllRuleNodes(ctx, BSLParser.RULE_assignment).stream() + BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_assignment).stream() .filter( node -> cancelPattern.matcher(((BSLParser.AssignmentContext) node).lValue() .getText()) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java index a0afc786967..f2b76c15ca5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java @@ -22,10 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -71,7 +69,7 @@ public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) private void checkUseExternalCodeTools(BSLParserRuleContext ctx, TerminalNode identifier) { if (identifier != null && externalCodeToolsName.matcher(identifier.getText()).matches() - && Trees.findAllRuleNodes(ctx, BSLParser.RULE_methodCall) + && BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_methodCall) .stream() .anyMatch(child -> externalCodeToolsMethodsName.matcher(((BSLParser.MethodCallContext) child).getStart().getText()).matches())) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java index cfff6e44880..dd61506a8a2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java index 6730328c180..a63f6b1c8a1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java index c829b4f4143..35c3944e51a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -129,7 +127,7 @@ private void processVisitString(BSLParser.StringContext ctx, String content) { private boolean itVersionReturn(ParserRuleContext ctx) { - ParserRuleContext returnState = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_returnStatement); + ParserRuleContext returnState = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_returnStatement); if (returnState != null) { return skipStatement(returnState, BSLParser.RULE_function); } @@ -138,7 +136,7 @@ private boolean itVersionReturn(ParserRuleContext ctx) { private boolean skipStatement(ParserRuleContext ctx, int ruleStatement) { - ParserRuleContext parent = Trees.getAncestorByRuleIndex(ctx, ruleStatement); + ParserRuleContext parent = BSLTrees.getAncestorByRuleIndex(ctx, ruleStatement); if (parent != null) { Matcher matcher = searchWordsExclusion.matcher(parent.getText()); return matcher.find(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java index e824b0e6280..a96818da74c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java index 62b174a748f..0fe7ba2b6f5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -198,7 +196,7 @@ private void processCheckNewExpression(BSLParser.NewExpressionContext ctx, private void processCheckAssignmentKey(BSLParserRuleContext ctx, String accessText) { Matcher matcher = searchWords.matcher(getClearString(accessText)); if (matcher.find()) { - ParserRuleContext assignment = Trees.getAncestorByRuleIndex( + ParserRuleContext assignment = BSLTrees.getAncestorByRuleIndex( (ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_assignment ); @@ -225,7 +223,7 @@ private void processParameterList( } private void addDiagnosticByAssignment(BSLParserRuleContext ctx, int type) { - ParserRuleContext assignment = Trees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), type); + ParserRuleContext assignment = BSLTrees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), type); if (assignment != null) { diagnosticStorage.addDiagnostic((BSLParserRuleContext) assignment, info.getMessage()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java index 9b7d8f3b3bd..5f9c4314fe3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java @@ -25,9 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java index 6bbae1a45d0..92c02d68627 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -77,7 +75,7 @@ public ParseTree visitNewExpression(BSLParser.NewExpressionContext ctx) { } private static boolean isFindIfBranchWithLinuxCondition(ParserRuleContext element) { - ParserRuleContext ancestor = Trees.getAncestorByRuleIndex(element, BSLParser.RULE_ifBranch); + ParserRuleContext ancestor = BSLTrees.getAncestorByRuleIndex(element, BSLParser.RULE_ifBranch); if (ancestor == null) { return false; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java index 4617abde0ec..ed62ecfe8f0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java @@ -23,9 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import java.util.Map; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java index b5fb46f7813..0d14461067e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java @@ -24,10 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -139,9 +137,9 @@ public ParseTree visitFile(BSLParser.FileContext ctx) { public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { String methodName = ctx.methodName().getText(); if (MODALITY_METHODS.matcher(methodName).matches()) { - BSLParser.SubContext rootParent = (BSLParser.SubContext) Trees.getRootParent(ctx, BSLParser.RULE_sub); + BSLParser.SubContext rootParent = (BSLParser.SubContext) BSLTrees.getRootParent(ctx, BSLParser.RULE_sub); if (rootParent == null - || Trees.findAllRuleNodes(rootParent, BSLParser.RULE_compilerDirectiveSymbol) + || BSLTrees.findAllRuleNodes(rootParent, BSLParser.RULE_compilerDirectiveSymbol) .stream() .filter(node -> SERVER_COMPILER_PATTERN.matcher(node.getText()).matches()).count() <= 0) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java index 1e0821097af..a11858af2af 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java @@ -21,15 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -122,7 +120,7 @@ public ParseTree visitCallStatement(BSLParser.CallStatementContext ctx) { @Override public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) { - Trees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER).stream() + BSLTrees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER).stream() .filter(token -> PATTERN.matcher(token.getText()).matches()) .forEach(token -> diagnosticStorage.addDiagnostic((TerminalNode) token)); @@ -133,7 +131,7 @@ public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) public List getQuickFixes( List diagnostics, CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { List newTextEdits = new ArrayList<>(); @@ -142,7 +140,7 @@ public List getQuickFixes( newTextEdits.add(getQuickFixText(diagnostic, documentContext)); } - return CodeActionProvider.createCodeActions( + return BSLCodeActionProvider.createCodeActions( newTextEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), @@ -160,7 +158,7 @@ public ParseTree visitLValue(BSLParser.LValueContext ctx) { return super.visitLValue(ctx); } - private static TextEdit getQuickFixText(Diagnostic diagnostic, DocumentContext documentContext) { + private static TextEdit getQuickFixText(Diagnostic diagnostic, BSLDocumentContext documentContext) { Range range = diagnostic.getRange(); String currentText = documentContext.getText(range); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java index 50d2623e4ef..be6ddfff663 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java @@ -23,10 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -56,13 +54,13 @@ public WrongUseOfRollbackTransactionMethodDiagnostic() { @Override protected boolean checkGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { - var parentNode = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_exceptCodeBlock); + var parentNode = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_exceptCodeBlock); if (parentNode == null) { return MESSAGE_PATTERN.matcher(ctx.methodName().getText()).matches(); } - var methodsList = Trees.findAllRuleNodes(parentNode, BSLParser.RULE_globalMethodCall).stream() + var methodsList = BSLTrees.findAllRuleNodes(parentNode, BSLParser.RULE_globalMethodCall).stream() .map(BSLParser.GlobalMethodCallContext.class::cast) .map(e -> e.methodName().getText()) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java index 2dc649d3504..149547f0eac 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.parser.BSLParser; import org.antlr.v4.runtime.Token; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java index 38a2a786b8a..0c9ea850e89 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import lombok.RequiredArgsConstructor; @@ -35,7 +35,7 @@ @Component public class DiagnosticBeanPostProcessor implements BeanPostProcessor { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; private final Map, DiagnosticInfo> diagnosticInfos; @Override diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java index abec9defae2..5026a103fc5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; @@ -47,7 +47,7 @@ public class DiagnosticInfosConfiguration { private final ApplicationContext applicationContext; - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; @SuppressWarnings("unchecked") @Bean("diagnosticInfosByCode") diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java index 956978a38eb..b1b9cde7bc0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java @@ -21,11 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.DiagnosticsOptions; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.Mode; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.BSLDiagnosticsOptions; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; @@ -53,16 +52,16 @@ @RequiredArgsConstructor public abstract class DiagnosticsConfiguration { - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; private final DiagnosticConfiguration diagnosticConfiguration; @Bean @Scope("prototype") - public List diagnostics(DocumentContext documentContext) { + public List diagnostics(BSLDocumentContext documentContext) { Collection diagnosticInfos = diagnosticInfos(); - DiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); + BSLDiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); if (needToComputeDiagnostics(documentContext, diagnosticsOptions)) { FileType fileType = documentContext.getFileType(); @@ -89,8 +88,8 @@ public List diagnostics(DocumentContext documentContext) { protected abstract Collection diagnosticInfos(); private static boolean needToComputeDiagnostics( - DocumentContext documentContext, - DiagnosticsOptions diagnosticsOptions + BSLDocumentContext documentContext, + BSLDiagnosticsOptions diagnosticsOptions ) { var configuredMode = diagnosticsOptions.getMode(); @@ -120,7 +119,7 @@ private static boolean needToComputeDiagnostics( return configuredSkipSupport != SkipSupport.WITH_SUPPORT; } - private boolean isEnabled(DiagnosticInfo diagnosticInfo, DiagnosticsOptions diagnosticsOptions) { + private boolean isEnabled(DiagnosticInfo diagnosticInfo, BSLDiagnosticsOptions diagnosticsOptions) { var mode = diagnosticsOptions.getMode(); if (mode == Mode.OFF) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCode.java deleted file mode 100644 index b709f0c174d..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCode.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; - -import org.eclipse.lsp4j.jsonrpc.messages.Either; - -public class DiagnosticCode extends Either { - - public DiagnosticCode(String code) { - super(code, null); - } - - public DiagnosticCode(String left, Number right) { - super(left, right); - } - - public String getStringValue() { - return isLeft() ? getLeft() : Integer.toString(getRight().intValue()); - } - - public static String getStringValue(Either diagnosticCode) { - return diagnosticCode.isLeft() ? diagnosticCode.getLeft() : Integer.toString(diagnosticCode.getRight().intValue()); - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java index e41cdac8c8e..ff6388b4c50 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java @@ -21,9 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.utils.Resources; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -48,7 +47,7 @@ public class DiagnosticInfo { private static final Map diagnosticTagMap = createDiagnosticTagMap(); private final Class diagnosticClass; - private final LanguageServerConfiguration configuration; + private final BSLLanguageServerConfiguration configuration; private final DiagnosticCode diagnosticCode; private final DiagnosticMetadata diagnosticMetadata; @@ -56,7 +55,7 @@ public class DiagnosticInfo { public DiagnosticInfo( Class diagnosticClass, - LanguageServerConfiguration configuration + BSLLanguageServerConfiguration configuration ) { this.diagnosticClass = diagnosticClass; this.configuration = configuration; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticSeverity.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticSeverity.java deleted file mode 100644 index b3fbb622d4a..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticSeverity.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; - -public enum DiagnosticSeverity { - INFO, - MINOR, - MAJOR, - CRITICAL, - BLOCKER -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticType.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticType.java deleted file mode 100644 index c064e1c5144..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticType.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; - -public enum DiagnosticType { - ERROR, - CODE_SMELL, - VULNERABILITY, - SECURITY_HOTSPOT -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/AbstractObjectPool.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/AbstractObjectPool.java similarity index 97% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/AbstractObjectPool.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/AbstractObjectPool.java index d8a8d11ec0d..962eef20f5f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/AbstractObjectPool.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/AbstractObjectPool.java @@ -43,7 +43,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package com.github._1c_syntax.bsl.languageserver.utils; +package com.github._1c_syntax.bsl.languageserver.diagnostics.typo; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/JLanguageToolPool.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/JLanguageToolPool.java index 578050f42ec..f7b9137ab44 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/JLanguageToolPool.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/typo/JLanguageToolPool.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.typo; -import com.github._1c_syntax.bsl.languageserver.utils.AbstractObjectPool; import lombok.AllArgsConstructor; import org.languagetool.Language; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/DiagnosticParams.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/DiagnosticParams.java deleted file mode 100644 index bc1a7196266..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/DiagnosticParams.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.jsonrpc; - -import lombok.AllArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import lombok.Setter; -import lombok.ToString; -import org.eclipse.lsp4j.Range; -import org.eclipse.lsp4j.TextDocumentIdentifier; - -import javax.annotation.Nullable; - -/** - * Параметры запроса textDocument/x-diagnostics. - *
- * См. {@link com.github._1c_syntax.bsl.languageserver.BSLTextDocumentService#diagnostics(DiagnosticParams)} - */ -@RequiredArgsConstructor -@AllArgsConstructor -@Getter -@ToString -@EqualsAndHashCode -public class DiagnosticParams { - /** - * Идентификатор текстового документа. - */ - private final TextDocumentIdentifier textDocument; - - /** - * Диапазон, для которого нужно получить список диагностик. - *
- * Если не передан, возвращается весь список диагностик документа. - */ - @Nullable - @Setter - private Range range; -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/ProtocolExtension.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/ProtocolExtension.java deleted file mode 100644 index db0547e46cd..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/ProtocolExtension.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.jsonrpc; - -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.jsonrpc.services.JsonRequest; - -import java.util.List; -import java.util.concurrent.CompletableFuture; - -public interface ProtocolExtension { - - /** - * @param params Параметры запроса. - * @return Список диагностик. - */ - @JsonRequest( - value = "textDocument/x-diagnostics", - useSegment = false - ) - CompletableFuture> diagnostics(DiagnosticParams params); - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/package-info.java deleted file mode 100644 index ffbbc6f4d94..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/jsonrpc/package-info.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -/** - * Кастомные расширения Language Server Protocol. - */ -@ParametersAreNonnullByDefault -package com.github._1c_syntax.bsl.languageserver.jsonrpc; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java similarity index 94% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java index 441e4690ebc..b867612d3e9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.providers; import com.github._1c_syntax.bsl.languageserver.codeactions.CodeActionSupplier; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; @@ -43,7 +43,7 @@ @Component @RequiredArgsConstructor -public final class CodeActionProvider { +public final class BSLCodeActionProvider { private final List codeActionSuppliers; @@ -79,7 +79,7 @@ public static List createCodeActions( public List> getCodeActions( CodeActionParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { return codeActionSuppliers.stream() diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java similarity index 88% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java index cc151602887..2dfe0963105 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.providers; import com.github._1c_syntax.bsl.languageserver.codelenses.CodeLensSupplier; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeLens; import org.springframework.stereotype.Component; @@ -33,10 +33,10 @@ @Component @RequiredArgsConstructor -public final class CodeLensProvider { +public final class BSLCodeLensProvider { private final List codeLensSuppliers; - public List getCodeLens(DocumentContext documentContext) { + public List getCodeLens(BSLDocumentContext documentContext) { return codeLensSuppliers.stream() .map(codeLensSupplier -> codeLensSupplier.getCodeLenses(documentContext)) .flatMap(Collection::stream) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java similarity index 82% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java index b6626aebc9c..1ffe8c02bfd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.lsp4j.Diagnostic; @@ -38,22 +38,22 @@ @Slf4j @Component @RequiredArgsConstructor -public final class DiagnosticProvider implements LanguageClientAware { +public final class BSLDiagnosticProvider implements LanguageClientAware { public static final String SOURCE = "bsl-language-server"; @CheckForNull private LanguageClient client; - public void computeAndPublishDiagnostics(DocumentContext documentContext) { + public void computeAndPublishDiagnostics(BSLDocumentContext documentContext) { publishDiagnostics(documentContext, documentContext::getDiagnostics); } - public void publishEmptyDiagnosticList(DocumentContext documentContext) { + public void publishEmptyDiagnosticList(BSLDocumentContext documentContext) { publishDiagnostics(documentContext, Collections::emptyList); } - private void publishDiagnostics(DocumentContext documentContext, Supplier> diagnostics) { + private void publishDiagnostics(BSLDocumentContext documentContext, Supplier> diagnostics) { if (client == null) { return; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java similarity index 80% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java index ec8d053c976..81855b6a86c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; -import com.github._1c_syntax.bsl.languageserver.utils.Resources; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; +import com.github._1c_syntax.ls_core.utils.Resources; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DocumentLink; @@ -39,10 +39,10 @@ */ @Component @RequiredArgsConstructor -public class DocumentLinkProvider { - private final LanguageServerConfiguration configuration; +public class BSLDocumentLinkProvider { + private final BSLLanguageServerConfiguration configuration; - public List getDocumentLinks(DocumentContext documentContext) { + public List getDocumentLinks(BSLDocumentContext documentContext) { var linkOptions = configuration.getDocumentLinkOptions(); var language = configuration.getLanguage(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java similarity index 90% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java index cefe9c25009..5554f539dad 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; @@ -36,11 +36,11 @@ import java.util.stream.Collectors; @Component -public final class DocumentSymbolProvider { +public final class BSLDocumentSymbolProvider { - public List> getDocumentSymbols(DocumentContext documentContext) { + public List> getDocumentSymbols(BSLDocumentContext documentContext) { return documentContext.getSymbolTree().getChildren().stream() - .map(DocumentSymbolProvider::toDocumentSymbol) + .map(BSLDocumentSymbolProvider::toDocumentSymbol) .map(Either::forRight) .collect(Collectors.toList()); } @@ -54,7 +54,7 @@ private static DocumentSymbol toDocumentSymbol(Symbol symbol) { ); List children = symbol.getChildren().stream() - .map(DocumentSymbolProvider::toDocumentSymbol) + .map(BSLDocumentSymbolProvider::toDocumentSymbol) .collect(Collectors.toList()); documentSymbol.setDeprecated(symbol.isDeprecated()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java similarity index 94% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java index d32f7bb7c70..2edd45073ab 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.Trees; +import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import org.antlr.v4.runtime.Token; @@ -40,9 +40,9 @@ import java.util.stream.Collectors; @Component -public final class FoldingRangeProvider { +public final class BSLFoldingRangeProvider { - public List getFoldingRange(DocumentContext documentContext) { + public List getFoldingRange(BSLDocumentContext documentContext) { List foldingRanges = getCommentRanges(documentContext); @@ -69,7 +69,7 @@ public List getFoldingRange(DocumentContext documentContext) { return foldingRanges; } - private List getCommentRanges(DocumentContext documentContext) { + private List getCommentRanges(BSLDocumentContext documentContext) { List foldingRanges = new ArrayList<>(); int lastRangeStart = -1; @@ -112,7 +112,7 @@ public List getRegionRanges() { @Override public ParseTree visitFile(BSLParser.FileContext ctx) { - ParseTree[] uses = Trees.findAllRuleNodes(ctx, BSLParser.RULE_use).toArray(new ParseTree[0]); + ParseTree[] uses = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_use).toArray(new ParseTree[0]); if (uses.length <= 1) { return ctx; @@ -202,7 +202,7 @@ private static class RegionRangeFinder { private final List regionRanges; - RegionRangeFinder(DocumentContext documentContext) { + RegionRangeFinder(BSLDocumentContext documentContext) { regionRanges = documentContext.getSymbolTree().getRegionsFlat().stream() .map(RegionRangeFinder::toFoldingRange) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java similarity index 96% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java index 4da30581004..8cbe4dae58b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.StringUtils; @@ -43,7 +43,7 @@ import java.util.stream.Collectors; @Component -public final class FormatProvider { +public final class BSLFormatProvider { private static final Set incrementIndentTokens = new HashSet<>(Arrays.asList( BSLLexer.LPAREN, @@ -81,7 +81,7 @@ public final class FormatProvider { BSLLexer.STRING )); - public List getFormatting(DocumentFormattingParams params, DocumentContext documentContext) { + public List getFormatting(DocumentFormattingParams params, BSLDocumentContext documentContext) { List tokens = documentContext.getTokens(); if (tokens.isEmpty()) { return Collections.emptyList(); @@ -91,13 +91,13 @@ public List getFormatting(DocumentFormattingParams params, DocumentCon return getTextEdits( tokens, - Ranges.create(firstToken, lastToken), firstToken.getCharPositionInLine(), params.getOptions() + BSLRanges.create(firstToken, lastToken), firstToken.getCharPositionInLine(), params.getOptions() ); } public List getRangeFormatting( DocumentRangeFormattingParams params, - DocumentContext documentContext + BSLDocumentContext documentContext ) { Position start = params.getRange().getStart(); Position end = params.getRange().getEnd(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java similarity index 92% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java index 9945cc9289e..ee26669a608 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.parser.BSLParser.SubNameContext; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import org.antlr.v4.runtime.Token; @@ -36,9 +36,9 @@ import java.util.Optional; @Component -public final class HoverProvider { +public final class BSLHoverProvider { - public Optional getHover(HoverParams params, DocumentContext documentContext) { + public Optional getHover(HoverParams params, BSLDocumentContext documentContext) { SubNameFinder finder = new SubNameFinder(params.getPosition()); finder.visit(documentContext.getAst()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java similarity index 87% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProvider.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java index acaa5e5e5af..aac6874e748 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; @@ -47,9 +47,9 @@ @Slf4j @Component @RequiredArgsConstructor -public class SymbolProvider { +public class BSLSymbolProvider { - private final ServerContext context; + private final BSLServerContext context; public List getSymbols(WorkspaceSymbolParams params) { var queryString = Optional.ofNullable(params.getQuery()) @@ -64,15 +64,15 @@ public List getSymbols(WorkspaceSymbolParams params } return context.getDocuments().values().stream() - .flatMap(SymbolProvider::getSymbolPairs) + .flatMap(BSLSymbolProvider::getSymbolPairs) .filter(symbolPair -> queryString.isEmpty() || pattern.matcher(symbolPair.getValue().getName()).find()) - .map(SymbolProvider::createSymbolInformation) + .map(BSLSymbolProvider::createSymbolInformation) .collect(Collectors.toList()); } - private static Stream> getSymbolPairs(DocumentContext documentContext) { + private static Stream> getSymbolPairs(BSLDocumentContext documentContext) { return documentContext.getSymbolTree().getChildrenFlat().stream() - .filter(SymbolProvider::isSupported) + .filter(BSLSymbolProvider::isSupported) .map(symbol -> Pair.of(documentContext.getUri(), symbol)); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java index 6bbbcb56da8..94f74b8ecfa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java @@ -22,9 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.annotation.JsonProperty; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import lombok.Getter; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java index 3c0dc412a63..bdb01d89608 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java @@ -32,7 +32,6 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import lombok.Getter; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java index 1841d773dd1..0cc9f455667 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.annotation.JsonProperty; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import lombok.Getter; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/data/FileInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/data/FileInfo.java index 79764f41a67..d115b1bd189 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/data/FileInfo.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/data/FileInfo.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.reporters.data; import com.fasterxml.jackson.annotation.JsonInclude; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.MetricStorage; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import com.github._1c_syntax.utils.Absolute; @@ -45,7 +45,7 @@ public class FileInfo { List diagnostics; MetricStorage metrics; - public FileInfo(String sourceDir, DocumentContext documentContext, List diagnostics) { + public FileInfo(String sourceDir, BSLDocumentContext documentContext, List diagnostics) { URI uri = documentContext.getUri(); path = Absolute.path(sourceDir).relativize(Absolute.path(uri)); this.diagnostics = new ArrayList<>(diagnostics); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeDeserializer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeDeserializer.java index afd9ca16519..4d4f0f13c8d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeDeserializer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeDeserializer.java @@ -24,7 +24,6 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import org.eclipse.lsp4j.jsonrpc.messages.Either; import java.io.IOException; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java index 5322dcc7163..cf18d327565 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java @@ -24,7 +24,6 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import org.eclipse.lsp4j.jsonrpc.messages.Either; import java.io.IOException; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/RelatedInformation.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLRanges.java similarity index 56% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/RelatedInformation.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLRanges.java index 5360331e2fd..2f551a6a717 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/RelatedInformation.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLRanges.java @@ -21,20 +21,27 @@ */ package com.github._1c_syntax.bsl.languageserver.utils; -import org.eclipse.lsp4j.DiagnosticRelatedInformation; -import org.eclipse.lsp4j.Location; +import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.utils.Ranges; +import lombok.experimental.UtilityClass; +import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.Range; -import java.net.URI; +import java.util.Collection; +import java.util.Optional; -public class RelatedInformation { - - private RelatedInformation() { - // Utility class - } +/** + * Вспомогательный класс для удобного использования Range + */ +@UtilityClass +public final class BSLRanges { - public static DiagnosticRelatedInformation create(URI uri, Range range, String message) { - Location location = new Location(uri.toString(), range); - return new DiagnosticRelatedInformation(location, message); + public static Optional getFirstSignificantTokenRange(Collection tokens) { + return tokens.stream() + .filter(token -> token.getType() != Token.EOF) + .filter(token -> token.getType() != BSLLexer.WHITE_SPACE) + .map(Ranges::create) + .filter(range -> (!range.getStart().equals(range.getEnd()))) + .findFirst(); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLTrees.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLTrees.java new file mode 100644 index 00000000000..86461e0478d --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/BSLTrees.java @@ -0,0 +1,122 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright © 2018-2020 + * Alexey Sosnoviy , Nikita Gryzlov and contributors + * + * SPDX-License-Identifier: LGPL-3.0-or-later + * + * BSL Language Server is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3.0 of the License, or (at your option) any later version. + * + * BSL Language Server is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with BSL Language Server. + */ +package com.github._1c_syntax.bsl.languageserver.utils; + +import com.github._1c_syntax.bsl.parser.BSLParser; +import lombok.experimental.UtilityClass; +import org.antlr.v4.runtime.Token; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Set; + +/** + * Вспомогательный класс для удобства работы с AST деревом. + */ +@UtilityClass +public final class BSLTrees { + + private static final Set VALID_TOKEN_TYPES_FOR_COMMENTS_SEARCH = Set.of( + BSLParser.ANNOTATION_ATCLIENT_SYMBOL, + BSLParser.ANNOTATION_ATSERVERNOCONTEXT_SYMBOL, + BSLParser.ANNOTATION_ATCLIENTATSERVERNOCONTEXT_SYMBOL, + BSLParser.ANNOTATION_ATCLIENTATSERVER_SYMBOL, + BSLParser.ANNOTATION_ATSERVER_SYMBOL, + BSLParser.ANNOTATION_CUSTOM_SYMBOL, + BSLParser.ANNOTATION_UKNOWN, + BSLParser.LINE_COMMENT, + BSLParser.WHITE_SPACE, + BSLParser.AMPERSAND + ); + + /** + * @param tokens - список токенов из BSLDocumentContext + * @param token - токен, на строке которого требуется найти висячий комментарий + * @return - токен с комментарием, если он найден + */ + public static Optional getTrailingComment(List tokens, Token token) { + int index = token.getTokenIndex(); + int size = tokens.size(); + int currentIndex = index + 1; + int line = token.getLine(); + + while (currentIndex < size) { + var nextToken = tokens.get(currentIndex); + if (nextToken.getLine() > line) { + break; + } + if (nextToken.getType() == BSLParser.LINE_COMMENT) { + return Optional.of(nextToken); + } + currentIndex++; + } + + return Optional.empty(); + + } + + /** + * Поиск комментариев назад от указанного токена + * + * @param tokens - список токенов BSLDocumentContext + * @param token - токен, для которого требуется найти комментарии + * @return - список найденных комментариев lines + */ + public static List getComments(List tokens, Token token) { + List comments = new ArrayList<>(); + fillCommentsCollection(tokens, token, comments); + return comments; + } + + private static void fillCommentsCollection(List tokens, Token currentToken, List lines) { + + int index = currentToken.getTokenIndex(); + + if (index == 0) { + return; + } + + Token previousToken = tokens.get(index - 1); + + if (abortSearchComments(previousToken, currentToken)) { + return; + } + + fillCommentsCollection(tokens, previousToken, lines); + int type = previousToken.getType(); + if (type == BSLParser.LINE_COMMENT) { + lines.add(previousToken); + } + } + + private static boolean abortSearchComments(Token previousToken, Token currentToken) { + int type = previousToken.getType(); + return !VALID_TOKEN_TYPES_FOR_COMMENTS_SEARCH.contains(type) || isBlankLine(previousToken, currentToken); + } + + private static boolean isBlankLine(Token previousToken, Token currentToken) { + return previousToken.getType() == BSLParser.WHITE_SPACE + && (previousToken.getTokenIndex() == 0 + || (previousToken.getLine() + 1) != currentToken.getLine()); + } +} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java index f67b999d792..b2febbfa7b2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java @@ -89,43 +89,4 @@ public static boolean isInternetMailProfileType(ParseTree tnc) { return "ИнтернетПочтовыйПрофиль".equalsIgnoreCase(tnc.getText()) || "InternetMailProfile".equalsIgnoreCase(tnc.getText()); } - - public static void configureDiagnostic(BSLDiagnostic diagnostic, Map configuration) { - if (configuration == null || configuration.isEmpty()) { - return; - } - - Set> types = new HashSet<>(); - types.add(Integer.class); - types.add(Boolean.class); - types.add(Float.class); - types.add(String.class); - - diagnostic.getInfo().getParameters().stream() - .filter(diagnosticParameterInfo -> configuration.containsKey(diagnosticParameterInfo.getName()) - && types.contains(diagnosticParameterInfo.getType())) - .forEach((DiagnosticParameterInfo diagnosticParameterInfo) -> { - try { - var field = diagnostic.getClass().getDeclaredField(diagnosticParameterInfo.getName()); - if (field.trySetAccessible()) { - field.set(diagnostic, configuration.get(field.getName())); - } - } catch (NoSuchFieldException | IllegalAccessException e) { - LOGGER.error("Can't set param.", e); - } - }); - } - - public static void configureDiagnostic(BSLDiagnostic diagnostic, - Map configuration, - String... filter) { - Map newConfiguration = new HashMap<>(); - for (String name : filter) { - if (configuration.containsKey(name)) { - newConfiguration.put(name, configuration.get(name)); - } - } - - configureDiagnostic(diagnostic, newConfiguration); - } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java index b13c7af3867..e5b8b5f093e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.utils; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.MDOReference; @@ -41,16 +41,16 @@ @UtilityClass public class MdoRefBuilder { - public String getMdoRef(DocumentContext documentContext, BSLParser.CallStatementContext callStatement) { + public String getMdoRef(BSLDocumentContext documentContext, BSLParser.CallStatementContext callStatement) { return getMdoRef(documentContext, callStatement.IDENTIFIER(), callStatement.modifier()); } - public String getMdoRef(DocumentContext documentContext, BSLParser.ComplexIdentifierContext complexIdentifier) { + public String getMdoRef(BSLDocumentContext documentContext, BSLParser.ComplexIdentifierContext complexIdentifier) { return getMdoRef(documentContext, complexIdentifier.IDENTIFIER(), complexIdentifier.modifier()); } public String getMdoRef( - DocumentContext documentContext, + BSLDocumentContext documentContext, @Nullable TerminalNode identifier, List modifiers @@ -75,7 +75,7 @@ public String getMdoRef( return mdoRef.get(); } - private Optional getCommonModuleMdoRef(DocumentContext documentContext, String commonModuleName) { + private Optional getCommonModuleMdoRef(BSLDocumentContext documentContext, String commonModuleName) { return documentContext.getServerContext() .getConfiguration() .getCommonModule(commonModuleName) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java index b82329e2bf5..085a858f57c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java @@ -97,7 +97,7 @@ private static boolean isTemplate(BSLParser.GlobalMethodCallContext parent) { private static String getVariableName(BSLParser.GlobalMethodCallContext ctx) { BSLParser.AssignmentContext assignment = (BSLParser.AssignmentContext) - Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); + BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); if (assignment != null) { BSLParser.LValueContext lValue = assignment.lValue(); @@ -178,7 +178,7 @@ private boolean istVariableUsingInTemplate() { return false; } - return Trees.findAllRuleNodes(codeBlock, BSLParser.RULE_globalMethodCall) + return BSLTrees.findAllRuleNodes(codeBlock, BSLParser.RULE_globalMethodCall) .stream() .filter(node -> ((BSLParser.GlobalMethodCallContext) node).getStart().getLine() > globalMethodCallContext.getStart().getLine()) @@ -191,7 +191,7 @@ private boolean istVariableUsingInTemplate() { } private BSLParser.CodeBlockContext getCodeBlock() { - return (BSLParser.CodeBlockContext) Trees.getAncestorByRuleIndex( + return (BSLParser.CodeBlockContext) BSLTrees.getAncestorByRuleIndex( globalMethodCallContext, BSLParser.RULE_codeBlock ); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Ranges.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Ranges.java deleted file mode 100644 index a0bb1c4ab84..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Ranges.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.utils; - -import com.github._1c_syntax.bsl.parser.BSLLexer; -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.tree.TerminalNode; -import org.eclipse.lsp4j.Position; -import org.eclipse.lsp4j.Range; - -import java.util.Collection; -import java.util.Optional; - -public final class Ranges { - - private Ranges() { - // Utility class - } - - public static Range create(int startLine, int startChar, int endLine, int endChar) { - return new Range(new Position(startLine, startChar), new Position(endLine, endChar)); - } - - /** - * Создание Range для линии - * - * @param lineNo - номер строки - * @param startChar - номер первого символа - * @param endChar - номер последнего символа - * @return - полученный Range - */ - public static Range create(int lineNo, int startChar, int endChar) { - return new Range(new Position(lineNo, startChar), new Position(lineNo, endChar)); - } - - public static Range create(ParserRuleContext ruleContext) { - return create(ruleContext.getStart(), ruleContext.getStop()); - } - - public static Range create(ParserRuleContext startCtx, ParserRuleContext endCtx) { - return create(startCtx.getStart(), endCtx.getStop()); - } - - public static Range create(Token startToken, Token endToken) { - int startLine = startToken.getLine() - 1; - int startChar = startToken.getCharPositionInLine(); - int endLine = endToken.getLine() - 1; - int endChar; - if (endToken.getType() == Token.EOF) { - endChar = endToken.getCharPositionInLine(); - } else { - endChar = endToken.getCharPositionInLine() + endToken.getText().length(); - } - - return create(startLine, startChar, endLine, endChar); - } - - public static Range create(TerminalNode terminalNode) { - return create(terminalNode.getSymbol()); - } - - public static Range create(TerminalNode startTerminalNode, TerminalNode stopTerminalNode) { - return create(startTerminalNode.getSymbol(), stopTerminalNode.getSymbol()); - } - - public static Range create(Token token) { - int startLine = token.getLine() - 1; - int startChar = token.getCharPositionInLine(); - int endLine = token.getLine() - 1; - int endChar = token.getCharPositionInLine() + token.getText().length(); - - return create(startLine, startChar, endLine, endChar); - } - - public static boolean containsRange(Range bigger, Range smaller) { - return org.eclipse.lsp4j.util.Ranges.containsRange(bigger, smaller); - } - - public static boolean containsPosition(Range range, Position position) { - return org.eclipse.lsp4j.util.Ranges.containsPosition(range, position); - } - - public static Optional getFirstSignificantTokenRange(Collection tokens) { - return tokens.stream() - .filter(token -> token.getType() != Token.EOF) - .filter(token -> token.getType() != BSLLexer.WHITE_SPACE) - .map(Ranges::create) - .filter(range -> (!range.getStart().equals(range.getEnd()))) - .findFirst(); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Resources.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Resources.java deleted file mode 100644 index 710fe8b112c..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Resources.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.utils; - -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import lombok.experimental.UtilityClass; - -import java.util.Locale; -import java.util.ResourceBundle; - -/** - * Вспомогательный класс для оптимизированного чтения ресурсов прикладных классов с учетом {@link Language}. - */ -@UtilityClass -public class Resources { - - /** - * @param language Язык получения ресурсной строки. - * @param clazz Класс, ресурсы которого необходимо прочитать. - * @param key Ключ из {@link ResourceBundle}. - * @return Содержимое ресурса. - */ - public String getResourceString(Language language, Class clazz, String key) { - String languageCode = language.getLanguageCode(); - Locale locale = Locale.forLanguageTag(languageCode); - return ResourceBundle.getBundle(clazz.getName(), locale, new UTF8Control()).getString(key).intern(); - } - - /** - * @param language Язык получения ресурсной строки. - * @param clazz Класс, ресурсы которого необходимо прочитать. - * @param key Ключ из {@link ResourceBundle}. - * @param args Аргументы для форматирования ресурсной строки. - * @return Содержимое ресурса. - */ - public String getResourceString(Language language, Class clazz, String key, Object... args) { - return String.format(getResourceString(language, clazz, key), args).intern(); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Trees.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Trees.java deleted file mode 100644 index 6e59899eb74..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Trees.java +++ /dev/null @@ -1,453 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.utils; - -import com.github._1c_syntax.bsl.parser.BSLParser; -import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; -import lombok.experimental.UtilityClass; -import org.antlr.v4.runtime.ParserRuleContext; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.tree.ParseTree; -import org.antlr.v4.runtime.tree.TerminalNode; -import org.antlr.v4.runtime.tree.Tree; - -import javax.annotation.CheckForNull; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.IntStream; -import java.util.stream.Stream; - -@UtilityClass -public final class Trees { - - private static final Set VALID_TOKEN_TYPES_FOR_COMMENTS_SEARCH = Set.of( - BSLParser.ANNOTATION_ATCLIENT_SYMBOL, - BSLParser.ANNOTATION_ATSERVERNOCONTEXT_SYMBOL, - BSLParser.ANNOTATION_ATCLIENTATSERVERNOCONTEXT_SYMBOL, - BSLParser.ANNOTATION_ATCLIENTATSERVER_SYMBOL, - BSLParser.ANNOTATION_ATSERVER_SYMBOL, - BSLParser.ANNOTATION_CUSTOM_SYMBOL, - BSLParser.ANNOTATION_UKNOWN, - BSLParser.LINE_COMMENT, - BSLParser.WHITE_SPACE, - BSLParser.AMPERSAND - ); - - /** - * Обертки Trees - */ - - public static Collection findAllRuleNodes(ParseTree t, int ruleIndex) { - return org.antlr.v4.runtime.tree.Trees.findAllRuleNodes(t, ruleIndex); - } - - public static List getChildren(Tree t) { - return org.antlr.v4.runtime.tree.Trees.getChildren(t); - } - - public static Collection findAllTokenNodes(ParseTree t, int ttype) { - return org.antlr.v4.runtime.tree.Trees.findAllTokenNodes(t, ttype); - } - - public static List getDescendants(ParseTree t) { - List nodes = new ArrayList<>(t.getChildCount()); - flatten(t, nodes); - return nodes; - } - - private static void flatten(ParseTree t, List flatList) { - flatList.add(t); - - int n = t.getChildCount(); - for (int i = 0; i < n; i++) { - flatten(t.getChild(i), flatList); - } - } - - /** - * Собственная реализация - */ - - private static int getRuleIndex(ParseTree node) { - if (node instanceof TerminalNode) { - return ((TerminalNode) node).getSymbol().getType(); - } else { - return ((BSLParserRuleContext) node).getRuleIndex(); - } - } - - private static List getDescendantsWithFilter(ParseTree parent, ParseTree tnc, int ruleindex) { - List descendants; - if (getRuleIndex(tnc) == ruleindex) { - descendants = new ArrayList<>(org.antlr.v4.runtime.tree.Trees.findAllRuleNodes(parent, ruleindex)); - } else { - descendants = org.antlr.v4.runtime.tree.Trees.getDescendants(parent) - .stream() - .filter(node -> node instanceof BSLParserRuleContext) - .filter(node -> (node.equals(tnc) - || getRuleIndex(node) == ruleindex)) - .collect(Collectors.toList()); - } - return descendants; - } - - /** - * Ищем предка элемента по указанному типу BSLParser - * Пример: - * ParserRuleContext parent = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_statement); - */ - @CheckForNull - public static ParserRuleContext getAncestorByRuleIndex(ParserRuleContext element, int type) { - ParserRuleContext parent = element.getParent(); - if (parent == null) { - return null; - } - if (parent.getRuleIndex() == type) { - return parent; - } - return getAncestorByRuleIndex(parent, type); - } - - /** - * Проверяет среди всех дочерних элементов (рекурсивно) наличие узла с ошибкой - * - * @return true - если есть узел с ошибкой - */ - public static boolean treeContainsErrors(ParseTree tnc) { - return treeContainsErrors(tnc, true); - } - - /** - * Проверяет среди дочерних элементов узла наличие узла с ошибкой - * - * @return true - если есть узел с ошибкой - */ - public static boolean nodeContainsErrors(ParseTree tnc) { - return treeContainsErrors(tnc, false); - } - - /** - * Выполняет поиск предыдущей ноды нужного типа - * - * @param parent - родительская нода, среди дочерних которой производится поиск - * @param tnc - нода, для которой ищем предыдущую - * @param ruleindex - BSLParser.RULE_* - * @return tnc - если предыдущая нода не найдена, вернет текущую - */ - public static ParseTree getPreviousNode(ParseTree parent, ParseTree tnc, int ruleindex) { - - List descendants = getDescendantsWithFilter(parent, tnc, ruleindex); - - int pos = descendants.indexOf(tnc); - if (pos > 0) { - return descendants.get(pos - 1); - } - - return tnc; - } - - /** - * @param tokens - полный список токенов (см. {@link com.github._1c_syntax.bsl.languageserver.context.DocumentContext#getTokens()} - * @param tokenIndex - индекс текущего токена в переданном списке токенов - * @param tokenType - тип искомого токена (см. {@link com.github._1c_syntax.bsl.parser.BSLParser} - * @return предыдущий токен, если он был найден - */ - public Optional getPreviousTokenFromDefaultChannel(List tokens, int tokenIndex, int tokenType) { - while (true) { - if (tokenIndex == 0) { - return Optional.empty(); - } - Token token = tokens.get(tokenIndex); - if (token.getChannel() != Token.DEFAULT_CHANNEL - || token.getType() != tokenType) { - tokenIndex = tokenIndex - 1; - continue; - } - - return Optional.of(token); - } - } - - /** - * @param tokens - полный список токенов (см. {@link com.github._1c_syntax.bsl.languageserver.context.DocumentContext#getTokens()} - * @param tokenIndex - индекс текущего токена в переданном списке токенов - * @return предыдущий токен, если он был найден - */ - public static Optional getPreviousTokenFromDefaultChannel(List tokens, int tokenIndex) { - while (true) { - if (tokenIndex == 0) { - return Optional.empty(); - } - Token token = tokens.get(tokenIndex); - if (token.getChannel() != Token.DEFAULT_CHANNEL) { - tokenIndex = tokenIndex - 1; - continue; - } - - return Optional.of(token); - } - } - - /** - * Выполняет поиск следующей ноды нужного типа - * - * @param parent - родительская нода, среди дочерних которой производится поиск - * @param tnc - нода, для которой ищем следующую - * @param ruleindex - BSLParser.RULE_* - * @return tnc - если следующая нода не найдена, вернет текущую - */ - public static ParseTree getNextNode(ParseTree parent, ParseTree tnc, int ruleindex) { - - List descendants = getDescendantsWithFilter(parent, tnc, ruleindex); - - int pos = descendants.indexOf(tnc); - if (pos + 1 < descendants.size()) { - return descendants.get(pos + 1); - } - - return tnc; - } - - /** - * Рекурсивно находит самого верхнего родителя текущей ноды - */ - public static BSLParserRuleContext getRootParent(BSLParserRuleContext tnc) { - if (tnc.getParent() != null) { - return getRootParent((BSLParserRuleContext) tnc.getParent()); - } - - return tnc; - } - - /** - * Рекурсивно находит самого верхнего родителя текущей ноды нужного типа - * - * @param tnc - нода, для которой ищем родителя - * @param ruleindex - BSLParser.RULE_* - * @return tnc - если родитель не найден, вернет null - */ - public static BSLParserRuleContext getRootParent(BSLParserRuleContext tnc, int ruleindex) { - final var parent = tnc.getParent(); - if (parent == null) { - return null; - } - - if (getRuleIndex(parent) == ruleindex) { - return (BSLParserRuleContext) parent; - } else { - return getRootParent((BSLParserRuleContext) parent, ruleindex); - } - } - - /** - * Рекурсивно находит самого верхнего родителя текущей ноды одного из нужных типов - * - * @param tnc - нода, для которой ищем родителя - * @param indexes - Collection of BSLParser.RULE_* - * @return tnc - если родитель не найден, вернет null - */ - public static BSLParserRuleContext getRootParent(BSLParserRuleContext tnc, Collection indexes) { - final var parent = tnc.getParent(); - if (parent == null) { - return null; - } - - if (indexes.contains(getRuleIndex(parent))) { - return (BSLParserRuleContext) parent; - } else { - return getRootParent((BSLParserRuleContext) parent, indexes); - } - } - - /** - * Получает детей с нужными типами - */ - public static List getChildren(Tree t, Integer... ruleIndex) { - return getChildrenStream(t, ruleIndex) - .collect(Collectors.toList()); - } - - /** - * Получает первого ребенка с одним из нужных типов - * - * @param t - нода, для которой ищем ребенка - * @param ruleIndex - arrays of BSLParser.RULE_* - * @return child - если первый ребенок не найден, вернет Optional - */ - public static Optional getFirstChild(Tree t, Integer... ruleIndex) { - return getChildrenStream(t, ruleIndex) - .findFirst(); - } - - private static Stream getChildrenStream(Tree t, Integer[] ruleIndex) { - List indexes = Arrays.asList(ruleIndex); - return IntStream.range(0, t.getChildCount()) - .mapToObj(t::getChild) - .filter((Tree child) -> - child instanceof BSLParserRuleContext - && indexes.contains(((BSLParserRuleContext) child).getRuleIndex())) - .map(child -> (BSLParserRuleContext) child); - } - - /** - * Получает дочерние ноды с нужными типами - */ - public static Collection findAllRuleNodes(ParseTree t, Integer... index) { - List nodes = new ArrayList<>(); - List indexes = Arrays.asList(index); - - if (t instanceof ParserRuleContext - && indexes.contains(((ParserRuleContext) t).getRuleIndex())) { - nodes.add((ParserRuleContext) t); - } - - IntStream.range(0, t.getChildCount()) - .mapToObj(i -> findAllRuleNodes(t.getChild(i), index)) - .forEachOrdered(nodes::addAll); - - return nodes; - } - - /** - * Проверяет наличие дочерней ноды с указанным типом - */ - public static boolean nodeContains(ParseTree t, Integer... index) { - Set indexes = new HashSet<>(Arrays.asList(index)); - - if (t instanceof ParserRuleContext - && indexes.contains(((ParserRuleContext) t).getRuleIndex())) { - return true; - } - - return IntStream.range(0, t.getChildCount()) - .anyMatch(i -> nodeContains(t.getChild(i), index)); - } - - /** - * Проверяет наличие дочерней ноды с указанным типом исключая переданную - */ - public static boolean nodeContains(ParseTree t, ParseTree exclude, Integer... index) { - Set indexes = new HashSet<>(Arrays.asList(index)); - - if (t instanceof ParserRuleContext - && !t.equals(exclude) - && indexes.contains(((ParserRuleContext) t).getRuleIndex())) { - return true; - } - - return IntStream.range(0, t.getChildCount()) - .anyMatch(i -> nodeContains(t.getChild(i), exclude, index)); - } - - /** - * @param tokens - список токенов из DocumentContext - * @param token - токен, на строке которого требуется найти висячий комментарий - * @return - токен с комментарием, если он найден - */ - public static Optional getTrailingComment(List tokens, Token token) { - int index = token.getTokenIndex(); - int size = tokens.size(); - int currentIndex = index + 1; - int line = token.getLine(); - - while (currentIndex < size) { - var nextToken = tokens.get(currentIndex); - if (nextToken.getLine() > line) { - break; - } - if (nextToken.getType() == BSLParser.LINE_COMMENT) { - return Optional.of(nextToken); - } - currentIndex++; - } - - return Optional.empty(); - - } - - /** - * Поиск комментариев назад от указанного токена - * - * @param tokens - список токенов DocumentContext - * @param token - токен, для которого требуется найти комментарии - * @return - список найденных комментариев lines - */ - public static List getComments(List tokens, Token token) { - List comments = new ArrayList<>(); - fillCommentsCollection(tokens, token, comments); - return comments; - } - - private static void fillCommentsCollection(List tokens, Token currentToken, List lines) { - - int index = currentToken.getTokenIndex(); - - if (index == 0) { - return; - } - - Token previousToken = tokens.get(index - 1); - - if (abortSearchComments(previousToken, currentToken)) { - return; - } - - fillCommentsCollection(tokens, previousToken, lines); - int type = previousToken.getType(); - if (type == BSLParser.LINE_COMMENT) { - lines.add(previousToken); - } - } - - private static boolean abortSearchComments(Token previousToken, Token currentToken) { - int type = previousToken.getType(); - return !VALID_TOKEN_TYPES_FOR_COMMENTS_SEARCH.contains(type) || isBlankLine(previousToken, currentToken); - } - - private static boolean isBlankLine(Token previousToken, Token currentToken) { - return previousToken.getType() == BSLParser.WHITE_SPACE - && (previousToken.getTokenIndex() == 0 - || (previousToken.getLine() + 1) != currentToken.getLine()); - } - - private static boolean treeContainsErrors(ParseTree tnc, boolean recursive) { - if (!(tnc instanceof BSLParserRuleContext)) { - return false; - } - - BSLParserRuleContext ruleContext = (BSLParserRuleContext) tnc; - - if (ruleContext.exception != null) { - return true; - } - - return recursive - && ruleContext.children != null - && ruleContext.children.stream().anyMatch(Trees::treeContainsErrors); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/UTF8Control.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/UTF8Control.java deleted file mode 100644 index 4e9eccbe169..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/UTF8Control.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.utils; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; -import java.nio.charset.StandardCharsets; -import java.util.Locale; -import java.util.PropertyResourceBundle; -import java.util.ResourceBundle; - -public class UTF8Control extends ResourceBundle.Control { - @Override - public ResourceBundle newBundle - (String baseName, Locale locale, String format, ClassLoader loader, boolean reload) throws IOException { - // The below is a copy of the default implementation. - String bundleName = toBundleName(baseName, locale); - String resourceName = toResourceName(bundleName, "properties"); - ResourceBundle bundle = null; - InputStream stream = null; - if (reload) { - URL url = loader.getResource(resourceName); - if (url != null) { - URLConnection connection = url.openConnection(); - if (connection != null) { - connection.setUseCaches(false); - stream = connection.getInputStream(); - } - } - } else { - stream = loader.getResourceAsStream(resourceName); - } - if (stream != null) { - try (InputStreamReader reader = new InputStreamReader(stream, StandardCharsets.UTF_8)) { - // Only this line is changed to make it to read properties files as UTF-8. - bundle = new PropertyResourceBundle(reader); - } finally { - stream.close(); - } - } - return bundle; - } -} diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java index e5a0c9b503f..daa053f81dd 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver; import com.github._1c_syntax.bsl.languageserver.jsonrpc.DiagnosticParams; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.CompletionItem; import org.eclipse.lsp4j.CompletionList; @@ -274,7 +274,7 @@ void testDiagnosticsKnownFileFilteredRange() throws ExecutionException, Interrup // when var params = new DiagnosticParams(getTextDocumentIdentifier()); - params.setRange(Ranges.create(1, 0, 2, 0)); + params.setRange(BSLRanges.create(1, 0, 2, 0)); var diagnostics = textDocumentService.diagnostics(params).get(); // then diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java index 9c63e6bbb68..3ce671922a9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.providers.CodeActionProvider; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionContext; @@ -47,14 +47,14 @@ class GenerateStandardRegionsSupplierTest { @Autowired - private CodeActionProvider codeActionProvider; + private BSLCodeActionProvider codeActionProvider; @Test void testGetCodeActions() { // given String filePath = "./src/test/resources/suppliers/generateRegion.bsl"; - DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); List diagnostics = new ArrayList<>(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java index 3089c48b7f3..7b246cacd1f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.CommentedCodeDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfigurationTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java similarity index 89% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfigurationTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java index 17ba056a7e8..593fec69842 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/LanguageServerConfigurationTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java @@ -22,8 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.configuration; import com.github._1c_syntax.bsl.languageserver.configuration.codelens.CodeLensOptions; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.DiagnosticsOptions; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.Mode; +import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.BSLDiagnosticsOptions; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.jsonrpc.messages.Either; @@ -46,7 +45,7 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -class LanguageServerConfigurationTest { +class BSLLanguageServerConfigurationTest { private static final String PATH_TO_CONFIGURATION_FILE = "./src/test/resources/.bsl-language-server.json"; private static final String PATH_TO_EMPTY_CONFIGURATION_FILE = "./src/test/resources/.empty-bsl-language-server.json"; @@ -55,7 +54,7 @@ class LanguageServerConfigurationTest { = "./src/test/resources/.partial-bsl-language-server.json"; @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @BeforeEach void startUp() throws IOException { @@ -83,7 +82,7 @@ void createFromFile() { configuration.update(configurationFile); // then - DiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); + BSLDiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); Language language = configuration.getLanguage(); Map>> parameters = diagnosticsOptions.getParameters(); @@ -118,7 +117,7 @@ void createFromEmptyFile() { configuration.update(configurationFile); // then - DiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); + BSLDiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); Language language = configuration.getLanguage(); Map>> parameters = diagnosticsOptions.getParameters(); @@ -131,12 +130,12 @@ void createFromEmptyFile() { void test_GetCustomConfigurationRoot() { Path path = Paths.get(PATH_TO_METADATA); - Path configurationRoot = LanguageServerConfiguration.getCustomConfigurationRoot(configuration, path); + Path configurationRoot = BSLLanguageServerConfiguration.getCustomConfigurationRoot(configuration, path); assertThat(configurationRoot).isEqualTo(Absolute.path(path)); File configurationFile = new File(PATH_TO_CONFIGURATION_FILE); configuration.update(configurationFile); - configurationRoot = LanguageServerConfiguration.getCustomConfigurationRoot(configuration, path); + configurationRoot = BSLLanguageServerConfiguration.getCustomConfigurationRoot(configuration, path); assertThat(configurationRoot).isEqualTo(Absolute.path(path)); } @@ -149,7 +148,7 @@ void testPartialInitialization() { // when CodeLensOptions codeLensOptions = configuration.getCodeLensOptions(); - DiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); + BSLDiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); // then assertThat(codeLensOptions.isShowCognitiveComplexity()).isTrue(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java index fdd3f327681..0ec1a8a44d1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java @@ -21,8 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.configuration.watcher; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +44,7 @@ class ConfigurationFileSystemWatcherTest { private ConfigurationFileSystemWatcher watcher; @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Test void test() throws IOException { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContextTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java similarity index 86% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContextTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java index 41c9d1d3baf..6d463610fbb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentContextTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java @@ -43,12 +43,12 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -class DocumentContextTest { +class BSLDocumentContextTest { @Test void testRebuild() throws IOException { - DocumentContext documentContext = getDocumentContext("./src/test/resources/context/DocumentContextRebuildFirstTest.bsl"); + BSLDocumentContext documentContext = getDocumentContext("./src/test/resources/context/DocumentContextRebuildFirstTest.bsl"); assertThat(documentContext.getTokens()).hasSize(39); File file = new File("./src/test/resources/context/DocumentContextRebuildSecondTest.bsl"); @@ -60,7 +60,7 @@ void testRebuild() throws IOException { @Test void testClearASTData() throws IllegalAccessException { // given - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); // when documentContext.clearSecondaryData(); @@ -73,7 +73,7 @@ void testClearASTData() throws IllegalAccessException { @Test void testMethodCompute() { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); assertThat(documentContext.getSymbolTree().getMethods().size()).isEqualTo(3); @@ -81,7 +81,7 @@ void testMethodCompute() { @Test void testMethodParametersComputesCorrectly() { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); assertThat(documentContext.getSymbolTree().getMethods()) .filteredOn(methodSymbol -> methodSymbol.getName().equals("ФункцияСПараметрами")) .flatExtracting(MethodSymbol::getParameters) @@ -113,7 +113,7 @@ void testMethodParametersComputesCorrectly() { @Test void testMethodComputeParseError() throws IOException { - DocumentContext documentContext = + BSLDocumentContext documentContext = getDocumentContext("./src/test/resources/context/DocumentContextParseErrorTest.bsl"); assertThat(documentContext.getSymbolTree().getMethods().isEmpty()).isTrue(); @@ -122,7 +122,7 @@ void testMethodComputeParseError() throws IOException { @Test void testGetRegionsFlatComputesAllLevels() { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); assertThat(documentContext.getSymbolTree().getModuleLevelRegions()).hasSize(2); assertThat(documentContext.getSymbolTree().getRegionsFlat()).hasSize(6); @@ -131,7 +131,7 @@ void testGetRegionsFlatComputesAllLevels() { @Test void testRegionsAdjustingCompute() { // given - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); // when List regions = documentContext.getSymbolTree().getModuleLevelRegions(); @@ -143,7 +143,7 @@ void testRegionsAdjustingCompute() { @Test void testMethodsAdjustingCompute() { // given - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); // when List methods = documentContext.getSymbolTree().getMethods(); @@ -185,19 +185,19 @@ void testUntitledSchemaFromVSC() { } @SneakyThrows - public DocumentContext getDocumentContext() { + public BSLDocumentContext getDocumentContext() { - return getDocumentContext("./src/test/resources/context/DocumentContextTest.bsl"); + return getDocumentContext("./src/test/resources/context/BSLDocumentContextTest.bsl"); } - private DocumentContext getDocumentContext(String filePath) { + private BSLDocumentContext getDocumentContext(String filePath) { return TestUtils.getDocumentContextFromFile(filePath); } @Test void testComputeMetricsLocForCover() { - DocumentContext documentContext = + BSLDocumentContext documentContext = getDocumentContext("./src/test/resources/context/DocumentContextLocForCoverTest.bsl"); assertThat(documentContext.getMetrics().getCovlocData()).containsSequence(5, 6, 10, 11, 12, 18, 26, 28, 31, 32, 35, 37); @@ -207,7 +207,7 @@ void testComputeMetricsLocForCover() { @Test void testComputeMetricsComments() { - DocumentContext documentContext = + BSLDocumentContext documentContext = getDocumentContext("./src/test/resources/context/DocumentContextCommentsTest.bsl"); assertThat(documentContext.getMetrics().getComments()).isEqualTo(8); @@ -217,7 +217,7 @@ void testComputeMetricsComments() { @Test void testContentList() { // given - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); // when String[] contentList = documentContext.getContentList(); @@ -229,7 +229,7 @@ void testContentList() { @Test void testEOF() { // given - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); // when List tokens = documentContext.getTokens(); Token lastToken = tokens.get(tokens.size() - 1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContextTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java similarity index 94% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContextTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java index 16d58c7be3c..980afb3df81 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/ServerContextTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java @@ -42,7 +42,7 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -class ServerContextTest { +class BSLServerContextTest { private static final String PATH_TO_METADATA = "src/test/resources/metadata"; private static final String PATH_TO_MODULE_FILE = "CommonModules/ПервыйОбщийМодуль/Ext/Module.bsl"; @@ -50,7 +50,7 @@ class ServerContextTest { private static final String PATH_TO_CATALOG_MODULE_FILE = "Catalogs/Справочник1/Ext/ObjectModule.bsl"; @Autowired - private ServerContext serverContext; + private BSLServerContext serverContext; @Test void testConfigurationMetadata() { @@ -82,7 +82,7 @@ void testMdoRefs() throws IOException { serverContext.setConfigurationRoot(path); var mdoRefCommonModule = "CommonModule.ПервыйОбщийМодуль"; - DocumentContext documentContext = addDocumentContext(serverContext, PATH_TO_MODULE_FILE); + BSLDocumentContext documentContext = addDocumentContext(serverContext, PATH_TO_MODULE_FILE); assertThat(serverContext.getDocument(mdoRefCommonModule, documentContext.getModuleType())) .isPresent() .get() @@ -133,7 +133,7 @@ void testPopulateContext() { assertThat(serverContext.getDocuments()).hasSizeGreaterThan(0); } - private DocumentContext addDocumentContext(ServerContext serverContext, String path) throws IOException { + private BSLDocumentContext addDocumentContext(BSLServerContext serverContext, String path) throws IOException { var file = new File(PATH_TO_METADATA, path); var uri = Absolute.uri(file); return serverContext.addDocument(uri, FileUtils.readFileToString(file, StandardCharsets.UTF_8)); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java index c4e6b5faf1a..1519e17a6b4 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.junit.jupiter.api.Test; @@ -37,7 +37,7 @@ class CognitiveComplexityComputerTest { @Test void compute() { // given - DocumentContext documentContext + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CognitiveComplexityComputerTest.bsl"); // when diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java index b60d5447122..983ea3af057 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.junit.jupiter.api.Test; @@ -38,7 +38,7 @@ class CyclomaticComplexityComputerTest { void compute() { // given - DocumentContext documentContext + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CyclomaticComplexityComputerTest.bsl"); // when diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java index 0abc9c42276..7d2fafd6b56 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -41,7 +41,7 @@ void testDiagnosticIgnorance() { // given String filePath = "./src/test/resources/context/computer/DiagnosticIgnoranceComputerTest.bsl"; - final DocumentContext documentContext = getDocumentContextFromFile(filePath); + final BSLDocumentContext documentContext = getDocumentContextFromFile(filePath); List ignoredDiagnostics = new ArrayList<>(); @@ -71,7 +71,7 @@ void testDiagnosticIgnorance() { private static Diagnostic createDiagnostic(String code, int line) { Diagnostic diagnostic = new Diagnostic(); diagnostic.setCode(code); - diagnostic.setRange(Ranges.create(line - 1, 0, line - 1, 0)); + diagnostic.setRange(BSLRanges.create(line - 1, 0, line - 1, 0)); return diagnostic; } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java index 04a2641d23c..4f6da728b11 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java @@ -21,14 +21,14 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.ParameterDefinition; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationKind; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.CompilerDirectiveKind; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.utils.Absolute; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; @@ -53,20 +53,20 @@ class MethodSymbolComputerTest { private static final String PATH_TO_CATALOG_MODULE_FILE = "Catalogs/Справочник1/Ext/ObjectModule.bsl"; @Autowired - private ServerContext serverContext; + private BSLServerContext serverContext; @Test void testMethodSymbolComputer() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); assertThat(methods.size()).isEqualTo(23); assertThat(methods.get(0).getName()).isEqualTo("Один"); assertThat(methods.get(0).getDescription()).isNotPresent(); - assertThat(methods.get(0).getRange()).isEqualTo(Ranges.create(1, 0, 3, 14)); - assertThat(methods.get(0).getSubNameRange()).isEqualTo(Ranges.create(1, 10, 1, 14)); + assertThat(methods.get(0).getRange()).isEqualTo(BSLRanges.create(1, 0, 3, 14)); + assertThat(methods.get(0).getSubNameRange()).isEqualTo(BSLRanges.create(1, 10, 1, 14)); assertThat(methods.get(1).getDescription()).isNotEmpty(); assertThat(methods.get(1).getRegion().orElse(null).getName()).isEqualTo("ИмяОбласти"); @@ -151,7 +151,7 @@ void testMethodSymbolComputer() { @Test void testAnnotation() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); // CUSTOM @@ -201,7 +201,7 @@ void testAnnotation() { @Test void testParameters() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); List parameters = methods.get(2).getParameters(); @@ -226,7 +226,7 @@ void testParameters() { @Test void testDeprecated() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); MethodSymbol methodSymbol = methods.get(2); @@ -257,11 +257,11 @@ void testMdoRef() throws IOException { @Test void testParseError() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTestParseError.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTestParseError.bsl"); List methods = documentContext.getSymbolTree().getMethods(); assertThat(methods.get(0).getName()).isEqualTo("Выполнить"); - assertThat(methods.get(0).getSubNameRange()).isEqualTo(Ranges.create(0, 10, 0, 19)); + assertThat(methods.get(0).getSubNameRange()).isEqualTo(BSLRanges.create(0, 10, 0, 19)); } @@ -273,7 +273,7 @@ private static void checkCompilerDirective_for_AtClient_AndAnnotation_After(Meth } private void checkModule( - ServerContext serverContext, + BSLServerContext serverContext, String path, String mdoRef, int methodsCount diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java index 71f1537ed08..fe078f5d357 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -36,7 +36,7 @@ class QueryComputerTest { @Test void compute() { // given - DocumentContext documentContext + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/QueryComputerTest.bsl"); // when diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java index 6a3f0fa5470..1c7e7776e4c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -40,7 +40,7 @@ @SpringBootTest class VariableSymbolTest { - static DocumentContext documentContext; + static BSLDocumentContext documentContext; static List variableSymbols; @BeforeEach @@ -57,24 +57,24 @@ void testVariableSymbolDescription() { assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isEmpty()) .hasSize(5) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(12, 6, 34))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(14, 6, 27))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(16, 6, 17))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(16, 19, 30))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(27, 10, 19))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(12, 6, 34))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(14, 6, 27))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(16, 6, 17))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(16, 19, 30))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(27, 10, 19))) ; assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isPresent()) .hasSize(8) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(2, 6, 32))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(6, 6, 32))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(8, 6, 33))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(19, 6, 18))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(24, 6, 18))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(29, 10, 20))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(33, 10, 20))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(40, 10, 21))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(2, 6, 32))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(6, 6, 32))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(8, 6, 33))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(19, 6, 18))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(24, 6, 18))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(29, 10, 20))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(33, 10, 20))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(40, 10, 21))) ; } @@ -92,11 +92,11 @@ void testVariableDescriptionRange() { .hasSize(8) .filteredOn(variableDescription -> !variableDescription.getDescription().equals("")) .hasSize(5) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(1, 0, 18))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(4, 0, 5, 23))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(21, 0, 23, 29))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(31, 4, 25))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(35, 4, 39, 27))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(1, 0, 18))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(4, 0, 5, 23))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(21, 0, 23, 29))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(31, 4, 25))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(35, 4, 39, 27))) ; assertThat(variableDescriptions) @@ -104,11 +104,11 @@ void testVariableDescriptionRange() { .filteredOn(Optional::isPresent) .hasSize(5) .extracting(Optional::get) - .anyMatch(trailingDescription -> trailingDescription.getRange().equals(Ranges.create(8, 35, 55))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(19, 20, 42))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(24, 20, 42))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(29, 21, 43))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(33, 21, 43))) + .anyMatch(trailingDescription -> trailingDescription.getRange().equals(BSLRanges.create(8, 35, 55))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(19, 20, 42))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(24, 20, 42))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(29, 21, 43))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(33, 21, 43))) ; } @@ -119,11 +119,11 @@ void testVariableNameRange() { assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isEmpty()) .hasSize(5) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(12, 6, 34))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(14, 6, 27))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(16, 6, 17))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(16, 19, 30))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(27, 10, 19))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(12, 6, 34))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(14, 6, 27))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(16, 6, 17))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(16, 19, 30))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(27, 10, 19))) ; } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java index bf92905f291..584927cde6d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.utils.Absolute; @@ -51,9 +51,9 @@ abstract class AbstractDiagnosticTest { @Autowired private DiagnosticConfiguration diagnosticConfiguration; @Autowired - protected ServerContext context; + protected BSLServerContext context; @Autowired - protected LanguageServerConfiguration configuration; + protected BSLLanguageServerConfiguration configuration; private final Class diagnosticClass; protected T diagnosticInstance; @@ -79,17 +79,17 @@ protected void initServerContext(Path configurationRoot) { context.populateContext(); } - protected List getDiagnostics(DocumentContext documentContext) { + protected List getDiagnostics(BSLDocumentContext documentContext) { return diagnosticInstance.getDiagnostics(documentContext); } protected List getDiagnostics() { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); return getDiagnostics(documentContext); } protected List getDiagnostics(String simpleFileName) { - DocumentContext documentContext = getDocumentContext(simpleFileName); + BSLDocumentContext documentContext = getDocumentContext(simpleFileName); return getDiagnostics(documentContext); } @@ -97,23 +97,23 @@ protected List getQuickFixes(Diagnostic diagnostic) { return getQuickFixes(diagnostic, getDocumentContext()); } - protected List getQuickFixes(Diagnostic diagnostic, DocumentContext documentContext) { + protected List getQuickFixes(Diagnostic diagnostic, BSLDocumentContext documentContext) { return getQuickFixes(documentContext, Collections.singletonList(diagnostic), diagnostic.getRange()); } protected List getQuickFixes(Diagnostic diagnostic, Range range) { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); return getQuickFixes(documentContext, Collections.singletonList(diagnostic), range); } protected List getQuickFixes(Range range) { - DocumentContext documentContext = getDocumentContext(); + BSLDocumentContext documentContext = getDocumentContext(); List diagnostics = this.diagnosticInstance.getDiagnostics(documentContext); return getQuickFixes(documentContext, diagnostics, range); } - private List getQuickFixes(DocumentContext documentContext, List diagnostics, Range range) { + private List getQuickFixes(BSLDocumentContext documentContext, List diagnostics, Range range) { TextDocumentIdentifier textDocument = new TextDocumentIdentifier(documentContext.getUri().toString()); CodeActionContext codeActionContext = new CodeActionContext(); @@ -129,12 +129,12 @@ private List getQuickFixes(DocumentContext documentContext, List diagnostics = getDiagnostics(); final Diagnostic firstDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java index 8101a24d01c..7a1e7abccb5 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.Configuration; import com.github._1c_syntax.utils.Absolute; @@ -58,7 +58,7 @@ void test() { Path testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); - DocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java index ed835bc1cb0..d036312a0a5 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -49,7 +49,7 @@ class CommonModuleInvalidTypeDiagnosticTest extends AbstractDiagnosticTest { private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; CommonModuleNameCachedDiagnosticTest() { super(CommonModuleNameCachedDiagnostic.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java index b950e941173..bb71935b3f0 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -43,7 +43,7 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) class CommonModuleNameClientDiagnosticTest extends AbstractDiagnosticTest { - private DocumentContext documentContext; + private BSLDocumentContext documentContext; private CommonModule module; CommonModuleNameClientDiagnosticTest() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java index eabbe097201..c79210f0555 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -44,7 +44,7 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) class CommonModuleNameClientServerDiagnosticTest extends AbstractDiagnosticTest { private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; CommonModuleNameClientServerDiagnosticTest() { super(CommonModuleNameClientServerDiagnostic.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java index dc33b08fe3a..ae6f5c49044 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -43,7 +43,7 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) class CommonModuleNameFullAccessDiagnosticTest extends AbstractDiagnosticTest { - private DocumentContext documentContext; + private BSLDocumentContext documentContext; private CommonModule module; CommonModuleNameFullAccessDiagnosticTest() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java index b5e4f6c34c6..9a7cc6d4a26 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -44,7 +44,7 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) class CommonModuleNameGlobalClientDiagnosticTest extends AbstractDiagnosticTest { private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; CommonModuleNameGlobalClientDiagnosticTest() { super(CommonModuleNameGlobalClientDiagnostic.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java index 0759084203a..1405b582943 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -43,7 +43,7 @@ @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) class CommonModuleNameGlobalDiagnosticTest extends AbstractDiagnosticTest { - private DocumentContext documentContext; + private BSLDocumentContext documentContext; private CommonModule module; CommonModuleNameGlobalDiagnosticTest() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java index 2a898e1fd3e..446b12316c8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -45,7 +45,7 @@ class CommonModuleNameServerCallDiagnosticTest extends AbstractDiagnosticTest { private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; CommonModuleNameServerCallDiagnosticTest() { super(CommonModuleNameServerCallDiagnostic.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java index 665c35da71c..44570bef194 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -46,7 +46,7 @@ class CommonModuleNameWordsDiagnosticTest extends AbstractDiagnosticTest { private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; CommonModuleNameWordsDiagnosticTest() { super(CommonModuleNameWordsDiagnostic.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java index b391381862e..e905458d646 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -37,7 +37,7 @@ class CompilationDirectiveLostDiagnosticTest extends AbstractDiagnosticTest diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).hasSize(1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java index 72cccb07654..8dc4ac576f8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; @@ -259,7 +259,7 @@ void testQuickFix() { } private void checkQuickFixes(String module, boolean haveFix) { - final DocumentContext documentContext = TestUtils.getDocumentContext(module); + final BSLDocumentContext documentContext = TestUtils.getDocumentContext(module); List diagnostics = getDiagnostics(documentContext); diagnostics.forEach(diagnostic -> checkFix(documentContext, diagnostic, haveFix)); @@ -284,7 +284,7 @@ void testQuickFixOneLine() { checkQuickFixes(module, true); } - private void checkFix(DocumentContext documentContext, Diagnostic diagnostic, boolean haveFix) { + private void checkFix(BSLDocumentContext documentContext, Diagnostic diagnostic, boolean haveFix) { List quickFixes = getQuickFixes(diagnostic, documentContext); assertThat(quickFixes).hasSize(1); @@ -304,7 +304,7 @@ private void checkFix(DocumentContext documentContext, Diagnostic diagnostic, bo } private List getDiagnosticsForText(String textDocumentContent) { - DocumentContext documentContext = TestUtils.getDocumentContext(textDocumentContent); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(textDocumentContent); return getDiagnostics(documentContext); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java index fa742f99ae5..f5e2132a640 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -50,14 +50,14 @@ void test() { assertThat(diagnostics) .hasSize(3) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(7, 10, 7, 22))) + BSLRanges.create(7, 10, 7, 22))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(19, 10, 19, 17))) + BSLRanges.create(19, 10, 19, 17))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(70, 10, 70, 22))) + BSLRanges.create(70, 10, 70, 22))) //fix me "Если НЕ обменданными" // .anyMatch(diagnostic -> diagnostic.getRange().equals( -// Ranges.create(57, 10, 57, 22))); +// BSLRanges.create(57, 10, 57, 22))); ; // Проверяем с включенным параметром findFirst @@ -71,10 +71,10 @@ void test() { assertThat(diagnostics) .hasSize(4) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(7, 10, 7, 22))) + BSLRanges.create(7, 10, 7, 22))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(19, 10, 19, 17))) + BSLRanges.create(19, 10, 19, 17))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - Ranges.create(33, 10, 33, 22))); + BSLRanges.create(33, 10, 33, 22))); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java index dee160d7453..ffa0ee899b7 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -53,7 +53,7 @@ void test() { void testQuickFix() { - final DocumentContext documentContext = getDocumentContext(); + final BSLDocumentContext documentContext = getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic ruDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java index de85e6e5139..dfce89fa313 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java @@ -21,8 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameterInfo; @@ -47,7 +46,7 @@ class DiagnosticInfosTest { private Map diagnosticInfos; @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Test void testAllDiagnosticsHaveMetadataAnnotation() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java index 875ed279ac7..c86c10ced11 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java @@ -21,12 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.Mode; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticsConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; @@ -52,13 +51,13 @@ class DiagnosticsTest { @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Autowired - protected ServerContext context; + protected BSLServerContext context; @Autowired protected DiagnosticsConfiguration diagnosticsConfiguration; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; @BeforeEach void createDocumentContext() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java index 9ad189d6fcf..d3c94aa2cd9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -57,7 +57,7 @@ void testFileEmptyCodeBlock() { List diagnostics = getDiagnostics("EmptyCodeBlockDiagnosticFileCodeBlock"); assertThat(diagnostics).hasSize(1); - assertThat(diagnostics.get(0).getRange()).isEqualTo(Ranges.create(4, 4, 4, 16)); + assertThat(diagnostics.get(0).getRange()).isEqualTo(BSLRanges.create(4, 4, 4, 16)); } @Test diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java index 35f170075a2..caa8e9482f6 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -52,7 +52,7 @@ void test() { @Test void testQuickFix() { - final DocumentContext documentContext = getDocumentContext(); + final BSLDocumentContext documentContext = getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic externalRegionDiagnostic = diagnostics.get(2); final Diagnostic internalRegionDiagnostic = diagnostics.get(1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java index 0a5e192b166..9a2a98ffc1a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -56,7 +56,7 @@ void testQuickFix() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - Ranges.create(3, 19, 3, 19) + BSLRanges.create(3, 19, 3, 19) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java index a7a7d57f393..0e82acc568e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.utils.Absolute; @@ -45,7 +45,7 @@ class ExecuteExternalCodeInCommonModuleDiagnosticTest extends AbstractDiagnostic private static final String PATH_TO_MODULE_FILE = "src/test/resources/metadata/CommonModules/ПервыйОбщийМодуль/Ext/Module.bsl"; private CommonModule module; - private DocumentContext documentContext; + private BSLDocumentContext documentContext; @Test void testIsServer() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java index 872d4352163..f1dafe029f2 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -44,32 +44,32 @@ void test() { checkDiagnosticContent( diagnostics.get(0), - Ranges.create(9, 1, 10, 9), - Ranges.create(12, 1, 13, 9) + BSLRanges.create(9, 1, 10, 9), + BSLRanges.create(12, 1, 13, 9) ); checkDiagnosticContent( diagnostics.get(1), - Ranges.create(26, 1, 27, 9), - Ranges.create(29, 1, 30, 9) + BSLRanges.create(26, 1, 27, 9), + BSLRanges.create(29, 1, 30, 9) ); checkDiagnosticContent( diagnostics.get(2), - Ranges.create(39, 1, 47, 11), - Ranges.create(52, 1, 60, 11) + BSLRanges.create(39, 1, 47, 11), + BSLRanges.create(52, 1, 60, 11) ); checkDiagnosticContent( diagnostics.get(3), - Ranges.create(40, 2, 41, 10), - Ranges.create(43, 2, 44, 10) + BSLRanges.create(40, 2, 41, 10), + BSLRanges.create(43, 2, 44, 10) ); checkDiagnosticContent( diagnostics.get(4), - Ranges.create(53, 2, 54, 10), - Ranges.create(56, 2, 57, 10) + BSLRanges.create(53, 2, 54, 10), + BSLRanges.create(56, 2, 57, 10) ); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java index d6f346aa7a3..bc207b3353c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -45,41 +45,41 @@ void test() { assertThat(diagnostics).hasSize(4); List relatedInformation = new ArrayList<>(); - relatedInformation.add(Ranges.create(3, 10, 3, 15)); - relatedInformation.add(Ranges.create(5, 10, 5, 15)); - relatedInformation.add(Ranges.create(9, 10, 9, 21)); + relatedInformation.add(BSLRanges.create(3, 10, 3, 15)); + relatedInformation.add(BSLRanges.create(5, 10, 5, 15)); + relatedInformation.add(BSLRanges.create(9, 10, 9, 21)); checkDiagnosticContent( diagnostics.get(0), - Ranges.create(3, 10, 3, 15), + BSLRanges.create(3, 10, 3, 15), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(17, 10, 17, 15)); - relatedInformation.add(Ranges.create(27, 10, 27, 15)); + relatedInformation.add(BSLRanges.create(17, 10, 17, 15)); + relatedInformation.add(BSLRanges.create(27, 10, 27, 15)); checkDiagnosticContent( diagnostics.get(1), - Ranges.create(17, 10, 17, 15), + BSLRanges.create(17, 10, 17, 15), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(20, 13, 20, 18)); - relatedInformation.add(Ranges.create(22, 13, 22, 18)); + relatedInformation.add(BSLRanges.create(20, 13, 20, 18)); + relatedInformation.add(BSLRanges.create(22, 13, 22, 18)); checkDiagnosticContent( diagnostics.get(2), - Ranges.create(20, 13, 20, 18), + BSLRanges.create(20, 13, 20, 18), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(41, 5, 41, 17)); - relatedInformation.add(Ranges.create(43, 10, 43, 22)); - relatedInformation.add(Ranges.create(45, 10, 45, 22)); + relatedInformation.add(BSLRanges.create(41, 5, 41, 17)); + relatedInformation.add(BSLRanges.create(43, 10, 43, 22)); + relatedInformation.add(BSLRanges.create(45, 10, 45, 22)); checkDiagnosticContent( diagnostics.get(3), - Ranges.create(41, 5, 41, 17), + BSLRanges.create(41, 5, 41, 17), relatedInformation); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java index c0e71538b30..6847d8aae47 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import lombok.SneakyThrows; @@ -49,7 +49,7 @@ class MetadataObjectNameLengthDiagnosticTest extends AbstractDiagnosticTest diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(23), - Ranges.create(10, 8, 10, 8) + BSLRanges.create(10, 8, 10, 8) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java index 4e9b6b00877..e81d939d606 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -54,87 +54,87 @@ void test() { assertThat(diagnostics).hasSize(8); List relatedInformation = new ArrayList<>(); - relatedInformation.add(Ranges.create(10, 16, 12, 36)); - relatedInformation.add(Ranges.create(11, 33, 11, 69)); + relatedInformation.add(BSLRanges.create(10, 16, 12, 36)); + relatedInformation.add(BSLRanges.create(11, 33, 11, 69)); checkDiagnosticContent( diagnostics.get(0), - Ranges.create(10, 16, 12, 36), + BSLRanges.create(10, 16, 12, 36), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(14, 16, 23, 62)); - relatedInformation.add(Ranges.create(19, 32, 19, 93)); - relatedInformation.add(Ranges.create(20, 32, 20, 82)); - relatedInformation.add(Ranges.create(22, 32, 22, 91)); + relatedInformation.add(BSLRanges.create(14, 16, 23, 62)); + relatedInformation.add(BSLRanges.create(19, 32, 19, 93)); + relatedInformation.add(BSLRanges.create(20, 32, 20, 82)); + relatedInformation.add(BSLRanges.create(22, 32, 22, 91)); checkDiagnosticContent( diagnostics.get(1), - Ranges.create(14, 16, 23, 62), + BSLRanges.create(14, 16, 23, 62), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(25, 16, 27, 96)); - relatedInformation.add(Ranges.create(26, 32, 27, 95)); + relatedInformation.add(BSLRanges.create(25, 16, 27, 96)); + relatedInformation.add(BSLRanges.create(26, 32, 27, 95)); checkDiagnosticContent( diagnostics.get(2), - Ranges.create(25, 16, 27, 96), + BSLRanges.create(25, 16, 27, 96), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(26, 32, 27, 95)); - relatedInformation.add(Ranges.create(27, 48, 27, 94)); + relatedInformation.add(BSLRanges.create(26, 32, 27, 95)); + relatedInformation.add(BSLRanges.create(27, 48, 27, 94)); checkDiagnosticContent( diagnostics.get(3), - Ranges.create(26, 32, 27, 95), + BSLRanges.create(26, 32, 27, 95), relatedInformation); relatedInformation.clear(); relatedInformation = new ArrayList<>(); - relatedInformation.add(Ranges.create(38, 13, 40, 31)); - relatedInformation.add(Ranges.create(39, 28, 39, 55)); + relatedInformation.add(BSLRanges.create(38, 13, 40, 31)); + relatedInformation.add(BSLRanges.create(39, 28, 39, 55)); checkDiagnosticContent( diagnostics.get(4), - Ranges.create(38, 13, 40, 31), + BSLRanges.create(38, 13, 40, 31), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(42, 13, 51, 50)); - relatedInformation.add(Ranges.create(47, 28, 47, 63)); - relatedInformation.add(Ranges.create(48, 28, 48, 58)); - relatedInformation.add(Ranges.create(50, 28, 50, 62)); + relatedInformation.add(BSLRanges.create(42, 13, 51, 50)); + relatedInformation.add(BSLRanges.create(47, 28, 47, 63)); + relatedInformation.add(BSLRanges.create(48, 28, 48, 58)); + relatedInformation.add(BSLRanges.create(50, 28, 50, 62)); checkDiagnosticContent( diagnostics.get(5), - Ranges.create(42, 13, 51, 50), + BSLRanges.create(42, 13, 51, 50), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(53, 13, 55, 79)); - relatedInformation.add(Ranges.create(54, 28, 55, 78)); + relatedInformation.add(BSLRanges.create(53, 13, 55, 79)); + relatedInformation.add(BSLRanges.create(54, 28, 55, 78)); checkDiagnosticContent( diagnostics.get(6), - Ranges.create(53, 13, 55, 79), + BSLRanges.create(53, 13, 55, 79), relatedInformation); relatedInformation.clear(); - relatedInformation.add(Ranges.create(54, 28, 55, 78)); - relatedInformation.add(Ranges.create(55, 44, 55, 77)); + relatedInformation.add(BSLRanges.create(54, 28, 55, 78)); + relatedInformation.add(BSLRanges.create(55, 44, 55, 77)); checkDiagnosticContent( diagnostics.get(7), - Ranges.create(54, 28, 55, 78), + BSLRanges.create(54, 28, 55, 78), relatedInformation); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java index 890285a6941..10a1df035e0 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.Assertions; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -45,9 +45,9 @@ void runTest() { // then assertThat(diagnostics).hasSize(2); - assertThat(diagnostics.get(0).getRange()).isEqualTo(Ranges.create(35, 8, 35, 12)); + assertThat(diagnostics.get(0).getRange()).isEqualTo(BSLRanges.create(35, 8, 35, 12)); assertThat(diagnostics.get(0).getRelatedInformation().size()).isEqualTo(5); - assertThat(diagnostics.get(1).getRange()).isEqualTo(Ranges.create(50, 6, 50, 10)); + assertThat(diagnostics.get(1).getRange()).isEqualTo(BSLRanges.create(50, 6, 50, 10)); assertThat(diagnostics.get(1).getRelatedInformation().size()).isEqualTo(7); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java index be7d583c591..867d818fba1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.apache.commons.io.FileUtils; @@ -229,7 +229,7 @@ void testHTTPServiceModule() throws IOException { ; } - private DocumentContext getFixtureDocumentContextByModuleType(ModuleType moduleType) throws IOException { + private BSLDocumentContext getFixtureDocumentContextByModuleType(ModuleType moduleType) throws IOException { Path tempFile = Paths.get(CONFIGURATION_PATH.toString(), pathByModuleType.getOrDefault(moduleType, "Module.bsl") ); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java index d710e0c7b0b..7b594e3ee0c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -68,7 +68,7 @@ void testQuickFixStartLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - Ranges.create(12, 5, 12, 9) + BSLRanges.create(12, 5, 12, 9) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java index a7ec94664ab..cc013320755 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -42,30 +42,30 @@ void test() { assertThat(diagnostics) .hasSize(21) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(27, 4, 27, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(40, 4, 40, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(44, 4, 44, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(52, 4, 52, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(53, 4, 53, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(56, 4, 56, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(83, 4, 83, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(87, 4, 87, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(88, 4, 88, 24))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(101, 4, 101, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(93, 8, 93, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(95, 8, 95, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(97, 8, 97, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(113, 4, 113, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(106, 8, 106, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(110, 8, 110, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(108, 8, 108, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(31, 4, 31, 22)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(27, 4, 27, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(40, 4, 40, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(44, 4, 44, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(52, 4, 52, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(53, 4, 53, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(56, 4, 56, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(83, 4, 83, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(87, 4, 87, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(88, 4, 88, 24))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(101, 4, 101, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(93, 8, 93, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(95, 8, 95, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(97, 8, 97, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(113, 4, 113, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(106, 8, 106, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(110, 8, 110, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(108, 8, 108, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(31, 4, 31, 22)) && diagnostic.getMessage().matches(".*CommitTransaction.*")) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(31, 4, 31, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(31, 4, 31, 22)) && diagnostic.getMessage().matches(".*RollbackTransaction.*"))) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(45, 4, 45, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(45, 4, 45, 22)) && diagnostic.getMessage().matches(".*ЗафиксироватьТранзакцию.*"))) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(45, 4, 45, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(45, 4, 45, 22)) && diagnostic.getMessage().matches(".*ОтменитьТранзакцию.*"))); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java index d932bd7c654..ad0989653b4 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -56,7 +56,7 @@ void testQuickFix() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - Ranges.create(6, 10, 6, 10) + BSLRanges.create(6, 10, 6, 10) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java index 2c1639b07d9..9596eb8dd17 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.LSLauncher; @@ -51,7 +51,7 @@ class SmokyTest { @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Autowired private Collection diagnosticInfos; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java index abefcdeb5c1..c4e9e9591b4 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -77,7 +77,7 @@ void testQuickFixStartLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - Ranges.create(6, 10, 6, 20) + BSLRanges.create(6, 10, 6, 20) ); assertThat(quickFixes) @@ -100,7 +100,7 @@ void testQuickFixInLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(1), - Ranges.create(8, 12, 8, 26) + BSLRanges.create(8, 12, 8, 26) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java index b8036d616dc..c40b4a89c19 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.junit.jupiter.api.Test; @@ -37,7 +37,7 @@ class ThisObjectAssignDiagnosticTest extends AbstractDiagnosticTest diagnostics = getDiagnosticsFiltered(documentContext); @@ -49,7 +49,7 @@ void test832() { @Test void test833() { - DocumentContext documentContext = setCompatibilityMode(new CompatibilityMode(3, 4)); + BSLDocumentContext documentContext = setCompatibilityMode(new CompatibilityMode(3, 4)); // List diagnostics = getDiagnosticsFiltered(documentContext); // assertThat(diagnostics).hasSize(1); @@ -61,7 +61,7 @@ void test833() { @Test void test836() { - DocumentContext documentContext = setCompatibilityMode(new CompatibilityMode(3, 14)); + BSLDocumentContext documentContext = setCompatibilityMode(new CompatibilityMode(3, 14)); // List diagnostics = getDiagnosticsFiltered(documentContext); // assertThat(diagnostics).hasSize(1); @@ -70,7 +70,7 @@ void test836() { } - private DocumentContext setCompatibilityMode(CompatibilityMode version) { + private BSLDocumentContext setCompatibilityMode(CompatibilityMode version) { var documentContext = spy(getDocumentContext()); var serverContext = spy(documentContext.getServerContext()); @@ -85,7 +85,7 @@ private DocumentContext setCompatibilityMode(CompatibilityMode version) { return documentContext; } -// private List getDiagnosticsFiltered(DocumentContext documentContext) { +// private List getDiagnosticsFiltered(BSLDocumentContext documentContext) { //// DiagnosticSupplier diagnosticSupplier = new DiagnosticSupplier(LanguageServerConfiguration.create()); //// //// return diagnosticSupplier diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java index 8de3f2b08eb..2407f345bad 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; @@ -95,7 +95,7 @@ void testCompatibilityMode8310() { // when Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic.bsl").toAbsolutePath(); initServerContext(Paths.get("./src/test/resources/metadata").toAbsolutePath()); - DocumentContext newDocumentContext = TestUtils.getDocumentContext( + BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context @@ -139,7 +139,7 @@ void testCompatibilityMode836() { Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic836.bsl").toAbsolutePath(); initServerContext(tempDir.toAbsolutePath()); - DocumentContext newDocumentContext = TestUtils.getDocumentContext( + BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context @@ -183,7 +183,7 @@ void testCompatibilityMode837() { Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic837.bsl").toAbsolutePath(); initServerContext(tempDir.toAbsolutePath()); - DocumentContext newDocumentContext = TestUtils.getDocumentContext( + BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java index 32a2e4763d5..232857e693a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; @@ -40,7 +40,7 @@ class UsingModalWindowsDiagnosticTest extends AbstractDiagnosticTest { @SpyBean - private ServerContext context; + private BSLServerContext context; UsingModalWindowsDiagnosticTest() { super(UsingModalWindowsDiagnostic.class); @@ -61,7 +61,7 @@ void testDontUse() { @Test void testUse() { - DocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); List diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).isEmpty(); } @@ -69,7 +69,7 @@ void testUse() { @Test void testUseWithForce() { - DocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); Map configuration = diagnosticInstance.getInfo().getDefaultConfiguration(); configuration.put("forceModalityMode", true); @@ -83,34 +83,34 @@ void testUseWithForce() { private void assertDiagnosticList(List diagnostics) { assertThat(diagnostics).hasSize(12) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(2, 12, 3, 57)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(2, 12, 3, 57)) && diagnostic.getMessage().matches(".*(модального|modal).*Вопрос.*ПоказатьВопрос.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(21, 4, 21, 84)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(21, 4, 21, 84)) && diagnostic.getMessage().matches(".*(модального|modal).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(29, 4, 29, 26)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(29, 4, 29, 26)) && diagnostic.getMessage().matches(".*(модального|modal).*ОткрытьЗначение.*ПоказатьЗначение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(43, 9, 43, 58)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(43, 9, 43, 58)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиДату.*ПоказатьВводДаты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(72, 9, 72, 67)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(72, 9, 72, 67)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиЗначение.*ПоказатьВводЗначения.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(103, 9, 103, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(103, 9, 103, 50)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиСтроку.*ПоказатьВводСтроки.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(122, 9, 122, 61)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(122, 9, 122, 61)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиЧисло.*ПоказатьВводЧисла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(138, 4, 138, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(138, 4, 138, 50)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьВнешнююКомпоненту.*НачатьУстановкуВнешнейКомпоненты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(148, 4, 148, 33)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(148, 4, 148, 33)) && diagnostic.getMessage().matches(".*(модального|modal).*ОткрытьФормуМодально.*ОткрытьФорму.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(159, 20, 159, 56)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(159, 20, 159, 56)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьРасширениеРаботыСФайлами.*НачатьУстановкуРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(172, 20, 172, 62)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(172, 20, 172, 62)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьРасширениеРаботыСКриптографией.*НачатьУстановкуРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(186, 4, 186, 88)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(186, 4, 186, 88)) && diagnostic.getMessage().matches(".*(модального|modal).*ПоместитьФайл.*НачатьПомещениеФайла.*")); } - private DocumentContext getDocumentContextWithUseFlag(UseMode useMode) { + private BSLDocumentContext getDocumentContextWithUseFlag(UseMode useMode) { var path = Absolute.path(PATH_TO_METADATA); var testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java index f798c5e29f8..cb247afed48 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; @@ -52,73 +52,73 @@ void testDontUse() { assertThat(diagnostics) .hasSize(28) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(2, 12, 3, 57)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(2, 12, 3, 57)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Вопрос.*ПоказатьВопрос.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(21, 4, 21, 84)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(21, 4, 21, 84)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(29, 4, 29, 26)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(29, 4, 29, 26)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ОткрытьЗначение.*ПоказатьЗначение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(43, 9, 43, 58)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(43, 9, 43, 58)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиДату.*ПоказатьВводДаты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(72, 9, 72, 67)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(72, 9, 72, 67)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиЗначение.*ПоказатьВводЗначения.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(103, 9, 103, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(103, 9, 103, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиСтроку.*ПоказатьВводСтроки.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(122, 9, 122, 61)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(122, 9, 122, 61)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиЧисло.*ПоказатьВводЧисла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(138, 4, 138, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(138, 4, 138, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьВнешнююКомпоненту.*НачатьУстановкуВнешнейКомпоненты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(148, 4, 148, 33)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(148, 4, 148, 33)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ОткрытьФормуМодально.*ОткрытьФорму.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(159, 20, 159, 56)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(159, 20, 159, 56)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьРасширениеРаботыСФайлами.*НачатьУстановкуРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(172, 20, 172, 62)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(172, 20, 172, 62)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьРасширениеРаботыСКриптографией.*НачатьУстановкуРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(184, 12, 184, 54)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(184, 12, 184, 54)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПодключитьРасширениеРаботыСКриптографией.*НачатьПодключениеРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(185, 8, 185, 129)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(185, 8, 185, 129)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(198, 12, 198, 48)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(198, 12, 198, 48)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПодключитьРасширениеРаботыСФайлами.*НачатьПодключениеРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(199, 8, 199, 109)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(199, 8, 199, 109)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(214, 4, 214, 88)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(214, 4, 214, 88)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПоместитьФайл.*НачатьПомещениеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(225, 4, 225, 68)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(225, 4, 225, 68)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КопироватьФайл.*НачатьКопированиеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(236, 4, 236, 69)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(236, 4, 236, 69)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПереместитьФайл.*НачатьПеремещениеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(247, 21, 247, 51)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(247, 21, 247, 51)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*НайтиФайлы.*НачатьПоискФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(260, 8, 260, 37)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(260, 8, 260, 37)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УдалитьФайлы.*НачатьУдалениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(274, 4, 274, 29)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(274, 4, 274, 29)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*СоздатьКаталог.*НачатьСозданиеКаталога.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(285, 16, 285, 40)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(285, 16, 285, 40)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КаталогВременныхФайлов.*НачатьПолучениеКаталогаВременныхФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(296, 16, 296, 35)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(296, 16, 296, 35)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КаталогДокументов.*НачатьПолучениеКаталогаДокументов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(307, 16, 307, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(307, 16, 307, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*РабочийКаталогДанныхПользователя.*НачатьПолучениеРабочегоКаталогаДанныхПользователя.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(318, 16, 318, 89)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(318, 16, 318, 89)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПолучитьФайлы.*НачатьПолучениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(344, 16, 344, 64)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(344, 16, 344, 64)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПоместитьФайлы.*НачатьПомещениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(368, 12, 368, 59)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(368, 12, 368, 59)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ЗапроситьРазрешениеПользователя.*НачатьЗапросРазрешенияПользователя.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(391, 4, 391, 38)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(391, 4, 391, 38)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ЗапуститьПриложение.*НачатьЗапускПриложения.*")); } @Test void testUse() { - DocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); List diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).isEmpty(); } - private DocumentContext getDocumentContextWithUseFlag(UseMode useMode) { + private BSLDocumentContext getDocumentContextWithUseFlag(UseMode useMode) { var path = Absolute.path(PATH_TO_METADATA); var testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java index 640ec75f067..fe78708ca59 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -65,7 +65,7 @@ void runTest() { @Test void runQuickFixTest() { - final DocumentContext documentContext = getDocumentContext(); + final BSLDocumentContext documentContext = getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic firstDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java index 7d2c201bb7a..2850c718586 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java @@ -21,8 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.DeprecatedAttributes8312Diagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.EmptyCodeBlockDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.MultilingualStringHasAllDeclaredLanguagesDiagnostic; @@ -42,7 +41,7 @@ class DiagnosticInfoTest { @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Test void testParameter() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java similarity index 88% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java index 489423afe0f..eec8550d707 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeActionProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java @@ -21,10 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.CanonicalSpellingKeywordsDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.CodeAction; @@ -49,19 +48,19 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -class CodeActionProviderTest { +class BSLCodeActionProviderTest { @Autowired - private CodeActionProvider codeActionProvider; + private BSLCodeActionProvider codeActionProvider; @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Test void testGetCodeActions() { // given String filePath = "./src/test/resources/providers/codeAction.bsl"; - DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); List diagnostics = documentContext.getDiagnostics().stream() .filter(diagnostic -> { @@ -102,7 +101,7 @@ void testGetCodeActions() { void testEmptyDiagnosticList() { // given String filePath = "./src/test/resources/providers/codeAction.bsl"; - DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); CodeActionParams params = new CodeActionParams(); TextDocumentIdentifier textDocumentIdentifier = new TextDocumentIdentifier(documentContext.getUri().toString()); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java similarity index 93% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java index d210788d306..b49d1785eaa 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/CodeLensProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.CodeLens; @@ -37,17 +37,17 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -class CodeLensProviderTest { +class BSLCodeLensProviderTest { @Autowired - private CodeLensProvider codeLensProvider; + private BSLCodeLensProvider codeLensProvider; @Test void testGetCodeLens() { // given String filePath = "./src/test/resources/providers/codeLens.bsl"; - DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); // when List codeLenses = codeLensProvider.getCodeLens(documentContext); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java similarity index 89% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java index 815e0dcc859..081a57bb7d2 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -33,17 +33,17 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; @SpringBootTest -class DiagnosticProviderTest { +class BSLDiagnosticProviderTest { @Autowired - private DiagnosticProvider diagnosticProvider; + private BSLDiagnosticProvider diagnosticProvider; @Test void testComputeDiagnostics() { // given // TODO: это тест на новый getDiagnostics, а не на DiagnosticProvider - final DocumentContext documentContext + final BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/diagnosticProvider.bsl"); // when diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java similarity index 81% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java index 80a2948130c..a401d693c26 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentSymbolProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.DocumentSymbol; import org.eclipse.lsp4j.SymbolInformation; import org.eclipse.lsp4j.SymbolKind; @@ -37,15 +37,15 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class DocumentSymbolProviderTest { +class BSLDocumentBSLSymbolProviderTest { @Autowired - private DocumentSymbolProvider documentSymbolProvider; + private BSLDocumentSymbolProvider documentSymbolProvider; @Test void testDocumentSymbol() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/documentSymbol.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/documentSymbol.bsl"); List> documentSymbols = documentSymbolProvider.getDocumentSymbols(documentContext); @@ -56,9 +56,9 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getRight().getKind().equals(SymbolKind.Variable)) .hasSize(3) .extracting(Either::getRight) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(0, 6, 0, 7))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(2, 6, 2, 7))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(2, 9, 2, 10))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(0, 6, 0, 7))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(2, 6, 2, 7))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(2, 9, 2, 10))) ; // methods @@ -66,12 +66,12 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getRight().getKind().equals(SymbolKind.Method)) .hasSize(4) .extracting(Either::getRight) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(4, 0, 5, 14))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(7, 0, 8, 12))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(10, 0, 13, 14))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(47, 0, 48, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(4, 0, 5, 14))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(7, 0, 8, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(10, 0, 13, 14))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(47, 0, 48, 12))) .filteredOn(DocumentSymbol::getDeprecated) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(47, 0, 48, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(47, 0, 48, 12))) ; // sub vars @@ -81,9 +81,9 @@ void testDocumentSymbol() { .flatExtracting(DocumentSymbol::getChildren) .filteredOn(documentSymbol -> documentSymbol.getKind() == SymbolKind.Variable) .hasSize(3) - .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(11, 10, 11, 11))) - .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(12, 10, 12, 11))) - .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(12, 12, 12, 13))) + .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(11, 10, 11, 11))) + .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(12, 10, 12, 11))) + .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(12, 12, 12, 13))) ; // regions @@ -99,8 +99,8 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getKind() == SymbolKind.Method) .hasSize(2) - .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(17, 0, 19, 14))) - .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(36, 0, 42, 14))) + .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(17, 0, 19, 14))) + .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(36, 0, 42, 14))) ; DocumentSymbol externalRegion = documentSymbols.stream() diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java similarity index 92% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java index 3cc19165a69..71f8303710b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java @@ -21,9 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.configuration.Language; -import com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; @@ -35,13 +34,13 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class DocumentLinkProviderTest { +class BSLDocumentLinkProviderTest { @Autowired - private LanguageServerConfiguration configuration; + private BSLLanguageServerConfiguration configuration; @Autowired - private DocumentLinkProvider documentLinkProvider; + private BSLDocumentLinkProvider documentLinkProvider; private static final String SITE_URL = "https://1c-syntax.github.io/bsl-language-server/"; private static final String SITE_EN_URL = "https://1c-syntax.github.io/bsl-language-server/en/"; @@ -170,7 +169,7 @@ void testSiteRoot() { } @NotNull - private DocumentContext getDocumentContext() { + private BSLDocumentContext getDocumentContext() { var filePath = "./src/test/resources/providers/documentLinkProvider.bsl"; var documentContext = TestUtils.getDocumentContextFromFile(filePath); documentContext.getDiagnostics(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java similarity index 87% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java index ae05a6f075c..6ee45b45250 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FoldingRangeProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.FoldingRange; import org.eclipse.lsp4j.FoldingRangeKind; @@ -34,15 +34,15 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class FoldingRangeProviderTest { +class BSLFoldingRangeProviderTest { @Autowired - private FoldingRangeProvider foldingRangeProvider; + private BSLFoldingRangeProvider foldingRangeProvider; @Test void testFoldingRange() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRange.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRange.bsl"); List foldingRanges = foldingRangeProvider.getFoldingRange(documentContext); @@ -81,7 +81,7 @@ void testFoldingRange() { @Test void testFoldingRangeParseError() { - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRangeParseError.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRangeParseError.bsl"); List foldingRanges = foldingRangeProvider.getFoldingRange(documentContext); assertThat(foldingRanges).isEmpty(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java similarity index 91% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java index 5873b57d798..8f5ff847355 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/FormatProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.DocumentFormattingParams; import org.eclipse.lsp4j.DocumentRangeFormattingParams; @@ -45,10 +45,10 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class FormatProviderTest { +class BSLFormatProviderTest { @Autowired - private FormatProvider formatProvider; + private BSLFormatProvider formatProvider; @Test void testRangeFormat() throws IOException { @@ -58,7 +58,7 @@ void testRangeFormat() throws IOException { DocumentRangeFormattingParams params = new DocumentRangeFormattingParams(); params.setTextDocument(getTextDocumentIdentifier()); - params.setRange(Ranges.create(startLine, 0, endLine, 0)); + params.setRange(BSLRanges.create(startLine, 0, endLine, 0)); params.setOptions(new FormattingOptions(4, true)); String fileContent = FileUtils.readFileToString(getTestFile(), StandardCharsets.UTF_8); @@ -74,7 +74,7 @@ void testRangeFormat() throws IOException { formattedFileContent = joiner.toString(); - DocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); @@ -99,7 +99,7 @@ void testFormat() throws IOException { String fileContent = FileUtils.readFileToString(getTestFile(), StandardCharsets.UTF_8); String formattedFileContent = FileUtils.readFileToString(getFormattedTestFile(), StandardCharsets.UTF_8); - DocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); @@ -124,7 +124,7 @@ void testFormatUnaryMinus() { params.setOptions(new FormattingOptions(4, true)); String fileContent = "Возврат-1>-2"; - DocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java similarity index 84% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java index 334a63318b5..84192083720 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/HoverProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.Hover; import org.eclipse.lsp4j.HoverParams; @@ -35,17 +35,17 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class HoverProviderTest { +class BSLHoverProviderTest { @Autowired - private HoverProvider hoverProvider; + private BSLHoverProvider hoverProvider; @Test void getEmptyHover() { HoverParams params = new HoverParams(); params.setPosition(new Position(0, 0)); - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); Optional optionalHover = hoverProvider.getHover(params, documentContext); assertThat(optionalHover).isNotPresent(); @@ -56,7 +56,7 @@ void getHoverOverSubName() { HoverParams params = new HoverParams(); params.setPosition(new Position(0, 20)); - DocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); Optional optionalHover = hoverProvider.getHover(params, documentContext); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java similarity index 96% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProviderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java index 3642c74bc91..994c0f2352b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/SymbolProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.eclipse.lsp4j.SymbolKind; @@ -40,12 +40,12 @@ @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -class SymbolProviderTest { +class BSLSymbolProviderTest { @Autowired - private ServerContext context; + private BSLServerContext context; @Autowired - private SymbolProvider symbolProvider; + private BSLSymbolProvider symbolProvider; @BeforeEach void before() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java index 8dc3fbc556c..f88b74c5f8b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.AfterEach; @@ -62,14 +62,14 @@ void report() { // given Diagnostic diagnostic = new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - DocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java index 7386a28fc69..a7effe6e1b6 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java @@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; @@ -67,7 +67,7 @@ void report() throws IOException { String filePath = "./src/test/resources/context/DocumentContextLocForCoverTest.bsl"; // when - DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); FileInfo fileInfo = new FileInfo(sourceDir, documentContext, new ArrayList<>()); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java index cd18caab019..d823aa197b9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java @@ -22,12 +22,12 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.databind.ObjectMapper; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -82,7 +82,7 @@ void report() throws IOException { var firstInfo = iterator.next().getValue(); var secondInfo = iterator.next().getValue(); diagnostics.add(new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", @@ -90,7 +90,7 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - Ranges.create(0, 1, 2, 4), + BSLRanges.create(0, 1, 2, 4), "message4", DiagnosticSeverity.Error, "test-source2", @@ -98,15 +98,15 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - Ranges.create(3, 1, 4, 4), + BSLRanges.create(3, 1, 4, 4), "message4", DiagnosticSeverity.Error, "test-source2", secondInfo.getCode().getStringValue() )); - DocumentContext documentContext = TestUtils.getDocumentContext(""); - Location location = new Location("file:///fake-uri2.bsl", Ranges.create(0, 2, 2, 3)); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); + Location location = new Location("file:///fake-uri2.bsl", BSLRanges.create(0, 2, 2, 3)); diagnostics.get(0).setRelatedInformation(Collections.singletonList(new DiagnosticRelatedInformation(location, "message"))); String sourceDir = "."; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java index 5f1d9598101..e1434fdde46 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java @@ -23,11 +23,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; @@ -70,7 +70,7 @@ void report() throws IOException { // given List diagnostics = new ArrayList<>(); diagnostics.add(new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", @@ -78,7 +78,7 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - Ranges.create(0, 1, 2, 4), + BSLRanges.create(0, 1, 2, 4), "message4", DiagnosticSeverity.Error, "test-source2", @@ -86,14 +86,14 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - Ranges.create(3, 1, 4, 4), + BSLRanges.create(3, 1, 4, 4), "message4", DiagnosticSeverity.Error, "test-source2", "test3" )); - DocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = TestUtils.getDocumentContext( Paths.get("./src/test/java/diagnostics/CanonicalSpellingKeywordsDiagnostic.bsl").toUri(), "" ); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java index e0e339480b8..fd2bfc4a4ab 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java @@ -22,12 +22,12 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.databind.ObjectMapper; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.reporters.databind.AnalysisInfoObjectMapper; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.Diagnostic; @@ -65,14 +65,14 @@ void report() throws IOException { // given Diagnostic diagnostic = new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - DocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java index 1b7ae196c1d..65c99c09355 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.AfterEach; @@ -70,14 +70,14 @@ void report() { // given Diagnostic diagnostic = new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - DocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java index 48ae9db828f..4050df19f51 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.Test; @@ -37,7 +37,7 @@ class TSLintReportEntryTest { @Test void testConstructor() { Diagnostic diagnostic = new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java index 24a2c0019e8..5ec27f36a1a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java @@ -23,11 +23,11 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; @@ -68,14 +68,14 @@ void report() throws IOException { // given Diagnostic diagnostic = new Diagnostic( - Ranges.create(0, 1, 2, 3), + BSLRanges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - DocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java index 63264704d48..9327939430a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.util; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; @@ -41,7 +41,7 @@ public class TestUtils { public static final String PATH_TO_METADATA = "src/test/resources/metadata"; @SneakyThrows - public static DocumentContext getDocumentContextFromFile(String filePath) { + public static BSLDocumentContext getDocumentContextFromFile(String filePath) { String fileContent = FileUtils.readFileToString( new File(filePath), @@ -51,24 +51,24 @@ public static DocumentContext getDocumentContextFromFile(String filePath) { return getDocumentContext(Path.of(filePath).toUri(), fileContent); } - public static DocumentContext getDocumentContext(URI uri, String fileContent) { - return getDocumentContext(uri, fileContent, TestApplicationContext.getBean(ServerContext.class)); + public static BSLDocumentContext getDocumentContext(URI uri, String fileContent) { + return getDocumentContext(uri, fileContent, TestApplicationContext.getBean(BSLServerContext.class)); } - public static DocumentContext getDocumentContext(String fileContent) { + public static BSLDocumentContext getDocumentContext(String fileContent) { return getDocumentContext(FAKE_DOCUMENT_URI, fileContent); } - public static DocumentContext getDocumentContext(String fileContent, @Nullable ServerContext context) { - ServerContext passedContext = context; + public static BSLDocumentContext getDocumentContext(String fileContent, @Nullable BSLServerContext context) { + BSLServerContext passedContext = context; if (passedContext == null) { - passedContext = TestApplicationContext.getBean(ServerContext.class); + passedContext = TestApplicationContext.getBean(BSLServerContext.class); } return getDocumentContext(FAKE_DOCUMENT_URI, fileContent, passedContext); } - public static DocumentContext getDocumentContext(URI uri, String fileContent, ServerContext context) { + public static BSLDocumentContext getDocumentContext(URI uri, String fileContent, BSLServerContext context) { return context.addDocument(uri, fileContent); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java index 5006d35a951..5f8fd2efe4c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.util.assertions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.assertj.core.api.AbstractAssert; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.CodeAction; @@ -39,7 +39,7 @@ public class CodeActionAssert extends AbstractAssert { - private DocumentContext documentContext; + private BSLDocumentContext documentContext; private BSLDiagnostic bslDiagnostic; public CodeActionAssert(CodeAction actual) { @@ -55,7 +55,7 @@ public CodeActionAssert of(BSLDiagnostic diagnostic) { return this; } - public CodeActionAssert in(DocumentContext documentContext) { + public CodeActionAssert in(BSLDocumentContext documentContext) { this.documentContext = documentContext; return this; } @@ -83,7 +83,7 @@ public CodeActionAssert fixes(Diagnostic diagnostic) { if (start.getCharacter() > 0) { endChar = start.getCharacter() - 1; } - Range startRange = Ranges.create(startLine, startChar, endLine, endChar); + Range startRange = BSLRanges.create(startLine, startChar, endLine, endChar); final String startText = documentContext.getText(startRange); final Position end = range.getEnd(); @@ -92,7 +92,7 @@ public CodeActionAssert fixes(Diagnostic diagnostic) { endLine = contentList.length - 1; endChar = max(contentList[endLine].length() - 1, 0); - Range endRange = Ranges.create(startLine, startChar, endLine, endChar); + Range endRange = BSLRanges.create(startLine, startChar, endLine, endChar); final String endText = documentContext.getText(endRange); // TODO: does not work for several textedits changing content length (missed semicolon ie.) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java index 16f867794f9..36d9876d447 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.util.assertions; -import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import org.assertj.core.api.AbstractAssert; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.Range; @@ -43,7 +43,7 @@ public DiagnosticAssert hasRange(int startLine, int startChar, int endLine, int isNotNull(); // check condition - Range expectedRange = Ranges.create(startLine, startChar, endLine, endChar); + Range expectedRange = BSLRanges.create(startLine, startChar, endLine, endChar); Range actualRange = actual.getRange(); if (!Objects.equals(actualRange, expectedRange)) { failWithMessage("Expected diagnostic's range to be <%s> but was <%s>", expectedRange.toString(), actualRange.toString()); From b429da8a51b5c1f80395d511fb345021527348c8 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Fri, 23 Oct 2020 09:30:00 +0300 Subject: [PATCH 5/7] =?UTF-8?q?cli=20+=20utils=20=D0=B7=D0=B0=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=88=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java | 4 ++-- .../_1c_syntax/bsl/languageserver/cli/FormatCommand.java | 4 ++-- .../languageserver/utils/MultilingualStringAnalyser.java | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java index b83bd3f96bc..40221ee0f88 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java @@ -28,6 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.ReportersAggregator; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; +import com.github._1c_syntax.ls_core.cli.CLICommand; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import com.github._1c_syntax.utils.Absolute; import lombok.RequiredArgsConstructor; @@ -48,7 +49,6 @@ import java.util.Collection; import java.util.List; import java.util.Optional; -import java.util.concurrent.Callable; import java.util.stream.Collectors; import static picocli.CommandLine.Option; @@ -87,7 +87,7 @@ footer = "@|green Copyright(c) 2018-2020|@") @Component @RequiredArgsConstructor -public class AnalyzeCommand implements Callable { +public class AnalyzeCommand implements CLICommand { private static class ReportersKeys extends ArrayList { ReportersKeys(ReportersAggregator aggregator) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java index 4eb0aeed0c0..2832c46c069 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.providers.BSLFormatProvider; +import com.github._1c_syntax.ls_core.cli.CLICommand; import com.github._1c_syntax.utils.Absolute; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -43,7 +44,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.concurrent.Callable; import static picocli.CommandLine.Command; import static picocli.CommandLine.Option; @@ -72,7 +72,7 @@ footer = "@|green Copyright(c) 2018-2020|@") @Component @RequiredArgsConstructor -public class FormatCommand implements Callable { +public class FormatCommand implements CLICommand { private final BSLServerContext serverContext; private final BSLFormatProvider formatProvider; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java index 085a858f57c..41f8b93f3fb 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.utils; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -97,7 +98,7 @@ private static boolean isTemplate(BSLParser.GlobalMethodCallContext parent) { private static String getVariableName(BSLParser.GlobalMethodCallContext ctx) { BSLParser.AssignmentContext assignment = (BSLParser.AssignmentContext) - BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); + Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); if (assignment != null) { BSLParser.LValueContext lValue = assignment.lValue(); @@ -178,7 +179,7 @@ private boolean istVariableUsingInTemplate() { return false; } - return BSLTrees.findAllRuleNodes(codeBlock, BSLParser.RULE_globalMethodCall) + return Trees.findAllRuleNodes(codeBlock, BSLParser.RULE_globalMethodCall) .stream() .filter(node -> ((BSLParser.GlobalMethodCallContext) node).getStart().getLine() > globalMethodCallContext.getStart().getLine()) @@ -191,10 +192,9 @@ private boolean istVariableUsingInTemplate() { } private BSLParser.CodeBlockContext getCodeBlock() { - return (BSLParser.CodeBlockContext) BSLTrees.getAncestorByRuleIndex( + return (BSLParser.CodeBlockContext) Trees.getAncestorByRuleIndex( globalMethodCallContext, BSLParser.RULE_codeBlock ); } - } From c81a4c3c1af9b77edac934682736e319f6c736bb Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Fri, 23 Oct 2020 16:15:52 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsl/languageserver/BSLLSBinding.java | 4 +- .../bsl/languageserver/TestApplication.java | 9 + .../languageserver/cli/AnalyzeCommand.java | 4 +- .../bsl/languageserver/cli/FormatCommand.java | 2 +- .../GenerateStandardRegionsSupplier.java | 5 +- .../codeactions/QuickFixSupplier.java | 7 +- .../BSLLanguageServerConfiguration.java | 37 ++- .../diagnostics/BSLDiagnosticsOptions.java | 18 +- .../ConfigurationFileSystemWatcher.java | 1 + .../context/BSLDocumentContext.java | 154 +++---------- .../context/BSLServerContext.java | 156 +++++-------- .../computer/BSLDiagnosticComputer.java | 15 +- ...va => BSLDiagnosticIgnoranceComputer.java} | 38 +--- .../computer/CognitiveComplexityComputer.java | 7 +- .../CyclomaticComplexityComputer.java | 7 +- .../computer/MethodSymbolComputer.java | 6 +- .../context/computer/QueryComputer.java | 1 + .../computer/RegionSymbolComputer.java | 10 +- .../context/computer/SymbolTreeComputer.java | 5 +- .../computer/VariableSymbolComputer.java | 13 +- .../languageserver/context/symbol/Symbol.java | 3 +- .../context/symbol/SymbolTree.java | 10 +- .../diagnostics/AbstractDiagnostic.java | 8 +- .../AbstractListenerDiagnostic.java | 7 +- .../AbstractSDBLVisitorDiagnostic.java | 9 +- .../AbstractVisitorDiagnostic.java | 9 +- .../diagnostics/BSLDiagnostic.java | 22 +- .../diagnostics/BSLDiagnosticStorage.java | 212 +----------------- ...inTransactionBeforeTryCatchDiagnostic.java | 5 +- .../diagnostics/CachedPublicDiagnostic.java | 2 + .../CanonicalSpellingKeywordsDiagnostic.java | 2 + .../CodeBlockBeforeSubDiagnostic.java | 2 + .../CodeOutOfRegionDiagnostic.java | 24 +- .../CognitiveComplexityDiagnostic.java | 6 +- .../CommandModuleExportMethodsDiagnostic.java | 2 + .../diagnostics/CommentedCodeDiagnostic.java | 2 + ...tTransactionOutsideTryCatchDiagnostic.java | 5 +- .../CommonModuleAssignDiagnostic.java | 4 +- .../CommonModuleInvalidTypeDiagnostic.java | 2 + .../CommonModuleNameCachedDiagnostic.java | 2 + .../CommonModuleNameClientDiagnostic.java | 2 + ...ommonModuleNameClientServerDiagnostic.java | 2 + .../CommonModuleNameFullAccessDiagnostic.java | 2 + ...ommonModuleNameGlobalClientDiagnostic.java | 2 + .../CommonModuleNameGlobalDiagnostic.java | 2 + .../CommonModuleNameServerCallDiagnostic.java | 2 + .../CommonModuleNameWordsDiagnostic.java | 2 + .../CompilationDirectiveLostDiagnostic.java | 2 + ...ompilationDirectiveNeedLessDiagnostic.java | 2 + .../ConsecutiveEmptyLinesDiagnostic.java | 5 +- .../CreateQueryInCycleDiagnostic.java | 2 + .../CyclomaticComplexityDiagnostic.java | 6 +- .../DataExchangeLoadingDiagnostic.java | 7 +- .../DeletingCollectionItemDiagnostic.java | 5 +- .../DeprecatedAttributes8312Diagnostic.java | 8 +- .../DeprecatedCurrentDateDiagnostic.java | 2 + .../diagnostics/DeprecatedFindDiagnostic.java | 2 + .../DeprecatedMessageDiagnostic.java | 2 + .../DeprecatedMethodCallDiagnostic.java | 14 +- .../DeprecatedMethods8310Diagnostic.java | 2 + .../DeprecatedMethods8317Diagnostic.java | 2 + .../DeprecatedTypeManagedFormDiagnostic.java | 2 + .../DuplicateRegionDiagnostic.java | 3 + .../diagnostics/EmptyCodeBlockDiagnostic.java | 12 +- .../diagnostics/EmptyRegionDiagnostic.java | 5 +- .../diagnostics/EmptyStatementDiagnostic.java | 9 +- .../ExcessiveAutoTestCheckDiagnostic.java | 2 + .../ExecuteExternalCodeDiagnostic.java | 2 + ...eExternalCodeInCommonModuleDiagnostic.java | 2 + .../ExportVariablesDiagnostic.java | 2 + .../diagnostics/ExtraCommasDiagnostic.java | 2 + .../FormDataToValueDiagnostic.java | 5 +- .../FunctionNameStartsWithGetDiagnostic.java | 2 + .../FunctionOutParameterDiagnostic.java | 7 +- ...unctionReturnsSamePrimitiveDiagnostic.java | 18 +- .../FunctionShouldHaveReturnDiagnostic.java | 8 +- .../diagnostics/GetFormMethodDiagnostic.java | 2 + .../IdenticalExpressionsDiagnostic.java | 2 + .../IfConditionComplexityDiagnostic.java | 8 +- .../IfElseDuplicatedCodeBlockDiagnostic.java | 9 +- .../IfElseDuplicatedConditionDiagnostic.java | 9 +- .../IfElseIfEndsWithElseDiagnostic.java | 2 + .../InvalidCharacterInFileDiagnostic.java | 2 + .../diagnostics/IsInRoleMethodDiagnostic.java | 27 ++- .../JoinWithSubQueryDiagnostic.java | 2 + .../JoinWithVirtualTableDiagnostic.java | 2 + ...atinAndCyrillicSymbolInWordDiagnostic.java | 12 +- .../diagnostics/LineLengthDiagnostic.java | 5 +- .../diagnostics/MagicNumberDiagnostic.java | 5 +- .../MetadataObjectNameLengthDiagnostic.java | 2 + .../diagnostics/MethodSizeDiagnostic.java | 2 + .../MissingCodeTryCatchExDiagnostic.java | 9 +- .../diagnostics/MissingSpaceDiagnostic.java | 2 + ...issingTemporaryFileDeletionDiagnostic.java | 10 +- ...MissingVariablesDescriptionDiagnostic.java | 2 + ...ringHasAllDeclaredLanguagesDiagnostic.java | 2 + ...gualStringUsingWithTemplateDiagnostic.java | 2 + ...ctorsInStructureDeclarationDiagnostic.java | 11 +- .../NestedFunctionInParametersDiagnostic.java | 5 +- .../NestedStatementsDiagnostic.java | 8 +- .../NestedTernaryOperatorDiagnostic.java | 5 +- ...NonExportMethodsInApiRegionDiagnostic.java | 2 + .../NonStandardRegionDiagnostic.java | 2 + .../NumberOfOptionalParamsDiagnostic.java | 2 + .../diagnostics/NumberOfParamsDiagnostic.java | 2 + ...aluesInStructureConstructorDiagnostic.java | 2 + .../diagnostics/OSUsersMethodDiagnostic.java | 2 + .../OneStatementPerLineDiagnostic.java | 8 +- .../diagnostics/OrderOfParamsDiagnostic.java | 2 + .../PairingBrokenTransactionDiagnostic.java | 5 +- .../diagnostics/ParseErrorDiagnostic.java | 5 +- .../ProcedureReturnsValueDiagnostic.java | 5 +- .../PublicMethodsDescriptionDiagnostic.java | 2 + .../diagnostics/RefOveruseDiagnostic.java | 21 +- .../diagnostics/SelfAssignDiagnostic.java | 5 +- .../diagnostics/SelfInsertionDiagnostic.java | 2 + .../SemicolonPresenceDiagnostic.java | 5 +- .../SeveralCompilerDirectivesDiagnostic.java | 8 +- .../SpaceAtStartCommentDiagnostic.java | 2 + .../StyleElementConstructorsDiagnostic.java | 2 + .../diagnostics/TempFilesDirDiagnostic.java | 2 + .../TernaryOperatorUsageDiagnostic.java | 2 + .../ThisObjectAssignDiagnostic.java | 2 + ...TimeoutsInExternalResourcesDiagnostic.java | 15 +- .../diagnostics/TooManyReturnsDiagnostic.java | 11 +- .../diagnostics/TryNumberDiagnostic.java | 5 +- .../diagnostics/TypoDiagnostic.java | 5 +- .../UnaryPlusInConcatenationDiagnostic.java | 5 +- .../diagnostics/UnionAllDiagnostic.java | 2 + .../UnknownPreprocessorSymbolDiagnostic.java | 2 + .../UnreachableCodeDiagnostic.java | 31 +-- .../UnsafeSafeModeMethodCallDiagnostic.java | 18 +- .../UnusedLocalMethodDiagnostic.java | 2 + .../UnusedParametersDiagnostic.java | 12 +- .../diagnostics/UseLessForEachDiagnostic.java | 5 +- .../UsingCancelParameterDiagnostic.java | 8 +- .../UsingExternalCodeToolsDiagnostic.java | 5 +- .../UsingFindElementByStringDiagnostic.java | 2 + .../diagnostics/UsingGotoDiagnostic.java | 2 + ...UsingHardcodeNetworkAddressDiagnostic.java | 7 +- .../UsingHardcodePathDiagnostic.java | 2 + ...ngHardcodeSecretInformationDiagnostic.java | 8 +- .../UsingModalWindowsDiagnostic.java | 4 +- ...UsingObjectNotAvailableUnixDiagnostic.java | 5 +- .../UsingServiceTagDiagnostic.java | 2 + .../UsingSynchronousCallsDiagnostic.java | 9 +- .../diagnostics/UsingThisFormDiagnostic.java | 5 +- ...OfRollbackTransactionMethodDiagnostic.java | 9 +- .../diagnostics/YoLetterUsageDiagnostic.java | 2 + .../DiagnosticBeanPostProcessor.java | 11 +- .../DiagnosticInfosConfiguration.java | 16 +- .../DiagnosticsConfiguration.java | 20 +- ...nosticInfo.java => BSLDiagnosticInfo.java} | 8 +- .../metadata/DiagnosticMetadata.java | 2 + .../metadata/DiagnosticParameterInfo.java | 4 +- .../providers/BSLFoldingRangeProvider.java | 3 +- .../providers/BSLFormatProvider.java | 4 +- .../providers/BSLSymbolProvider.java | 1 + .../reporters/GenericIssueReport.java | 8 +- .../reporters/GenericIssueReporter.java | 4 +- .../reporters/JUnitTestSuites.java | 1 + .../reporters/TSLintReportEntry.java | 1 + .../databind/DiagnosticCodeSerializer.java | 1 + .../languageserver/utils/MdoRefBuilder.java | 3 +- .../languageserver/BSLLanguageServerTest.java | 3 +- .../BSLTextDocumentServiceTest.java | 8 +- .../GenerateStandardRegionsSupplierTest.java | 2 +- .../codeactions/QuickFixSupplierTest.java | 1 + .../BSLLanguageServerConfigurationTest.java | 7 +- .../ConfigurationFileSystemWatcherTest.java | 1 + .../context/BSLDocumentContextTest.java | 6 +- .../context/BSLServerContextTest.java | 13 +- ...> BSLDiagnosticIgnoranceComputerTest.java} | 17 +- .../CognitiveComplexityComputerTest.java | 3 +- .../CyclomaticComplexityComputerTest.java | 3 +- .../computer/MethodSymbolComputerTest.java | 22 +- .../context/computer/QueryComputerTest.java | 2 +- .../context/computer/VariableSymbolTest.java | 60 ++--- .../diagnostics/AbstractDiagnosticTest.java | 23 +- ...sTest.java => BSLDiagnosticInfosTest.java} | 11 +- .../CachedPublicDiagnosticTest.java | 2 +- ...nonicalSpellingKeywordsDiagnosticTest.java | 2 +- .../CodeOutOfRegionDiagnosticTest.java | 3 +- .../CommentedCodeDiagnosticTest.java | 3 +- .../CommonModuleAssignDiagnosticTest.java | 2 +- ...CommonModuleInvalidTypeDiagnosticTest.java | 2 +- .../CommonModuleNameCachedDiagnosticTest.java | 2 +- .../CommonModuleNameClientDiagnosticTest.java | 2 +- ...nModuleNameClientServerDiagnosticTest.java | 2 +- ...monModuleNameFullAccessDiagnosticTest.java | 2 +- ...nModuleNameGlobalClientDiagnosticTest.java | 2 +- .../CommonModuleNameGlobalDiagnosticTest.java | 2 +- ...monModuleNameServerCallDiagnosticTest.java | 2 +- .../CommonModuleNameWordsDiagnosticTest.java | 2 +- ...ompilationDirectiveLostDiagnosticTest.java | 2 +- .../ConsecutiveEmptyLinesDiagnosticTest.java | 4 +- .../DataExchangeLoadingDiagnosticTest.java | 16 +- ...precatedTypeManagedFormDiagnosticTest.java | 2 +- .../diagnostics/DiagnosticsTest.java | 11 +- .../EmptyCodeBlockDiagnosticTest.java | 4 +- .../EmptyRegionDiagnosticTest.java | 2 +- .../EmptyStatementDiagnosticTest.java | 3 +- ...ernalCodeInCommonModuleDiagnosticTest.java | 2 +- ...ElseDuplicatedCodeBlockDiagnosticTest.java | 22 +- ...ElseDuplicatedConditionDiagnosticTest.java | 30 +-- ...etadataObjectNameLengthDiagnosticTest.java | 2 +- .../MissingSpaceDiagnosticTest.java | 3 +- ...sInStructureDeclarationDiagnosticTest.java | 58 ++--- .../NestedStatementsDiagnosticTest.java | 5 +- .../NonStandardRegionDiagnosticTest.java | 2 +- .../OneStatementPerLineDiagnosticTest.java | 3 +- ...airingBrokenTransactionDiagnosticTest.java | 44 ++-- .../SemicolonPresenceDiagnosticTest.java | 3 +- .../languageserver/diagnostics/SmokyTest.java | 6 +- .../SpaceAtStartCommentDiagnosticTest.java | 5 +- .../ThisObjectAssignDiagnosticTest.java | 5 +- ...outsInExternalResourcesDiagnosticTest.java | 19 +- .../UsingModalWindowsDiagnosticTest.java | 32 +-- .../UsingSynchronousCallsDiagnosticTest.java | 62 ++--- .../UsingThisFormDiagnosticTest.java | 2 +- ...foTest.java => BSLDiagnosticInfoTest.java} | 15 +- .../providers/BSLCodeActionProviderTest.java | 9 +- .../providers/BSLCodeLensProviderTest.java | 2 +- .../providers/BSLDiagnosticProviderTest.java | 2 +- .../BSLDocumentBSLSymbolProviderTest.java | 29 +-- .../BSLDocumentLinkProviderTest.java | 3 +- .../BSLFoldingRangeProviderTest.java | 4 +- .../providers/BSLFormatProviderTest.java | 11 +- .../providers/BSLHoverProviderTest.java | 4 +- .../providers/BSLSymbolProviderTest.java | 2 +- .../reporters/ConsoleReporterTest.java | 5 +- .../reporters/GenericCoverageTest.java | 2 +- .../reporters/GenericReporterTest.java | 15 +- .../reporters/JUnitReporterTest.java | 9 +- .../reporters/JsonReporterTest.java | 5 +- .../reporters/ReportersAggregatorTest.java | 5 +- .../reporters/TSLintReportEntryTest.java | 3 +- .../reporters/TSLintReporterTest.java | 5 +- .../bsl/languageserver/util/TestUtils.java | 12 +- .../util/assertions/CodeActionAssert.java | 6 +- .../util/assertions/DiagnosticAssert.java | 3 +- 241 files changed, 1128 insertions(+), 1084 deletions(-) create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java rename src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/{DiagnosticIgnoranceComputer.java => BSLDiagnosticIgnoranceComputer.java} (80%) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/{DiagnosticInfo.java => BSLDiagnosticInfo.java} (95%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/{DiagnosticIgnoranceComputerTest.java => BSLDiagnosticIgnoranceComputerTest.java} (80%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/{DiagnosticInfosTest.java => BSLDiagnosticInfosTest.java} (92%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/{DiagnosticInfoTest.java => BSLDiagnosticInfoTest.java} (89%) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java index 4bb6822361f..b6c40b84ccd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSBinding.java @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import lombok.AccessLevel; import lombok.Getter; import org.springframework.boot.Banner; @@ -61,7 +61,7 @@ public static ConfigurableApplicationContext getApplicationContext() { } @SuppressWarnings("unchecked") - public static Collection getDiagnosticInfos() { + public static Collection getDiagnosticInfos() { return getApplicationContext().getBean("diagnosticInfos", Collection.class); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java new file mode 100644 index 00000000000..4629170108c --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java @@ -0,0 +1,9 @@ +package com.github._1c_syntax.bsl.languageserver; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +@ComponentScan("com.github._1c_syntax.ls_core") +public class TestApplication { +} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java index 40221ee0f88..ed8f1b5fffd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java @@ -169,7 +169,7 @@ public Integer call() { configuration.update(configurationFile); Path configurationPath = BSLLanguageServerConfiguration.getCustomConfigurationRoot(configuration, srcDir); - context.setConfigurationRoot(configurationPath); + context.setProjectRoot(configurationPath); Collection files = FileUtils.listFiles(srcDir.toFile(), new String[]{"bsl", "os"}, true); @@ -209,7 +209,7 @@ private FileInfo getFileInfoFromFile(Path srcDir, File file) { throw new RuntimeException(e); } - BSLDocumentContext documentContext = context.addDocument(file.toURI(), textDocumentContent); + var documentContext = (BSLDocumentContext) context.addDocument(file.toURI(), textDocumentContent); Path filePath = srcDir.relativize(Absolute.path(file)); List diagnostics = documentContext.getDiagnostics(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java index 2832c46c069..0911d592cf3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/FormatCommand.java @@ -138,7 +138,7 @@ private void formatFile(File file) { String textDocumentContent = FileUtils.readFileToString(file, StandardCharsets.UTF_8); final URI uri = file.toURI(); - BSLDocumentContext documentContext = serverContext.addDocument(uri, textDocumentContent); + var documentContext = (BSLDocumentContext) serverContext.addDocument(uri, textDocumentContent); DocumentFormattingParams params = new DocumentFormattingParams(); FormattingOptions options = new FormattingOptions(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java index e309eda3a18..cc539b68be1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplier.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.utils.Regions; +import com.github._1c_syntax.ls_core.configuration.Language; import com.github._1c_syntax.mdclasses.metadata.Configuration; import com.github._1c_syntax.mdclasses.metadata.additional.ConfigurationSource; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -116,11 +117,11 @@ public List getCodeActions(CodeActionParams params, BSLDocumentConte private ScriptVariant getRegionsLanguage(BSLDocumentContext documentContext, FileType fileType) { ScriptVariant regionsLanguage; - Configuration configuration = documentContext.getServerContext().getConfiguration(); + Configuration configuration = documentContext.getMDConfiguration(); if (configuration.getConfigurationSource() == ConfigurationSource.EMPTY || fileType == FileType.OS) { regionsLanguage = getScriptVariantFromConfigLanguage(); } else { - regionsLanguage = documentContext.getServerContext().getConfiguration().getScriptVariant(); + regionsLanguage = documentContext.getMDConfiguration().getScriptVariant(); } return regionsLanguage; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java index b51a225324f..dc5fd774418 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java @@ -24,7 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.springframework.stereotype.Component; @@ -36,7 +37,7 @@ @RequiredArgsConstructor public class QuickFixSupplier { - private final Map diagnosticInfos; + private final Map diagnosticInfos; private final DiagnosticConfiguration diagnosticConfiguration; // TODO: Рефакторинг апи квик-фиксов. @@ -50,7 +51,7 @@ public > Optional (Class) aClass); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java index 5b0f2624969..8cca8725fe8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java @@ -29,7 +29,9 @@ import com.github._1c_syntax.bsl.languageserver.configuration.codelens.CodeLensOptions; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.BSLDiagnosticsOptions; import com.github._1c_syntax.bsl.languageserver.configuration.documentlink.DocumentLinkOptions; +import com.github._1c_syntax.ls_core.configuration.LSPFeature; import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.configuration.LanguageServerConfiguration; import com.github._1c_syntax.ls_core.configuration.watcher.LanguageServerConfigurationChangeEvent; import com.github._1c_syntax.ls_core.configuration.watcher.LanguageServerConfigurationFileChangeEvent; import com.github._1c_syntax.utils.Absolute; @@ -54,8 +56,10 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -65,7 +69,7 @@ /** * Корневой класс конфигурации BSL Language Server. *

- * В обычном режиме работы провайдеры и прочие классы могут расчитывать на единственность объекта конфигурации + * В обычном режиме работы провайдеры и прочие классы могут рассчитывать на единственность объекта конфигурации * и безопасно сохранять ссылку на конфигурацию или ее части. */ @Data @@ -75,7 +79,7 @@ @NoArgsConstructor @Slf4j @JsonIgnoreProperties(ignoreUnknown = true) -public class BSLLanguageServerConfiguration implements ApplicationEventPublisherAware { +public class BSLLanguageServerConfiguration implements LanguageServerConfiguration { private static final Pattern searchConfiguration = Pattern.compile("Configuration\\.(xml|mdo)$"); @@ -107,6 +111,13 @@ public class BSLLanguageServerConfiguration implements ApplicationEventPublisher @Getter(value = AccessLevel.NONE) private ApplicationEventPublisher applicationEventPublisher; + /** + * Доступные фичи language server + */ + @JsonIgnore + private Set lspFeatures; + + @Override public void update(File configurationFile) { if (!configurationFile.exists()) { return; @@ -114,7 +125,7 @@ public void update(File configurationFile) { BSLLanguageServerConfiguration configuration; - ObjectMapper mapper = new ObjectMapper(); + var mapper = new ObjectMapper(); mapper.enable(ACCEPT_CASE_INSENSITIVE_ENUMS); try { @@ -131,13 +142,29 @@ public void update(File configurationFile) { notifyConfigurationChanged(); } - + @Override public void reset() { copyPropertiesFrom(new BSLLanguageServerConfiguration()); notifyConfigurationFileChanged(); notifyConfigurationChanged(); } - + + @Override + public void addLSPFeature(LSPFeature lspFeature) { + if (lspFeatures == null) { + lspFeatures = new HashSet<>(); + } + lspFeatures.add(lspFeature); + } + + @Override + public boolean isLSPFeature(LSPFeature lspFeature) { + if (lspFeatures == null) { + return false; + } + return lspFeatures.contains(lspFeature); + } + public static Path getCustomConfigurationRoot(BSLLanguageServerConfiguration configuration, Path srcDir) { Path rootPath = null; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java index 67bebda0fdf..c013cbeb5d0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java @@ -23,30 +23,20 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.databind.ParametersDeserializer; -import com.github._1c_syntax.ls_core.configuration.diagnostics.ComputeTrigger; -import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; +import com.github._1c_syntax.ls_core.configuration.diagnostics.CoreDiagnosticsOptions; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.eclipse.lsp4j.jsonrpc.messages.Either; - -import java.util.HashMap; -import java.util.Map; /** * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider} */ +@EqualsAndHashCode(callSuper = true) @Data @AllArgsConstructor(onConstructor = @__({@JsonCreator(mode = JsonCreator.Mode.DISABLED)})) @NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) -public class BSLDiagnosticsOptions { - private ComputeTrigger computeTrigger = ComputeTrigger.ONSAVE; +public class BSLDiagnosticsOptions extends CoreDiagnosticsOptions { private SkipSupport skipSupport = SkipSupport.NEVER; - private Mode mode = Mode.ON; - - @JsonDeserialize(using = ParametersDeserializer.class) - private Map>> parameters = new HashMap<>(); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java index b449b68908e..3015201b485 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcher.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.configuration.watcher; import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.ls_core.configuration.watcher.LanguageServerConfigurationFileChangeEvent; import com.github._1c_syntax.utils.Absolute; import com.sun.nio.file.SensitivityWatchEventModifier; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java index f72e479ec65..4016676fdd9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContext.java @@ -21,23 +21,25 @@ */ package com.github._1c_syntax.bsl.languageserver.context; +import com.github._1c_syntax.bsl.languageserver.context.computer.BSLDiagnosticIgnoranceComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.CognitiveComplexityComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.ComplexityData; import com.github._1c_syntax.bsl.languageserver.context.computer.CyclomaticComplexityComputer; -import com.github._1c_syntax.bsl.languageserver.context.computer.BSLDiagnosticComputer; -import com.github._1c_syntax.bsl.languageserver.context.computer.DiagnosticIgnoranceComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.QueryComputer; import com.github._1c_syntax.bsl.languageserver.context.computer.SymbolTreeComputer; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.bsl.parser.BSLTokenizer; import com.github._1c_syntax.bsl.parser.SDBLTokenizer; -import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.context.CoreDocumentContext; +import com.github._1c_syntax.ls_core.context.computer.DiagnosticComputer; +import com.github._1c_syntax.ls_core.context.computer.DiagnosticIgnoranceComputer; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; +import com.github._1c_syntax.mdclasses.metadata.Configuration; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.mdclasses.metadata.additional.SupportVariant; @@ -46,12 +48,8 @@ import org.antlr.v4.runtime.tree.TerminalNodeImpl; import org.antlr.v4.runtime.tree.Tree; import org.apache.commons.io.FilenameUtils; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.Position; -import org.eclipse.lsp4j.Range; import java.net.URI; -import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Map; @@ -61,22 +59,14 @@ import java.util.stream.Collectors; import static java.util.Objects.requireNonNull; -import static org.antlr.v4.runtime.Token.DEFAULT_CHANNEL; -public class BSLDocumentContext { - - private final URI uri; - private String content; - private final BSLServerContext context; - private final BSLDiagnosticComputer diagnosticComputer; +public class BSLDocumentContext extends CoreDocumentContext { private final FileType fileType; private BSLTokenizer tokenizer; private final ReentrantLock computeLock = new ReentrantLock(); - private final ReentrantLock diagnosticsLock = new ReentrantLock(); - private final Lazy contentList = new Lazy<>(this::computeContentList, computeLock); private final Lazy moduleType = new Lazy<>(this::computeModuleType, computeLock); private final Lazy> supportVariants = new Lazy<>(this::computeSupportVariants, computeLock); @@ -85,38 +75,20 @@ public class BSLDocumentContext { = new Lazy<>(this::computeCognitiveComplexity, computeLock); private final Lazy cyclomaticComplexityData = new Lazy<>(this::computeCyclomaticComplexity, computeLock); - private final Lazy diagnosticIgnoranceData - = new Lazy<>(this::computeDiagnosticIgnorance, computeLock); private final Lazy metrics = new Lazy<>(this::computeMetrics, computeLock); - private final Lazy> diagnostics = new Lazy<>(this::computeDiagnostics, diagnosticsLock); private final Lazy> queries = new Lazy<>(this::computeQueries, computeLock); - public BSLDocumentContext(URI uri, String content, BSLServerContext context, BSLDiagnosticComputer diagnosticComputer) { - this.uri = uri; - this.content = content; - this.context = context; - this.diagnosticComputer = diagnosticComputer; + public BSLDocumentContext(URI uri, String content, BSLServerContext context, DiagnosticComputer diagnosticComputer) { + super(uri, content, context, diagnosticComputer); this.tokenizer = new BSLTokenizer(content); - this.fileType = computeFileType(this.uri); - } - - public BSLServerContext getServerContext() { - return context; - } - - public String getContent() { - requireNonNull(content); - return content; - } - - public String[] getContentList() { - return contentList.getOrCompute(); + this.fileType = computeFileType(getUri()); } + @Override public BSLParser.FileContext getAst() { - requireNonNull(content); + requireNonNull(getContent()); return tokenizer.getAst(); } @@ -124,13 +96,16 @@ public SymbolTree getSymbolTree() { return symbolTree.getOrCompute(); } + @Override public List getTokens() { - requireNonNull(content); + requireNonNull(getContent()); return tokenizer.getTokens(); } - public List getTokensFromDefaultChannel() { - return getTokens().stream().filter(token -> token.getChannel() == DEFAULT_CHANNEL).collect(Collectors.toList()); + @Override + protected DiagnosticIgnoranceComputer.Data computeDiagnosticIgnorance() { + var diagnosticIgnoranceComputer = new BSLDiagnosticIgnoranceComputer(this); + return diagnosticIgnoranceComputer.compute(); } public List getComments() { @@ -139,44 +114,10 @@ public List getComments() { .collect(Collectors.toList()); } - public String getText(Range range) { - Position start = range.getStart(); - Position end = range.getEnd(); - - String[] contentListUnboxed = getContentList(); - - if (start.getLine() > contentListUnboxed.length || end.getLine() > contentListUnboxed.length) { - throw new ArrayIndexOutOfBoundsException("Range goes beyond the boundaries of the parsed document"); - } - - String startString = contentListUnboxed[start.getLine()]; - StringBuilder sb = new StringBuilder(); - - if (start.getLine() == end.getLine()) { - sb.append(startString, start.getCharacter(), end.getCharacter()); - } else { - sb.append(startString.substring(start.getCharacter())).append("\n"); - } - - for (int i = start.getLine() + 1; i <= end.getLine() - 1; i++) { - sb.append(contentListUnboxed[i]).append("\n"); - } - - if (start.getLine() != end.getLine()) { - sb.append(contentListUnboxed[end.getLine()], 0, end.getCharacter()); - } - - return sb.toString(); - } - public MetricStorage getMetrics() { return metrics.getOrCompute(); } - public URI getUri() { - return uri; - } - public FileType getFileType() { return fileType; } @@ -189,10 +130,6 @@ public ComplexityData getCyclomaticComplexityData() { return cyclomaticComplexityData.getOrCompute(); } - public DiagnosticIgnoranceComputer.Data getDiagnosticIgnorance() { - return diagnosticIgnoranceData.getOrCompute(); - } - public ModuleType getModuleType() { return moduleType.getOrCompute(); } @@ -202,46 +139,31 @@ public Map getSupportVariants() { } public Optional getMdObject() { - return Optional.ofNullable(getServerContext().getConfiguration().getModulesByObject().get(getUri())); + return Optional.ofNullable(getMDConfiguration().getModulesByObject().get(getUri())); } public List getQueries() { return queries.getOrCompute(); } - public List getDiagnostics() { - return diagnostics.getOrCompute(); - } - - public List getComputedDiagnostics() { - return Optional - .ofNullable(diagnostics.get()) - .orElseGet(Collections::emptyList); - } - + @Override public void rebuild(String content) { computeLock.lock(); - clearSecondaryData(); + super.rebuild(content); symbolTree.clear(); - this.content = content; tokenizer = new BSLTokenizer(content); computeLock.unlock(); } + @Override public void clearSecondaryData() { computeLock.lock(); - diagnosticsLock.lock(); - content = null; - contentList.clear(); + super.clearSecondaryData(); tokenizer = null; - cognitiveComplexityData.clear(); cyclomaticComplexityData.clear(); metrics.clear(); - diagnosticIgnoranceData.clear(); - diagnostics.clear(); queries.clear(); - diagnosticsLock.unlock(); computeLock.unlock(); } @@ -263,30 +185,25 @@ private static FileType computeFileType(URI uri) { return fileTypeFromUri; } - private String[] computeContentList() { - return getContent().split("\n", -1); - } - private SymbolTree computeSymbolTree() { return new SymbolTreeComputer(this).compute(); } - private ModuleType computeModuleType() { - return context.getConfiguration().getModuleType(uri); + return getMDConfiguration().getModuleType(getUri()); } private Map computeSupportVariants() { - return context.getConfiguration().getModuleSupport(uri); + return getMDConfiguration().getModuleSupport(getUri()); } private ComplexityData computeCognitiveComplexity() { - Computer cognitiveComplexityComputer = new CognitiveComplexityComputer(this); + var cognitiveComplexityComputer = new CognitiveComplexityComputer(this); return cognitiveComplexityComputer.compute(); } private ComplexityData computeCyclomaticComplexity() { - Computer cyclomaticComplexityComputer = new CyclomaticComplexityComputer(this); + var cyclomaticComplexityComputer = new CyclomaticComplexityComputer(this); return cyclomaticComplexityComputer.compute(); } @@ -321,7 +238,7 @@ private MetricStorage computeMetrics() { .count(); metricsTemp.setComments(comments); - int statements = BSLTrees.findAllRuleNodes(getAst(), BSLParser.RULE_statement).size(); + int statements = Trees.findAllRuleNodes(getAst(), BSLParser.RULE_statement).size(); metricsTemp.setStatements(statements); metricsTemp.setCognitiveComplexity(getCognitiveComplexityData().getFileComplexity()); @@ -332,7 +249,7 @@ private MetricStorage computeMetrics() { private int[] computeCovlocData() { - return BSLTrees.getDescendants(getAst()).stream() + return Trees.getDescendants(getAst()).stream() .filter(Predicate.not(TerminalNodeImpl.class::isInstance)) .filter(BSLDocumentContext::mustCovered) .mapToInt(node -> ((BSLParserRuleContext) node).getStart().getLine()) @@ -346,16 +263,11 @@ private static boolean mustCovered(Tree node) { || node instanceof BSLParser.Var_nameContext; } - private DiagnosticIgnoranceComputer.Data computeDiagnosticIgnorance() { - Computer diagnosticIgnoranceComputer = new DiagnosticIgnoranceComputer(this); - return diagnosticIgnoranceComputer.compute(); - } - - private List computeDiagnostics() { - return diagnosticComputer.compute(this); - } - private List computeQueries() { return (new QueryComputer(this)).compute(); } + + public Configuration getMDConfiguration() { + return ((BSLServerContext) getServerContext()).getConfiguration(); + } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java index 401e2a4b00a..9dc477507ea 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContext.java @@ -21,24 +21,21 @@ */ package com.github._1c_syntax.bsl.languageserver.context; +import com.github._1c_syntax.ls_core.context.CoreServerContext; +import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.mdclasses.metadata.Configuration; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.Absolute; import com.github._1c_syntax.utils.Lazy; -import lombok.RequiredArgsConstructor; -import lombok.Setter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.FileUtils; -import org.eclipse.lsp4j.TextDocumentItem; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Lookup; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; -import javax.annotation.CheckForNull; import java.io.File; import java.net.URI; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; import java.util.Collection; import java.util.Collections; import java.util.EnumMap; @@ -51,40 +48,69 @@ @Slf4j @Component -@RequiredArgsConstructor -public abstract class BSLServerContext { - private final Map documents = Collections.synchronizedMap(new HashMap<>()); +@Primary +public class BSLServerContext extends CoreServerContext { + /** + * Расширения анализируемых файлов + */ + private static final String[] FILE_EXTENSIONS = new String[]{"bsl", "os"}; + private final Lazy configurationMetadata = new Lazy<>(this::computeConfigurationMetadata); - @CheckForNull - @Setter - private Path configurationRoot; + private final Map mdoRefs = Collections.synchronizedMap(new HashMap<>()); private final Map> documentsByMDORef = Collections.synchronizedMap(new HashMap<>()); private final ReadWriteLock contextLock = new ReentrantReadWriteLock(); - public void populateContext() { - if (configurationRoot == null) { - LOGGER.info("Can't populate server context. Configuration root is not defined."); - return; - } - LOGGER.debug("Finding files to populate context..."); - Collection files = FileUtils.listFiles( - configurationRoot.toFile(), - new String[]{"bsl", "os"}, - true - ); - populateContext(files); + @Autowired + public BSLServerContext() { + super(); + } + + @Override + public String[] sourceExtensions() { + return FILE_EXTENSIONS; + } + + @Override + public void clear() { + super.clear(); + documentsByMDORef.clear(); + mdoRefs.clear(); + configurationMetadata.clear(); + } + + @Override + public void removeDocument(URI uri) { + var absoluteURI = Absolute.uri(uri); + removeDocumentMdoRefByUri(absoluteURI); + super.removeDocument(absoluteURI); + } + + @Override + protected DocumentContext createDocumentContext(URI uri, String content) { + var absoluteURI = Absolute.uri(uri); + var documentContext = super.createDocumentContext(absoluteURI, content); + addMdoRefByUri(absoluteURI, (BSLDocumentContext) documentContext); + return documentContext; + } + + @Override + @Lookup + protected DocumentContext lookupDocumentContext(URI absoluteURI, String content) { + // так и должно быть, магия spring boot + return null; } + @Override public void populateContext(Collection uris) { LOGGER.debug("Populating context..."); contextLock.writeLock().lock(); uris.parallelStream().forEach((File file) -> { - BSLDocumentContext documentContext = getDocument(file.toURI()); + var documentContext = (BSLDocumentContext) getDocument(file.toURI()); if (documentContext == null) { - documentContext = createDocumentContext(file); + documentContext = (BSLDocumentContext) createDocumentContext(file); documentContext.getSymbolTree(); documentContext.clearSecondaryData(); } @@ -94,15 +120,6 @@ public void populateContext(Collection uris) { LOGGER.debug("Context populated."); } - public Map getDocuments() { - return Collections.unmodifiableMap(documents); - } - - @CheckForNull - public BSLDocumentContext getDocument(String uri) { - return getDocument(URI.create(uri)); - } - public Optional getDocument(String mdoRef, ModuleType moduleType) { var documentsGroup = documentsByMDORef.get(mdoRef); if (documentsGroup != null) { @@ -111,77 +128,21 @@ public Optional getDocument(String mdoRef, ModuleType module return Optional.empty(); } - @CheckForNull - public BSLDocumentContext getDocument(URI uri) { - return documents.get(Absolute.uri(uri)); - } - public Map getDocuments(String mdoRef) { return documentsByMDORef.getOrDefault(mdoRef, Collections.emptyMap()); } - public BSLDocumentContext addDocument(URI uri, String content) { - contextLock.readLock().lock(); - - BSLDocumentContext documentContext = getDocument(uri); - if (documentContext == null) { - documentContext = createDocumentContext(uri, content); - } else { - documentContext.rebuild(content); - } - - contextLock.readLock().unlock(); - return documentContext; - } - - public BSLDocumentContext addDocument(TextDocumentItem textDocumentItem) { - return addDocument(URI.create(textDocumentItem.getUri()), textDocumentItem.getText()); - } - - public void removeDocument(URI uri) { - URI absoluteURI = Absolute.uri(uri); - removeDocumentMdoRefByUri(absoluteURI); - documents.remove(absoluteURI); - } - - public void clear() { - documents.clear(); - documentsByMDORef.clear(); - mdoRefs.clear(); - configurationMetadata.clear(); - } - public Configuration getConfiguration() { return configurationMetadata.getOrCompute(); } - @Lookup - protected abstract BSLDocumentContext lookupDocumentContext(URI absoluteURI, String content); - - @SneakyThrows - private BSLDocumentContext createDocumentContext(File file) { - String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8); - return createDocumentContext(file.toURI(), content); - } - - private BSLDocumentContext createDocumentContext(URI uri, String content) { - URI absoluteURI = Absolute.uri(uri); - - BSLDocumentContext documentContext = lookupDocumentContext(absoluteURI, content); - - documents.put(absoluteURI, documentContext); - addMdoRefByUri(absoluteURI, documentContext); - - return documentContext; - } - @SneakyThrows private Configuration computeConfigurationMetadata() { - if (configurationRoot == null) { + if (getProjectRoot() == null) { return Configuration.create(); } - ForkJoinPool customThreadPool = new ForkJoinPool(); - return customThreadPool.submit(() -> Configuration.create(configurationRoot)).get(); + var customThreadPool = new ForkJoinPool(); + return customThreadPool.submit(() -> Configuration.create(getProjectRoot())).get(); } private void addMdoRefByUri(URI uri, BSLDocumentContext documentContext) { @@ -206,8 +167,9 @@ private void removeDocumentMdoRefByUri(URI uri) { var mdoRef = mdoRefs.get(uri); if (mdoRef != null) { var documentsGroup = documentsByMDORef.get(mdoRef); - if (documentsGroup != null) { - documentsGroup.remove(documents.get(uri).getModuleType()); + var documentContext = (BSLDocumentContext) getDocument(uri); + if (documentsGroup != null && documentContext != null) { + documentsGroup.remove(documentContext.getModuleType()); if (documentsGroup.isEmpty()) { documentsByMDORef.remove(mdoRef); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java index 9d28a5489fa..74193a133cc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticComputer.java @@ -21,8 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.context.computer; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.context.computer.DiagnosticComputer; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.eclipse.lsp4j.Diagnostic; @@ -36,11 +37,12 @@ @Component @RequiredArgsConstructor @Slf4j -public abstract class BSLDiagnosticComputer { +public abstract class BSLDiagnosticComputer implements DiagnosticComputer { - public List compute(BSLDocumentContext documentContext) { + @Override + public List compute(DocumentContext documentContext) { - DiagnosticIgnoranceComputer.Data diagnosticIgnorance = documentContext.getDiagnosticIgnorance(); + var diagnosticIgnorance = documentContext.getDiagnosticIgnorance(); return diagnostics(documentContext).parallelStream() .flatMap((BSLDiagnostic diagnostic) -> { @@ -50,7 +52,7 @@ public List compute(BSLDocumentContext documentContext) { String message = String.format( "Diagnostic computation error.%nFile: %s%nDiagnostic: %s", documentContext.getUri(), - diagnostic.getInfo().getCode() + diagnostic.getInfo().getDiagnosticCode() ); LOGGER.error(message, e); @@ -60,9 +62,8 @@ public List compute(BSLDocumentContext documentContext) { .filter((Diagnostic diagnostic) -> !diagnosticIgnorance.diagnosticShouldBeIgnored(diagnostic)) .collect(Collectors.toList()); - } @Lookup("diagnostics") - protected abstract List diagnostics(BSLDocumentContext documentContext); + protected abstract List diagnostics(DocumentContext documentContext); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputer.java similarity index 80% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputer.java index 8ee60244541..7c2d380a929 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputer.java @@ -22,31 +22,25 @@ package com.github._1c_syntax.bsl.languageserver.context.computer; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.context.computer.DiagnosticIgnoranceComputer; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.utils.CaseInsensitivePattern; -import lombok.AllArgsConstructor; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.Range; -import org.eclipse.lsp4j.Diagnostic; import javax.annotation.CheckForNull; import java.util.ArrayDeque; import java.util.ArrayList; -import java.util.Collection; import java.util.Deque; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -public class DiagnosticIgnoranceComputer implements Computer { - - private static final DiagnosticCode ALL_DIAGNOSTICS_KEY = new DiagnosticCode("all"); +public class BSLDiagnosticIgnoranceComputer implements DiagnosticIgnoranceComputer { private static final Pattern IGNORE_ALL_ON = CaseInsensitivePattern.compile( "BSLLS-(?:вкл|on)" @@ -69,7 +63,7 @@ public class DiagnosticIgnoranceComputer implements Computer>> diagnosticIgnorance = new HashMap<>(); private final Map> ignoranceStack = new HashMap<>(); - public DiagnosticIgnoranceComputer(BSLDocumentContext documentContext) { + public BSLDiagnosticIgnoranceComputer(BSLDocumentContext documentContext) { this.documentContext = documentContext; } @@ -185,33 +179,9 @@ private static DiagnosticCode getKey(Matcher matcher) { if (matcher.groupCount() != 0) { key = new DiagnosticCode(matcher.group(1)); } else { - key = ALL_DIAGNOSTICS_KEY; + key = DiagnosticIgnoranceComputer.getAllDiagnosticKey(); } return key; } - @AllArgsConstructor - public static class Data { - private final Map>> diagnosticIgnorance; - - public boolean diagnosticShouldBeIgnored(Diagnostic diagnostic) { - if (diagnosticIgnorance.isEmpty()) { - return false; - } - - int line = diagnostic.getRange().getStart().getLine(); - - Predicate>>> ignoreAll = - entry -> entry.getKey().equals(ALL_DIAGNOSTICS_KEY); - Predicate>>> ignoreConcreteDiagnostic = - entry -> entry.getKey().equals(diagnostic.getCode()); - - return diagnosticIgnorance.entrySet().stream() - .filter(ignoreAll.or(ignoreConcreteDiagnostic)) - .map(Map.Entry::getValue) - .flatMap(Collection::stream) - .anyMatch(range -> range.contains(line)); - } - } - } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java index 737bacd9525..2faaadbcfe3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java @@ -28,6 +28,9 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.CommonToken; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTreeWalker; @@ -291,7 +294,7 @@ private List flattenExpression(BSLParser.ExpressionContext ctx) { List result = new ArrayList<>(); - final List children = BSLTrees.getChildren(ctx); + final List children = Trees.getChildren(ctx); for (Tree tree : children) { if (!(tree instanceof BSLParserRuleContext)) { continue; @@ -381,7 +384,7 @@ private void addSecondaryLocation(Token token, int increment, int nested) { } else { message = String.format("+%d", increment); } - var secondaryLocation = new ComplexitySecondaryLocation(BSLRanges.create(token), message.intern()); + var secondaryLocation = new ComplexitySecondaryLocation(Ranges.create(token), message.intern()); List locations; if (currentMethod != null) { locations = methodsComplexitySecondaryLocations.computeIfAbsent( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java index 71c289a0c5b..b42a2319f14 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java @@ -28,6 +28,9 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.CommonToken; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTreeWalker; @@ -216,7 +219,7 @@ private static List flattenExpression(BSLParser.ExpressionContext ctx) { List result = new ArrayList<>(); - final List children = BSLTrees.getChildren(ctx); + final List children = Trees.getChildren(ctx); for (Tree tree : children) { if (!(tree instanceof BSLParserRuleContext)) { continue; @@ -278,7 +281,7 @@ private void incrementFileCodeBlockComplexity() { } private void complexityIncrement(Token token) { - complexityIncrement(BSLRanges.create(token)); + complexityIncrement(Ranges.create(token)); } private void complexityIncrement(Range range) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java index 31ee5f01ea8..cf788d19c2c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java @@ -34,6 +34,8 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import com.github._1c_syntax.mdclasses.metadata.additional.MDOReference; import org.antlr.v4.runtime.Token; @@ -198,8 +200,8 @@ private MethodSymbol createMethodSymbol( return MethodSymbol.builder() .name(subName.getText()) - .range(BSLRanges.create(startNode, stopNode)) - .subNameRange(BSLRanges.create(subName)) + .range(Ranges.create(startNode, stopNode)) + .subNameRange(Ranges.create(subName)) .function(function) .export(export) .description(description) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java index ffd4753ec7b..96cdd93aa80 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputer.java @@ -25,6 +25,7 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.SDBLTokenizer; +import com.github._1c_syntax.ls_core.context.computer.Computer; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java index f8442a07b38..4343663844b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.tree.ParseTree; import org.apache.commons.lang3.tuple.Pair; import org.eclipse.lsp4j.Range; @@ -68,8 +70,8 @@ public ParseTree visitRegionStart(BSLParser.RegionStartContext ctx) { RegionSymbol.RegionSymbolBuilder builder = RegionSymbol.builder() .name(ctx.regionName().getText()) - .regionNameRange(BSLRanges.create(ctx.regionName())) - .startRange(BSLRanges.create(ctx)); + .regionNameRange(Ranges.create(ctx.regionName())) + .startRange(Ranges.create(ctx)); regionStack.push(Pair.of(builder, ctx)); return super.visitRegionStart(ctx); @@ -87,10 +89,10 @@ public ParseTree visitRegionEnd(BSLParser.RegionEndContext ctx) { RegionSymbol.RegionSymbolBuilder builder = pair.getLeft(); BSLParser.RegionStartContext regionStartContext = pair.getRight(); - Range range = BSLRanges.create(regionStartContext, ctx); + Range range = Ranges.create(regionStartContext, ctx); builder .range(range) - .endRange(BSLRanges.create(ctx)) + .endRange(Ranges.create(ctx)) ; RegionSymbol region = builder.build(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java index 3d3da94f8a9..83c10fc787a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/SymbolTreeComputer.java @@ -27,7 +27,8 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; import java.util.ArrayList; import java.util.Comparator; @@ -67,7 +68,7 @@ public SymbolTree compute() { private static Symbol placeSymbol(List topLevelSymbols, Symbol currentParent, Symbol symbol) { - if (BSLRanges.containsRange(currentParent.getRange(), symbol.getRange())) { + if (Ranges.containsRange(currentParent.getRange(), symbol.getRange())) { currentParent.getChildren().add(symbol); symbol.setParent(Optional.of(currentParent)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java index 782e32b0f3c..3624073163e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java @@ -30,6 +30,9 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.Range; @@ -78,8 +81,8 @@ private VariableSymbol createVariableSymbol( ) { return VariableSymbol.builder() .name(varName.getText()) - .range(BSLRanges.create(ctx)) - .variableNameRange(BSLRanges.create(varName)) + .range(Ranges.create(ctx)) + .variableNameRange(Ranges.create(varName)) .export(export) .kind(kind) .description(createDescription(ctx)) @@ -91,7 +94,7 @@ private Optional createDescription(BSLParserRuleContext ctx List comments = new ArrayList<>(); // поиск комментариев начинается от первого токена - VAR - var varToken = BSLTrees.getPreviousTokenFromDefaultChannel(tokens, + var varToken = Trees.getPreviousTokenFromDefaultChannel(tokens, ctx.getStart().getTokenIndex(), BSLParser.VAR_KEYWORD); varToken.ifPresent(value -> comments.addAll(BSLTrees.getComments(tokens, value))); @@ -107,7 +110,7 @@ private Optional createDescription(BSLParserRuleContext ctx var trailingDescription = trailingComments .map(trailingComment -> VariableDescription.builder() .description(trailingComment.getText()) - .range(BSLRanges.create(trailingComment)) + .range(Ranges.create(trailingComment)) .build() ); @@ -130,7 +133,7 @@ private static Range getRangeForDescription(List tokens) { Token firstElement = tokens.get(0); Token lastElement = tokens.get(tokens.size() - 1); - return BSLRanges.create(firstElement, lastElement); + return Ranges.create(firstElement, lastElement); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java index f2644b8b36d..8531113d5e5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.context.symbol; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import lombok.Getter; import lombok.Setter; import org.eclipse.lsp4j.Range; @@ -62,7 +63,7 @@ static Symbol emptySymbol() { @Getter private final SymbolKind symbolKind = SymbolKind.Null; @Getter - private final Range range = BSLRanges.create(-1, 0, -1, 0); + private final Range range = Ranges.create(-1, 0, -1, 0); @Getter @Setter private Optional parent = Optional.empty(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java index 36f00d38895..b455c9c8b74 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; import lombok.Getter; import lombok.Value; import org.eclipse.lsp4j.Range; @@ -64,7 +66,7 @@ public List getRegionsFlat() { public Optional getMethodSymbol(BSLParserRuleContext ctx) { BSLParserRuleContext subNameNode; - if (BSLTrees.nodeContainsErrors(ctx)) { + if (Trees.nodeContainsErrors(ctx)) { subNameNode = ctx; } else if (ctx instanceof BSLParser.SubContext) { if (((BSLParser.SubContext) ctx).function() == null) { @@ -76,7 +78,7 @@ public Optional getMethodSymbol(BSLParserRuleContext ctx) { subNameNode = ctx; } - Range subNameRange = BSLRanges.create(subNameNode); + Range subNameRange = Ranges.create(subNameNode); return getMethods().stream() .filter(methodSymbol -> methodSymbol.getSubNameRange().equals(subNameRange)) @@ -91,7 +93,7 @@ public Optional getVariableSymbol(BSLParserRuleContext ctx) { BSLParserRuleContext varNameNode; - if (BSLTrees.nodeContainsErrors(ctx)) { + if (Trees.nodeContainsErrors(ctx)) { varNameNode = ctx; } else if (ctx instanceof BSLParser.ModuleVarDeclarationContext) { varNameNode = ((BSLParser.ModuleVarDeclarationContext) ctx).var_name(); @@ -101,7 +103,7 @@ public Optional getVariableSymbol(BSLParserRuleContext ctx) { varNameNode = ctx; } - Range variableNameRange = BSLRanges.create(varNameNode); + Range variableNameRange = Ranges.create(varNameNode); return getVariables().stream() .filter(variableSymbol -> variableSymbol.getVariableNameRange().equals(variableNameRange)) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java index e6781a4dacf..d83a86ace82 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java @@ -22,7 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; import lombok.Setter; import org.eclipse.lsp4j.Diagnostic; @@ -38,8 +40,8 @@ public abstract class AbstractDiagnostic implements BSLDiagnostic { protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(BSLDocumentContext documentContext) { - this.documentContext = documentContext; + public List getDiagnostics(DocumentContext documentContext) { + this.documentContext = (BSLDocumentContext) documentContext; diagnosticStorage.clearDiagnostics(); check(); return diagnosticStorage.getDiagnostics(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java index fe73b830d50..7f4626ef738 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractListenerDiagnostic.java @@ -22,8 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; import lombok.Setter; import org.antlr.v4.runtime.tree.ParseTreeWalker; @@ -40,8 +41,8 @@ public abstract class AbstractListenerDiagnostic extends BSLParserBaseListener i protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(BSLDocumentContext documentContext) { - this.documentContext = documentContext; + public List getDiagnostics(DocumentContext documentContext) { + this.documentContext = (BSLDocumentContext) documentContext; diagnosticStorage.clearDiagnostics(); ParseTreeWalker walker = new ParseTreeWalker(); walker.walk(this, documentContext.getAst()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java index 66539d3709b..4410f14d805 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractSDBLVisitorDiagnostic.java @@ -22,8 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.SDBLParserBaseVisitor; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; import lombok.Setter; import org.antlr.v4.runtime.tree.ParseTree; @@ -39,10 +40,10 @@ public abstract class AbstractSDBLVisitorDiagnostic extends SDBLParserBaseVisito protected BSLDocumentContext documentContext; @Override - public List getDiagnostics(BSLDocumentContext documentContext) { - this.documentContext = documentContext; + public List getDiagnostics(DocumentContext documentContext) { + this.documentContext = (BSLDocumentContext) documentContext; diagnosticStorage.clearDiagnostics(); - var queries = documentContext.getQueries(); + var queries = this.documentContext.getQueries(); if (!queries.isEmpty()) { queries.forEach(sdblTokenizer -> this.visitQueryPackage(sdblTokenizer.getAst())); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java index 97c1d783603..cd82870c1ec 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractVisitorDiagnostic.java @@ -22,8 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; import lombok.Setter; import org.antlr.v4.runtime.tree.ParseTree; @@ -40,10 +41,10 @@ public abstract class AbstractVisitorDiagnostic extends BSLParserBaseVisitor getDiagnostics(BSLDocumentContext documentContext) { - this.documentContext = documentContext; + public List getDiagnostics(DocumentContext documentContext) { + this.documentContext = (BSLDocumentContext) documentContext; diagnosticStorage.clearDiagnostics(); - this.visitFile(documentContext.getAst()); + this.visitFile(this.documentContext.getAst()); return diagnosticStorage.getDiagnostics(); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java index 7b752c8e972..33565596b88 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnostic.java @@ -22,31 +22,19 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; -import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; import org.eclipse.lsp4j.Diagnostic; -import java.util.List; -import java.util.Map; - /** * BSLDiagnostic main purpose is to provide collection of LSP {@link Diagnostic}, * fired on concrete {@link BSLDocumentContext}. *

- * Each BSLDiagnostic implementation MUST contain constructor with exactly one parameter {@link DiagnosticInfo}. - * Passed DiagnosticInfo MUST be stored as a object field and returned by {@link #getInfo()}. + * Each BSLDiagnostic implementation MUST contain constructor with exactly one parameter {@link BSLDiagnosticInfo}. + * Passed BSLDiagnosticInfo MUST be stored as a object field and returned by {@link #getInfo()}. *

* {@link #getDiagnostics(BSLDocumentContext)} method SHOULD use {@link BSLDiagnosticStorage} to add and return diagnostics. */ -public interface BSLDiagnostic { - - List getDiagnostics(BSLDocumentContext documentContext); - - void setInfo(DiagnosticInfo info); - - DiagnosticInfo getInfo(); +public interface BSLDiagnostic extends CoreDiagnostic { - default void configure(Map configuration) { - DiagnosticHelper.configureDiagnostic(this, configuration); - } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java index 0a9265fee62..c249812e39f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java @@ -21,215 +21,25 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.tree.ParseTree; -import org.antlr.v4.runtime.tree.TerminalNode; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.DiagnosticRelatedInformation; -import org.eclipse.lsp4j.Range; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnosticStorage; +import org.antlr.v4.runtime.ParserRuleContext; -import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.List; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; +public class BSLDiagnosticStorage extends CoreDiagnosticStorage { -import static com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider.SOURCE; - -public class BSLDiagnosticStorage { - - private final BSLDiagnostic diagnostic; - private final Queue diagnosticList = new ConcurrentLinkedQueue<>(); + private static final String SOURCE = "bsl-language-server"; BSLDiagnosticStorage(BSLDiagnostic diagnostic) { - this.diagnostic = diagnostic; - } - - public List getDiagnostics() { - return new ArrayList<>(diagnosticList); - } - - public void clearDiagnostics() { - diagnosticList.clear(); - } - - protected void addDiagnostic(BSLParserRuleContext node) { - if (node.exception != null) { - return; - } - - addDiagnostic( - BSLRanges.create(node) - ); - } - - protected void addDiagnostic(BSLParserRuleContext node, String diagnosticMessage) { - if (node.exception != null) { - return; - } - - addDiagnostic( - BSLRanges.create(node), - diagnosticMessage - ); - } - - protected void addDiagnostic(int startLine, int startChar, int endLine, int endChar) { - addDiagnostic( - BSLRanges.create(startLine, startChar, endLine, endChar) - ); - } - - protected void addDiagnostic(Range range) { - addDiagnostic( - range, - diagnostic.getInfo().getMessage() - ); - } - - protected void addDiagnostic(Range range, String diagnosticMessage) { - addDiagnostic( - range, - diagnosticMessage, - null - ); - } - - protected void addDiagnostic(Token token) { - addDiagnostic( - BSLRanges.create(token) - ); - } - - protected void addDiagnostic(Token startToken, Token endToken) { - addDiagnostic( - BSLRanges.create(startToken, endToken) - ); - } - - protected void addDiagnostic(Token token, String diagnosticMessage) { - addDiagnostic( - BSLRanges.create(token), - diagnosticMessage - ); + super(diagnostic); } - protected void addDiagnostic(TerminalNode terminalNode) { - addDiagnostic(terminalNode.getSymbol()); + @Override + protected String getSource() { + return SOURCE; } - protected void addDiagnostic(TerminalNode terminalNode, String diagnosticMessage) { - addDiagnostic(terminalNode.getSymbol(), diagnosticMessage); - } - - protected void addDiagnostic(TerminalNode startTerminalNode, TerminalNode stopTerminalNode) { - addDiagnostic(startTerminalNode.getSymbol(), stopTerminalNode.getSymbol()); - } - - protected void addDiagnostic(BSLParserRuleContext node, List relatedInformation) { - if (node.exception != null) { - return; - } - - addDiagnostic( - node, - diagnostic.getInfo().getMessage(), - relatedInformation - ); - } - - public void addDiagnostic(Token token, List relatedInformation) { - addDiagnostic( - token, - diagnostic.getInfo().getMessage(), - relatedInformation - ); - } - - public void addDiagnostic( - BSLParserRuleContext node, - String diagnosticMessage, - List relatedInformation - ) { - - if (node.exception != null) { - return; - } - - addDiagnostic( - BSLRanges.create(node), - diagnosticMessage, - relatedInformation - ); - } - - public void addDiagnostic( - Token token, - String diagnosticMessage, - List relatedInformation - ) { - addDiagnostic( - BSLRanges.create(token), - diagnosticMessage, - relatedInformation - ); - } - - public void addDiagnostic( - Range range, - List relatedInformation - ) { - addDiagnostic( - range, - diagnostic.getInfo().getMessage(), - relatedInformation - ); - } - - public void addDiagnostic( - Range range, - String diagnosticMessage, - @Nullable List relatedInformation - ) { - diagnosticList.add(createDiagnostic( - diagnostic, - range, - diagnosticMessage, - relatedInformation - )); - } - - public void addDiagnostic(ParseTree tree) { - if(tree instanceof BSLParserRuleContext) { - addDiagnostic((BSLParserRuleContext) tree); - } else if (tree instanceof TerminalNode) { - addDiagnostic((TerminalNode) tree); - } else { - throw new IllegalArgumentException("Unsupported parameter type " + tree); - } - } - - private static Diagnostic createDiagnostic( - BSLDiagnostic bslDiagnostic, - Range range, - String diagnosticMessage, - @Nullable List relatedInformation - ) { - Diagnostic diagnostic = new Diagnostic( - range, - diagnosticMessage, - bslDiagnostic.getInfo().getLSPSeverity(), - SOURCE - ); - - diagnostic.setCode(bslDiagnostic.getInfo().getCode()); - diagnostic.setTags(bslDiagnostic.getInfo().getLSPTags()); - - if (relatedInformation != null) { - diagnostic.setRelatedInformation(relatedInformation); - } - return diagnostic; + public void addDiagnostic(BSLParserRuleContext methodName, String message) { + addDiagnostic((ParserRuleContext) methodName, message); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java index 84de0ea656b..96e28cc8c68 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -96,7 +99,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { @Override public ParseTree visitFileCodeBlock(BSLParser.FileCodeBlockContext ctx) { // Находим последний стейт в модуле и запоминаем его - Stream statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); + Stream statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); nodeEndFile = (BSLParser.StatementContext) statements.reduce((a, b) -> b).orElse(null); return super.visitFileCodeBlock(ctx); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java index 9a17188b27b..1188c47f9d5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.mdclasses.metadata.additional.ReturnValueReuse; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java index 9496e6c8e29..07342d4b37c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java @@ -27,6 +27,8 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java index 0e4fc2778c7..878c16ec642 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeBlockBeforeSubDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java index 97ff0849cd5..cd2a32104e2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java @@ -28,9 +28,13 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -115,12 +119,12 @@ private void addChildrenToRelatedInformation( List relatedInformation, Integer... ruleIndex ) { - BSLTrees.getChildren(ctx, ruleIndex).stream() - .filter(node -> !node.getTokens().isEmpty()) + Trees.getChildren(ctx, ruleIndex).stream() + .filter(node -> !((BSLParserRuleContext) node).getTokens().isEmpty()) .map(node -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(node), + Ranges.create(node), "+1" ) ) @@ -129,14 +133,14 @@ private void addChildrenToRelatedInformation( @Override public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { - BSLTrees.getChildren(ctx).stream() + Trees.getChildren(ctx).stream() .filter(node -> !(node instanceof BSLParser.PreprocessorContext) && !(node instanceof TerminalNode)) .findFirst() .ifPresent((Tree node) -> { - Range ctxRange = BSLRanges.create((BSLParserRuleContext) node); + Range ctxRange = Ranges.create((BSLParserRuleContext) node); if (regionsRanges.stream().noneMatch(regionRange -> - BSLRanges.containsRange(regionRange, ctxRange))) { + Ranges.containsRange(regionRange, ctxRange))) { diagnosticStorage.addDiagnostic(ctx); } } @@ -167,15 +171,15 @@ public ParseTree visitFileCodeBlockBeforeSub(BSLParser.FileCodeBlockBeforeSubCon } private void addDiagnosticForFileCodeBlock(BSLParserRuleContext ctx) { - BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement) + Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement) .stream() .filter(node -> node.getParent().getParent() == ctx) .forEach((ParseTree child) -> { if (child.getChildCount() > 1 || !(child.getChild(0) instanceof BSLParser.PreprocessorContext)) { - Range ctxRange = BSLRanges.create((BSLParser.StatementContext) child); + Range ctxRange = Ranges.create((BSLParser.StatementContext) child); if (regionsRanges.stream().noneMatch(regionRange -> - BSLRanges.containsRange(regionRange, ctxRange))) { + Ranges.containsRange(regionRange, ctxRange))) { diagnosticStorage.addDiagnostic((BSLParser.StatementContext) child); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java index 03686869341..ae834924578 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java @@ -29,6 +29,10 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -156,7 +160,7 @@ private void checkFileCodeBlock(BSLParserRuleContext ctx) { relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(ctx.getStart()), + Ranges.create(ctx.getStart()), info.getMessage("body", fileCodeBlockComplexity, complexityThreshold) )); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java index cd9105982c6..885c321a261 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommandModuleExportMethodsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java index 573713d196a..8c8b3373f57 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java @@ -32,6 +32,8 @@ import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLTokenizer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java index d921777ff62..434e4bc20f1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -115,7 +118,7 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { @Override public ParseTree visitFileCodeBlock(BSLParser.FileCodeBlockContext ctx) { // Находим последний стейт в модуле и запоминаем его - Stream statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); + Stream statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement).stream(); nodeEndFile = (BSLParser.StatementContext) statements.reduce((a, b) -> b).orElse(null); return super.visitFileCodeBlock(ctx); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java index 6f3387a1449..6895237f3f3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.Configuration; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -48,7 +50,7 @@ public ParseTree visitLValue(BSLParser.LValueContext ctx) { return ctx; } - Configuration configuration = documentContext.getServerContext().getConfiguration(); + var configuration = documentContext.getMDConfiguration(); if (configuration.getCommonModule(identifier.getText()).isPresent()) { diagnosticStorage.addDiagnostic(identifier, info.getMessage(identifier.getText())); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java index 8897c544934..46e794c524d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java index 286b267f375..3ad2d19cbe1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.mdclasses.metadata.additional.ReturnValueReuse; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java index fdc3f4b01f2..678b7bf5c68 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java index ee545af4439..d14d163186d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java index 3f9176a32c0..21263e0c630 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java index f99acae5570..6143f5464f4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java index 2e3b9861fcd..6bfca6fb915 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java index bb69ebc0547..3480bdac6ca 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java index bd8c93b611f..025a79d806d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java index 2a3f16ac8c4..c39042950ad 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java index 98cbc87fbbb..0e73254f499 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveNeedLessDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java index b95d9e3c933..66a1b601bc5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java @@ -28,6 +28,9 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -120,7 +123,7 @@ private static TextEdit getQuickFixText(Diagnostic diagnostic, int eofTokenLine) endLine--; newText = ""; } - Range newRange = BSLRanges.create(range.getStart().getLine(), 0, endLine, 0); + Range newRange = Ranges.create(range.getStart().getLine(), 0, endLine, 0); return new TextEdit(newRange, newText); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java index 0ad0eb252bd..682303950ec 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CreateQueryInCycleDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.AssignmentContext; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.ToString; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java index 98640848602..596b7ad1d37 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java @@ -29,6 +29,10 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -127,7 +131,7 @@ private void checkFileCodeBlock(BSLParserRuleContext ctx) { relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(ctx.getStart()), + Ranges.create(ctx.getStart()), info.getMessage("body", fileCodeBlockComplexity, complexityThreshold) )); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java index ca962c3dcd6..b5858591c2e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -120,12 +123,12 @@ && foundReturnStatement(context)) private static boolean foundReturnStatement(BSLParser.IfBranchContext ifBranch) { return Optional.ofNullable(ifBranch.codeBlock()) - .map(codeBlockContext -> BSLTrees.findAllRuleNodes(codeBlockContext, BSLParser.RULE_returnStatement)) + .map(codeBlockContext -> Trees.findAllRuleNodes(codeBlockContext, BSLParser.RULE_returnStatement)) .map(list -> !list.isEmpty()) .orElse(false); } private static ParserRuleContext getSubContext(BSLParser.ProcDeclarationContext ctx) { - return BSLTrees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_sub); + return Trees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_sub); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java index 28aa53388a2..4637bb69540 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -66,7 +69,7 @@ private static boolean namesEqual(CallStatementContext callStatement, String col public ParseTree visitForEachStatement(BSLParser.ForEachStatementContext ctx) { String collectionExpression = ctx.expression().getText(); - BSLTrees.findAllRuleNodes(ctx.codeBlock(), BSLParser.RULE_methodCall) + Trees.findAllRuleNodes(ctx.codeBlock(), BSLParser.RULE_methodCall) .stream() .filter(MethodCallContext.class::isInstance) .map(MethodCallContext.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java index 462b932878a..964c333beef 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedAttributes8312Diagnostic.java @@ -25,9 +25,11 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -291,9 +293,9 @@ private void checkDeprecatedAttributes(BSLParserRuleContext ctx, Matcher deprecatedAttributesMatcher = deprecatedAttributesPattern.matcher(ctx.getText().substring(1)); if (deprecatedAttributesMatcher.matches()) { - var complexCtx = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_complexIdentifier); + var complexCtx = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_complexIdentifier); if (complexCtx == null) { - complexCtx = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_lValue); + complexCtx = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_lValue); if (complexCtx == null) { return; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java index a64ab7a451a..d9d4a9d7d0b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedCurrentDateDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java index 92bb788ccaa..a8bcde2a215 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedFindDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java index 2648c55a1b5..321822db5ea 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMessageDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java index c0ee3561c90..252e14c75d9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethodCallDiagnostic.java @@ -22,14 +22,17 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -107,15 +110,16 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { } private static boolean currentMethodIsDeprecated(BSLParserRuleContext ctx, BSLDocumentContext documentContext) { - return Optional.ofNullable(BSLTrees.getRootParent(ctx, BSLParser.RULE_sub)) - .flatMap(sub -> documentContext.getSymbolTree().getMethodSymbol(sub)) + return Optional.ofNullable(Trees.getRootParent(ctx, BSLParser.RULE_sub)) + .flatMap(sub -> documentContext.getSymbolTree().getMethodSymbol((BSLParserRuleContext) sub)) .map(MethodSymbol::isDeprecated) .orElse(false); } private void checkDeprecatedCall(String mdoRef, Token methodName) { - var documentContexts = documentContext.getServerContext().getDocuments(mdoRef); - String methodNameText = methodName.getText(); + var documentContexts = + ((BSLServerContext) documentContext.getServerContext()).getDocuments(mdoRef); + var methodNameText = methodName.getText(); documentContexts.entrySet().stream() .filter(entry -> DEFAULT_MODULE_TYPES.contains(entry.getKey())) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java index 37b3ba8082b..2b77f678961 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8310Diagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java index 69642bc8077..939e56128be 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedMethods8317Diagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java index c5980b9b32c..d65be02fff2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java @@ -28,6 +28,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java index 57f21e506e5..2ff3917c64e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicateRegionDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java index 1dd379f922f..e5f50c5ff79 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java @@ -27,6 +27,10 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -72,18 +76,18 @@ public ParseTree visitCodeBlock(BSLParser.CodeBlockContext ctx) { if (commentAsCode) { Stream comments = documentContext.getComments().stream(); - Range rangeCodeBlock = BSLRanges.create(ctx.getStop(), ctx.getStart()); + Range rangeCodeBlock = Ranges.create(ctx.getStop(), ctx.getStart()); if (comments.anyMatch(token -> - BSLRanges.containsRange( + Ranges.containsRange( rangeCodeBlock, - BSLRanges.create(token)))) { + Ranges.create(token)))) { return super.visitCodeBlock(ctx); } } int lineOfStop = ctx.getStop().getLine(); - List list = BSLTrees.getChildren(ctx.getParent()).stream() + List list = Trees.getChildren(ctx.getParent()).stream() .filter(node -> node instanceof TerminalNode) .filter(node -> ((TerminalNode) node).getSymbol().getLine() == lineOfStop) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java index 1cd8814cb4d..ac6a092d31f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.ParserRuleContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -73,7 +76,7 @@ public void exitEveryRule(ParserRuleContext ctx) { BSLParser.RegionStartContext currentRegion = regions.pop(); if (currentUsageLevel < currentRegionLevel) { diagnosticStorage.addDiagnostic( - BSLRanges.create(currentRegion.getParent(), ctx), + Ranges.create(currentRegion.getParent(), ctx), info.getMessage(currentRegion.regionName().getText()) ); } else if (currentRegionLevel == currentUsageLevel) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java index b2ded6d9650..bbf7d4d3959 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -53,9 +56,9 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { if (ctx.getChildCount() == 1 && ctx.SEMICOLON() != null - && !BSLTrees.treeContainsErrors( - BSLTrees.getPreviousNode( - BSLTrees.getRootParent(ctx), + && !Trees.treeContainsErrors( + Trees.getPreviousNode( + Trees.getRootParent(ctx), ctx, BSLParser.RULE_statement))) { diagnosticStorage.addDiagnostic(ctx); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java index d065bca5263..4ff4bd3e978 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java index 0435c141a71..e828a2ee248 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java index 177e68b5568..1195be7a184 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java index 572ac210762..90b0bac1401 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExportVariablesDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java index d21fc0997f4..4a52df45231 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExtraCommasDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java index 6c4e2cc98d7..6d86c11b4df 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java @@ -29,6 +29,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; @@ -55,7 +58,7 @@ public FormDataToValueDiagnostic() { @Override protected boolean checkGlobalMethodCall(GlobalMethodCallContext ctx) { - var parentNode = (BSLParser.SubContext) BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub); + var parentNode = (BSLParser.SubContext) Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub); if (parentNode == null) { return false; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java index 5488c6c8f58..5a5f173bad9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionNameStartsWithGetDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java index 1ccbe0247c1..c2337b42237 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionOutParameterDiagnostic.java @@ -25,9 +25,11 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.ParameterDefinition; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.apache.commons.collections4.map.CaseInsensitiveMap; @@ -65,8 +67,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { return ctx; } - Map lvalues = BSLTrees - .findAllRuleNodes(ctx.subCodeBlock(), BSLParser.RULE_lValue) + Map lvalues = Trees.findAllRuleNodes(ctx.subCodeBlock(), BSLParser.RULE_lValue) .stream() .collect( Collectors.toMap( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java index a0cf2d9efb2..76388530e47 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java @@ -26,8 +26,12 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -87,7 +91,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { } } - var tree = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + var tree = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); if (tree.size() > 1) { var expressions = tree.stream() .map(BSLParser.ReturnStatementContext.class::cast) @@ -96,7 +100,7 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { .collect(Collectors.toList()); expressions.stream() - .map(expression -> BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier)) + .map(expression -> Trees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier)) .filter(Collection::isEmpty) .findAny() .ifPresent( @@ -119,7 +123,7 @@ private void checkPrimitiveValue( .map(BSLParser.ReturnStatementContext.class::cast) .map(statement -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(statement.getStart()), + Ranges.create(statement.getStart()), info.getResourceString(KEY_MESSAGE))) .collect(Collectors.toList()); diagnosticStorage.addDiagnostic(getSubNameRange(ctx), relatedInformation); @@ -128,18 +132,18 @@ private void checkPrimitiveValue( } private String getExpressionText(BSLParser.ExpressionContext expression) { - if (caseSensitiveForString && BSLTrees.nodeContains(expression, BSLParser.RULE_string)) { + if (caseSensitiveForString && Trees.nodeContains(expression, BSLParser.RULE_string)) { return expression.getText(); } return expression.getText().toUpperCase(Locale.ENGLISH); } private Range getSubNameRange(ParserRuleContext ctx) { - return Optional.ofNullable(BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub)) + return Optional.ofNullable(Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_sub)) .map(BSLParser.SubContext.class::cast) .flatMap(context -> documentContext.getSymbolTree().getMethodSymbol(context)) .map(MethodSymbol::getSubNameRange) - .orElse(BSLRanges.create(ctx.getStart())); + .orElse(Ranges.create(ctx.getStart())); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java index f467eca521a..b56da184441 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionShouldHaveReturnDiagnostic.java @@ -23,9 +23,11 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Collection; @@ -48,8 +50,8 @@ public ParseTree visitFunction(BSLParser.FunctionContext ctx) { return ctx; } - Collection tokens = BSLTrees.findAllTokenNodes(ctx, BSLLexer.RETURN_KEYWORD); - if (tokens.isEmpty() && !BSLTrees.treeContainsErrors(ctx)) { + Collection tokens = Trees.findAllTokenNodes(ctx, BSLLexer.RETURN_KEYWORD); + if (tokens.isEmpty() && !Trees.treeContainsErrors(ctx)) { BSLParser.SubNameContext subName = ctx.funcDeclaration().subName(); diagnosticStorage.addDiagnostic(subName); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java index 579530d3a18..5175550a3e7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/GetFormMethodDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java index 6cd82cb39b5..9673e9e8c98 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IdenticalExpressionsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java index 462a2f35ed0..f8137a31d55 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java @@ -25,8 +25,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( @@ -46,7 +48,7 @@ public class IfConditionComplexityDiagnostic extends AbstractVisitorDiagnostic { type = Integer.class, defaultValue = "" + MAX_IF_CONDITION_COMPLEXITY ) - private int maxIfConditionComplexity = MAX_IF_CONDITION_COMPLEXITY; + private final int maxIfConditionComplexity = MAX_IF_CONDITION_COMPLEXITY; @Override public ParseTree visitIfBranch(BSLParser.IfBranchContext ctx) { @@ -61,7 +63,7 @@ public ParseTree visitElsifBranch(BSLParser.ElsifBranchContext ctx) { } private void checkExpressionAndRaise(BSLParser.ExpressionContext expression) { - if (BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_boolOperation).size() + 1 > maxIfConditionComplexity) { + if (Trees.findAllRuleNodes(expression, BSLParser.RULE_boolOperation).size() + 1 > maxIfConditionComplexity) { diagnosticStorage.addDiagnostic(expression); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java index b4fcc3c1d20..d4915a45606 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnostic.java @@ -23,9 +23,12 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -108,7 +111,7 @@ private void checkCodeBlock(List codeBlockContexts, relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(currentCodeBlock), + Ranges.create(currentCodeBlock), relatedMessage )); @@ -116,7 +119,7 @@ private void checkCodeBlock(List codeBlockContexts, .map(codeBlockContext -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(codeBlockContext), + Ranges.create(codeBlockContext), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java index ee57c1ec7c5..d34b7e08c39 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnostic.java @@ -23,9 +23,12 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -102,7 +105,7 @@ private void checkExpression(List expressionContext relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(currentExpression), + Ranges.create(currentExpression), relatedMessage )); @@ -110,7 +113,7 @@ private void checkExpression(List expressionContext .map(expressionContext -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(expressionContext), + Ranges.create(expressionContext), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java index 96e18ec2a6a..dff71e2e644 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseIfEndsWithElseDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java index 47c68cffc1b..b70123cf9b8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java index 0ad58ba7475..61d25ba3335 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IsInRoleMethodDiagnostic.java @@ -24,10 +24,13 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; +import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import javax.annotation.Nullable; @@ -81,7 +84,7 @@ public ParseTree visitElsifBranch(BSLParser.ElsifBranchContext ctx) { } private void computeDiagnostics(BSLParser.ExpressionContext expression) { - BSLTrees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier).stream() + Trees.findAllRuleNodes(expression, BSLParser.RULE_complexIdentifier).stream() .map(complexCtx -> (BSLParser.ComplexIdentifierContext) complexCtx) .filter(complexCtx -> isInRoleVars.contains(complexCtx.getText())) .filter(ctx -> checkStatement(ctx, expression)) @@ -102,7 +105,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { } private void handleIsInRoleGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { - var rootParent = BSLTrees.getRootParent(ctx, ROOT_PARENTS_FOR_GLOBAL_METHODS); + var rootParent = Trees.getRootParent(ctx, ROOT_PARENTS_FOR_GLOBAL_METHODS); if (rootParent == null) { return; } @@ -116,21 +119,21 @@ private void handleIsInRoleGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { } private void handlePrivilegedModeGlobalMethod(BSLParser.GlobalMethodCallContext ctx) { - var assignmentNode = BSLTrees.getRootParent(ctx, BSLParser.RULE_assignment); + var assignmentNode = Trees.getRootParent(ctx, BSLParser.RULE_assignment); if (assignmentNode != null) { addAssignedNameVar(assignmentNode, privilegedModeNameVars); } } - private static void addAssignedNameVar(BSLParserRuleContext assignmentNode, Set nameVars) { - var childNode = BSLTrees.getFirstChild(assignmentNode, BSLParser.RULE_lValue); + private static void addAssignedNameVar(ParserRuleContext assignmentNode, Set nameVars) { + var childNode = Trees.getFirstChild(assignmentNode, BSLParser.RULE_lValue); childNode.ifPresent(node -> nameVars.add(node.getText())); } @Override public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { - var childNode = BSLTrees.getFirstChild(ctx, BSLParser.RULE_lValue); - childNode.ifPresent((BSLParserRuleContext node) -> + var childNode = Trees.getFirstChild(ctx, BSLParser.RULE_lValue); + childNode.ifPresent((ParserRuleContext node) -> { isInRoleVars.remove(node.getText()); privilegedModeNameVars.remove(node.getText()); @@ -139,24 +142,24 @@ public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { } private boolean checkStatement(BSLParserRuleContext ctx) { - var parentExpression = BSLTrees.getRootParent(ctx, BSLParser.RULE_expression); + var parentExpression = Trees.getRootParent(ctx, BSLParser.RULE_expression); return checkStatement(ctx, parentExpression); } - private boolean checkStatement(BSLParserRuleContext ctx, @Nullable BSLParserRuleContext parentExpression) { + private boolean checkStatement(BSLParserRuleContext ctx, @Nullable ParserRuleContext parentExpression) { if (parentExpression == null) { return false; } - var identifierList = BSLTrees.findAllRuleNodes(parentExpression, BSLParser.RULE_complexIdentifier); + var identifierList = Trees.findAllRuleNodes(parentExpression, BSLParser.RULE_complexIdentifier); for (ParseTree parseTree : identifierList) { if (privilegedModeNameVars.contains(parseTree.getText())) { return false; } } - var nextGlobalMethodNode = BSLTrees.getNextNode(parentExpression, + var nextGlobalMethodNode = Trees.getNextNode(parentExpression, ctx, BSLParser.RULE_globalMethodCall); boolean hasPrivilegedModeCheck = (nextGlobalMethodNode instanceof BSLParser.GlobalMethodCallContext diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java index 34cbac03e45..04efb957a32 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithSubQueryDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.SDBLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java index a1083d99800..cea776f157e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/JoinWithVirtualTableDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.SDBLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java index 9cd330e3b6d..39faa709fbf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java @@ -24,8 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -100,23 +102,23 @@ protected void check() { } private void check(int ruleID) { - checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), ruleID).stream()); + checkTree(Trees.findAllRuleNodes(documentContext.getAst(), ruleID).stream()); } private void checkLValue() { - checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_lValue).stream() + checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_lValue).stream() .filter(ctx -> ((BSLParser.LValueContext) ctx).IDENTIFIER() != null) .map(ctx -> ((BSLParser.LValueContext) ctx).IDENTIFIER())); } private void checkParameters() { - checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_param).stream() + checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_param).stream() .filter(ctx -> ((BSLParser.ParamContext) ctx).IDENTIFIER() != null) .map(ctx -> ((BSLParser.ParamContext) ctx).IDENTIFIER())); } private void checkLabel() { - checkTree(BSLTrees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_labelName).stream() + checkTree(Trees.findAllRuleNodes(documentContext.getAst(), BSLParser.RULE_labelName).stream() .filter(ctx -> ctx.getParent() instanceof BSLParser.GotoStatementContext)); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java index 95635e94ccd..d119b7e70bf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import java.util.ArrayList; @@ -72,7 +75,7 @@ protected void check() { Integer maxCharPosition = value.stream().max(Integer::compareTo).orElse(0); if (maxCharPosition > maxLineLength) { diagnosticStorage.addDiagnostic( - BSLRanges.create(key, 0, key, maxCharPosition), + Ranges.create(key, 0, key, maxCharPosition), info.getMessage(maxCharPosition, maxLineLength) ); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java index 818043c8db9..18608f1f790 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.DiagnosticConfigurator; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -62,7 +65,7 @@ public class MagicNumberDiagnostic extends AbstractVisitorDiagnostic { @Override public void configure(Map configuration) { - DiagnosticHelper.configureDiagnostic(this, configuration, "allowMagicIndexes"); + DiagnosticConfigurator.configureDiagnostic(this, configuration, "allowMagicIndexes"); String authorizedNumbersString = (String) configuration.getOrDefault("authorizedNumbers", DEFAULT_AUTHORIZED_NUMBERS); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java index 3a621e92f4b..25161e22791 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java index f7d5ff2b2ce..4ffa7fd3b7d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java index 71c336580fd..198c98abc3b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.Range; @@ -60,11 +63,11 @@ public ParseTree visitExceptCodeBlock(BSLParser.ExceptCodeBlockContext ctx) { if (commentAsCode) { Stream comments = documentContext.getComments().stream(); - Range rangeTry = BSLRanges.create(ctx.getParent()); + Range rangeTry = Ranges.create(ctx.getParent()); if (comments.anyMatch(token -> - BSLRanges.containsRange( + Ranges.containsRange( rangeTry, - BSLRanges.create(token)))) { + Ranges.create(token)))) { return super.visitExceptCodeBlock(ctx); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java index c76d9f07cf2..e251842be98 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java @@ -28,6 +28,8 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.CodeAction; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java index cc18e53b062..b48fdbcfcb9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java @@ -24,8 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNodeImpl; @@ -99,7 +101,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { int filterLine = ctx.getStart().getLine(); BSLParser.CodeBlockContext codeBlockContext = (BSLParser.CodeBlockContext) - BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_codeBlock); + Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_codeBlock); if (codeBlockContext != null && !foundDeleteFile(codeBlockContext, variableName, filterLine)) { @@ -113,7 +115,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { private boolean foundDeleteFile(BSLParser.CodeBlockContext codeBlockContext, String variableName, int filterLine) { boolean result = false; - Collection listCallStatements = BSLTrees + Collection listCallStatements = Trees .findAllRuleNodes(codeBlockContext, BSLParser.RULE_callStatement) .stream() .filter(node -> ((BSLParser.CallStatementContext) node).getStart().getLine() > filterLine) @@ -180,7 +182,7 @@ private static boolean foundVariableInCallParams(BSLParser.DoCallContext doCallC private static String getVariableName(BSLParser.GlobalMethodCallContext ctx) { BSLParser.AssignmentContext assignment = (BSLParser.AssignmentContext) - BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); + Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_assignment); if (assignment == null) { return null; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java index 466d3d9973a..404c40983be 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingVariablesDescriptionDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java index 4d881b3767e..c312ff95722 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringHasAllDeclaredLanguagesDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java index 92c98087c13..461c808f9dd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MultilingualStringUsingWithTemplateDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java index 19e9818b5c6..be13d0ae4ea 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java @@ -29,6 +29,11 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.NewExpressionContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -83,19 +88,19 @@ public ParseTree visitNewExpression(NewExpressionContext ctx) { List relatedInformation = new ArrayList<>(); relatedInformation.add(RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(ctx), + Ranges.create(ctx), relatedMessage )); structureDoCallContext.callParamList().callParam().stream() .filter(tree -> tree.start.getType() == BSLParser.NEW_KEYWORD) - .map(tree -> BSLTrees.findAllRuleNodes(tree, BSLParser.RULE_newExpression)) + .map(tree -> Trees.findAllRuleNodes(tree, BSLParser.RULE_newExpression)) .filter(tree -> !tree.isEmpty()) .map(tree -> (ParseTree) tree.toArray()[0]) .map(tree -> (NewExpressionContext) tree) .filter(NestedConstructorsInStructureDeclarationDiagnostic::hasParams) .map(newContext -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(newContext), + Ranges.create(newContext), relatedMessage )) .collect(Collectors.toCollection(() -> relatedInformation)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java index a2bd8c9c4e5..50764961a00 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( @@ -82,7 +85,7 @@ private static boolean findNestedCall(BSLParserRuleContext ctx, BSLParser.DoCall // если есть параметры и вызов не в одной строке, то найдем вызовы методов return !ctxDoCall.callParamList().isEmpty() && ctx.getStart().getLine() != ctx.getStop().getLine() - && BSLTrees.nodeContains(ctx, ctxDoCall, BSLParser.RULE_doCall); + && Trees.nodeContains(ctx, ctxDoCall, BSLParser.RULE_doCall); } private void checkMethodCall(BSLParserRuleContext ctx, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java index 5bb3fbc04e8..9da42d9078f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java @@ -28,6 +28,10 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -136,7 +140,7 @@ private void addRelatedInformationDiagnostic(BSLParserRuleContext ctx) { relatedInformation.add( RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(ctx.getStart()), + Ranges.create(ctx.getStart()), relatedMessage ) ); @@ -146,7 +150,7 @@ private void addRelatedInformationDiagnostic(BSLParserRuleContext ctx) { .map(expressionContext -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(((BSLParserRuleContext) expressionContext).getStart()), + Ranges.create(((BSLParserRuleContext) expressionContext).getStart()), relatedMessage ) ) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java index c7448deaab0..d8811ee5a41 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Collection; @@ -61,7 +64,7 @@ public ParseTree visitTernaryOperator(BSLParser.TernaryOperatorContext ctx) { } private void findNestedTernaryOperator(BSLParserRuleContext ctx, int skip) { - Collection nestedTernaryOperators = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_ternaryOperator); + Collection nestedTernaryOperators = Trees.findAllRuleNodes(ctx, BSLParser.RULE_ternaryOperator); if (nestedTernaryOperators.size() > skip) { nestedTernaryOperators.stream() .skip(skip) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java index 708ffbd40b9..39e5a6ff60b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonExportMethodsInApiRegionDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java index 1dbf3c23527..aa66b0e22bd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnostic.java @@ -27,6 +27,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.Regions; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import java.util.Collections; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java index cad4ccc9eeb..a787fb31217 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java index b191601b287..0266441f3ad 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java index 1ec2bed1f7b..d1402b9ff02 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java @@ -27,6 +27,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; /** diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java index 5beced1dedc..5f4ce9189a3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OSUsersMethodDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java index 88119edbd39..8c7b4f7c07e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java @@ -27,6 +27,10 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -64,7 +68,7 @@ private List getRelatedInformation(BSLParser.State .filter(context -> !context.equals(self)) .map(context -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create(context), + Ranges.create(context), "+1" )).collect(Collectors.toCollection(() -> relatedInformation)); return relatedInformation; @@ -120,7 +124,7 @@ public List getQuickFixes( diagnostics.forEach((Diagnostic diagnostic) -> { Range range = diagnostic.getRange(); - Range startLineRange = BSLRanges.create( + Range startLineRange = Ranges.create( range.getStart().getLine(), 0, range.getStart().getLine(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java index 2ca99d4252b..0f65c704b3b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrderOfParamsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser.ParamContext; import com.github._1c_syntax.bsl.parser.BSLParser.ParamListContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Objects; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java index 095fe6e5ea6..175ae3cb1c7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java @@ -25,6 +25,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -83,7 +86,7 @@ private void findAndAddDiagnostic(ParseTree ctx, Pattern pattern, HashMap allTranCalls = new ArrayList<>(); - BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) + Trees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) .stream() .filter(node -> pattern.matcher(( (BSLParser.GlobalMethodCallContext) node).methodName().getText()).matches()) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java index 4fd27486a01..8e7221eb379 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java @@ -28,6 +28,9 @@ import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.misc.IntervalSet; import org.antlr.v4.runtime.tree.ErrorNode; @@ -66,7 +69,7 @@ public void enterFile(BSLParser.FileContext ctx) { BSLParser.FileContext ast = this.documentContext.getAst(); String initialExpectedString = info.getResourceString("expectedTokens") + " "; - BSLTrees.getDescendants(ast).stream() + Trees.getDescendants(ast).stream() .filter(parseTree -> !(parseTree instanceof TerminalNodeImpl)) .map(parseTree -> (BSLParserRuleContext) parseTree) .filter(node -> node.exception != null) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java index 0c28db4d4f9..8d818a651f4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java @@ -25,6 +25,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Collection; @@ -41,7 +44,7 @@ public class ProcedureReturnsValueDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitProcedure(BSLParser.ProcedureContext ctx) { - Collection statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + Collection statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); for (ParseTree thisStatement : statements) { if (thisStatement.getChildCount() > 1) { diagnosticStorage.addDiagnostic((BSLParser.ReturnStatementContext) thisStatement); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java index d22c933e0f5..89c943e8f1b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java @@ -28,6 +28,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java index a4e7671c5cc..624c3dce3c7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RefOveruseDiagnostic.java @@ -24,10 +24,13 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.bsl.parser.SDBLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; +import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Collection; @@ -55,8 +58,8 @@ public class RefOveruseDiagnostic extends AbstractSDBLVisitorDiagnostic { @Override public ParseTree visitQuery(SDBLParser.QueryContext ctx) { - var dataSourceCollection = BSLTrees.findAllRuleNodes(ctx, SDBLParser.RULE_dataSource); - var columnsCollection = BSLTrees.findAllRuleNodes(ctx, SDBLParser.RULE_column); + var dataSourceCollection = Trees.findAllRuleNodes(ctx, SDBLParser.RULE_dataSource); + var columnsCollection = Trees.findAllRuleNodes(ctx, SDBLParser.RULE_column); if (columnsCollection.isEmpty()) { return ctx; @@ -115,12 +118,12 @@ private void performCheck(SDBLParser.ColumnContext ctx, SDBLParser.IdentifierCon private String getTableNameOrAlias(ParseTree dataSource) { String alias = Optional.of(dataSource) - .map(dataSrc -> BSLTrees.getFirstChild(dataSrc, SDBLParser.RULE_alias)) + .map(dataSrc -> Trees.getFirstChild(dataSrc, SDBLParser.RULE_alias)) .filter(Optional::isPresent) - .map(optionalAlias -> BSLTrees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) + .map(optionalAlias -> Trees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) .filter(Optional::isPresent) .map(Optional::get) - .map(BSLParserRuleContext::getText) + .map(ParserRuleContext::getText) .orElse(""); if (!alias.isBlank()) { @@ -128,12 +131,12 @@ private String getTableNameOrAlias(ParseTree dataSource) { } return Optional.of(dataSource) - .map(dataSrc -> BSLTrees.getFirstChild(dataSrc, SDBLParser.RULE_table)) + .map(dataSrc -> Trees.getFirstChild(dataSrc, SDBLParser.RULE_table)) .filter(Optional::isPresent) - .map(optionalAlias -> BSLTrees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) + .map(optionalAlias -> Trees.getFirstChild(optionalAlias.get(), SDBLParser.RULE_identifier)) .filter(Optional::isPresent) .map(Optional::get) - .map(BSLParserRuleContext::getText) + .map(ParserRuleContext::getText) .orElse(""); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java index 0db81ae1a97..eede163f558 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java @@ -25,6 +25,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -58,7 +61,7 @@ && getDescendantsCount(ctx.lValue()) == getDescendantsCount(expression)) { private static int getDescendantsCount(ParserRuleContext tree) { - return ((int) BSLTrees.getDescendants(tree).stream() + return ((int) Trees.getDescendants(tree).stream() .filter(node -> (node instanceof TerminalNode)).count()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java index d8c720b508b..3c8131cb152 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfInsertionDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java index 10db9af9bc3..b4c059b2413 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -56,7 +59,7 @@ public ParseTree visitStatement(BSLParser.StatementContext ctx) { && ctx.SEMICOLON() == null && ctx.getStop() != null) { - if (BSLTrees.treeContainsErrors(ctx)) { + if (Trees.treeContainsErrors(ctx)) { return ctx; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java index 374c70b3129..51a8eaaa7d1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SeveralCompilerDirectivesDiagnostic.java @@ -24,8 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( @@ -41,7 +43,7 @@ public class SeveralCompilerDirectivesDiagnostic extends AbstractVisitorDiagnost @Override public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { - if (BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { + if (Trees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { diagnosticStorage.addDiagnostic(ctx.moduleVarsList()); } return ctx; @@ -51,7 +53,7 @@ public ParseTree visitModuleVar(BSLParser.ModuleVarContext ctx) { public ParseTree visitSub(BSLParser.SubContext ctx) { documentContext.getSymbolTree().getMethodSymbol(ctx).ifPresent((MethodSymbol methodSymbol) -> { if (methodSymbol.getCompilerDirectiveKind().isPresent() - && BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { + && Trees.findAllRuleNodes(ctx, BSLParser.RULE_compilerDirective).size() > 1) { diagnosticStorage.addDiagnostic(methodSymbol.getSubNameRange()); } }); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java index 877c1bcdced..bfad1209125 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java @@ -28,6 +28,8 @@ import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.recognizer.BSLFootprint; import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java index e1e03fcc2df..33d356eef98 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/StyleElementConstructorsDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java index 1fab67f7235..bfc9f3c9820 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TempFilesDirDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java index d87b2fc1a3c..d7fa4a78693 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TernaryOperatorUsageDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java index d75db31ec51..a8776d97bba 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java index e624d9bd136..ff7906938ab 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java @@ -26,8 +26,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; @@ -187,7 +189,7 @@ private static boolean isTimeoutModifer(BSLParser.StatementContext localStatemen BSLParser.AcceptorContext acceptor = lValue.acceptor(); if (acceptor != null) { - List allRuleNodes = new ArrayList<>(BSLTrees.findAllRuleNodes(acceptor, BSLParser.RULE_accessProperty)); + List allRuleNodes = new ArrayList<>(Trees.findAllRuleNodes(acceptor, BSLParser.RULE_accessProperty)); if (!allRuleNodes.isEmpty()) { BSLParser.AccessPropertyContext accessProperty = (BSLParser.AccessPropertyContext) allRuleNodes.get(0); @@ -202,17 +204,17 @@ private static boolean isTimeoutModifer(BSLParser.StatementContext localStatemen @Override public ParseTree visitCodeBlock(BSLParser.CodeBlockContext ctx) { - Collection list = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_newExpression); + Collection list = Trees.findAllRuleNodes(ctx, BSLParser.RULE_newExpression); list.forEach((ParseTree e) -> { AtomicBoolean isContact = new AtomicBoolean(true); BSLParser.NewExpressionContext newExpression = (BSLParser.NewExpressionContext) e; if (isSpecificTypeName(newExpression)) { if (checkTimeoutIntoParamList(newExpression, isContact)) { BSLParser.StatementContext statementContext = (BSLParser.StatementContext) - BSLTrees.getAncestorByRuleIndex((ParserRuleContext) e, BSLParser.RULE_statement); + Trees.getAncestorByRuleIndex((ParserRuleContext) e, BSLParser.RULE_statement); String variableName = getVariableName(statementContext); int filterLine = newExpression.getStart().getLine(); - Collection listNextStatements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_statement) + Collection listNextStatements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_statement) .stream() .filter(node -> ((BSLParser.StatementContext) node).getStart().getLine() > filterLine) .collect(Collectors.toList()); @@ -229,8 +231,7 @@ public ParseTree visitCodeBlock(BSLParser.CodeBlockContext ctx) { @Override public ParseTree visitFile(BSLParser.FileContext ctx) { CompatibilityMode diagnosticCompatibility = documentContext - .getServerContext() - .getConfiguration() + .getMDConfiguration() .getCompatibilityMode(); if (diagnosticCompatibility != null diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java index a497b08a739..dabf3a423c7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java @@ -28,6 +28,11 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.RelatedInformation; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -65,7 +70,7 @@ private static String leftSubStr(String inputString) { private String getRelatedMessage(BSLParser.ReturnStatementContext context) { if (context.getChildCount() > 1) { - return leftSubStr(documentContext.getText(BSLRanges.create(context))); + return leftSubStr(documentContext.getText(Ranges.create(context))); } else { return "+1"; } @@ -75,14 +80,14 @@ private String getRelatedMessage(BSLParser.ReturnStatementContext context) { public ParseTree visitSub(BSLParser.SubContext ctx) { Optional optionalMethodSymbol = documentContext.getSymbolTree().getMethodSymbol(ctx); optionalMethodSymbol.ifPresent((MethodSymbol methodSymbol) -> { - Collection statements = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); + Collection statements = Trees.findAllRuleNodes(ctx, BSLParser.RULE_returnStatement); if (statements.size() > maxReturnsCount) { List relatedInformation = new ArrayList<>(); statements.stream() .map(context -> RelatedInformation.create( documentContext.getUri(), - BSLRanges.create((BSLParser.ReturnStatementContext) context), + Ranges.create((BSLParser.ReturnStatementContext) context), getRelatedMessage((BSLParser.ReturnStatementContext) context) )).collect(Collectors.toCollection(() -> relatedInformation)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java index 24339a3253f..25d34e59281 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -51,7 +54,7 @@ public class TryNumberDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitTryCodeBlock(BSLParser.TryCodeBlockContext ctx) { - BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) + Trees.findAllRuleNodes(ctx, BSLParser.RULE_globalMethodCall) .stream() .filter(GlobalMethodCallContext.class::isInstance) .map(GlobalMethodCallContext.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java index 1a9f98e8438..70543de0366 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java @@ -30,6 +30,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -123,7 +126,7 @@ private static void releaseLanguageTool(String lang, JLanguageToolPoolEntry lang private String getTokenizedStringFromTokens(BSLDocumentContext documentContext, Map> tokensMap) { StringBuilder text = new StringBuilder(); - BSLTrees.findAllRuleNodes(documentContext.getAst(), rulesToFind).stream() + Trees.findAllRuleNodes(documentContext.getAst(), rulesToFind).stream() .map(ruleContext -> (BSLParserRuleContext) ruleContext) .flatMap(ruleContext -> ruleContext.getTokens().stream()) .filter(token -> tokenTypes.contains(token.getType())) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java index aa2c10706cb..edb6111873e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java @@ -25,6 +25,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; @@ -58,7 +61,7 @@ public ParseTree visitMember(BSLParser.MemberContext ctx) { return super.visitMember(ctx); } - Optional previousToken = BSLTrees.getPreviousTokenFromDefaultChannel(documentContext.getTokens(), tokenIndex); + Optional previousToken = Trees.getPreviousTokenFromDefaultChannel(documentContext.getTokens(), tokenIndex); previousToken .filter(token -> "+".equals(token.getText())) .ifPresent(token -> diagnosticStorage.addDiagnostic(unaryModifier.getStart())); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java index 599401874b9..6c4440ea2e9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnionAllDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.SDBLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java index abdeba45c7b..59797e6b159 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnknownPreprocessorSymbolDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java index 7b4f3d0b6e7..0225f942c03 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnreachableCodeDiagnostic.java @@ -23,11 +23,14 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Ranges; +import com.github._1c_syntax.ls_core.utils.Trees; +import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.Range; @@ -62,7 +65,7 @@ public ParseTree visitFile(BSLParser.FileContext ctx) { preprocessorRanges.clear(); // получим все блоки препроцессора в файле - List preprocessors = new ArrayList<>(BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_preprocessor)); + List preprocessors = new ArrayList<>(Trees.findAllRuleNodes(ctx, BSLParser.RULE_preprocessor)); if (preprocessors.isEmpty()) { return super.visitFile(ctx); @@ -100,7 +103,7 @@ private void savePreprocessorRange(Deque nodes, BSLParser.Preprocesso if (!nodes.isEmpty()) { BSLParser.PreprocessorContext previous = (BSLParser.PreprocessorContext) nodes.pop(); preprocessorRanges.add( - BSLRanges.create( + Ranges.create( previous.getStop().getLine(), previous.getStop().getCharPositionInLine() + previous.getStop().getText().length() + 1, node.getStart().getLine(), @@ -143,7 +146,7 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { // если это вложенный в ранее обработанный блок, то исключим из проверки Position pos = new Position(ctx.getStart().getLine(), ctx.getStart().getCharPositionInLine()); for (Range range : errorRanges) { - if (BSLRanges.containsPosition(range, pos)) { + if (Ranges.containsPosition(range, pos)) { return; } } @@ -163,11 +166,11 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { return; } - List statements = BSLTrees.getChildren(ppNodeParent, BSLParser.RULE_statement) + var statements = Trees.getChildren(ppNodeParent, BSLParser.RULE_statement) .stream() .filter(node -> node.getStart().getType() != BSLLexer.SEMICOLON - && !BSLTrees.nodeContains(node, + && !Trees.nodeContains(node, BSLParser.RULE_regionStart, BSLParser.RULE_regionEnd, BSLParser.RULE_preproc_endif)) @@ -178,11 +181,11 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { Collections.reverse(statements); // найдем последний блок - BSLParserRuleContext endCurrentBlockNode = getEndCurrentBlockNode(statements, pos); + var endCurrentBlockNode = getEndCurrentBlockNode(statements, pos); // если последний стейт не текущий, значит он будет недостижим if (!ppNode.equals(endCurrentBlockNode)) { - Range newRange = BSLRanges.create( + Range newRange = Ranges.create( statements.get(statements.indexOf(ppNode) - 1).getStart(), endCurrentBlockNode.getStop()); diagnosticStorage.addDiagnostic(newRange); @@ -192,27 +195,27 @@ private void findAndAddDiagnostic(BSLParserRuleContext ctx) { } } - private BSLParserRuleContext getEndCurrentBlockNode(List statements, Position pos) { + private ParserRuleContext getEndCurrentBlockNode(List statements, Position pos) { // найдем блок препроцессора, в котором лежит наш стейт Range preprocRange = null; for (Range range : preprocessorRanges) { - if (BSLRanges.containsPosition(range, pos)) { + if (Ranges.containsPosition(range, pos)) { preprocRange = range; } } // т.к. список реверснут, берем первый элемент - BSLParserRuleContext endCurrentBlockNode = statements.get(0); + var endCurrentBlockNode = statements.get(0); if (preprocRange != null) { // пройдем по всем стейтам (с конца идем) и ищем первый, находящийся в том же блоке // препроцессора, что и стейт прерывания - for (BSLParserRuleContext statement : statements) { + for (ParserRuleContext statement : statements) { Position posStatement = new Position( statement.getStart().getLine(), statement.getStart().getCharPositionInLine()); - if (BSLRanges.containsPosition(preprocRange, posStatement)) { + if (Ranges.containsPosition(preprocRange, posStatement)) { endCurrentBlockNode = statement; break; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java index 32d28a93a23..46200bcefc3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnsafeSafeModeMethodCallDiagnostic.java @@ -25,9 +25,11 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.Set; @@ -73,7 +75,7 @@ protected boolean checkGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { } BSLParser.MemberContext currentRootMember = - (BSLParser.MemberContext) BSLTrees.getRootParent(ctx, BSLParser.RULE_member); + (BSLParser.MemberContext) Trees.getRootParent(ctx, BSLParser.RULE_member); if (currentRootMember == null) { return false; } @@ -85,9 +87,9 @@ private static boolean nonValidExpression(BSLParser.MemberContext currentRootMem return true; } - BSLParserRuleContext rootExpressionNode = (BSLParserRuleContext) currentRootMember.getParent(); + var rootExpressionNode = (BSLParserRuleContext) currentRootMember.getParent(); - BSLParserRuleContext rootIfNode = BSLTrees.getRootParent(rootExpressionNode, ROOT_LIST); + var rootIfNode = Trees.getRootParent(rootExpressionNode, ROOT_LIST); if (rootIfNode == null || rootIfNode.getRuleIndex() == BSLParser.RULE_codeBlock) { return false; } @@ -104,19 +106,19 @@ private static boolean haveNeighboorBooleanOperator(BSLParserRuleContext current int indexOfCurrentMemberNode = rootExpressionNode.children.indexOf(currentRootMember); if (indexOfCurrentMemberNode > 0) { var prev = (BSLParserRuleContext) rootExpressionNode.children.get(indexOfCurrentMemberNode - 1); - if (BSLTrees.nodeContains(prev, BSLParser.RULE_compareOperation)) { + if (Trees.nodeContains(prev, BSLParser.RULE_compareOperation)) { return false; } - haveNeighboorBoolOperation = BSLTrees.nodeContains(prev, BSLParser.RULE_boolOperation); + haveNeighboorBoolOperation = Trees.nodeContains(prev, BSLParser.RULE_boolOperation); } if (indexOfCurrentMemberNode < rootExpressionNode.getChildCount() - 1) { var next = (BSLParserRuleContext) rootExpressionNode.children.get(indexOfCurrentMemberNode + 1); - if (BSLTrees.nodeContains(next, BSLParser.RULE_compareOperation)) { + if (Trees.nodeContains(next, BSLParser.RULE_compareOperation)) { return false; } if (!haveNeighboorBoolOperation) { - haveNeighboorBoolOperation = BSLTrees.nodeContains(next, BSLParser.RULE_boolOperation); + haveNeighboorBoolOperation = Trees.nodeContains(next, BSLParser.RULE_boolOperation); } } return haveNeighboorBoolOperation; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java index 8081518e90f..c7f31b4f8a6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java @@ -28,6 +28,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java index e488490b2cf..27e8ef4c6e1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedParametersDiagnostic.java @@ -24,8 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -60,19 +62,19 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { return ctx; } - List paramsNames = BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) + List paramsNames = Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) .stream() .map(node -> ((BSLParser.ParamContext) node).IDENTIFIER().getText().toLowerCase(Locale.getDefault())) .collect(Collectors.toList()); - BSLTrees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER) + Trees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER) .stream() .filter(Objects::nonNull) .forEach(node -> paramsNames.remove((node.getText().toLowerCase(Locale.getDefault()))) ); - BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) + Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_param) .stream() .map(param -> ((BSLParser.ParamContext) param).IDENTIFIER()) .filter(param -> paramsNames.contains(param.getText().toLowerCase(Locale.getDefault()))) @@ -85,7 +87,7 @@ public ParseTree visitSubCodeBlock(BSLParser.SubCodeBlockContext ctx) { private static boolean itsHandler(BSLParser.SubCodeBlockContext ctx) { - Optional subNames = BSLTrees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_subName).stream().findFirst(); + Optional subNames = Trees.findAllRuleNodes(ctx.getParent(), BSLParser.RULE_subName).stream().findFirst(); String subName = ""; if (subNames.isPresent()) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java index 79947976b13..cf61aff0d9b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java @@ -29,6 +29,9 @@ import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.ComplexIdentifierContext; import com.github._1c_syntax.bsl.parser.BSLParser.LValueContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -64,7 +67,7 @@ public ParseTree visitForEachStatement(BSLParser.ForEachStatementContext ctx) { return super.visitForEachStatement(ctx); } - boolean hasUsage = BSLTrees.findAllTokenNodes(ctx.codeBlock(), BSLParser.IDENTIFIER) + boolean hasUsage = Trees.findAllTokenNodes(ctx.codeBlock(), BSLParser.IDENTIFIER) .stream() .filter(node -> iteratorIdName.equalsIgnoreCase(node.getText())) .anyMatch(parentClassMatchTo(ComplexIdentifierContext.class) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java index 85c7dbca27a..cb9846e5302 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingCancelParameterDiagnostic.java @@ -23,10 +23,12 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -52,7 +54,7 @@ public class UsingCancelParameterDiagnostic extends AbstractVisitorDiagnostic { @Override public ParseTree visitSub(BSLParser.SubContext ctx) { - Collection params = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_param); + Collection params = Trees.findAllRuleNodes(ctx, BSLParser.RULE_param); boolean inParams = params.stream() .map(node -> ((BSLParser.ParamContext) node).IDENTIFIER()) @@ -64,7 +66,7 @@ public ParseTree visitSub(BSLParser.SubContext ctx) { return ctx; } - BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_assignment).stream() + Trees.findAllRuleNodes(ctx, BSLParser.RULE_assignment).stream() .filter( node -> cancelPattern.matcher(((BSLParser.AssignmentContext) node).lValue() .getText()) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java index f2b76c15ca5..aa319e63070 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -69,7 +72,7 @@ public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) private void checkUseExternalCodeTools(BSLParserRuleContext ctx, TerminalNode identifier) { if (identifier != null && externalCodeToolsName.matcher(identifier.getText()).matches() - && BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_methodCall) + && Trees.findAllRuleNodes(ctx, BSLParser.RULE_methodCall) .stream() .anyMatch(child -> externalCodeToolsMethodsName.matcher(((BSLParser.MethodCallContext) child).getStart().getText()).matches())) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java index dd61506a8a2..1bcf0e5c018 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingFindElementByStringDiagnostic.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java index a63f6b1c8a1..dfe871b2e3f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingGotoDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java index 35c3944e51a..a745507b548 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -127,7 +130,7 @@ private void processVisitString(BSLParser.StringContext ctx, String content) { private boolean itVersionReturn(ParserRuleContext ctx) { - ParserRuleContext returnState = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_returnStatement); + ParserRuleContext returnState = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_returnStatement); if (returnState != null) { return skipStatement(returnState, BSLParser.RULE_function); } @@ -136,7 +139,7 @@ private boolean itVersionReturn(ParserRuleContext ctx) { private boolean skipStatement(ParserRuleContext ctx, int ruleStatement) { - ParserRuleContext parent = BSLTrees.getAncestorByRuleIndex(ctx, ruleStatement); + ParserRuleContext parent = Trees.getAncestorByRuleIndex(ctx, ruleStatement); if (parent != null) { Matcher matcher = searchWordsExclusion.matcher(parent.getText()); return matcher.find(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java index a96818da74c..95fd97814b9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java @@ -26,6 +26,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java index 0fe7ba2b6f5..a9fc5b40c35 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java @@ -25,9 +25,11 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.Token; @@ -196,7 +198,7 @@ private void processCheckNewExpression(BSLParser.NewExpressionContext ctx, private void processCheckAssignmentKey(BSLParserRuleContext ctx, String accessText) { Matcher matcher = searchWords.matcher(getClearString(accessText)); if (matcher.find()) { - ParserRuleContext assignment = BSLTrees.getAncestorByRuleIndex( + ParserRuleContext assignment = Trees.getAncestorByRuleIndex( (ParserRuleContext) ctx.getRuleContext(), BSLParser.RULE_assignment ); @@ -223,7 +225,7 @@ private void processParameterList( } private void addDiagnosticByAssignment(BSLParserRuleContext ctx, int type) { - ParserRuleContext assignment = BSLTrees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), type); + ParserRuleContext assignment = Trees.getAncestorByRuleIndex((ParserRuleContext) ctx.getRuleContext(), type); if (assignment != null) { diagnosticStorage.addDiagnostic((BSLParserRuleContext) assignment, info.getMessage()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java index 5f9c4314fe3..c33b334d9d7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java @@ -27,6 +27,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -92,7 +94,7 @@ public UsingModalWindowsDiagnostic() { @Override public ParseTree visitFile(BSLParser.FileContext ctx) { - var configuration = documentContext.getServerContext().getConfiguration(); + var configuration = documentContext.getMDConfiguration(); // если использование модальных окон разрешено (без предупреждение) // и не установлен флаг игнорирования использования модальных окон, то // ничего не диагностируется diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java index 92c02d68627..cceeb45d67d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; @@ -75,7 +78,7 @@ public ParseTree visitNewExpression(BSLParser.NewExpressionContext ctx) { } private static boolean isFindIfBranchWithLinuxCondition(ParserRuleContext element) { - ParserRuleContext ancestor = BSLTrees.getAncestorByRuleIndex(element, BSLParser.RULE_ifBranch); + ParserRuleContext ancestor = Trees.getAncestorByRuleIndex(element, BSLParser.RULE_ifBranch); if (ancestor == null) { return false; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java index ed62ecfe8f0..1cfdd3aa65d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import java.util.Map; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java index 0d14461067e..c59d0b9bc9b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java @@ -27,6 +27,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -123,7 +126,7 @@ public UsingSynchronousCallsDiagnostic() { @Override public ParseTree visitFile(BSLParser.FileContext ctx) { - var configuration = documentContext.getServerContext().getConfiguration(); + var configuration = documentContext.getMDConfiguration(); // если использование синхронных вызовов разрешено (без предупреждение), то // ничего не диагностируется if (configuration.getSynchronousExtensionAndAddInCallUseMode() == UseMode.USE) { @@ -137,9 +140,9 @@ public ParseTree visitFile(BSLParser.FileContext ctx) { public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { String methodName = ctx.methodName().getText(); if (MODALITY_METHODS.matcher(methodName).matches()) { - BSLParser.SubContext rootParent = (BSLParser.SubContext) BSLTrees.getRootParent(ctx, BSLParser.RULE_sub); + BSLParser.SubContext rootParent = (BSLParser.SubContext) Trees.getRootParent(ctx, BSLParser.RULE_sub); if (rootParent == null - || BSLTrees.findAllRuleNodes(rootParent, BSLParser.RULE_compilerDirectiveSymbol) + || Trees.findAllRuleNodes(rootParent, BSLParser.RULE_compilerDirectiveSymbol) .stream() .filter(node -> SERVER_COMPILER_PATTERN.matcher(node.getText()).matches()).count() <= 0) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java index a11858af2af..ceae6ada9d4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java @@ -30,6 +30,9 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; @@ -120,7 +123,7 @@ public ParseTree visitCallStatement(BSLParser.CallStatementContext ctx) { @Override public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) { - BSLTrees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER).stream() + Trees.findAllTokenNodes(ctx, BSLParser.IDENTIFIER).stream() .filter(token -> PATTERN.matcher(token.getText()).matches()) .forEach(token -> diagnosticStorage.addDiagnostic((TerminalNode) token)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java index be6ddfff663..f3e343f1aff 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongUseOfRollbackTransactionMethodDiagnostic.java @@ -24,8 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.regex.Pattern; @@ -39,7 +41,6 @@ tags = { DiagnosticTag.STANDARD } - ) public class WrongUseOfRollbackTransactionMethodDiagnostic extends AbstractFindMethodDiagnostic { @@ -54,13 +55,13 @@ public WrongUseOfRollbackTransactionMethodDiagnostic() { @Override protected boolean checkGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx) { - var parentNode = BSLTrees.getAncestorByRuleIndex(ctx, BSLParser.RULE_exceptCodeBlock); + var parentNode = Trees.getAncestorByRuleIndex(ctx, BSLParser.RULE_exceptCodeBlock); if (parentNode == null) { return MESSAGE_PATTERN.matcher(ctx.methodName().getText()).matches(); } - var methodsList = BSLTrees.findAllRuleNodes(parentNode, BSLParser.RULE_globalMethodCall).stream() + var methodsList = Trees.findAllRuleNodes(parentNode, BSLParser.RULE_globalMethodCall).stream() .map(BSLParser.GlobalMethodCallContext.class::cast) .map(e -> e.methodName().getText()) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java index 149547f0eac..632a1bc794e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/YoLetterUsageDiagnostic.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; import java.util.Locale; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java index 0c9ea850e89..e4509b4c4bb 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java @@ -23,7 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -36,7 +37,7 @@ public class DiagnosticBeanPostProcessor implements BeanPostProcessor { private final BSLLanguageServerConfiguration configuration; - private final Map, DiagnosticInfo> diagnosticInfos; + private final Map, BSLDiagnosticInfo> diagnosticInfos; @Override public Object postProcessBeforeInitialization(Object bean, String beanName) { @@ -44,10 +45,10 @@ public Object postProcessBeforeInitialization(Object bean, String beanName) { return bean; } - BSLDiagnostic diagnostic = (BSLDiagnostic) bean; + var diagnostic = (BSLDiagnostic) bean; var info = diagnosticInfos.get(diagnostic.getClass()); - diagnostic.setInfo(info); + diagnostic.setInfo((DiagnosticInfo) info); return diagnostic; } @@ -62,7 +63,7 @@ public Object postProcessAfterInitialization(Object bean, String beanName) { BSLDiagnostic diagnostic = (BSLDiagnostic) bean; Either> diagnosticConfiguration = - configuration.getDiagnosticsOptions().getParameters().get(diagnostic.getInfo().getCode().getStringValue()); + configuration.getDiagnosticsOptions().getParameters().get(diagnostic.getInfo().getDiagnosticCode().getStringValue()); if (diagnosticConfiguration != null && diagnosticConfiguration.isRight()) { diagnostic.configure(diagnosticConfiguration.getRight()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java index 5026a103fc5..403b26a15e1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @@ -52,7 +52,7 @@ public class DiagnosticInfosConfiguration { @SuppressWarnings("unchecked") @Bean("diagnosticInfosByCode") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Map diagnosticInfosByCode() { + public Map diagnosticInfosByCode() { var beanNames = applicationContext.getBeanNamesForAnnotation(DiagnosticMetadata.class); return Arrays.stream(beanNames) @@ -66,26 +66,26 @@ public Map diagnosticInfosByCode() { @Bean("diagnosticInfosByDiagnosticClass") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Map, DiagnosticInfo> diagnosticInfosByDiagnosticClass() { + public Map, BSLDiagnosticInfo> diagnosticInfosByDiagnosticClass() { return diagnosticInfosByCode().values().stream() - .collect(Collectors.toMap(DiagnosticInfo::getDiagnosticClass, Function.identity())); + .collect(Collectors.toMap(BSLDiagnosticInfo::getDiagnosticClass, Function.identity())); } @Bean("diagnosticInfos") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Collection diagnosticInfos() { + public Collection diagnosticInfos() { return diagnosticInfosByCode().values(); } @Bean @Scope("prototype") - public DiagnosticInfo diagnosticInfo(@Autowired(required = false) Class diagnosticClass) { + public BSLDiagnosticInfo diagnosticInfo(@Autowired(required = false) Class diagnosticClass) { return diagnosticInfosByDiagnosticClass().get(diagnosticClass); } - private DiagnosticInfo createDiagnosticInfo( + private BSLDiagnosticInfo createDiagnosticInfo( @Autowired(required = false) Class diagnosticClass ) { - return new DiagnosticInfo(diagnosticClass, configuration); + return new BSLDiagnosticInfo(diagnosticClass, configuration); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java index b1b9cde7bc0..a924ce8e679 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java @@ -27,9 +27,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; +import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -59,15 +60,14 @@ public abstract class DiagnosticsConfiguration { @Scope("prototype") public List diagnostics(BSLDocumentContext documentContext) { - Collection diagnosticInfos = diagnosticInfos(); + Collection diagnosticInfos = diagnosticInfos(); BSLDiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); if (needToComputeDiagnostics(documentContext, diagnosticsOptions)) { FileType fileType = documentContext.getFileType(); CompatibilityMode compatibilityMode = documentContext - .getServerContext() - .getConfiguration() + .getMDConfiguration() .getCompatibilityMode(); ModuleType moduleType = documentContext.getModuleType(); @@ -76,7 +76,7 @@ public List diagnostics(BSLDocumentContext documentContext) { .filter(info -> inScope(info, fileType)) .filter(info -> correctModuleType(info, moduleType, fileType)) .filter(info -> passedCompatibilityMode(info, compatibilityMode)) - .map(DiagnosticInfo::getDiagnosticClass) + .map(BSLDiagnosticInfo::getDiagnosticClass) .map(diagnosticConfiguration::diagnostic) .collect(Collectors.toList()); } else { @@ -85,7 +85,7 @@ public List diagnostics(BSLDocumentContext documentContext) { } @Lookup("diagnosticInfos") - protected abstract Collection diagnosticInfos(); + protected abstract Collection diagnosticInfos(); private static boolean needToComputeDiagnostics( BSLDocumentContext documentContext, @@ -119,7 +119,7 @@ private static boolean needToComputeDiagnostics( return configuredSkipSupport != SkipSupport.WITH_SUPPORT; } - private boolean isEnabled(DiagnosticInfo diagnosticInfo, BSLDiagnosticsOptions diagnosticsOptions) { + private boolean isEnabled(BSLDiagnosticInfo diagnosticInfo, BSLDiagnosticsOptions diagnosticsOptions) { var mode = diagnosticsOptions.getMode(); if (mode == Mode.OFF) { @@ -152,7 +152,7 @@ private boolean isEnabled(DiagnosticInfo diagnosticInfo, BSLDiagnosticsOptions d } - private static boolean inScope(DiagnosticInfo diagnosticInfo, FileType fileType) { + private static boolean inScope(BSLDiagnosticInfo diagnosticInfo, FileType fileType) { DiagnosticScope scope = diagnosticInfo.getScope(); DiagnosticScope fileScope; if (fileType == FileType.OS) { @@ -163,7 +163,7 @@ private static boolean inScope(DiagnosticInfo diagnosticInfo, FileType fileType) return scope == DiagnosticScope.ALL || scope == fileScope; } - private static boolean correctModuleType(DiagnosticInfo diagnosticInfo, ModuleType moduletype, FileType fileType) { + private static boolean correctModuleType(BSLDiagnosticInfo diagnosticInfo, ModuleType moduletype, FileType fileType) { if (fileType == FileType.OS) { return true; @@ -186,7 +186,7 @@ private static boolean correctModuleType(DiagnosticInfo diagnosticInfo, ModuleTy } private static boolean passedCompatibilityMode( - DiagnosticInfo diagnosticInfo, + BSLDiagnosticInfo diagnosticInfo, CompatibilityMode contextCompatibilityMode ) { DiagnosticCompatibilityMode compatibilityMode = diagnosticInfo.getCompatibilityMode(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java similarity index 95% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java index ff6388b4c50..002d0ccfb4a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfo.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java @@ -23,6 +23,10 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.utils.Resources; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -40,7 +44,7 @@ import java.util.stream.Collectors; @Slf4j -public class DiagnosticInfo { +public class BSLDiagnosticInfo { private static final Map severityToLSPSeverityMap = createSeverityToLSPSeverityMap(); @@ -53,7 +57,7 @@ public class DiagnosticInfo { private final DiagnosticMetadata diagnosticMetadata; private final List diagnosticParameters; - public DiagnosticInfo( + public BSLDiagnosticInfo( Class diagnosticClass, BSLLanguageServerConfiguration configuration ) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticMetadata.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticMetadata.java index d47681eb7ba..01d6109ca67 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticMetadata.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticMetadata.java @@ -21,6 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Scope; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java index 326cc51abe7..0bb282a28c1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java @@ -76,7 +76,7 @@ private Object castDiagnosticParameterValue(String valueToCast) { return value; } - static List createDiagnosticParameters(DiagnosticInfo diagnosticInfo) { + static List createDiagnosticParameters(BSLDiagnosticInfo diagnosticInfo) { var parameterInfos = getParameterByClass(diagnosticInfo.getDiagnosticClass(), diagnosticInfo); var superClass = diagnosticInfo.getDiagnosticClass().getSuperclass(); @@ -87,7 +87,7 @@ static List createDiagnosticParameters(DiagnosticInfo d return parameterInfos; } - private static List getParameterByClass(Class clazz, DiagnosticInfo diagnosticInfo) { + private static List getParameterByClass(Class clazz, BSLDiagnosticInfo diagnosticInfo) { return Arrays.stream(clazz.getDeclaredFields()) .filter(field -> field.isAnnotationPresent(DiagnosticParameter.class)) .map(field -> new DiagnosticParameterInfo(field, diagnosticInfo.getResourceString(field.getName()))) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java index 2edd45073ab..1e764f652f4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; +import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -112,7 +113,7 @@ public List getRegionRanges() { @Override public ParseTree visitFile(BSLParser.FileContext ctx) { - ParseTree[] uses = BSLTrees.findAllRuleNodes(ctx, BSLParser.RULE_use).toArray(new ParseTree[0]); + ParseTree[] uses = Trees.findAllRuleNodes(ctx, BSLParser.RULE_use).toArray(new ParseTree[0]); if (uses.length <= 1) { return ctx; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java index 8cbe4dae58b..115f1e4af89 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java @@ -22,8 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.providers; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.DocumentFormattingParams; @@ -91,7 +91,7 @@ public List getFormatting(DocumentFormattingParams params, BSLDocument return getTextEdits( tokens, - BSLRanges.create(firstToken, lastToken), firstToken.getCharPositionInLine(), params.getOptions() + Ranges.create(firstToken, lastToken), firstToken.getCharPositionInLine(), params.getOptions() ); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java index aac6874e748..7fb28344329 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java @@ -64,6 +64,7 @@ public List getSymbols(WorkspaceSymbolParams params } return context.getDocuments().values().stream() + .map(documentContext -> (BSLDocumentContext) documentContext) .flatMap(BSLSymbolProvider::getSymbolPairs) .filter(symbolPair -> queryString.isEmpty() || pattern.matcher(symbolPair.getValue().getName()).find()) .map(BSLSymbolProvider::createSymbolInformation) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java index 94f74b8ecfa..606a7887168 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java @@ -22,9 +22,11 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.annotation.JsonProperty; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import lombok.Getter; import lombok.Value; import org.eclipse.lsp4j.Diagnostic; @@ -58,7 +60,7 @@ public GenericIssueReport( this.issues = new ArrayList<>(issues); } - public GenericIssueReport(AnalysisInfo analysisInfo, Map diagnosticInfos) { + public GenericIssueReport(AnalysisInfo analysisInfo, Map diagnosticInfos) { issues = new ArrayList<>(); for (FileInfo fileInfo : analysisInfo.getFileinfos()) { for (Diagnostic diagnostic : fileInfo.getDiagnostics()) { @@ -101,7 +103,7 @@ public GenericIssueEntry( this.secondaryLocations = new ArrayList<>(secondaryLocations); } - public GenericIssueEntry(String fileName, Diagnostic diagnostic, DiagnosticInfo diagnosticInfo) { + public GenericIssueEntry(String fileName, Diagnostic diagnostic, BSLDiagnosticInfo diagnosticInfo) { engineId = diagnostic.getSource(); ruleId = diagnosticInfo.getCode().getStringValue(); severity = diagnosticInfo.getSeverity().name(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java index 7d81e5255e1..3cbecb462f3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java @@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -39,7 +39,7 @@ @RequiredArgsConstructor public class GenericIssueReporter implements DiagnosticReporter { - private final Map diagnosticInfos; + private final Map diagnosticInfos; @Override public String key() { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java index bdb01d89608..9c5e20b47f1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitTestSuites.java @@ -34,6 +34,7 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import lombok.Getter; import lombok.Value; import org.eclipse.lsp4j.Diagnostic; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java index 0cc9f455667..42394ae67b8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntry.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.fasterxml.jackson.annotation.JsonProperty; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import lombok.Getter; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java index cf18d327565..607f1a44ebc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/databind/DiagnosticCodeSerializer.java @@ -24,6 +24,7 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import org.eclipse.lsp4j.jsonrpc.messages.Either; import java.io.IOException; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java index e5b8b5f093e..fd97297fb65 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MdoRefBuilder.java @@ -76,8 +76,7 @@ public String getMdoRef( } private Optional getCommonModuleMdoRef(BSLDocumentContext documentContext, String commonModuleName) { - return documentContext.getServerContext() - .getConfiguration() + return documentContext.getMDConfiguration() .getCommonModule(commonModuleName) .map(CommonModule::getMdoReference) .map(MDOReference::getMdoRef); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java index 458ebd1e2f4..a01e5dec3c8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver; import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; +import com.github._1c_syntax.ls_core.CoreLanguageServer; import org.eclipse.lsp4j.InitializeParams; import org.eclipse.lsp4j.InitializeResult; import org.junit.jupiter.api.Test; @@ -39,7 +40,7 @@ class BSLLanguageServerTest { @Autowired - private BSLLanguageServer server; + private CoreLanguageServer server; @Test void initialize() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java index daa053f81dd..23b9caf70ce 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java @@ -21,8 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver; -import com.github._1c_syntax.bsl.languageserver.jsonrpc.DiagnosticParams; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.CoreTextDocumentService; +import com.github._1c_syntax.ls_core.jsonrpc.DiagnosticParams; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.CompletionItem; import org.eclipse.lsp4j.CompletionList; @@ -58,7 +60,7 @@ class BSLTextDocumentServiceTest { @Autowired - private BSLTextDocumentService textDocumentService; + private CoreTextDocumentService textDocumentService; @Test void completion() throws ExecutionException, InterruptedException { @@ -274,7 +276,7 @@ void testDiagnosticsKnownFileFilteredRange() throws ExecutionException, Interrup // when var params = new DiagnosticParams(getTextDocumentIdentifier()); - params.setRange(BSLRanges.create(1, 0, 2, 0)); + params.setRange(Ranges.create(1, 0, 2, 0)); var diagnostics = textDocumentService.diagnostics(params).get(); // then diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java index 3ce671922a9..f49d7434d24 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/GenerateStandardRegionsSupplierTest.java @@ -54,7 +54,7 @@ void testGetCodeActions() { // given String filePath = "./src/test/resources/suppliers/generateRegion.bsl"; - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); List diagnostics = new ArrayList<>(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java index 7b246cacd1f..a79d61ad34e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplierTest.java @@ -23,6 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.CommentedCodeDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java index 593fec69842..31552522206 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfigurationTest.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.configuration.codelens.CodeLensOptions; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.BSLDiagnosticsOptions; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; +import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.junit.jupiter.api.BeforeEach; @@ -40,7 +42,6 @@ import java.nio.file.Paths; import java.util.Map; -import static com.github._1c_syntax.bsl.languageserver.configuration.Language.DEFAULT_LANGUAGE; import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest @@ -121,7 +122,7 @@ void createFromEmptyFile() { Language language = configuration.getLanguage(); Map>> parameters = diagnosticsOptions.getParameters(); - assertThat(language).isEqualTo(DEFAULT_LANGUAGE); + assertThat(language).isEqualTo(Language.DEFAULT_LANGUAGE); assertThat(parameters).isEmpty(); } @@ -154,7 +155,7 @@ void testPartialInitialization() { assertThat(codeLensOptions.isShowCognitiveComplexity()).isTrue(); assertThat(codeLensOptions.isShowCyclomaticComplexity()).isFalse(); - assertThat(configuration.getLanguage()).isEqualTo(DEFAULT_LANGUAGE); + assertThat(configuration.getLanguage()).isEqualTo(Language.DEFAULT_LANGUAGE); assertThat(diagnosticsOptions.getMode()).isEqualTo(Mode.ON); assertThat(diagnosticsOptions.getSkipSupport()).isEqualTo(SkipSupport.NEVER); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java index 0ec1a8a44d1..c729c6e4871 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/configuration/watcher/ConfigurationFileSystemWatcherTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.configuration.watcher; import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; +import com.github._1c_syntax.ls_core.configuration.Language; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java index 6d463610fbb..eb18dd412f8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java @@ -165,7 +165,7 @@ void testUntitledSchema() { String fileContent = ""; // when - var documentContext = TestUtils.getDocumentContext(uri, fileContent); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(uri, fileContent); // then assertThat(documentContext.getFileType()).isEqualTo(FileType.BSL); @@ -178,7 +178,7 @@ void testUntitledSchemaFromVSC() { String fileContent = ""; // when - var documentContext = TestUtils.getDocumentContext(uri, fileContent); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(uri, fileContent); // then assertThat(documentContext.getFileType()).isEqualTo(FileType.BSL); @@ -191,7 +191,7 @@ public BSLDocumentContext getDocumentContext() { } private BSLDocumentContext getDocumentContext(String filePath) { - return TestUtils.getDocumentContextFromFile(filePath); + return (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); } @Test diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java index 980afb3df81..a05b38b8465 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLServerContextTest.java @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.context; +import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.mdclasses.metadata.Configuration; import com.github._1c_syntax.mdclasses.metadata.additional.ConfigurationSource; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -56,7 +57,7 @@ class BSLServerContextTest { void testConfigurationMetadata() { Path path = Absolute.path(PATH_TO_METADATA); - serverContext.setConfigurationRoot(path); + serverContext.setProjectRoot(path); Configuration configurationMetadata = serverContext.getConfiguration(); assertThat(configurationMetadata).isNotNull(); @@ -79,10 +80,10 @@ void testConfigurationMetadata() { void testMdoRefs() throws IOException { var path = Absolute.path(PATH_TO_METADATA); - serverContext.setConfigurationRoot(path); + serverContext.setProjectRoot(path); var mdoRefCommonModule = "CommonModule.ПервыйОбщийМодуль"; - BSLDocumentContext documentContext = addDocumentContext(serverContext, PATH_TO_MODULE_FILE); + var documentContext = (BSLDocumentContext) addDocumentContext(serverContext, PATH_TO_MODULE_FILE); assertThat(serverContext.getDocument(mdoRefCommonModule, documentContext.getModuleType())) .isPresent() .get() @@ -111,7 +112,7 @@ void testMdoRefs() throws IOException { void testErrorConfigurationMetadata() { Path path = Absolute.path(Paths.get(PATH_TO_METADATA, "test")); - serverContext.setConfigurationRoot(path); + serverContext.setProjectRoot(path); Configuration configurationMetadata = serverContext.getConfiguration(); assertThat(configurationMetadata).isNotNull(); @@ -122,7 +123,7 @@ void testErrorConfigurationMetadata() { void testPopulateContext() { // given Path path = Absolute.path(PATH_TO_METADATA); - serverContext.setConfigurationRoot(path); + serverContext.setProjectRoot(path); assertThat(serverContext.getDocuments()).isEmpty(); @@ -133,7 +134,7 @@ void testPopulateContext() { assertThat(serverContext.getDocuments()).hasSizeGreaterThan(0); } - private BSLDocumentContext addDocumentContext(BSLServerContext serverContext, String path) throws IOException { + private DocumentContext addDocumentContext(BSLServerContext serverContext, String path) throws IOException { var file = new File(PATH_TO_METADATA, path); var uri = Absolute.uri(file); return serverContext.addDocument(uri, FileUtils.readFileToString(file, StandardCharsets.UTF_8)); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java similarity index 80% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java index 7d2fafd6b56..f57e3d86025 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/DiagnosticIgnoranceComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java @@ -22,7 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.context.computer; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.context.computer.Computer; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -34,14 +35,14 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class DiagnosticIgnoranceComputerTest { +class BSLDiagnosticIgnoranceComputerTest { @Test void testDiagnosticIgnorance() { // given - String filePath = "./src/test/resources/context/computer/DiagnosticIgnoranceComputerTest.bsl"; - final BSLDocumentContext documentContext = getDocumentContextFromFile(filePath); + String filePath = "./src/test/resources/context/computer/BSLDiagnosticIgnoranceComputerTest.bsl"; + final BSLDocumentContext documentContext = (BSLDocumentContext) getDocumentContextFromFile(filePath); List ignoredDiagnostics = new ArrayList<>(); @@ -59,9 +60,9 @@ void testDiagnosticIgnorance() { notIgnoredDiagnostics.add(createDiagnostic("SemicolonPresence", 29)); // when - Computer diagnosticIgnoranceComputer = - new DiagnosticIgnoranceComputer(documentContext); - DiagnosticIgnoranceComputer.Data data = diagnosticIgnoranceComputer.compute(); + Computer diagnosticIgnoranceComputer = + new BSLDiagnosticIgnoranceComputer(documentContext); + BSLDiagnosticIgnoranceComputer.Data data = diagnosticIgnoranceComputer.compute(); // then assertThat(ignoredDiagnostics).allMatch(data::diagnosticShouldBeIgnored); @@ -71,7 +72,7 @@ void testDiagnosticIgnorance() { private static Diagnostic createDiagnostic(String code, int line) { Diagnostic diagnostic = new Diagnostic(); diagnostic.setCode(code); - diagnostic.setRange(BSLRanges.create(line - 1, 0, line - 1, 0)); + diagnostic.setRange(Ranges.create(line - 1, 0, line - 1, 0)); return diagnostic; } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java index 1519e17a6b4..6da23d1e217 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputerTest.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.context.computer.Computer; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -38,7 +39,7 @@ class CognitiveComplexityComputerTest { void compute() { // given BSLDocumentContext documentContext - = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CognitiveComplexityComputerTest.bsl"); + = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CognitiveComplexityComputerTest.bsl"); // when Computer cognitiveComplexityComputer = diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java index 983ea3af057..6ed2e6e1189 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputerTest.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.context.computer.Computer; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -39,7 +40,7 @@ void compute() { // given BSLDocumentContext documentContext - = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CyclomaticComplexityComputerTest.bsl"); + = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/CyclomaticComplexityComputerTest.bsl"); // when Computer cyclomaticComplexityComputer = diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java index 4f6da728b11..96abd3f219c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputerTest.java @@ -28,7 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationKind; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.CompilerDirectiveKind; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.utils.Absolute; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; @@ -58,15 +58,15 @@ class MethodSymbolComputerTest { @Test void testMethodSymbolComputer() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); assertThat(methods.size()).isEqualTo(23); assertThat(methods.get(0).getName()).isEqualTo("Один"); assertThat(methods.get(0).getDescription()).isNotPresent(); - assertThat(methods.get(0).getRange()).isEqualTo(BSLRanges.create(1, 0, 3, 14)); - assertThat(methods.get(0).getSubNameRange()).isEqualTo(BSLRanges.create(1, 10, 1, 14)); + assertThat(methods.get(0).getRange()).isEqualTo(Ranges.create(1, 0, 3, 14)); + assertThat(methods.get(0).getSubNameRange()).isEqualTo(Ranges.create(1, 10, 1, 14)); assertThat(methods.get(1).getDescription()).isNotEmpty(); assertThat(methods.get(1).getRegion().orElse(null).getName()).isEqualTo("ИмяОбласти"); @@ -151,7 +151,7 @@ void testMethodSymbolComputer() { @Test void testAnnotation() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); // CUSTOM @@ -201,7 +201,7 @@ void testAnnotation() { @Test void testParameters() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); List parameters = methods.get(2).getParameters(); @@ -226,7 +226,7 @@ void testParameters() { @Test void testDeprecated() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTest.bsl"); List methods = documentContext.getSymbolTree().getMethods(); MethodSymbol methodSymbol = methods.get(2); @@ -248,7 +248,7 @@ void testDeprecated() { void testMdoRef() throws IOException { var path = Absolute.path(PATH_TO_METADATA); - serverContext.setConfigurationRoot(path); + serverContext.setProjectRoot(path); checkModule(serverContext, PATH_TO_MODULE_FILE, "CommonModule.ПервыйОбщийМодуль", 5); checkModule(serverContext, PATH_TO_CATALOG_FILE, "Catalog.Справочник1", 1); checkModule(serverContext, PATH_TO_CATALOG_MODULE_FILE, "Catalog.Справочник1", 1); @@ -257,11 +257,11 @@ void testMdoRef() throws IOException { @Test void testParseError() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTestParseError.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/MethodSymbolComputerTestParseError.bsl"); List methods = documentContext.getSymbolTree().getMethods(); assertThat(methods.get(0).getName()).isEqualTo("Выполнить"); - assertThat(methods.get(0).getSubNameRange()).isEqualTo(BSLRanges.create(0, 10, 0, 19)); + assertThat(methods.get(0).getSubNameRange()).isEqualTo(Ranges.create(0, 10, 0, 19)); } @@ -280,7 +280,7 @@ private void checkModule( ) throws IOException { var file = new File(PATH_TO_METADATA, path); var uri = Absolute.uri(file); - var documentContext = serverContext.addDocument(uri, FileUtils.readFileToString(file, StandardCharsets.UTF_8)); + var documentContext = (BSLDocumentContext) serverContext.addDocument(uri, FileUtils.readFileToString(file, StandardCharsets.UTF_8)); List methods = documentContext.getSymbolTree().getMethods(); assertThat(methods.size()).isEqualTo(methodsCount); assertThat(methods.get(0).getName()).isEqualTo("Тест"); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java index fe078f5d357..3fe15ad4634 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/QueryComputerTest.java @@ -37,7 +37,7 @@ class QueryComputerTest { void compute() { // given BSLDocumentContext documentContext - = TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/QueryComputerTest.bsl"); + = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/computer/QueryComputerTest.bsl"); // when var queries = documentContext.getQueries(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java index 1c7e7776e4c..296a425b3b8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -45,7 +45,7 @@ class VariableSymbolTest { @BeforeEach void setup() { - documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/symbol/variableSymbolTest.bsl"); + documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/context/symbol/variableSymbolTest.bsl"); variableSymbols = documentContext.getSymbolTree().getVariables(); } @@ -57,24 +57,24 @@ void testVariableSymbolDescription() { assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isEmpty()) .hasSize(5) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(12, 6, 34))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(14, 6, 27))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(16, 6, 17))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(16, 19, 30))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(27, 10, 19))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(12, 6, 34))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(14, 6, 27))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(16, 6, 17))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(16, 19, 30))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(27, 10, 19))) ; assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isPresent()) .hasSize(8) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(2, 6, 32))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(6, 6, 32))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(8, 6, 33))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(19, 6, 18))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(24, 6, 18))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(29, 10, 20))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(33, 10, 20))) - .anyMatch(variableSymbol -> variableSymbol.getRange().equals(BSLRanges.create(40, 10, 21))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(2, 6, 32))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(6, 6, 32))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(8, 6, 33))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(19, 6, 18))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(24, 6, 18))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(29, 10, 20))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(33, 10, 20))) + .anyMatch(variableSymbol -> variableSymbol.getRange().equals(Ranges.create(40, 10, 21))) ; } @@ -92,11 +92,11 @@ void testVariableDescriptionRange() { .hasSize(8) .filteredOn(variableDescription -> !variableDescription.getDescription().equals("")) .hasSize(5) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(1, 0, 18))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(4, 0, 5, 23))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(21, 0, 23, 29))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(31, 4, 25))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(35, 4, 39, 27))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(1, 0, 18))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(4, 0, 5, 23))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(21, 0, 23, 29))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(31, 4, 25))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(35, 4, 39, 27))) ; assertThat(variableDescriptions) @@ -104,11 +104,11 @@ void testVariableDescriptionRange() { .filteredOn(Optional::isPresent) .hasSize(5) .extracting(Optional::get) - .anyMatch(trailingDescription -> trailingDescription.getRange().equals(BSLRanges.create(8, 35, 55))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(19, 20, 42))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(24, 20, 42))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(29, 21, 43))) - .anyMatch(variableDescription -> variableDescription.getRange().equals(BSLRanges.create(33, 21, 43))) + .anyMatch(trailingDescription -> trailingDescription.getRange().equals(Ranges.create(8, 35, 55))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(19, 20, 42))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(24, 20, 42))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(29, 21, 43))) + .anyMatch(variableDescription -> variableDescription.getRange().equals(Ranges.create(33, 21, 43))) ; } @@ -119,11 +119,11 @@ void testVariableNameRange() { assertThat(variableSymbols) .filteredOn(variableSymbol -> variableSymbol.getDescription().isEmpty()) .hasSize(5) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(12, 6, 34))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(14, 6, 27))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(16, 6, 17))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(16, 19, 30))) - .anyMatch(variableName -> variableName.getVariableNameRange().equals(BSLRanges.create(27, 10, 19))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(12, 6, 34))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(14, 6, 27))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(16, 6, 17))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(16, 19, 30))) + .anyMatch(variableName -> variableName.getVariableNameRange().equals(Ranges.create(27, 10, 19))) ; } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java index 584927cde6d..f2ccc558361 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; @@ -75,21 +76,21 @@ protected void initServerContext(String path) { } protected void initServerContext(Path configurationRoot) { - context.setConfigurationRoot(configurationRoot); + context.setProjectRoot(configurationRoot); context.populateContext(); } - protected List getDiagnostics(BSLDocumentContext documentContext) { + protected List getDiagnostics(DocumentContext documentContext) { return diagnosticInstance.getDiagnostics(documentContext); } protected List getDiagnostics() { - BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = getDocumentContext(); return getDiagnostics(documentContext); } protected List getDiagnostics(String simpleFileName) { - BSLDocumentContext documentContext = getDocumentContext(simpleFileName); + var documentContext = getDocumentContext(simpleFileName); return getDiagnostics(documentContext); } @@ -97,23 +98,23 @@ protected List getQuickFixes(Diagnostic diagnostic) { return getQuickFixes(diagnostic, getDocumentContext()); } - protected List getQuickFixes(Diagnostic diagnostic, BSLDocumentContext documentContext) { + protected List getQuickFixes(Diagnostic diagnostic, DocumentContext documentContext) { return getQuickFixes(documentContext, Collections.singletonList(diagnostic), diagnostic.getRange()); } protected List getQuickFixes(Diagnostic diagnostic, Range range) { - BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = getDocumentContext(); return getQuickFixes(documentContext, Collections.singletonList(diagnostic), range); } protected List getQuickFixes(Range range) { - BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = getDocumentContext(); List diagnostics = this.diagnosticInstance.getDiagnostics(documentContext); return getQuickFixes(documentContext, diagnostics, range); } - private List getQuickFixes(BSLDocumentContext documentContext, List diagnostics, Range range) { + private List getQuickFixes(DocumentContext documentContext, List diagnostics, Range range) { TextDocumentIdentifier textDocument = new TextDocumentIdentifier(documentContext.getUri().toString()); CodeActionContext codeActionContext = new CodeActionContext(); @@ -125,16 +126,16 @@ private List getQuickFixes(BSLDocumentContext documentContext, List< params.setRange(range); params.setContext(codeActionContext); - return ((QuickFixProvider) this.diagnosticInstance).getQuickFixes(diagnostics, params, documentContext); + return ((QuickFixProvider) this.diagnosticInstance).getQuickFixes(diagnostics, params, (BSLDocumentContext) documentContext); } - protected BSLDocumentContext getDocumentContext() { + protected DocumentContext getDocumentContext() { return getDocumentContext(diagnosticInstance.getClass().getSimpleName()); } @SneakyThrows - protected BSLDocumentContext getDocumentContext(String SimpleFileName) { + protected DocumentContext getDocumentContext(String SimpleFileName) { String textDocumentContent = getText(SimpleFileName); return TestUtils.getDocumentContext(textDocumentContent, context); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java similarity index 92% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java index dfce89fa313..0e57cf9fd25 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticInfosTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java @@ -22,9 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameterInfo; +import com.github._1c_syntax.ls_core.configuration.Language; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -40,10 +41,10 @@ import static org.mockito.Mockito.when; @SpringBootTest -class DiagnosticInfosTest { +class BSLDiagnosticInfosTest { @Autowired - private Map diagnosticInfos; + private Map diagnosticInfos; @Autowired private BSLLanguageServerConfiguration configuration; @@ -52,7 +53,7 @@ class DiagnosticInfosTest { void testAllDiagnosticsHaveMetadataAnnotation() { // when List> diagnosticClasses = diagnosticInfos.values().stream() - .map(DiagnosticInfo::getDiagnosticClass).collect(Collectors.toList()); + .map(BSLDiagnosticInfo::getDiagnosticClass).collect(Collectors.toList()); // then assertThat(diagnosticClasses) @@ -110,7 +111,7 @@ void allParametersHaveResources(Language language) { boolean allParametersHaveDescription; try { - var info = new DiagnosticInfo(diagnosticInfo.getDiagnosticClass(), config); + var info = new BSLDiagnosticInfo(diagnosticInfo.getDiagnosticClass(), config); allParametersHaveDescription = info.getParameters().stream() .map(DiagnosticParameterInfo::getDescription) .noneMatch(String::isEmpty); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnosticTest.java index e07330a6043..e9964c07b0d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CachedPublicDiagnosticTest.java @@ -128,7 +128,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnosticTest.java index 25a2c06a77f..ff3fd601b9e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnosticTest.java @@ -306,7 +306,7 @@ void test() { @Test void testQuickFix() { - final BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = (BSLDocumentContext) getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic firstDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnosticTest.java index fbfad99173b..48a5335ab3f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnosticTest.java @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.eclipse.lsp4j.Diagnostic; @@ -106,7 +107,7 @@ void testExecute() { } private List getDiagnostics(String fileName, ModuleType moduleType) { - var documentContext = spy(TestUtils.getDocumentContext(getText(fileName))); + var documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext(getText(fileName))); doReturn(moduleType).when(documentContext).getModuleType(); return getDiagnostics(documentContext); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnosticTest.java index 1012ebd065e..4e68cdc8b6f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnosticTest.java @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -77,7 +78,7 @@ void testQuickFixRemoveCode() { .hasSize(1); final CodeAction fix = quickFixes.get(0); - assertThat(fix).of(diagnosticInstance).in(getDocumentContext()).fixes(diagnostics.get(0)); + assertThat(fix).of(diagnosticInstance).in((BSLDocumentContext) getDocumentContext()).fixes(diagnostics.get(0)); } } \ No newline at end of file diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java index 7a1e7abccb5..bd3e9780010 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnosticTest.java @@ -58,7 +58,7 @@ void test() { Path testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); - BSLDocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java index d036312a0a5..c6397ba710f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleInvalidTypeDiagnosticTest.java @@ -173,7 +173,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnosticTest.java index 2d42c6cfc11..70bc7bb4b7a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameCachedDiagnosticTest.java @@ -171,7 +171,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java index bb71935b3f0..1dc43b4f342 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientDiagnosticTest.java @@ -172,7 +172,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java index c79210f0555..ed2ea7ac5d9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameClientServerDiagnosticTest.java @@ -171,7 +171,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java index ae6f5c49044..2b92fecc670 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameFullAccessDiagnosticTest.java @@ -122,7 +122,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java index 9a7cc6d4a26..11a41fc5080 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalClientDiagnosticTest.java @@ -212,7 +212,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java index 1405b582943..161f32468cb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameGlobalDiagnosticTest.java @@ -121,7 +121,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java index 446b12316c8..eed45b18777 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameServerCallDiagnosticTest.java @@ -152,7 +152,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java index 44570bef194..e7e0afa2ce1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnosticTest.java @@ -124,7 +124,7 @@ void getDocumentContextFromFile() { initServerContext(path); var configuration = context.getConfiguration(); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java index e905458d646..828703ca5c6 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CompilationDirectiveLostDiagnosticTest.java @@ -37,7 +37,7 @@ class CompilationDirectiveLostDiagnosticTest extends AbstractDiagnosticTest diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).hasSize(1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java index 8dc4ac576f8..309266de74b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnosticTest.java @@ -259,7 +259,7 @@ void testQuickFix() { } private void checkQuickFixes(String module, boolean haveFix) { - final BSLDocumentContext documentContext = TestUtils.getDocumentContext(module); + final BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(module); List diagnostics = getDiagnostics(documentContext); diagnostics.forEach(diagnostic -> checkFix(documentContext, diagnostic, haveFix)); @@ -304,7 +304,7 @@ private void checkFix(BSLDocumentContext documentContext, Diagnostic diagnostic, } private List getDiagnosticsForText(String textDocumentContent) { - BSLDocumentContext documentContext = TestUtils.getDocumentContext(textDocumentContent); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(textDocumentContent); return getDiagnostics(documentContext); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java index f5e2132a640..e76a6b6b7a1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -50,14 +50,14 @@ void test() { assertThat(diagnostics) .hasSize(3) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(7, 10, 7, 22))) + Ranges.create(7, 10, 7, 22))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(19, 10, 19, 17))) + Ranges.create(19, 10, 19, 17))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(70, 10, 70, 22))) + Ranges.create(70, 10, 70, 22))) //fix me "Если НЕ обменданными" // .anyMatch(diagnostic -> diagnostic.getRange().equals( -// BSLRanges.create(57, 10, 57, 22))); +// Ranges.create(57, 10, 57, 22))); ; // Проверяем с включенным параметром findFirst @@ -71,10 +71,10 @@ void test() { assertThat(diagnostics) .hasSize(4) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(7, 10, 7, 22))) + Ranges.create(7, 10, 7, 22))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(19, 10, 19, 17))) + Ranges.create(19, 10, 19, 17))) .anyMatch(diagnostic -> diagnostic.getRange().equals( - BSLRanges.create(33, 10, 33, 22))); + Ranges.create(33, 10, 33, 22))); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java index ffa0ee899b7..fe986da74d2 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnosticTest.java @@ -53,7 +53,7 @@ void test() { void testQuickFix() { - final BSLDocumentContext documentContext = getDocumentContext(); + final BSLDocumentContext documentContext = (BSLDocumentContext) getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic ruDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java index c86c10ced11..56849d2f650 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java @@ -28,6 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticsConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -61,13 +62,13 @@ class DiagnosticsTest { @BeforeEach void createDocumentContext() { - documentContext = TestUtils.getDocumentContext(""); + documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); } @Test void testCompatibilityMode() { // given - documentContext = spy(TestUtils.getDocumentContext("")); + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext("")); var serverContext = spy(context); var bslConfiguration = spy(serverContext.getConfiguration()); @@ -93,7 +94,7 @@ void testCompatibilityMode() { @Test void testModuleType() { // given - documentContext = spy(TestUtils.getDocumentContext("")); + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext("")); // when-then pairs when(documentContext.getModuleType()).thenReturn(ModuleType.CommandModule); @@ -116,7 +117,7 @@ void testModuleType() { @Test void testAllScope() { // given - documentContext = spy(TestUtils.getDocumentContext("")); + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext("")); // when-then pairs when(documentContext.getModuleType()).thenReturn(ModuleType.CommonModule); @@ -139,7 +140,7 @@ void testAllScope() { void testSkipSupport() { // given - documentContext = spy(TestUtils.getDocumentContext("А = 0")); + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext("А = 0")); var supportConfiguration = mock(SupportConfiguration.class); // when-then pairs ComputeDiagnosticsSkipSupport.NEVER diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java index d3c94aa2cd9..3c6fc68b9fb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -57,7 +57,7 @@ void testFileEmptyCodeBlock() { List diagnostics = getDiagnostics("EmptyCodeBlockDiagnosticFileCodeBlock"); assertThat(diagnostics).hasSize(1); - assertThat(diagnostics.get(0).getRange()).isEqualTo(BSLRanges.create(4, 4, 4, 16)); + assertThat(diagnostics.get(0).getRange()).isEqualTo(Ranges.create(4, 4, 4, 16)); } @Test diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java index caa8e9482f6..893bb3b6c34 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnosticTest.java @@ -52,7 +52,7 @@ void test() { @Test void testQuickFix() { - final BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = (BSLDocumentContext) getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic externalRegionDiagnostic = diagnostics.get(2); final Diagnostic internalRegionDiagnostic = diagnostics.get(1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java index 9a2a98ffc1a..b86c90081c0 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -56,7 +57,7 @@ void testQuickFix() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - BSLRanges.create(3, 19, 3, 19) + Ranges.create(3, 19, 3, 19) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java index 0e82acc568e..f1dff144f02 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExecuteExternalCodeInCommonModuleDiagnosticTest.java @@ -121,7 +121,7 @@ private void getDocumentContextFromFile() { initServerContext(path); var configuration = spy(context.getConfiguration()); - documentContext = spy(TestUtils.getDocumentContext( + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), getText(), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java index f1dafe029f2..a6b5daabf47 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedCodeBlockDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -44,32 +44,32 @@ void test() { checkDiagnosticContent( diagnostics.get(0), - BSLRanges.create(9, 1, 10, 9), - BSLRanges.create(12, 1, 13, 9) + Ranges.create(9, 1, 10, 9), + Ranges.create(12, 1, 13, 9) ); checkDiagnosticContent( diagnostics.get(1), - BSLRanges.create(26, 1, 27, 9), - BSLRanges.create(29, 1, 30, 9) + Ranges.create(26, 1, 27, 9), + Ranges.create(29, 1, 30, 9) ); checkDiagnosticContent( diagnostics.get(2), - BSLRanges.create(39, 1, 47, 11), - BSLRanges.create(52, 1, 60, 11) + Ranges.create(39, 1, 47, 11), + Ranges.create(52, 1, 60, 11) ); checkDiagnosticContent( diagnostics.get(3), - BSLRanges.create(40, 2, 41, 10), - BSLRanges.create(43, 2, 44, 10) + Ranges.create(40, 2, 41, 10), + Ranges.create(43, 2, 44, 10) ); checkDiagnosticContent( diagnostics.get(4), - BSLRanges.create(53, 2, 54, 10), - BSLRanges.create(56, 2, 57, 10) + Ranges.create(53, 2, 54, 10), + Ranges.create(56, 2, 57, 10) ); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java index bc207b3353c..f6d5e58103d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfElseDuplicatedConditionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -45,41 +45,41 @@ void test() { assertThat(diagnostics).hasSize(4); List relatedInformation = new ArrayList<>(); - relatedInformation.add(BSLRanges.create(3, 10, 3, 15)); - relatedInformation.add(BSLRanges.create(5, 10, 5, 15)); - relatedInformation.add(BSLRanges.create(9, 10, 9, 21)); + relatedInformation.add(Ranges.create(3, 10, 3, 15)); + relatedInformation.add(Ranges.create(5, 10, 5, 15)); + relatedInformation.add(Ranges.create(9, 10, 9, 21)); checkDiagnosticContent( diagnostics.get(0), - BSLRanges.create(3, 10, 3, 15), + Ranges.create(3, 10, 3, 15), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(17, 10, 17, 15)); - relatedInformation.add(BSLRanges.create(27, 10, 27, 15)); + relatedInformation.add(Ranges.create(17, 10, 17, 15)); + relatedInformation.add(Ranges.create(27, 10, 27, 15)); checkDiagnosticContent( diagnostics.get(1), - BSLRanges.create(17, 10, 17, 15), + Ranges.create(17, 10, 17, 15), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(20, 13, 20, 18)); - relatedInformation.add(BSLRanges.create(22, 13, 22, 18)); + relatedInformation.add(Ranges.create(20, 13, 20, 18)); + relatedInformation.add(Ranges.create(22, 13, 22, 18)); checkDiagnosticContent( diagnostics.get(2), - BSLRanges.create(20, 13, 20, 18), + Ranges.create(20, 13, 20, 18), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(41, 5, 41, 17)); - relatedInformation.add(BSLRanges.create(43, 10, 43, 22)); - relatedInformation.add(BSLRanges.create(45, 10, 45, 22)); + relatedInformation.add(Ranges.create(41, 5, 41, 17)); + relatedInformation.add(Ranges.create(43, 10, 43, 22)); + relatedInformation.add(Ranges.create(45, 10, 45, 22)); checkDiagnosticContent( diagnostics.get(3), - BSLRanges.create(41, 5, 41, 17), + Ranges.create(41, 5, 41, 17), relatedInformation); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java index 6847d8aae47..285f81cbc93 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnosticTest.java @@ -149,7 +149,7 @@ void getDocumentContextFromFile(String modulePath, String content) { initServerContext(PATH_TO_METADATA); var testFile = new File(PATH_TO_METADATA, modulePath).getAbsoluteFile(); - documentContext = spy(TestUtils.getDocumentContext(testFile.toURI(), content, context)); + documentContext = spy((BSLDocumentContext) TestUtils.getDocumentContext(testFile.toURI(), content, context)); module = spy(Objects.requireNonNull(context).getConfiguration().getModulesByObject().get(documentContext.getUri())); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java index 2050b198ed8..248486747f1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -118,7 +119,7 @@ void testQuickFix() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(23), - BSLRanges.create(10, 8, 10, 8) + Ranges.create(10, 8, 10, 8) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java index e81d939d606..09d825b6c9b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; import org.eclipse.lsp4j.Range; @@ -54,87 +54,87 @@ void test() { assertThat(diagnostics).hasSize(8); List relatedInformation = new ArrayList<>(); - relatedInformation.add(BSLRanges.create(10, 16, 12, 36)); - relatedInformation.add(BSLRanges.create(11, 33, 11, 69)); + relatedInformation.add(Ranges.create(10, 16, 12, 36)); + relatedInformation.add(Ranges.create(11, 33, 11, 69)); checkDiagnosticContent( diagnostics.get(0), - BSLRanges.create(10, 16, 12, 36), + Ranges.create(10, 16, 12, 36), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(14, 16, 23, 62)); - relatedInformation.add(BSLRanges.create(19, 32, 19, 93)); - relatedInformation.add(BSLRanges.create(20, 32, 20, 82)); - relatedInformation.add(BSLRanges.create(22, 32, 22, 91)); + relatedInformation.add(Ranges.create(14, 16, 23, 62)); + relatedInformation.add(Ranges.create(19, 32, 19, 93)); + relatedInformation.add(Ranges.create(20, 32, 20, 82)); + relatedInformation.add(Ranges.create(22, 32, 22, 91)); checkDiagnosticContent( diagnostics.get(1), - BSLRanges.create(14, 16, 23, 62), + Ranges.create(14, 16, 23, 62), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(25, 16, 27, 96)); - relatedInformation.add(BSLRanges.create(26, 32, 27, 95)); + relatedInformation.add(Ranges.create(25, 16, 27, 96)); + relatedInformation.add(Ranges.create(26, 32, 27, 95)); checkDiagnosticContent( diagnostics.get(2), - BSLRanges.create(25, 16, 27, 96), + Ranges.create(25, 16, 27, 96), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(26, 32, 27, 95)); - relatedInformation.add(BSLRanges.create(27, 48, 27, 94)); + relatedInformation.add(Ranges.create(26, 32, 27, 95)); + relatedInformation.add(Ranges.create(27, 48, 27, 94)); checkDiagnosticContent( diagnostics.get(3), - BSLRanges.create(26, 32, 27, 95), + Ranges.create(26, 32, 27, 95), relatedInformation); relatedInformation.clear(); relatedInformation = new ArrayList<>(); - relatedInformation.add(BSLRanges.create(38, 13, 40, 31)); - relatedInformation.add(BSLRanges.create(39, 28, 39, 55)); + relatedInformation.add(Ranges.create(38, 13, 40, 31)); + relatedInformation.add(Ranges.create(39, 28, 39, 55)); checkDiagnosticContent( diagnostics.get(4), - BSLRanges.create(38, 13, 40, 31), + Ranges.create(38, 13, 40, 31), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(42, 13, 51, 50)); - relatedInformation.add(BSLRanges.create(47, 28, 47, 63)); - relatedInformation.add(BSLRanges.create(48, 28, 48, 58)); - relatedInformation.add(BSLRanges.create(50, 28, 50, 62)); + relatedInformation.add(Ranges.create(42, 13, 51, 50)); + relatedInformation.add(Ranges.create(47, 28, 47, 63)); + relatedInformation.add(Ranges.create(48, 28, 48, 58)); + relatedInformation.add(Ranges.create(50, 28, 50, 62)); checkDiagnosticContent( diagnostics.get(5), - BSLRanges.create(42, 13, 51, 50), + Ranges.create(42, 13, 51, 50), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(53, 13, 55, 79)); - relatedInformation.add(BSLRanges.create(54, 28, 55, 78)); + relatedInformation.add(Ranges.create(53, 13, 55, 79)); + relatedInformation.add(Ranges.create(54, 28, 55, 78)); checkDiagnosticContent( diagnostics.get(6), - BSLRanges.create(53, 13, 55, 79), + Ranges.create(53, 13, 55, 79), relatedInformation); relatedInformation.clear(); - relatedInformation.add(BSLRanges.create(54, 28, 55, 78)); - relatedInformation.add(BSLRanges.create(55, 44, 55, 77)); + relatedInformation.add(Ranges.create(54, 28, 55, 78)); + relatedInformation.add(Ranges.create(55, 44, 55, 77)); checkDiagnosticContent( diagnostics.get(7), - BSLRanges.create(54, 28, 55, 78), + Ranges.create(54, 28, 55, 78), relatedInformation); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java index 10a1df035e0..f097411e1ef 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java @@ -23,6 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.util.Assertions; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -45,9 +46,9 @@ void runTest() { // then assertThat(diagnostics).hasSize(2); - assertThat(diagnostics.get(0).getRange()).isEqualTo(BSLRanges.create(35, 8, 35, 12)); + assertThat(diagnostics.get(0).getRange()).isEqualTo(Ranges.create(35, 8, 35, 12)); assertThat(diagnostics.get(0).getRelatedInformation().size()).isEqualTo(5); - assertThat(diagnostics.get(1).getRange()).isEqualTo(BSLRanges.create(50, 6, 50, 10)); + assertThat(diagnostics.get(1).getRange()).isEqualTo(Ranges.create(50, 6, 50, 10)); assertThat(diagnostics.get(1).getRelatedInformation().size()).isEqualTo(7); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java index 867d818fba1..0a1099373e3 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NonStandardRegionDiagnosticTest.java @@ -235,7 +235,7 @@ private BSLDocumentContext getFixtureDocumentContextByModuleType(ModuleType modu ); initServerContext(CONFIGURATION_PATH.toRealPath()); - return TestUtils.getDocumentContext( + return (BSLDocumentContext) TestUtils.getDocumentContext( tempFile.toRealPath().toUri(), FileUtils.readFileToString(tempFile.toFile(), StandardCharsets.UTF_8), context diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java index 7b594e3ee0c..06b954d6297 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -68,7 +69,7 @@ void testQuickFixStartLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - BSLRanges.create(12, 5, 12, 9) + Ranges.create(12, 5, 12, 9) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java index cc013320755..63bab8f9731 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnosticTest.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -42,30 +42,30 @@ void test() { assertThat(diagnostics) .hasSize(21) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(27, 4, 27, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(40, 4, 40, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(44, 4, 44, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(52, 4, 52, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(53, 4, 53, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(56, 4, 56, 22))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(83, 4, 83, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(87, 4, 87, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(88, 4, 88, 24))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(101, 4, 101, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(93, 8, 93, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(95, 8, 95, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(97, 8, 97, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(113, 4, 113, 29))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(106, 8, 106, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(110, 8, 110, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(108, 8, 108, 26))) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(31, 4, 31, 22)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(27, 4, 27, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(40, 4, 40, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(44, 4, 44, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(52, 4, 52, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(53, 4, 53, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(56, 4, 56, 22))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(83, 4, 83, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(87, 4, 87, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(88, 4, 88, 24))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(101, 4, 101, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(93, 8, 93, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(95, 8, 95, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(97, 8, 97, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(113, 4, 113, 29))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(106, 8, 106, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(110, 8, 110, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(108, 8, 108, 26))) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(31, 4, 31, 22)) && diagnostic.getMessage().matches(".*CommitTransaction.*")) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(31, 4, 31, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(31, 4, 31, 22)) && diagnostic.getMessage().matches(".*RollbackTransaction.*"))) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(45, 4, 45, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(45, 4, 45, 22)) && diagnostic.getMessage().matches(".*ЗафиксироватьТранзакцию.*"))) - .anyMatch(diagnostic -> (diagnostic.getRange().equals(BSLRanges.create(45, 4, 45, 22)) + .anyMatch(diagnostic -> (diagnostic.getRange().equals(Ranges.create(45, 4, 45, 22)) && diagnostic.getMessage().matches(".*ОтменитьТранзакцию.*"))); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java index ad0989653b4..0806b12f67e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -56,7 +57,7 @@ void testQuickFix() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - BSLRanges.create(6, 10, 6, 10) + Ranges.create(6, 10, 6, 10) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java index 9596eb8dd17..2470d5e7e32 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java @@ -23,7 +23,7 @@ import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.LSLauncher; import lombok.SneakyThrows; @@ -54,7 +54,7 @@ class SmokyTest { private BSLLanguageServerConfiguration configuration; @Autowired - private Collection diagnosticInfos; + private Collection diagnosticInfos; @Test @ExpectSystemExitWithStatus(0) @@ -104,7 +104,7 @@ void testIAllDiagnostics() { // получим все возможные коды диагностик и положим в мапу "включенным" Map>> diagnostics = diagnosticInfos.stream() - .map(DiagnosticInfo::getCode) + .map(BSLDiagnosticInfo::getCode) .collect(Collectors.toMap( diagnosticCode -> diagnosticCode.getStringValue(), diagnosticCode -> Either.forLeft(true), diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java index c4e9e9591b4..29571c5cc63 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.Diagnostic; @@ -77,7 +78,7 @@ void testQuickFixStartLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(0), - BSLRanges.create(6, 10, 6, 20) + Ranges.create(6, 10, 6, 20) ); assertThat(quickFixes) @@ -100,7 +101,7 @@ void testQuickFixInLine() { List diagnostics = getDiagnostics(); List quickFixes = getQuickFixes( diagnostics.get(1), - BSLRanges.create(8, 12, 8, 26) + Ranges.create(8, 12, 8, 26) ); assertThat(quickFixes) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java index c40b4a89c19..19367f2b086 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ThisObjectAssignDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import org.junit.jupiter.api.Test; @@ -72,8 +73,8 @@ void test836() { private BSLDocumentContext setCompatibilityMode(CompatibilityMode version) { - var documentContext = spy(getDocumentContext()); - var serverContext = spy(documentContext.getServerContext()); + var documentContext = spy((BSLDocumentContext) getDocumentContext()); + var serverContext = spy((BSLServerContext) documentContext.getServerContext()); var configuration = spy(serverContext.getConfiguration()); when(documentContext.getServerContext()).thenReturn(serverContext); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java index 2407f345bad..de47ebe6f92 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; @@ -95,7 +96,7 @@ void testCompatibilityMode8310() { // when Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic.bsl").toAbsolutePath(); initServerContext(Paths.get("./src/test/resources/metadata").toAbsolutePath()); - BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( + var newDocumentContext = (BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context @@ -104,9 +105,9 @@ void testCompatibilityMode8310() { List diagnostics = getDiagnostics(newDocumentContext); // then - assertThat(newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode()).isNotNull(); + assertThat(newDocumentContext.getMDConfiguration().getCompatibilityMode()).isNotNull(); assertThat(CompatibilityMode.compareTo( - newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode(), + newDocumentContext.getMDConfiguration().getCompatibilityMode(), DiagnosticCompatibilityMode.COMPATIBILITY_MODE_8_3_10.getCompatibilityMode())).isZero(); assertThat(diagnostics).hasSize(9); @@ -139,7 +140,7 @@ void testCompatibilityMode836() { Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic836.bsl").toAbsolutePath(); initServerContext(tempDir.toAbsolutePath()); - BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( + var newDocumentContext = (BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context @@ -148,9 +149,9 @@ void testCompatibilityMode836() { List diagnostics = getDiagnostics(newDocumentContext); // then - assertThat(newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode()).isNotNull(); + assertThat(newDocumentContext.getMDConfiguration().getCompatibilityMode()).isNotNull(); assertThat(CompatibilityMode.compareTo( - newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode(), + newDocumentContext.getMDConfiguration().getCompatibilityMode(), DiagnosticCompatibilityMode.COMPATIBILITY_MODE_8_3_6.getCompatibilityMode())).isZero(); assertThat(diagnostics).hasSize(9); @@ -183,7 +184,7 @@ void testCompatibilityMode837() { Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic837.bsl").toAbsolutePath(); initServerContext(tempDir.toAbsolutePath()); - BSLDocumentContext newDocumentContext = TestUtils.getDocumentContext( + var newDocumentContext = (BSLDocumentContext) TestUtils.getDocumentContext( testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context @@ -192,9 +193,9 @@ void testCompatibilityMode837() { List diagnostics = getDiagnostics(newDocumentContext); // then - assertThat(newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode()).isNotNull(); + assertThat(newDocumentContext.getMDConfiguration().getCompatibilityMode()).isNotNull(); assertThat(CompatibilityMode.compareTo( - newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode(), + newDocumentContext.getMDConfiguration().getCompatibilityMode(), DiagnosticCompatibilityMode.COMPATIBILITY_MODE_8_3_7.getCompatibilityMode())).isZero(); assertThat(diagnostics).hasSize(9); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java index 232857e693a..1dab1ed2fae 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; @@ -61,7 +63,7 @@ void testDontUse() { @Test void testUse() { - BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + var documentContext = getDocumentContextWithUseFlag(UseMode.USE); List diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).isEmpty(); } @@ -69,7 +71,7 @@ void testUse() { @Test void testUseWithForce() { - BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + var documentContext = getDocumentContextWithUseFlag(UseMode.USE); Map configuration = diagnosticInstance.getInfo().getDefaultConfiguration(); configuration.put("forceModalityMode", true); @@ -83,34 +85,34 @@ void testUseWithForce() { private void assertDiagnosticList(List diagnostics) { assertThat(diagnostics).hasSize(12) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(2, 12, 3, 57)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(2, 12, 3, 57)) && diagnostic.getMessage().matches(".*(модального|modal).*Вопрос.*ПоказатьВопрос.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(21, 4, 21, 84)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(21, 4, 21, 84)) && diagnostic.getMessage().matches(".*(модального|modal).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(29, 4, 29, 26)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(29, 4, 29, 26)) && diagnostic.getMessage().matches(".*(модального|modal).*ОткрытьЗначение.*ПоказатьЗначение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(43, 9, 43, 58)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(43, 9, 43, 58)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиДату.*ПоказатьВводДаты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(72, 9, 72, 67)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(72, 9, 72, 67)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиЗначение.*ПоказатьВводЗначения.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(103, 9, 103, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(103, 9, 103, 50)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиСтроку.*ПоказатьВводСтроки.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(122, 9, 122, 61)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(122, 9, 122, 61)) && diagnostic.getMessage().matches(".*(модального|modal).*ВвестиЧисло.*ПоказатьВводЧисла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(138, 4, 138, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(138, 4, 138, 50)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьВнешнююКомпоненту.*НачатьУстановкуВнешнейКомпоненты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(148, 4, 148, 33)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(148, 4, 148, 33)) && diagnostic.getMessage().matches(".*(модального|modal).*ОткрытьФормуМодально.*ОткрытьФорму.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(159, 20, 159, 56)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(159, 20, 159, 56)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьРасширениеРаботыСФайлами.*НачатьУстановкуРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(172, 20, 172, 62)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(172, 20, 172, 62)) && diagnostic.getMessage().matches(".*(модального|modal).*УстановитьРасширениеРаботыСКриптографией.*НачатьУстановкуРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(186, 4, 186, 88)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(186, 4, 186, 88)) && diagnostic.getMessage().matches(".*(модального|modal).*ПоместитьФайл.*НачатьПомещениеФайла.*")); } - private BSLDocumentContext getDocumentContextWithUseFlag(UseMode useMode) { + private DocumentContext getDocumentContextWithUseFlag(UseMode useMode) { var path = Absolute.path(PATH_TO_METADATA); var testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java index cb247afed48..bafc6d66ed3 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java @@ -24,6 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; @@ -52,73 +54,73 @@ void testDontUse() { assertThat(diagnostics) .hasSize(28) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(2, 12, 3, 57)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(2, 12, 3, 57)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Вопрос.*ПоказатьВопрос.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(21, 4, 21, 84)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(21, 4, 21, 84)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(29, 4, 29, 26)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(29, 4, 29, 26)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ОткрытьЗначение.*ПоказатьЗначение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(43, 9, 43, 58)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(43, 9, 43, 58)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиДату.*ПоказатьВводДаты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(72, 9, 72, 67)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(72, 9, 72, 67)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиЗначение.*ПоказатьВводЗначения.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(103, 9, 103, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(103, 9, 103, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиСтроку.*ПоказатьВводСтроки.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(122, 9, 122, 61)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(122, 9, 122, 61)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ВвестиЧисло.*ПоказатьВводЧисла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(138, 4, 138, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(138, 4, 138, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьВнешнююКомпоненту.*НачатьУстановкуВнешнейКомпоненты.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(148, 4, 148, 33)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(148, 4, 148, 33)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ОткрытьФормуМодально.*ОткрытьФорму.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(159, 20, 159, 56)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(159, 20, 159, 56)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьРасширениеРаботыСФайлами.*НачатьУстановкуРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(172, 20, 172, 62)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(172, 20, 172, 62)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УстановитьРасширениеРаботыСКриптографией.*НачатьУстановкуРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(184, 12, 184, 54)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(184, 12, 184, 54)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПодключитьРасширениеРаботыСКриптографией.*НачатьПодключениеРасширенияРаботыСКриптографией.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(185, 8, 185, 129)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(185, 8, 185, 129)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(198, 12, 198, 48)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(198, 12, 198, 48)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПодключитьРасширениеРаботыСФайлами.*НачатьПодключениеРасширенияРаботыСФайлами.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(199, 8, 199, 109)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(199, 8, 199, 109)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*Предупреждение.*ПоказатьПредупреждение.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(214, 4, 214, 88)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(214, 4, 214, 88)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПоместитьФайл.*НачатьПомещениеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(225, 4, 225, 68)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(225, 4, 225, 68)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КопироватьФайл.*НачатьКопированиеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(236, 4, 236, 69)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(236, 4, 236, 69)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПереместитьФайл.*НачатьПеремещениеФайла.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(247, 21, 247, 51)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(247, 21, 247, 51)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*НайтиФайлы.*НачатьПоискФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(260, 8, 260, 37)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(260, 8, 260, 37)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*УдалитьФайлы.*НачатьУдалениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(274, 4, 274, 29)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(274, 4, 274, 29)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*СоздатьКаталог.*НачатьСозданиеКаталога.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(285, 16, 285, 40)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(285, 16, 285, 40)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КаталогВременныхФайлов.*НачатьПолучениеКаталогаВременныхФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(296, 16, 296, 35)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(296, 16, 296, 35)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*КаталогДокументов.*НачатьПолучениеКаталогаДокументов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(307, 16, 307, 50)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(307, 16, 307, 50)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*РабочийКаталогДанныхПользователя.*НачатьПолучениеРабочегоКаталогаДанныхПользователя.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(318, 16, 318, 89)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(318, 16, 318, 89)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПолучитьФайлы.*НачатьПолучениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(344, 16, 344, 64)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(344, 16, 344, 64)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ПоместитьФайлы.*НачатьПомещениеФайлов.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(368, 12, 368, 59)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(368, 12, 368, 59)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ЗапроситьРазрешениеПользователя.*НачатьЗапросРазрешенияПользователя.*")) - .anyMatch(diagnostic -> diagnostic.getRange().equals(BSLRanges.create(391, 4, 391, 38)) + .anyMatch(diagnostic -> diagnostic.getRange().equals(Ranges.create(391, 4, 391, 38)) && diagnostic.getMessage().matches(".*(синхронного|synchronous).*ЗапуститьПриложение.*НачатьЗапускПриложения.*")); } @Test void testUse() { - BSLDocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE); + var documentContext = getDocumentContextWithUseFlag(UseMode.USE); List diagnostics = getDiagnostics(documentContext); assertThat(diagnostics).isEmpty(); } - private BSLDocumentContext getDocumentContextWithUseFlag(UseMode useMode) { + private DocumentContext getDocumentContextWithUseFlag(UseMode useMode) { var path = Absolute.path(PATH_TO_METADATA); var testFile = Paths.get(PATH_TO_MODULE_FILE).toAbsolutePath(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java index fe78708ca59..003a7f2bf04 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnosticTest.java @@ -65,7 +65,7 @@ void runTest() { @Test void runQuickFixTest() { - final BSLDocumentContext documentContext = getDocumentContext(); + var documentContext = (BSLDocumentContext) getDocumentContext(); List diagnostics = getDiagnostics(); final Diagnostic firstDiagnostic = diagnostics.get(0); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java similarity index 89% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java index 2850c718586..a06e5b7c434 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticInfoTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java @@ -26,6 +26,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.EmptyCodeBlockDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.MultilingualStringHasAllDeclaredLanguagesDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.UnusedLocalMethodDiagnostic; +import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.DiagnosticTag; import org.eclipse.lsp4j.jsonrpc.messages.Either; @@ -38,7 +41,7 @@ import static com.github._1c_syntax.bsl.languageserver.util.Assertions.assertThat; @SpringBootTest -class DiagnosticInfoTest { +class BSLDiagnosticInfoTest { @Autowired private BSLLanguageServerConfiguration configuration; @@ -46,7 +49,7 @@ class DiagnosticInfoTest { @Test void testParameter() { - DiagnosticInfo diagnosticInfo = new DiagnosticInfo(EmptyCodeBlockDiagnostic.class, configuration); + BSLDiagnosticInfo diagnosticInfo = new BSLDiagnosticInfo(EmptyCodeBlockDiagnostic.class, configuration); Assertions.assertThat(diagnosticInfo.getCode()).isEqualTo(Either.forLeft("EmptyCodeBlock")); Assertions.assertThat(diagnosticInfo.getName()).isNotEmpty(); @@ -85,13 +88,13 @@ void testParameter() { @Test void testLSPTags() { // given - var diagnosticInfo = new DiagnosticInfo(UnusedLocalMethodDiagnostic.class, configuration); + var diagnosticInfo = new BSLDiagnosticInfo(UnusedLocalMethodDiagnostic.class, configuration); // then assertThat(diagnosticInfo.getLSPTags()).contains(DiagnosticTag.Unnecessary); // given - diagnosticInfo = new DiagnosticInfo(DeprecatedAttributes8312Diagnostic.class, configuration); + diagnosticInfo = new BSLDiagnosticInfo(DeprecatedAttributes8312Diagnostic.class, configuration); // then assertThat(diagnosticInfo.getLSPTags()).contains(DiagnosticTag.Deprecated); @@ -99,7 +102,7 @@ void testLSPTags() { @Test void testParameterSuper() { - DiagnosticInfo diagnosticInfo = new DiagnosticInfo(MultilingualStringHasAllDeclaredLanguagesDiagnostic.class, configuration); + BSLDiagnosticInfo diagnosticInfo = new BSLDiagnosticInfo(MultilingualStringHasAllDeclaredLanguagesDiagnostic.class, configuration); Assertions.assertThat(diagnosticInfo.getCode()).isEqualTo(Either.forLeft("MultilingualStringHasAllDeclaredLanguages")); Assertions.assertThat(diagnosticInfo.getName()).isNotEmpty(); @@ -141,7 +144,7 @@ void testParameterEn() { configuration.setLanguage(Language.EN); // when - DiagnosticInfo diagnosticEnInfo = new DiagnosticInfo(EmptyCodeBlockDiagnostic.class, configuration); + BSLDiagnosticInfo diagnosticEnInfo = new BSLDiagnosticInfo(EmptyCodeBlockDiagnostic.class, configuration); // then assertThat(diagnosticEnInfo.getParameters().get(0).getDescription()) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java index eec8550d707..e17e2183ac8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java @@ -24,8 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.CanonicalSpellingKeywordsDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionContext; import org.eclipse.lsp4j.CodeActionKind; @@ -60,11 +61,11 @@ void testGetCodeActions() { // given String filePath = "./src/test/resources/providers/codeAction.bsl"; - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); List diagnostics = documentContext.getDiagnostics().stream() .filter(diagnostic -> { - DiagnosticInfo diagnosticInfo = new DiagnosticInfo( + BSLDiagnosticInfo diagnosticInfo = new BSLDiagnosticInfo( CanonicalSpellingKeywordsDiagnostic.class, configuration ); @@ -101,7 +102,7 @@ void testGetCodeActions() { void testEmptyDiagnosticList() { // given String filePath = "./src/test/resources/providers/codeAction.bsl"; - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); CodeActionParams params = new CodeActionParams(); TextDocumentIdentifier textDocumentIdentifier = new TextDocumentIdentifier(documentContext.getUri().toString()); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java index b49d1785eaa..35de037744a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProviderTest.java @@ -47,7 +47,7 @@ void testGetCodeLens() { // given String filePath = "./src/test/resources/providers/codeLens.bsl"; - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); // when List codeLenses = codeLensProvider.getCodeLens(documentContext); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java index 081a57bb7d2..87a5149386c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java @@ -44,7 +44,7 @@ void testComputeDiagnostics() { // TODO: это тест на новый getDiagnostics, а не на DiagnosticProvider final BSLDocumentContext documentContext - = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/diagnosticProvider.bsl"); + = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/diagnosticProvider.bsl"); // when final List diagnostics = documentContext.getDiagnostics(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java index a401d693c26..2804ea0d540 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.DocumentSymbol; import org.eclipse.lsp4j.SymbolInformation; import org.eclipse.lsp4j.SymbolKind; @@ -45,7 +46,7 @@ class BSLDocumentBSLSymbolProviderTest { @Test void testDocumentSymbol() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/documentSymbol.bsl"); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/documentSymbol.bsl"); List> documentSymbols = documentSymbolProvider.getDocumentSymbols(documentContext); @@ -56,9 +57,9 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getRight().getKind().equals(SymbolKind.Variable)) .hasSize(3) .extracting(Either::getRight) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(0, 6, 0, 7))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(2, 6, 2, 7))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(2, 9, 2, 10))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(0, 6, 0, 7))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(2, 6, 2, 7))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(2, 9, 2, 10))) ; // methods @@ -66,12 +67,12 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getRight().getKind().equals(SymbolKind.Method)) .hasSize(4) .extracting(Either::getRight) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(4, 0, 5, 14))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(7, 0, 8, 12))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(10, 0, 13, 14))) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(47, 0, 48, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(4, 0, 5, 14))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(7, 0, 8, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(10, 0, 13, 14))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(47, 0, 48, 12))) .filteredOn(DocumentSymbol::getDeprecated) - .anyMatch(documentSymbol -> documentSymbol.getRange().equals(BSLRanges.create(47, 0, 48, 12))) + .anyMatch(documentSymbol -> documentSymbol.getRange().equals(Ranges.create(47, 0, 48, 12))) ; // sub vars @@ -81,9 +82,9 @@ void testDocumentSymbol() { .flatExtracting(DocumentSymbol::getChildren) .filteredOn(documentSymbol -> documentSymbol.getKind() == SymbolKind.Variable) .hasSize(3) - .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(11, 10, 11, 11))) - .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(12, 10, 12, 11))) - .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(12, 12, 12, 13))) + .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(11, 10, 11, 11))) + .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(12, 10, 12, 11))) + .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(12, 12, 12, 13))) ; // regions @@ -99,8 +100,8 @@ void testDocumentSymbol() { .filteredOn(documentSymbol -> documentSymbol.getKind() == SymbolKind.Method) .hasSize(2) - .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(17, 0, 19, 14))) - .anyMatch(subVar -> subVar.getRange().equals(BSLRanges.create(36, 0, 42, 14))) + .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(17, 0, 19, 14))) + .anyMatch(subVar -> subVar.getRange().equals(Ranges.create(36, 0, 42, 14))) ; DocumentSymbol externalRegion = documentSymbols.stream() diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java index 71f8303710b..462e68745b0 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.configuration.Language; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -171,7 +172,7 @@ void testSiteRoot() { @NotNull private BSLDocumentContext getDocumentContext() { var filePath = "./src/test/resources/providers/documentLinkProvider.bsl"; - var documentContext = TestUtils.getDocumentContextFromFile(filePath); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); documentContext.getDiagnostics(); return documentContext; } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java index 6ee45b45250..5524a059226 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProviderTest.java @@ -42,7 +42,7 @@ class BSLFoldingRangeProviderTest { @Test void testFoldingRange() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRange.bsl"); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRange.bsl"); List foldingRanges = foldingRangeProvider.getFoldingRange(documentContext); @@ -81,7 +81,7 @@ void testFoldingRange() { @Test void testFoldingRangeParseError() { - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRangeParseError.bsl"); + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/foldingRangeParseError.bsl"); List foldingRanges = foldingRangeProvider.getFoldingRange(documentContext); assertThat(foldingRanges).isEmpty(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java index 8f5ff847355..f4231293a26 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.DocumentFormattingParams; import org.eclipse.lsp4j.DocumentRangeFormattingParams; @@ -58,7 +59,7 @@ void testRangeFormat() throws IOException { DocumentRangeFormattingParams params = new DocumentRangeFormattingParams(); params.setTextDocument(getTextDocumentIdentifier()); - params.setRange(BSLRanges.create(startLine, 0, endLine, 0)); + params.setRange(Ranges.create(startLine, 0, endLine, 0)); params.setOptions(new FormattingOptions(4, true)); String fileContent = FileUtils.readFileToString(getTestFile(), StandardCharsets.UTF_8); @@ -74,7 +75,7 @@ void testRangeFormat() throws IOException { formattedFileContent = joiner.toString(); - BSLDocumentContext documentContext = TestUtils.getDocumentContext( + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); @@ -99,7 +100,7 @@ void testFormat() throws IOException { String fileContent = FileUtils.readFileToString(getTestFile(), StandardCharsets.UTF_8); String formattedFileContent = FileUtils.readFileToString(getFormattedTestFile(), StandardCharsets.UTF_8); - BSLDocumentContext documentContext = TestUtils.getDocumentContext( + var documentContext = (BSLDocumentContext) TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); @@ -124,13 +125,13 @@ void testFormatUnaryMinus() { params.setOptions(new FormattingOptions(4, true)); String fileContent = "Возврат-1>-2"; - BSLDocumentContext documentContext = TestUtils.getDocumentContext( + var documentContext = TestUtils.getDocumentContext( URI.create(params.getTextDocument().getUri()), fileContent ); // when - List textEdits = formatProvider.getFormatting(params, documentContext); + List textEdits = formatProvider.getFormatting(params, (BSLDocumentContext) documentContext); // then assertThat(textEdits).hasSize(1); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java index 84192083720..289e494d3b0 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProviderTest.java @@ -45,7 +45,7 @@ void getEmptyHover() { HoverParams params = new HoverParams(); params.setPosition(new Position(0, 0)); - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); + BSLDocumentContext documentContext =(BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); Optional optionalHover = hoverProvider.getHover(params, documentContext); assertThat(optionalHover).isNotPresent(); @@ -56,7 +56,7 @@ void getHoverOverSubName() { HoverParams params = new HoverParams(); params.setPosition(new Position(0, 20)); - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile("./src/test/resources/providers/hover.bsl"); Optional optionalHover = hoverProvider.getHover(params, documentContext); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java index 994c0f2352b..2822af0a005 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProviderTest.java @@ -50,7 +50,7 @@ class BSLSymbolProviderTest { @BeforeEach void before() { var configurationRoot = Absolute.path(PATH_TO_METADATA); - context.setConfigurationRoot(configurationRoot); + context.setProjectRoot(configurationRoot); context.populateContext(); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java index f88b74c5f8b..0b51c347940 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.AfterEach; @@ -62,14 +63,14 @@ void report() { // given Diagnostic diagnostic = new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java index a7effe6e1b6..64e4945b3e5 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericCoverageTest.java @@ -67,7 +67,7 @@ void report() throws IOException { String filePath = "./src/test/resources/context/DocumentContextLocForCoverTest.bsl"; // when - BSLDocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContextFromFile(filePath); FileInfo fileInfo = new FileInfo(sourceDir, documentContext, new ArrayList<>()); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java index d823aa197b9..5d58890842e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java @@ -23,11 +23,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticRelatedInformation; @@ -59,7 +60,7 @@ class GenericReporterTest { private GenericIssueReporter reporter; @Autowired - private Map diagnosticInfos; + private Map diagnosticInfos; private final File file = new File("./bsl-generic-json.json"); @@ -82,7 +83,7 @@ void report() throws IOException { var firstInfo = iterator.next().getValue(); var secondInfo = iterator.next().getValue(); diagnostics.add(new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", @@ -90,7 +91,7 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - BSLRanges.create(0, 1, 2, 4), + Ranges.create(0, 1, 2, 4), "message4", DiagnosticSeverity.Error, "test-source2", @@ -98,15 +99,15 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - BSLRanges.create(3, 1, 4, 4), + Ranges.create(3, 1, 4, 4), "message4", DiagnosticSeverity.Error, "test-source2", secondInfo.getCode().getStringValue() )); - BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); - Location location = new Location("file:///fake-uri2.bsl", BSLRanges.create(0, 2, 2, 3)); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); + Location location = new Location("file:///fake-uri2.bsl", Ranges.create(0, 2, 2, 3)); diagnostics.get(0).setRelatedInformation(Collections.singletonList(new DiagnosticRelatedInformation(location, "message"))); String sourceDir = "."; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java index e1434fdde46..4138e866943 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java @@ -28,6 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; @@ -70,7 +71,7 @@ void report() throws IOException { // given List diagnostics = new ArrayList<>(); diagnostics.add(new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", @@ -78,7 +79,7 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - BSLRanges.create(0, 1, 2, 4), + Ranges.create(0, 1, 2, 4), "message4", DiagnosticSeverity.Error, "test-source2", @@ -86,14 +87,14 @@ void report() throws IOException { )); diagnostics.add(new Diagnostic( - BSLRanges.create(3, 1, 4, 4), + Ranges.create(3, 1, 4, 4), "message4", DiagnosticSeverity.Error, "test-source2", "test3" )); - BSLDocumentContext documentContext = TestUtils.getDocumentContext( + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext( Paths.get("./src/test/java/diagnostics/CanonicalSpellingKeywordsDiagnostic.bsl").toUri(), "" ); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java index fd2bfc4a4ab..97ac8703176 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java @@ -28,6 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.databind.AnalysisInfoObjectMapper; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.Diagnostic; @@ -65,14 +66,14 @@ void report() throws IOException { // given Diagnostic diagnostic = new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext =(BSLDocumentContext) TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java index 65c99c09355..186eb9294eb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.AfterEach; @@ -70,14 +71,14 @@ void report() { // given Diagnostic diagnostic = new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java index 4050df19f51..915570328ed 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.reporters; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; import org.junit.jupiter.api.Test; @@ -37,7 +38,7 @@ class TSLintReportEntryTest { @Test void testConstructor() { Diagnostic diagnostic = new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java index 5ec27f36a1a..4b4873da5ec 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java @@ -28,6 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; @@ -68,14 +69,14 @@ void report() throws IOException { // given Diagnostic diagnostic = new Diagnostic( - BSLRanges.create(0, 1, 2, 3), + Ranges.create(0, 1, 2, 3), "message", DiagnosticSeverity.Error, "test-source", "test" ); - BSLDocumentContext documentContext = TestUtils.getDocumentContext(""); + BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); String sourceDir = "."; FileInfo fileInfo = new FileInfo(sourceDir, documentContext, Collections.singletonList(diagnostic)); AnalysisInfo analysisInfo = new AnalysisInfo(LocalDateTime.now(), Collections.singletonList(fileInfo), sourceDir); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java index 9327939430a..935fa5c70da 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/TestUtils.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.util; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; @@ -41,7 +41,7 @@ public class TestUtils { public static final String PATH_TO_METADATA = "src/test/resources/metadata"; @SneakyThrows - public static BSLDocumentContext getDocumentContextFromFile(String filePath) { + public static DocumentContext getDocumentContextFromFile(String filePath) { String fileContent = FileUtils.readFileToString( new File(filePath), @@ -51,15 +51,15 @@ public static BSLDocumentContext getDocumentContextFromFile(String filePath) { return getDocumentContext(Path.of(filePath).toUri(), fileContent); } - public static BSLDocumentContext getDocumentContext(URI uri, String fileContent) { + public static DocumentContext getDocumentContext(URI uri, String fileContent) { return getDocumentContext(uri, fileContent, TestApplicationContext.getBean(BSLServerContext.class)); } - public static BSLDocumentContext getDocumentContext(String fileContent) { + public static DocumentContext getDocumentContext(String fileContent) { return getDocumentContext(FAKE_DOCUMENT_URI, fileContent); } - public static BSLDocumentContext getDocumentContext(String fileContent, @Nullable BSLServerContext context) { + public static DocumentContext getDocumentContext(String fileContent, @Nullable BSLServerContext context) { BSLServerContext passedContext = context; if (passedContext == null) { passedContext = TestApplicationContext.getBean(BSLServerContext.class); @@ -68,7 +68,7 @@ public static BSLDocumentContext getDocumentContext(String fileContent, @Nullabl return getDocumentContext(FAKE_DOCUMENT_URI, fileContent, passedContext); } - public static BSLDocumentContext getDocumentContext(URI uri, String fileContent, BSLServerContext context) { + public static DocumentContext getDocumentContext(URI uri, String fileContent, BSLServerContext context) { return context.addDocument(uri, fileContent); } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java index 5f8fd2efe4c..a898e0ed492 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/CodeActionAssert.java @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.assertj.core.api.AbstractAssert; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.CodeAction; @@ -83,7 +83,7 @@ public CodeActionAssert fixes(Diagnostic diagnostic) { if (start.getCharacter() > 0) { endChar = start.getCharacter() - 1; } - Range startRange = BSLRanges.create(startLine, startChar, endLine, endChar); + Range startRange = Ranges.create(startLine, startChar, endLine, endChar); final String startText = documentContext.getText(startRange); final Position end = range.getEnd(); @@ -92,7 +92,7 @@ public CodeActionAssert fixes(Diagnostic diagnostic) { endLine = contentList.length - 1; endChar = max(contentList[endLine].length() - 1, 0); - Range endRange = BSLRanges.create(startLine, startChar, endLine, endChar); + Range endRange = Ranges.create(startLine, startChar, endLine, endChar); final String endText = documentContext.getText(endRange); // TODO: does not work for several textedits changing content length (missed semicolon ie.) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java index 36d9876d447..7b94a316569 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.util.assertions; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.utils.Ranges; import org.assertj.core.api.AbstractAssert; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.Range; @@ -43,7 +44,7 @@ public DiagnosticAssert hasRange(int startLine, int startChar, int endLine, int isNotNull(); // check condition - Range expectedRange = BSLRanges.create(startLine, startChar, endLine, endChar); + Range expectedRange = Ranges.create(startLine, startChar, endLine, endChar); Range actualRange = actual.getRange(); if (!Objects.equals(actualRange, expectedRange)) { failWithMessage("Expected diagnostic's range to be <%s> but was <%s>", expectedRange.toString(), actualRange.toString()); From f8ae2374a4fc46f0e8e24cca67b02c6861b9ab66 Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Tue, 27 Oct 2020 15:49:49 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B2=D0=BD=D0=B5=D0=B4=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...plication.java => BSLLSConfiguration.java} | 5 +- .../languageserver/cli/AnalyzeCommand.java | 2 +- .../codeactions/QuickFixSupplier.java | 6 +- .../BSLLanguageServerConfiguration.java | 3 +- .../diagnostics/BSLDiagnosticsOptions.java | 2 +- .../diagnostics/package-info.java | 2 +- .../computer/CognitiveComplexityComputer.java | 2 - .../CyclomaticComplexityComputer.java | 2 - .../computer/MethodSymbolComputer.java | 1 - .../computer/RegionSymbolComputer.java | 1 - .../computer/VariableSymbolComputer.java | 1 - .../languageserver/context/symbol/Symbol.java | 1 - .../context/symbol/SymbolTree.java | 2 - .../diagnostics/AbstractDiagnostic.java | 1 - .../AbstractMultilingualStringDiagnostic.java | 2 +- .../diagnostics/BSLDiagnosticStorage.java | 1 - ...inTransactionBeforeTryCatchDiagnostic.java | 1 - .../CanonicalSpellingKeywordsDiagnostic.java | 4 +- .../CodeOutOfRegionDiagnostic.java | 1 - .../CognitiveComplexityDiagnostic.java | 3 +- .../diagnostics/CommentedCodeDiagnostic.java | 6 +- ...tTransactionOutsideTryCatchDiagnostic.java | 1 - .../CommonModuleAssignDiagnostic.java | 1 - .../CommonModuleNameWordsDiagnostic.java | 2 +- .../ConsecutiveEmptyLinesDiagnostic.java | 7 +- .../CyclomaticComplexityDiagnostic.java | 3 +- .../DataExchangeLoadingDiagnostic.java | 3 +- .../DeletingCollectionItemDiagnostic.java | 1 - .../DeprecatedTypeManagedFormDiagnostic.java | 4 +- .../diagnostics/EmptyCodeBlockDiagnostic.java | 4 +- .../diagnostics/EmptyRegionDiagnostic.java | 5 +- .../diagnostics/EmptyStatementDiagnostic.java | 5 +- .../FormDataToValueDiagnostic.java | 1 - ...unctionReturnsSamePrimitiveDiagnostic.java | 3 +- .../IfConditionComplexityDiagnostic.java | 4 +- .../InvalidCharacterInFileDiagnostic.java | 4 +- ...atinAndCyrillicSymbolInWordDiagnostic.java | 2 +- .../diagnostics/LineLengthDiagnostic.java | 3 +- .../diagnostics/MagicNumberDiagnostic.java | 3 +- .../MetadataObjectNameLengthDiagnostic.java | 2 +- .../diagnostics/MethodSizeDiagnostic.java | 2 +- .../MissingCodeTryCatchExDiagnostic.java | 3 +- .../diagnostics/MissingSpaceDiagnostic.java | 6 +- ...issingTemporaryFileDeletionDiagnostic.java | 2 +- ...ctorsInStructureDeclarationDiagnostic.java | 2 - .../NestedFunctionInParametersDiagnostic.java | 1 - .../NestedStatementsDiagnostic.java | 3 +- .../NestedTernaryOperatorDiagnostic.java | 1 - .../NumberOfOptionalParamsDiagnostic.java | 2 +- .../diagnostics/NumberOfParamsDiagnostic.java | 2 +- ...aluesInStructureConstructorDiagnostic.java | 2 +- .../OneStatementPerLineDiagnostic.java | 5 +- .../PairingBrokenTransactionDiagnostic.java | 1 - .../diagnostics/ParseErrorDiagnostic.java | 1 - .../ProcedureReturnsValueDiagnostic.java | 1 - .../PublicMethodsDescriptionDiagnostic.java | 2 +- .../diagnostics/SelfAssignDiagnostic.java | 1 - .../SemicolonPresenceDiagnostic.java | 5 +- .../SpaceAtStartCommentDiagnostic.java | 6 +- ...TimeoutsInExternalResourcesDiagnostic.java | 2 +- .../diagnostics/TooManyReturnsDiagnostic.java | 4 +- .../diagnostics/TryNumberDiagnostic.java | 1 - .../diagnostics/TypoDiagnostic.java | 3 +- .../UnaryPlusInConcatenationDiagnostic.java | 1 - .../diagnostics/UseLessForEachDiagnostic.java | 1 - .../UsingExternalCodeToolsDiagnostic.java | 1 - ...UsingHardcodeNetworkAddressDiagnostic.java | 3 +- .../UsingHardcodePathDiagnostic.java | 2 +- ...ngHardcodeSecretInformationDiagnostic.java | 2 +- .../UsingModalWindowsDiagnostic.java | 2 +- ...UsingObjectNotAvailableUnixDiagnostic.java | 1 - .../UsingServiceTagDiagnostic.java | 2 +- .../UsingSynchronousCallsDiagnostic.java | 1 - .../diagnostics/UsingThisFormDiagnostic.java | 5 +- .../DiagnosticBeanPostProcessor.java | 8 +- .../DiagnosticConfiguration.java | 43 ----- .../DiagnosticInfosConfiguration.java | 16 +- .../DiagnosticsConfiguration.java | 7 +- .../metadata/BSLDiagnosticInfo.java | 155 +++++------------- .../metadata/DiagnosticParameter.java | 35 ---- .../metadata/DiagnosticParameterInfo.java | 96 ----------- .../providers/BSLCodeActionProvider.java | 50 +----- .../providers/BSLCodeLensProvider.java | 11 +- .../providers/BSLDiagnosticProvider.java | 71 -------- .../providers/BSLDocumentLinkProvider.java | 10 +- .../providers/BSLDocumentSymbolProvider.java | 11 +- .../providers/BSLFoldingRangeProvider.java | 35 ++-- .../providers/BSLFormatProvider.java | 16 +- .../providers/BSLHoverProvider.java | 10 +- .../providers/BSLSymbolProvider.java | 6 +- .../reporters/GenericIssueReport.java | 7 +- .../reporters/GenericIssueReporter.java | 4 +- .../utils/DiagnosticHelper.java | 7 - ... => BSLDocumentLinkProvider_en.properties} | 0 ... => BSLDocumentLinkProvider_ru.properties} | 0 .../languageserver/BSLLanguageServerTest.java | 86 ---------- .../BSLTextDocumentServiceTest.java | 147 ----------------- .../bsl/languageserver/TestApplication.java | 9 - .../context/BSLDocumentContextTest.java | 2 +- .../BSLDiagnosticIgnoranceComputerTest.java | 2 +- .../diagnostics/AbstractDiagnosticTest.java | 2 +- .../diagnostics/BSLDiagnosticInfosTest.java | 15 +- .../diagnostics/DiagnosticsTest.java | 5 +- .../EmptyStatementDiagnosticTest.java | 1 - .../MissingSpaceDiagnosticTest.java | 1 - .../NestedStatementsDiagnosticTest.java | 1 - .../OneStatementPerLineDiagnosticTest.java | 1 - .../SemicolonPresenceDiagnosticTest.java | 1 - .../languageserver/diagnostics/SmokyTest.java | 6 +- .../SpaceAtStartCommentDiagnosticTest.java | 1 - ...outsInExternalResourcesDiagnosticTest.java | 1 - .../UsingModalWindowsDiagnosticTest.java | 2 - .../UsingSynchronousCallsDiagnosticTest.java | 2 - .../metadata/BSLDiagnosticInfoTest.java | 6 +- .../providers/BSLCodeActionProviderTest.java | 2 +- .../providers/BSLDiagnosticProviderTest.java | 3 +- .../BSLDocumentBSLSymbolProviderTest.java | 1 - .../BSLDocumentLinkProviderTest.java | 3 +- .../providers/BSLFormatProviderTest.java | 1 - .../reporters/ConsoleReporterTest.java | 1 - .../reporters/GenericReporterTest.java | 13 +- .../reporters/JUnitReporterTest.java | 1 - .../reporters/JsonReporterTest.java | 1 - .../reporters/ReportersAggregatorTest.java | 1 - .../reporters/TSLintReportEntryTest.java | 1 - .../reporters/TSLintReporterTest.java | 1 - .../util/assertions/DiagnosticAssert.java | 1 - 127 files changed, 236 insertions(+), 869 deletions(-) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/{TestApplication.java => BSLLSConfiguration.java} (62%) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticConfiguration.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameter.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java rename src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentLinkProvider_en.properties => BSLDocumentLinkProvider_en.properties} (100%) rename src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/{DocumentLinkProvider_ru.properties => BSLDocumentLinkProvider_ru.properties} (100%) delete mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java delete mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSConfiguration.java similarity index 62% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSConfiguration.java index 4629170108c..1d5cb6a7fb1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLSConfiguration.java @@ -3,7 +3,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; +/** + * Данный класс необходим spring boot'у для инжекта реализации ls-core + */ @SpringBootApplication @ComponentScan("com.github._1c_syntax.ls_core") -public class TestApplication { +public class BSLLSConfiguration { } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java index ed8f1b5fffd..183d3bea027 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cli/AnalyzeCommand.java @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.MetricStorage; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.bsl.languageserver.context.MetricStorage; import com.github._1c_syntax.bsl.languageserver.reporters.ReportersAggregator; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java index dc5fd774418..607c82df078 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/QuickFixSupplier.java @@ -23,8 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.QuickFixProvider; -import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.infrastructure.DiagnosticConfiguration; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; @@ -37,7 +38,7 @@ @RequiredArgsConstructor public class QuickFixSupplier { - private final Map diagnosticInfos; + private final Map diagnosticInfos; private final DiagnosticConfiguration diagnosticConfiguration; // TODO: Рефакторинг апи квик-фиксов. @@ -51,6 +52,7 @@ public > Optional (BSLDiagnosticInfo) coreDiagnosticInfo) .map(BSLDiagnosticInfo::getDiagnosticClass) .filter(QuickFixProvider.class::isAssignableFrom) .map(aClass -> (Class) aClass); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java index 8cca8725fe8..cd3a4498823 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/BSLLanguageServerConfiguration.java @@ -46,7 +46,7 @@ import org.apache.commons.beanutils.PropertyUtils; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Role; import org.springframework.stereotype.Component; @@ -79,6 +79,7 @@ @NoArgsConstructor @Slf4j @JsonIgnoreProperties(ignoreUnknown = true) +@Primary public class BSLLanguageServerConfiguration implements LanguageServerConfiguration { private static final Pattern searchConfiguration = Pattern.compile("Configuration\\.(xml|mdo)$"); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java index c013cbeb5d0..6234dbf790e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/BSLDiagnosticsOptions.java @@ -30,7 +30,7 @@ import lombok.NoArgsConstructor; /** - * Корневой класс для настройки {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider} + * Корневой класс для настройки {@link com.github._1c_syntax.ls_core.providers.DiagnosticProvider} */ @EqualsAndHashCode(callSuper = true) @Data diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java index cf028e39429..c84f7c5ea35 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/diagnostics/package-info.java @@ -20,6 +20,6 @@ * License along with BSL Language Server. */ /** - * Пакет содержит настройки для работы {@link com.github._1c_syntax.bsl.languageserver.providers.BSLDiagnosticProvider} + * Пакет содержит настройки для работы {@link com.github._1c_syntax.ls_core.providers.DiagnosticProvider} */ package com.github._1c_syntax.bsl.languageserver.configuration.diagnostics; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java index 2faaadbcfe3..cc3e3b3d5e8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CognitiveComplexityComputer.java @@ -23,8 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java index b42a2319f14..fbedba428fc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/CyclomaticComplexityComputer.java @@ -23,8 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseListener; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java index cf788d19c2c..331166ef816 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/MethodSymbolComputer.java @@ -29,7 +29,6 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationKind; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.AnnotationParameterDefinition; import com.github._1c_syntax.bsl.languageserver.context.symbol.annotations.CompilerDirectiveKind; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java index 4343663844b..1e0fa14a7ab 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/RegionSymbolComputer.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.ls_core.context.computer.Computer; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java index 3624073163e..db6bcf6be11 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/VariableSymbolComputer.java @@ -25,7 +25,6 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java index 8531113d5e5..9f74a90c11e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/Symbol.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.context.symbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java index b455c9c8b74..57ae8287dc2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/SymbolTree.java @@ -21,8 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.context.symbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java index d83a86ace82..18d991c3b96 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnostic.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; import lombok.Getter; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMultilingualStringDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMultilingualStringDiagnostic.java index c92c8ad7f11..42687eb80d8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMultilingualStringDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMultilingualStringDiagnostic.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.utils.MultilingualStringAnalyser; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Map; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java index c249812e39f..d784a16750e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticStorage.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnosticStorage; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java index 96e28cc8c68..3e5454c8679 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BeginTransactionBeforeTryCatchDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java index 07342d4b37c..43726425fc8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CanonicalSpellingKeywordsDiagnostic.java @@ -24,11 +24,11 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.utils.Keywords; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -299,7 +299,7 @@ public List getQuickFixes( }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java index cd2a32104e2..c2fc05569a0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java @@ -27,7 +27,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java index ae834924578..3f38c90b983 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CognitiveComplexityDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.computer.ComplexitySecondaryLocation; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java index 8c8b3373f57..7c74a266749 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommentedCodeDiagnostic.java @@ -25,15 +25,15 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodDescription; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.recognizer.BSLFootprint; import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLTokenizer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; @@ -213,7 +213,7 @@ public List getQuickFixes( .map(range -> new TextEdit(range, "")) .collect(Collectors.toList()); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java index 434e4bc20f1..dfc33c26ac7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommitTransactionOutsideTryCatchDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java index 6895237f3f3..cddb47909af 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleAssignDiagnostic.java @@ -26,7 +26,6 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.mdclasses.metadata.Configuration; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java index 025a79d806d..46be50eae5e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleNameWordsDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.CommonModule; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java index 66a1b601bc5..0123a8cb11d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ConsecutiveEmptyLinesDiagnostic.java @@ -23,13 +23,12 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; @@ -106,7 +105,7 @@ public List getQuickFixes( .map(diagnostic -> getQuickFixText(diagnostic, eofTokenLine)) .collect(Collectors.toList()); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java index 596b7ad1d37..4c067d53392 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CyclomaticComplexityDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.computer.ComplexitySecondaryLocation; import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java index b5858591c2e..4bb18a6b9b4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DataExchangeLoadingDiagnostic.java @@ -22,11 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java index 4637bb69540..544404d9a65 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeletingCollectionItemDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java index d65be02fff2..1afcb9947b6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DeprecatedTypeManagedFormDiagnostic.java @@ -26,10 +26,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -91,7 +91,7 @@ public List getQuickFixes( }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java index e5f50c5ff79..6fde0e160aa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyCodeBlockDiagnostic.java @@ -22,11 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java index ac6a092d31f..f8b3b4d6cc4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyRegionDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.ParserRuleContext; import org.eclipse.lsp4j.CodeAction; @@ -107,7 +106,7 @@ public List getQuickFixes( }) .ifPresent(lastRange -> textEdits.add(new TextEdit(lastRange, ""))); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java index bbf7d4d3959..1f4088deb64 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -91,7 +90,7 @@ public List getQuickFixes( }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java index 6d86c11b4df..140d7447ef7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FormDataToValueDiagnostic.java @@ -26,7 +26,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java index 76388530e47..deefc352297 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FunctionReturnsSamePrimitiveDiagnostic.java @@ -23,10 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java index f8137a31d55..67d0b001917 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IfConditionComplexityDiagnostic.java @@ -23,9 +23,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; @@ -48,7 +48,7 @@ public class IfConditionComplexityDiagnostic extends AbstractVisitorDiagnostic { type = Integer.class, defaultValue = "" + MAX_IF_CONDITION_COMPLEXITY ) - private final int maxIfConditionComplexity = MAX_IF_CONDITION_COMPLEXITY; + private int maxIfConditionComplexity = MAX_IF_CONDITION_COMPLEXITY; @Override public ParseTree visitIfBranch(BSLParser.IfBranchContext ctx) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java index b70123cf9b8..a7e2863071d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/InvalidCharacterInFileDiagnostic.java @@ -24,10 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; @@ -135,7 +135,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java index 39faa709fbf..242ed3446ca 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LatinAndCyrillicSymbolInWordDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java index d119b7e70bf..9ac73a37c42 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/LineLengthDiagnostic.java @@ -22,10 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java index 18608f1f790..0896ad9ce2b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicNumberDiagnostic.java @@ -22,11 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.DiagnosticConfigurator; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java index 25161e22791..5c0eff7ed13 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MetadataObjectNameLengthDiagnostic.java @@ -22,10 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.MDObjectBase; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java index 4ffa7fd3b7d..0a53f5859e6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MethodSizeDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java index 198c98abc3b..d6c859233ca 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCodeTryCatchExDiagnostic.java @@ -22,10 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java index e251842be98..8b5a004f9fc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnostic.java @@ -23,13 +23,13 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.CodeAction; @@ -210,7 +210,7 @@ public List getQuickFixes( } }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java index b48fdbcfcb9..9bbcb7ab01c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingTemporaryFileDeletionDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java index be13d0ae4ea..7bea9dae209 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedConstructorsInStructureDeclarationDiagnostic.java @@ -24,9 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.NewExpressionContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java index 50764961a00..c43697d2b9e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedFunctionInParametersDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java index 9da42d9078f..e5a0e5412d4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnostic.java @@ -22,12 +22,11 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java index d8811ee5a41..c71df35798c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedTernaryOperatorDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java index a787fb31217..57dbb5e39dd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfOptionalParamsDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java index 0266441f3ad..79f979c2616 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfParamsDiagnostic.java @@ -22,9 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java index d1402b9ff02..7c66f03373f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NumberOfValuesInStructureConstructorDiagnostic.java @@ -22,11 +22,11 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.tree.ParseTree; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java index 8c7b4f7c07e..ca4a9dd82b3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.ls_core.utils.RelatedInformation; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -142,7 +141,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java index 175ae3cb1c7..83bdebe4a47 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PairingBrokenTransactionDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java index 8e7221eb379..bd022ec603d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ParseErrorDiagnostic.java @@ -24,7 +24,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java index 8d818a651f4..eea7c024eb9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ProcedureReturnsValueDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java index 89c943e8f1b..bdf555f0e49 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/PublicMethodsDescriptionDiagnostic.java @@ -25,9 +25,9 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java index eede163f558..dfeca78660c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SelfAssignDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java index b4c059b2413..684bf760ec6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnostic.java @@ -24,11 +24,10 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.CodeAction; @@ -87,7 +86,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java index bfad1209125..14ae05e2e07 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnostic.java @@ -23,13 +23,13 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; import com.github._1c_syntax.bsl.languageserver.recognizer.BSLFootprint; import com.github._1c_syntax.bsl.languageserver.recognizer.CodeRecognizer; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.CodeAction; @@ -123,7 +123,7 @@ public List getQuickFixes( textEdits.add(textEdit); }); - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( textEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java index ff7906938ab..586403574a8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java @@ -23,10 +23,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java index dabf3a423c7..5489e353188 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TooManyReturnsDiagnostic.java @@ -23,11 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Ranges; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java index 25d34e59281..9a447220edc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TryNumberDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java index 70543de0366..b051cfabbfe 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TypoDiagnostic.java @@ -23,13 +23,12 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.languageserver.diagnostics.typo.JLanguageToolPool; import com.github._1c_syntax.bsl.languageserver.diagnostics.typo.JLanguageToolPoolEntry; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java index edb6111873e..b6fc93ebe79 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnaryPlusInConcatenationDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java index cf61aff0d9b..b565b600867 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UseLessForEachDiagnostic.java @@ -24,7 +24,6 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext; import com.github._1c_syntax.bsl.parser.BSLParser.ComplexIdentifierContext; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java index aa319e63070..c2741ef1c17 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingExternalCodeToolsDiagnostic.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java index a745507b548..81a857c9070 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeNetworkAddressDiagnostic.java @@ -22,10 +22,9 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java index 95fd97814b9..fc6a25f4993 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodePathDiagnostic.java @@ -22,10 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java index a9fc5b40c35..ffe9bbd38ae 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingHardcodeSecretInformationDiagnostic.java @@ -22,11 +22,11 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.ls_core.utils.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java index c33b334d9d7..a81a45e1ea1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnostic.java @@ -23,10 +23,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java index cceeb45d67d..11324c1d4f1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingObjectNotAvailableUnixDiagnostic.java @@ -24,7 +24,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java index 1cfdd3aa65d..b6bd939e89b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingServiceTagDiagnostic.java @@ -22,8 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameter; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.antlr.v4.runtime.Token; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java index c59d0b9bc9b..1c712365d71 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java @@ -25,7 +25,6 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java index ceae6ada9d4..f65fc52bc4b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java @@ -26,12 +26,11 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticTag; -import com.github._1c_syntax.bsl.languageserver.providers.BSLCodeActionProvider; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import com.github._1c_syntax.ls_core.utils.Trees; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; @@ -143,7 +142,7 @@ public List getQuickFixes( newTextEdits.add(getQuickFixText(diagnostic, documentContext)); } - return BSLCodeActionProvider.createCodeActions( + return CodeActionProvider.createCodeActions( newTextEdits, info.getResourceString("quickFixMessage"), documentContext.getUri(), diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java index e4509b4c4bb..57a16149b0c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticBeanPostProcessor.java @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; -import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -37,7 +37,7 @@ public class DiagnosticBeanPostProcessor implements BeanPostProcessor { private final BSLLanguageServerConfiguration configuration; - private final Map, BSLDiagnosticInfo> diagnosticInfos; + private final Map, CoreDiagnosticInfo> diagnosticInfos; @Override public Object postProcessBeforeInitialization(Object bean, String beanName) { @@ -48,7 +48,7 @@ public Object postProcessBeforeInitialization(Object bean, String beanName) { var diagnostic = (BSLDiagnostic) bean; var info = diagnosticInfos.get(diagnostic.getClass()); - diagnostic.setInfo((DiagnosticInfo) info); + diagnostic.setInfo(info); return diagnostic; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticConfiguration.java deleted file mode 100644 index 3a04f9bb6f3..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticConfiguration.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure; - -import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import lombok.RequiredArgsConstructor; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Scope; - -@Configuration -@RequiredArgsConstructor -public class DiagnosticConfiguration { - - private final ApplicationContext applicationContext; - - @Bean - @Scope("prototype") - public T diagnostic(Class clazz) { - return applicationContext.getBean(clazz); - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java index 403b26a15e1..503b90fbd19 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticInfosConfiguration.java @@ -25,6 +25,8 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -52,7 +54,7 @@ public class DiagnosticInfosConfiguration { @SuppressWarnings("unchecked") @Bean("diagnosticInfosByCode") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Map diagnosticInfosByCode() { + public Map diagnosticInfosByCode() { var beanNames = applicationContext.getBeanNamesForAnnotation(DiagnosticMetadata.class); return Arrays.stream(beanNames) @@ -61,29 +63,29 @@ public Map diagnosticInfosByCode() { .filter(BSLDiagnostic.class::isAssignableFrom) .map(aClass -> (Class) aClass) .map(this::createDiagnosticInfo) - .collect(Collectors.toMap(info -> info.getCode().getStringValue(), Function.identity())); + .collect(Collectors.toMap(info -> info.getDiagnosticCode().getStringValue(), Function.identity())); } @Bean("diagnosticInfosByDiagnosticClass") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Map, BSLDiagnosticInfo> diagnosticInfosByDiagnosticClass() { + public Map, CoreDiagnosticInfo> diagnosticInfosByDiagnosticClass() { return diagnosticInfosByCode().values().stream() - .collect(Collectors.toMap(BSLDiagnosticInfo::getDiagnosticClass, Function.identity())); + .collect(Collectors.toMap(CoreDiagnosticInfo::getDiagnosticClass, Function.identity())); } @Bean("diagnosticInfos") @Role(BeanDefinition.ROLE_INFRASTRUCTURE) - public Collection diagnosticInfos() { + public Collection diagnosticInfos() { return diagnosticInfosByCode().values(); } @Bean @Scope("prototype") - public BSLDiagnosticInfo diagnosticInfo(@Autowired(required = false) Class diagnosticClass) { + public CoreDiagnosticInfo diagnosticInfo(@Autowired(required = false) Class diagnosticClass) { return diagnosticInfosByDiagnosticClass().get(diagnosticClass); } - private BSLDiagnosticInfo createDiagnosticInfo( + private CoreDiagnosticInfo createDiagnosticInfo( @Autowired(required = false) Class diagnosticClass ) { return new BSLDiagnosticInfo(diagnosticClass, configuration); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java index a924ce8e679..ab96a297908 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/infrastructure/DiagnosticsConfiguration.java @@ -26,11 +26,12 @@ import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; -import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticScope; import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; +import com.github._1c_syntax.ls_core.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -58,7 +59,7 @@ public abstract class DiagnosticsConfiguration { @Bean @Scope("prototype") - public List diagnostics(BSLDocumentContext documentContext) { + public List diagnostics(BSLDocumentContext documentContext) { Collection diagnosticInfos = diagnosticInfos(); @@ -127,7 +128,7 @@ private boolean isEnabled(BSLDiagnosticInfo diagnosticInfo, BSLDiagnosticsOption } Either> diagnosticParameters = - configuration.getDiagnosticsOptions().getParameters().get(diagnosticInfo.getCode().getStringValue()); + configuration.getDiagnosticsOptions().getParameters().get(diagnosticInfo.getDiagnosticCode().getStringValue()); boolean activatedByDefault = diagnosticParameters == null && diagnosticInfo.isActivatedByDefault(); boolean hasCustomConfiguration = diagnosticParameters != null && diagnosticParameters.isRight(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java index 002d0ccfb4a..97a340935f7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfo.java @@ -21,71 +21,57 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; -import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; -import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; -import com.github._1c_syntax.ls_core.utils.Resources; +import com.github._1c_syntax.ls_core.configuration.LanguageServerConfiguration; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameterInfo; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import java.io.IOException; import java.io.InputStream; +import java.lang.annotation.Annotation; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; -import java.util.EnumMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Optional; import java.util.stream.Collectors; @Slf4j -public class BSLDiagnosticInfo { +public class BSLDiagnosticInfo extends CoreDiagnosticInfo { - private static final Map severityToLSPSeverityMap - = createSeverityToLSPSeverityMap(); private static final Map diagnosticTagMap = createDiagnosticTagMap(); - private final Class diagnosticClass; - private final BSLLanguageServerConfiguration configuration; - - private final DiagnosticCode diagnosticCode; - private final DiagnosticMetadata diagnosticMetadata; - private final List diagnosticParameters; - public BSLDiagnosticInfo( - Class diagnosticClass, - BSLLanguageServerConfiguration configuration + Class diagnosticClass, + LanguageServerConfiguration configuration ) { - this.diagnosticClass = diagnosticClass; - this.configuration = configuration; - - diagnosticCode = createDiagnosticCode(); - diagnosticMetadata = diagnosticClass.getAnnotation(DiagnosticMetadata.class); - diagnosticParameters = DiagnosticParameterInfo.createDiagnosticParameters(this); - } - - public Class getDiagnosticClass() { - return diagnosticClass; - } + super(diagnosticClass, configuration); - public DiagnosticCode getCode() { - return diagnosticCode; + // переинициализация параметров из-за изменения класса аннотации + setDiagnosticMetadata(diagnosticClass.getAnnotation(annotationClass())); + setDiagnosticParameters(DiagnosticParameterInfo.createDiagnosticParameters(this)); } - public String getName() { - return getResourceString("diagnosticName"); + /** + * Для переопределения класса аннотации-метаданных диагностики + * + * @return Класс аннотации + */ + @Override + protected Class annotationClass() { + return DiagnosticMetadata.class; } public String getDescription() { - String langCode = configuration.getLanguage().getLanguageCode(); + String langCode = getConfiguration().getLanguage().getLanguageCode(); - String resourceName = langCode + "/" + diagnosticCode.getStringValue() + ".md"; - InputStream descriptionStream = diagnosticClass.getResourceAsStream(resourceName); + String resourceName = langCode + "/" + getDiagnosticCode().getStringValue() + ".md"; + InputStream descriptionStream = getDiagnosticClass().getResourceAsStream(resourceName); if (descriptionStream == null) { LOGGER.error("Can't find resource {}", resourceName); @@ -100,65 +86,33 @@ public String getDescription() { } } - public String getMessage() { - return getResourceString("diagnosticMessage"); - } - - public String getMessage(Object... args) { - return String.format(getMessage(), args).intern(); - } - - public String getResourceString(String key) { - return Resources.getResourceString(configuration.getLanguage(), diagnosticClass, key); - } - - public String getResourceString(String key, Object... args) { - return Resources.getResourceString(configuration.getLanguage(), diagnosticClass, key, args); - } - - public DiagnosticType getType() { - return diagnosticMetadata.type(); - } - - public DiagnosticSeverity getSeverity() { - return diagnosticMetadata.severity(); - } - - public org.eclipse.lsp4j.DiagnosticSeverity getLSPSeverity() { - var type = getType(); - if (type == DiagnosticType.CODE_SMELL) { - return severityToLSPSeverityMap.get(getSeverity()); - } else if (type == DiagnosticType.SECURITY_HOTSPOT) { - return org.eclipse.lsp4j.DiagnosticSeverity.Warning; - } else { - return org.eclipse.lsp4j.DiagnosticSeverity.Error; - } - } + @SneakyThrows public DiagnosticCompatibilityMode getCompatibilityMode() { - return diagnosticMetadata.compatibilityMode(); + return (DiagnosticCompatibilityMode) getDiagnosticMetadata().getClass().getDeclaredMethod("compatibilityMode") + .invoke(getDiagnosticMetadata()); } + @SneakyThrows public DiagnosticScope getScope() { - return diagnosticMetadata.scope(); + return (DiagnosticScope) getDiagnosticMetadata().getClass().getDeclaredMethod("scope") + .invoke(getDiagnosticMetadata()); } + @SneakyThrows public ModuleType[] getModules() { - return diagnosticMetadata.modules(); - } - - public int getMinutesToFix() { - return diagnosticMetadata.minutesToFix(); - } - - public boolean isActivatedByDefault() { - return diagnosticMetadata.activatedByDefault(); + return (ModuleType[]) getDiagnosticMetadata().getClass().getDeclaredMethod("modules") + .invoke(getDiagnosticMetadata()); } + @SneakyThrows public List getTags() { - return new ArrayList<>(Arrays.asList(diagnosticMetadata.tags())); + return new ArrayList<>( + Arrays.asList((DiagnosticTag[]) getDiagnosticMetadata().getClass().getDeclaredMethod("tags") + .invoke(getDiagnosticMetadata()))); } + @Override public List getLSPTags() { return getTags().stream() .map(diagnosticTag -> diagnosticTagMap.getOrDefault(diagnosticTag, null)) @@ -166,39 +120,6 @@ public List getLSPTags() { .collect(Collectors.toList()); } - public List getParameters() { - return new ArrayList<>(diagnosticParameters); - } - - public Optional getParameter(String parameterName) { - return diagnosticParameters.stream().filter(param -> param.getName().equals(parameterName)).findAny(); - } - - public Map getDefaultConfiguration() { - return diagnosticParameters.stream() - .collect(Collectors.toMap(DiagnosticParameterInfo::getName, DiagnosticParameterInfo::getDefaultValue)); - } - - private DiagnosticCode createDiagnosticCode() { - String simpleName = diagnosticClass.getSimpleName(); - if (simpleName.endsWith("Diagnostic")) { - simpleName = simpleName.substring(0, simpleName.length() - "Diagnostic".length()); - } - - return new DiagnosticCode(simpleName.intern()); - } - - private static Map createSeverityToLSPSeverityMap() { - Map map = new EnumMap<>(DiagnosticSeverity.class); - map.put(DiagnosticSeverity.INFO, org.eclipse.lsp4j.DiagnosticSeverity.Hint); - map.put(DiagnosticSeverity.MINOR, org.eclipse.lsp4j.DiagnosticSeverity.Information); - map.put(DiagnosticSeverity.MAJOR, org.eclipse.lsp4j.DiagnosticSeverity.Warning); - map.put(DiagnosticSeverity.CRITICAL, org.eclipse.lsp4j.DiagnosticSeverity.Warning); - map.put(DiagnosticSeverity.BLOCKER, org.eclipse.lsp4j.DiagnosticSeverity.Warning); - - return map; - } - private static Map createDiagnosticTagMap() { return Map.of( DiagnosticTag.UNUSED, org.eclipse.lsp4j.DiagnosticTag.Unnecessary, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameter.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameter.java deleted file mode 100644 index 5d2247720cf..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameter.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface DiagnosticParameter { - Class type(); - - String defaultValue() default ""; -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java deleted file mode 100644 index 0bb282a28c1..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticParameterInfo.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; - -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -public final class DiagnosticParameterInfo { - - private final Class type; - private final String name; - private final String description; - private final Object defaultValue; - - private DiagnosticParameterInfo(Field field, String description) { - - DiagnosticParameter diagnosticParameter = field.getAnnotation(DiagnosticParameter.class); - this.type = diagnosticParameter.type(); - this.name = field.getName(); - this.description = description; - this.defaultValue = castDiagnosticParameterValue(diagnosticParameter.defaultValue()); - - } - - public Class getType() { - return type; - } - - public String getName() { - return name; - } - - public String getDescription() { - return this.description; - } - - public Object getDefaultValue() { - return this.defaultValue; - } - - private Object castDiagnosticParameterValue(String valueToCast) { - Object value; - if (type == Integer.class) { - value = Integer.parseInt(valueToCast); - } else if (type == Boolean.class) { - value = Boolean.parseBoolean(valueToCast); - } else if (type == Float.class) { - value = Float.parseFloat(valueToCast); - } else if (type == String.class) { - value = valueToCast; - } else { - throw new IllegalArgumentException("Unsupported diagnostic parameter type " + type); - } - - return value; - } - - static List createDiagnosticParameters(BSLDiagnosticInfo diagnosticInfo) { - var parameterInfos = getParameterByClass(diagnosticInfo.getDiagnosticClass(), diagnosticInfo); - - var superClass = diagnosticInfo.getDiagnosticClass().getSuperclass(); - if (superClass != null) { - parameterInfos.addAll(getParameterByClass(superClass, diagnosticInfo)); - } - - return parameterInfos; - } - - private static List getParameterByClass(Class clazz, BSLDiagnosticInfo diagnosticInfo) { - return Arrays.stream(clazz.getDeclaredFields()) - .filter(field -> field.isAnnotationPresent(DiagnosticParameter.class)) - .map(field -> new DiagnosticParameterInfo(field, diagnosticInfo.getResourceString(field.getName()))) - .collect(Collectors.toList()); - } -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java index b867612d3e9..b536b5d2709 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProvider.java @@ -23,67 +23,35 @@ import com.github._1c_syntax.bsl.languageserver.codeactions.CodeActionSupplier; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.CodeActionProvider; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeAction; -import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.CodeActionParams; import org.eclipse.lsp4j.Command; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.TextEdit; -import org.eclipse.lsp4j.WorkspaceEdit; import org.eclipse.lsp4j.jsonrpc.messages.Either; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; -import java.net.URI; -import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; @Component @RequiredArgsConstructor -public final class BSLCodeActionProvider { +@Primary +public final class BSLCodeActionProvider implements CodeActionProvider { private final List codeActionSuppliers; - public static List createCodeActions( - List textEdits, - String title, - URI uri, - List diagnostics - ) { - - if (diagnostics.isEmpty()) { - return Collections.emptyList(); - } - - WorkspaceEdit edit = new WorkspaceEdit(); - - Map> changes = new HashMap<>(); - changes.put(uri.toString(), textEdits); - edit.setChanges(changes); - - if (diagnostics.size() > 1) { - title = "Fix all: " + title; - } - - CodeAction codeAction = new CodeAction(title); - codeAction.setDiagnostics(diagnostics); - codeAction.setEdit(edit); - codeAction.setKind(CodeActionKind.QuickFix); - - return Collections.singletonList(codeAction); - - } - + @Override public List> getCodeActions( CodeActionParams params, - BSLDocumentContext documentContext + DocumentContext documentContext ) { return codeActionSuppliers.stream() - .flatMap(codeActionSupplier -> codeActionSupplier.getCodeActions(params, documentContext).stream()) + .flatMap(codeActionSupplier -> codeActionSupplier + .getCodeActions(params, (BSLDocumentContext) documentContext).stream()) .map(Either::forRight) .collect(Collectors.toList()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java index 2dfe0963105..8d827f2ca0a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeLensProvider.java @@ -23,8 +23,11 @@ import com.github._1c_syntax.bsl.languageserver.codelenses.CodeLensSupplier; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.CodeLensProvider; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CodeLens; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.Collection; @@ -33,12 +36,14 @@ @Component @RequiredArgsConstructor -public final class BSLCodeLensProvider { +@Primary +public final class BSLCodeLensProvider implements CodeLensProvider { private final List codeLensSuppliers; - public List getCodeLens(BSLDocumentContext documentContext) { + @Override + public List getCodeLens(DocumentContext documentContext) { return codeLensSuppliers.stream() - .map(codeLensSupplier -> codeLensSupplier.getCodeLenses(documentContext)) + .map(codeLensSupplier -> codeLensSupplier.getCodeLenses((BSLDocumentContext) documentContext)) .flatMap(Collection::stream) .collect(Collectors.toList()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java deleted file mode 100644 index 1ffe8c02bfd..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver.providers; - -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.PublishDiagnosticsParams; -import org.eclipse.lsp4j.services.LanguageClient; -import org.eclipse.lsp4j.services.LanguageClientAware; -import org.springframework.stereotype.Component; - -import javax.annotation.CheckForNull; -import java.util.Collections; -import java.util.List; -import java.util.function.Supplier; - -@Slf4j -@Component -@RequiredArgsConstructor -public final class BSLDiagnosticProvider implements LanguageClientAware { - - public static final String SOURCE = "bsl-language-server"; - - @CheckForNull - private LanguageClient client; - - public void computeAndPublishDiagnostics(BSLDocumentContext documentContext) { - publishDiagnostics(documentContext, documentContext::getDiagnostics); - } - - public void publishEmptyDiagnosticList(BSLDocumentContext documentContext) { - publishDiagnostics(documentContext, Collections::emptyList); - } - - private void publishDiagnostics(BSLDocumentContext documentContext, Supplier> diagnostics) { - if (client == null) { - return; - } - - client.publishDiagnostics( - new PublishDiagnosticsParams(documentContext.getUri().toString(), diagnostics.get()) - ); - } - - @Override - public void connect(LanguageClient client) { - this.client = client; - } - -} diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java index 81855b6a86c..268962e59ab 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider.java @@ -22,13 +22,15 @@ package com.github._1c_syntax.bsl.languageserver.providers; import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; +import com.github._1c_syntax.ls_core.providers.DocumentLinkProvider; import com.github._1c_syntax.ls_core.utils.Resources; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DocumentLink; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.List; @@ -39,10 +41,12 @@ */ @Component @RequiredArgsConstructor -public class BSLDocumentLinkProvider { +@Primary +public class BSLDocumentLinkProvider implements DocumentLinkProvider { private final BSLLanguageServerConfiguration configuration; - public List getDocumentLinks(BSLDocumentContext documentContext) { + @Override + public List getDocumentLinks(DocumentContext documentContext) { var linkOptions = configuration.getDocumentLinkOptions(); var language = configuration.getLanguage(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java index 5554f539dad..29747644dcc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentSymbolProvider.java @@ -26,20 +26,25 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.DocumentSymbolProvider; import org.eclipse.lsp4j.DocumentSymbol; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.SymbolInformation; import org.eclipse.lsp4j.jsonrpc.messages.Either; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.List; import java.util.stream.Collectors; @Component -public final class BSLDocumentSymbolProvider { +@Primary +public final class BSLDocumentSymbolProvider implements DocumentSymbolProvider { - public List> getDocumentSymbols(BSLDocumentContext documentContext) { - return documentContext.getSymbolTree().getChildren().stream() + @Override + public List> getDocumentSymbols(DocumentContext documentContext) { + return ((BSLDocumentContext) documentContext).getSymbolTree().getChildren().stream() .map(BSLDocumentSymbolProvider::toDocumentSymbol) .map(Either::forRight) .collect(Collectors.toList()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java index 1e764f652f4..91de18f2365 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFoldingRangeProvider.java @@ -23,15 +23,17 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; -import com.github._1c_syntax.bsl.languageserver.utils.BSLTrees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.FoldingRangeProvider; import com.github._1c_syntax.ls_core.utils.Trees; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; import org.eclipse.lsp4j.FoldingRange; import org.eclipse.lsp4j.FoldingRangeKind; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.ArrayDeque; @@ -41,26 +43,29 @@ import java.util.stream.Collectors; @Component -public final class BSLFoldingRangeProvider { +@Primary +public final class BSLFoldingRangeProvider implements FoldingRangeProvider { - public List getFoldingRange(BSLDocumentContext documentContext) { + @Override + public List getFoldingRange(DocumentContext documentContext) { - List foldingRanges = getCommentRanges(documentContext); + var bslDocumentContext = (BSLDocumentContext) documentContext; + var foldingRanges = getCommentRanges(bslDocumentContext); - CodeBlockRangeFinder codeBlockRangeFinder = new CodeBlockRangeFinder(); - codeBlockRangeFinder.visitFile(documentContext.getAst()); - List codeBlockRegionRanges = codeBlockRangeFinder.getRegionRanges(); + var codeBlockRangeFinder = new CodeBlockRangeFinder(); + codeBlockRangeFinder.visitFile(bslDocumentContext.getAst()); + var codeBlockRegionRanges = codeBlockRangeFinder.getRegionRanges(); - UseRangeFinder useRangeFinder = new UseRangeFinder(); - useRangeFinder.visitFile(documentContext.getAst()); - List useRegionRanges = useRangeFinder.getRegionRanges(); + var useRangeFinder = new UseRangeFinder(); + useRangeFinder.visitFile(bslDocumentContext.getAst()); + var useRegionRanges = useRangeFinder.getRegionRanges(); - RegionRangeFinder regionRangeFinder = new RegionRangeFinder(documentContext); - List regionRanges = regionRangeFinder.getRegionRanges(); + var regionRangeFinder = new RegionRangeFinder(bslDocumentContext); + var regionRanges = regionRangeFinder.getRegionRanges(); - PreprocIfRegionRangeFinder preprocIfRegionRangeFinder = new PreprocIfRegionRangeFinder(); - preprocIfRegionRangeFinder.visitFile(documentContext.getAst()); - List preprocRegionRanges = preprocIfRegionRangeFinder.getRegionRanges(); + var preprocIfRegionRangeFinder = new PreprocIfRegionRangeFinder(); + preprocIfRegionRangeFinder.visitFile(bslDocumentContext.getAst()); + var preprocRegionRanges = preprocIfRegionRangeFinder.getRegionRanges(); foldingRanges.addAll(codeBlockRegionRanges); foldingRanges.addAll(useRegionRanges); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java index 115f1e4af89..96d83ded01b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProvider.java @@ -21,8 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.FormatProvider; import com.github._1c_syntax.ls_core.utils.Ranges; import org.antlr.v4.runtime.Token; import org.apache.commons.lang3.StringUtils; @@ -32,6 +33,7 @@ import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.TextEdit; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -43,7 +45,8 @@ import java.util.stream.Collectors; @Component -public final class BSLFormatProvider { +@Primary +public final class BSLFormatProvider implements FormatProvider { private static final Set incrementIndentTokens = new HashSet<>(Arrays.asList( BSLLexer.LPAREN, @@ -81,7 +84,8 @@ public final class BSLFormatProvider { BSLLexer.STRING )); - public List getFormatting(DocumentFormattingParams params, BSLDocumentContext documentContext) { + @Override + public List getFormatting(DocumentFormattingParams params, DocumentContext documentContext) { List tokens = documentContext.getTokens(); if (tokens.isEmpty()) { return Collections.emptyList(); @@ -95,10 +99,8 @@ public List getFormatting(DocumentFormattingParams params, BSLDocument ); } - public List getRangeFormatting( - DocumentRangeFormattingParams params, - BSLDocumentContext documentContext - ) { + @Override + public List getRangeFormatting(DocumentRangeFormattingParams params, DocumentContext documentContext) { Position start = params.getRange().getStart(); Position end = params.getRange().getEnd(); int startLine = start.getLine() + 1; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java index ee26669a608..febd6b68352 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLHoverProvider.java @@ -21,9 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.parser.BSLParser.SubNameContext; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; +import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.providers.HoverProvider; import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.Hover; @@ -31,14 +32,17 @@ import org.eclipse.lsp4j.MarkupContent; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.Range; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.util.Optional; @Component -public final class BSLHoverProvider { +@Primary +public final class BSLHoverProvider implements HoverProvider { - public Optional getHover(HoverParams params, BSLDocumentContext documentContext) { + @Override + public Optional getHover(HoverParams params, DocumentContext documentContext) { SubNameFinder finder = new SubNameFinder(params.getPosition()); finder.visit(documentContext.getAst()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java index 7fb28344329..6259d013360 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLSymbolProvider.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.variable.VariableKind; +import com.github._1c_syntax.ls_core.providers.SymbolProvider; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -33,6 +34,7 @@ import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.SymbolInformation; import org.eclipse.lsp4j.WorkspaceSymbolParams; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.net.URI; @@ -47,10 +49,12 @@ @Slf4j @Component @RequiredArgsConstructor -public class BSLSymbolProvider { +@Primary +public class BSLSymbolProvider implements SymbolProvider { private final BSLServerContext context; + @Override public List getSymbols(WorkspaceSymbolParams params) { var queryString = Optional.ofNullable(params.getQuery()) .orElse(""); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java index 606a7887168..ed3a7a0dae9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReport.java @@ -25,6 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticCode; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import lombok.Getter; @@ -60,14 +61,14 @@ public GenericIssueReport( this.issues = new ArrayList<>(issues); } - public GenericIssueReport(AnalysisInfo analysisInfo, Map diagnosticInfos) { + public GenericIssueReport(AnalysisInfo analysisInfo, Map diagnosticInfos) { issues = new ArrayList<>(); for (FileInfo fileInfo : analysisInfo.getFileinfos()) { for (Diagnostic diagnostic : fileInfo.getDiagnostics()) { GenericIssueEntry entry = new GenericIssueEntry( fileInfo.getPath().toString(), diagnostic, - diagnosticInfos.get(DiagnosticCode.getStringValue(diagnostic.getCode())) + (BSLDiagnosticInfo) diagnosticInfos.get(DiagnosticCode.getStringValue(diagnostic.getCode())) ); issues.add(entry); } @@ -105,7 +106,7 @@ public GenericIssueEntry( public GenericIssueEntry(String fileName, Diagnostic diagnostic, BSLDiagnosticInfo diagnosticInfo) { engineId = diagnostic.getSource(); - ruleId = diagnosticInfo.getCode().getStringValue(); + ruleId = diagnosticInfo.getDiagnosticCode().getStringValue(); severity = diagnosticInfo.getSeverity().name(); type = diagnosticTypeRuleTypeMap.get(diagnosticInfo.getType()); primaryLocation = new Location(fileName, diagnostic); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java index 3cbecb462f3..ebee9a16dde 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericIssueReporter.java @@ -23,8 +23,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -39,7 +39,7 @@ @RequiredArgsConstructor public class GenericIssueReporter implements DiagnosticReporter { - private final Map diagnosticInfos; + private final Map diagnosticInfos; @Override public String key() { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java index b2febbfa7b2..d833e8f12b0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/DiagnosticHelper.java @@ -21,8 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.utils; -import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameterInfo; import com.github._1c_syntax.bsl.parser.BSLParser; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; @@ -30,11 +28,6 @@ import org.antlr.v4.runtime.tree.TerminalNode; import org.antlr.v4.runtime.tree.Tree; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - @Slf4j @UtilityClass public final class DiagnosticHelper { diff --git a/src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider_en.properties b/src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider_en.properties similarity index 100% rename from src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider_en.properties rename to src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider_en.properties diff --git a/src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider_ru.properties b/src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider_ru.properties similarity index 100% rename from src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/DocumentLinkProvider_ru.properties rename to src/main/resources/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProvider_ru.properties diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java deleted file mode 100644 index a01e5dec3c8..00000000000 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServerTest.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright © 2018-2020 - * Alexey Sosnoviy , Nikita Gryzlov and contributors - * - * SPDX-License-Identifier: LGPL-3.0-or-later - * - * BSL Language Server is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * BSL Language Server is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with BSL Language Server. - */ -package com.github._1c_syntax.bsl.languageserver; - -import com.ginsberg.junit.exit.ExpectSystemExitWithStatus; -import com.github._1c_syntax.ls_core.CoreLanguageServer; -import org.eclipse.lsp4j.InitializeParams; -import org.eclipse.lsp4j.InitializeResult; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.annotation.DirtiesContext; - -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; - -import static org.assertj.core.api.Assertions.assertThat; - -@SpringBootTest -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -class BSLLanguageServerTest { - - @Autowired - private CoreLanguageServer server; - - @Test - void initialize() { - // given - InitializeParams params = new InitializeParams(); - - // when - CompletableFuture initialize = server.initialize(params); - - // then - // TODO - //assertThat(initialize.get().getCapabilities()).extracting(ServerCapabilities::getCompletionProvider).isNotNull(); - } - - @Test - void shutdown() throws ExecutionException, InterruptedException { - CompletableFuture shutdown = server.shutdown(); - - assertThat(shutdown.get()).isEqualTo(true); - } - - @Test - @ExpectSystemExitWithStatus(1) - void exitWithoutShutdown() { - // when - server.exit(); - - // then ExpectSystemExitWithStatus should not throw exception - } - - @Test - @ExpectSystemExitWithStatus(0) - void exitWithShutdown() { - // given - server.shutdown(); - - // when - server.exit(); - - // then ExpectSystemExitWithStatus should not throw exception - } - -} diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java index 23b9caf70ce..79877d3aba1 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java @@ -21,26 +21,18 @@ */ package com.github._1c_syntax.bsl.languageserver; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.CoreTextDocumentService; import com.github._1c_syntax.ls_core.jsonrpc.DiagnosticParams; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; -import org.eclipse.lsp4j.CompletionItem; -import org.eclipse.lsp4j.CompletionList; -import org.eclipse.lsp4j.CompletionParams; import org.eclipse.lsp4j.DidChangeTextDocumentParams; import org.eclipse.lsp4j.DidCloseTextDocumentParams; import org.eclipse.lsp4j.DidOpenTextDocumentParams; import org.eclipse.lsp4j.DidSaveTextDocumentParams; -import org.eclipse.lsp4j.Hover; -import org.eclipse.lsp4j.HoverParams; -import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.TextDocumentContentChangeEvent; import org.eclipse.lsp4j.TextDocumentIdentifier; import org.eclipse.lsp4j.TextDocumentItem; import org.eclipse.lsp4j.VersionedTextDocumentIdentifier; -import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -50,11 +42,9 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.catchThrowable; @SpringBootTest class BSLTextDocumentServiceTest { @@ -62,143 +52,6 @@ class BSLTextDocumentServiceTest { @Autowired private CoreTextDocumentService textDocumentService; - @Test - void completion() throws ExecutionException, InterruptedException { - // given - CompletionParams position = new CompletionParams(); - - // when - CompletableFuture, CompletionList>> completion = textDocumentService.completion(position); - - // then - Either, CompletionList> listCompletionListEither = completion.get(); - List completionItems = listCompletionListEither.getLeft(); - - assertThat(completionItems) - .isNotEmpty() - .allMatch(completionItem -> "Hello World".equals(completionItem.getLabel())) - ; - } - - @Test - void resolveCompletionItem() { - Throwable thrown = catchThrowable(() -> textDocumentService.resolveCompletionItem(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void hoverEmpty() throws IOException, ExecutionException, InterruptedException { - // given - doOpen(); - - HoverParams params = new HoverParams(); - params.setTextDocument(getTextDocumentIdentifier()); - params.setPosition(new Position(0, 0)); - - // when - CompletableFuture hover = textDocumentService.hover(params); - - // then - Hover hoverValue = hover.get(); - assertThat(hoverValue).isNull(); - } - - @Test - void hoverSubName() throws IOException, ExecutionException, InterruptedException { - // given - doOpen(); - - HoverParams params = new HoverParams(); - params.setTextDocument(getTextDocumentIdentifier()); - params.setPosition(new Position(0, 20)); - - // when - CompletableFuture hover = textDocumentService.hover(params); - - // then - Hover hoverValue = hover.get(); - assertThat(hoverValue.getContents().getRight().getValue()).isEqualTo("ИмяПроцедуры"); - assertThat(hoverValue.getRange().getStart()).isEqualTo(new Position(0, 10)); - assertThat(hoverValue.getRange().getEnd()).isEqualTo(new Position(0, 22)); - } - - @Test - void signatureHelp() { - Throwable thrown = catchThrowable(() -> textDocumentService.signatureHelp(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void definition() { - Throwable thrown = catchThrowable(() -> textDocumentService.definition(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void references() { - Throwable thrown = catchThrowable(() -> textDocumentService.references(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void documentHighlight() { - Throwable thrown = catchThrowable(() -> textDocumentService.documentHighlight(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void documentSymbol() { - // todo - // Throwable thrown = catchThrowable(() -> textDocumentService.documentSymbol(null)); - // assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void codeAction() { - // todo: -// Throwable thrown = catchThrowable(() -> textDocumentService.codeAction(null)); -// assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void codeLens() { - // TODO: - //Throwable thrown = catchThrowable(() -> textDocumentService.codeLens(null)); - //assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void resolveCodeLens() { - Throwable thrown = catchThrowable(() -> textDocumentService.resolveCodeLens(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void formatting() { - // TODO: -// Throwable thrown = catchThrowable(() -> textDocumentService.formatting(null)); -// assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void rangeFormatting() { - // TODO: -// Throwable thrown = catchThrowable(() -> textDocumentService.rangeFormatting(null)); -// assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void onTypeFormatting() { - Throwable thrown = catchThrowable(() -> textDocumentService.onTypeFormatting(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - - @Test - void rename() { - Throwable thrown = catchThrowable(() -> textDocumentService.rename(null)); - assertThat(thrown).isInstanceOf(UnsupportedOperationException.class); - } - @Test void didOpen() throws IOException { doOpen(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java deleted file mode 100644 index 4629170108c..00000000000 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/TestApplication.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.github._1c_syntax.bsl.languageserver; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; - -@SpringBootApplication -@ComponentScan("com.github._1c_syntax.ls_core") -public class TestApplication { -} diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java index eb18dd412f8..7aac4b1b601 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/BSLDocumentContextTest.java @@ -187,7 +187,7 @@ void testUntitledSchemaFromVSC() { @SneakyThrows public BSLDocumentContext getDocumentContext() { - return getDocumentContext("./src/test/resources/context/BSLDocumentContextTest.bsl"); + return getDocumentContext("./src/test/resources/context/DocumentContextTest.bsl"); } private BSLDocumentContext getDocumentContext(String filePath) { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java index f57e3d86025..00c7021587a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/BSLDiagnosticIgnoranceComputerTest.java @@ -41,7 +41,7 @@ class BSLDiagnosticIgnoranceComputerTest { void testDiagnosticIgnorance() { // given - String filePath = "./src/test/resources/context/computer/BSLDiagnosticIgnoranceComputerTest.bsl"; + String filePath = "./src/test/resources/context/computer/DiagnosticIgnoranceComputerTest.bsl"; final BSLDocumentContext documentContext = (BSLDocumentContext) getDocumentContextFromFile(filePath); List ignoredDiagnostics = new ArrayList<>(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java index f2ccc558361..c1f88ae7e41 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractDiagnosticTest.java @@ -24,9 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.context.DocumentContext; +import com.github._1c_syntax.ls_core.diagnostics.infrastructure.DiagnosticConfiguration; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java index 0e57cf9fd25..9c8c1f61768 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BSLDiagnosticInfosTest.java @@ -24,13 +24,13 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticMetadata; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticParameterInfo; import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameterInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import java.util.List; import java.util.Map; import java.util.MissingResourceException; import java.util.stream.Collectors; @@ -44,7 +44,7 @@ class BSLDiagnosticInfosTest { @Autowired - private Map diagnosticInfos; + private Map diagnosticInfos; @Autowired private BSLLanguageServerConfiguration configuration; @@ -52,7 +52,8 @@ class BSLDiagnosticInfosTest { @Test void testAllDiagnosticsHaveMetadataAnnotation() { // when - List> diagnosticClasses = diagnosticInfos.values().stream() + var diagnosticClasses = diagnosticInfos.values().stream() + .map(coreDiagnosticInfo -> (BSLDiagnosticInfo) coreDiagnosticInfo) .map(BSLDiagnosticInfo::getDiagnosticClass).collect(Collectors.toList()); // then @@ -78,7 +79,7 @@ void testAllDiagnosticsHaveDiagnosticMessage() { @Test void testAllDiagnosticsHaveDescriptionResource() { assertThatCode(() -> diagnosticInfos.values().forEach(diagnosticInfo - -> assertThat(diagnosticInfo.getDescription()).isNotEmpty())) + -> assertThat(((BSLDiagnosticInfo) diagnosticInfo).getDescription()).isNotEmpty())) .doesNotThrowAnyException(); } @@ -86,8 +87,8 @@ void testAllDiagnosticsHaveDescriptionResource() { void testAllDiagnosticsHaveTags() { assertThatCode(() -> diagnosticInfos.values().forEach(diagnosticInfo -> assertThat( - diagnosticInfo.getTags().size() > 0 - && diagnosticInfo.getTags().size() <= 3) + ((BSLDiagnosticInfo) diagnosticInfo).getTags().size() > 0 + && ((BSLDiagnosticInfo) diagnosticInfo).getTags().size() <= 3) .isTrue())) .doesNotThrowAnyException(); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java index 56849d2f650..335cd80a6ee 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DiagnosticsTest.java @@ -24,11 +24,12 @@ import com.github._1c_syntax.bsl.languageserver.configuration.BSLLanguageServerConfiguration; import com.github._1c_syntax.bsl.languageserver.configuration.diagnostics.SkipSupport; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; +import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticsConfiguration; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.configuration.diagnostics.Mode; +import com.github._1c_syntax.ls_core.diagnostics.CoreDiagnostic; import com.github._1c_syntax.mdclasses.metadata.SupportConfiguration; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; import com.github._1c_syntax.mdclasses.metadata.additional.ModuleType; @@ -274,7 +275,7 @@ void testDiagnosticModeExcept() { configuration.getDiagnosticsOptions().setParameters(rules); assertThat(diagnosticsConfiguration.diagnostics(documentContext)) .hasSizeGreaterThan(10) - .flatExtracting(BSLDiagnostic::getClass) + .flatExtracting(CoreDiagnostic::getClass) .doesNotContain(TypoDiagnostic.class) .doesNotContain(TooManyReturnsDiagnostic.class) .contains(TernaryOperatorUsageDiagnostic.class) diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java index b86c90081c0..9c0987a0f2c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/EmptyStatementDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java index 248486747f1..e80a06487f9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingSpaceDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java index f097411e1ef..fd7757c2f50 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/NestedStatementsDiagnosticTest.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.Assertions; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java index 06b954d6297..906123fc5ef 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OneStatementPerLineDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java index 0806b12f67e..68dcda83f2c 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SemicolonPresenceDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java index 2470d5e7e32..e1fa5159b24 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SmokyTest.java @@ -26,6 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.LSLauncher; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; @@ -54,7 +55,7 @@ class SmokyTest { private BSLLanguageServerConfiguration configuration; @Autowired - private Collection diagnosticInfos; + private Collection diagnosticInfos; @Test @ExpectSystemExitWithStatus(0) @@ -104,7 +105,8 @@ void testIAllDiagnostics() { // получим все возможные коды диагностик и положим в мапу "включенным" Map>> diagnostics = diagnosticInfos.stream() - .map(BSLDiagnosticInfo::getCode) + .map(coreDiagnosticInfo -> (BSLDiagnosticInfo) coreDiagnosticInfo) + .map(BSLDiagnosticInfo::getDiagnosticCode) .collect(Collectors.toMap( diagnosticCode -> diagnosticCode.getStringValue(), diagnosticCode -> Either.forLeft(true), diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java index 29571c5cc63..bdd2321afb3 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SpaceAtStartCommentDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java index de47ebe6f92..2a7ce152b20 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnosticTest.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.metadata.additional.CompatibilityMode; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java index 1dab1ed2fae..8b6ba1ed7a7 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingModalWindowsDiagnosticTest.java @@ -21,9 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.context.BSLServerContext; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java index bafc6d66ed3..f2c6230b2aa 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnosticTest.java @@ -21,9 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.context.DocumentContext; import com.github._1c_syntax.ls_core.utils.Ranges; import com.github._1c_syntax.mdclasses.metadata.additional.UseMode; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java index a06e5b7c434..3de3cd3de58 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/BSLDiagnosticInfoTest.java @@ -27,6 +27,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.MultilingualStringHasAllDeclaredLanguagesDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.UnusedLocalMethodDiagnostic; import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticParameterInfo; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticSeverity; import com.github._1c_syntax.ls_core.diagnostics.metadata.DiagnosticType; import org.assertj.core.api.Assertions; @@ -51,7 +52,7 @@ void testParameter() { BSLDiagnosticInfo diagnosticInfo = new BSLDiagnosticInfo(EmptyCodeBlockDiagnostic.class, configuration); - Assertions.assertThat(diagnosticInfo.getCode()).isEqualTo(Either.forLeft("EmptyCodeBlock")); + Assertions.assertThat(diagnosticInfo.getDiagnosticCode()).isEqualTo(Either.forLeft("EmptyCodeBlock")); Assertions.assertThat(diagnosticInfo.getName()).isNotEmpty(); Assertions.assertThat(diagnosticInfo.getMessage()).isNotEmpty(); Assertions.assertThat(diagnosticInfo.getMessage("")).isNotEmpty(); @@ -104,7 +105,7 @@ void testParameterSuper() { BSLDiagnosticInfo diagnosticInfo = new BSLDiagnosticInfo(MultilingualStringHasAllDeclaredLanguagesDiagnostic.class, configuration); - Assertions.assertThat(diagnosticInfo.getCode()).isEqualTo(Either.forLeft("MultilingualStringHasAllDeclaredLanguages")); + Assertions.assertThat(diagnosticInfo.getDiagnosticCode()).isEqualTo(Either.forLeft("MultilingualStringHasAllDeclaredLanguages")); Assertions.assertThat(diagnosticInfo.getName()).isNotEmpty(); Assertions.assertThat(diagnosticInfo.getMessage()).isNotEmpty(); Assertions.assertThat(diagnosticInfo.getMessage("")).isNotEmpty(); @@ -120,7 +121,6 @@ void testParameterSuper() { Assertions.assertThat(diagnosticInfo.getDefaultConfiguration().size()).isNotZero(); Assertions.assertThat(diagnosticInfo.getParameters().size()).isEqualTo(1); - DiagnosticParameterInfo parameter = diagnosticInfo.getParameters().get(0); assertThat(parameter.getDescription()) .isEqualTo("Заявленные языки"); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java index e17e2183ac8..cc645b38b5e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLCodeActionProviderTest.java @@ -69,7 +69,7 @@ void testGetCodeActions() { CanonicalSpellingKeywordsDiagnostic.class, configuration ); - DiagnosticCode diagnosticCode = diagnosticInfo.getCode(); + DiagnosticCode diagnosticCode = diagnosticInfo.getDiagnosticCode(); return diagnostic.getCode().equals(diagnosticCode); }) .collect(Collectors.toList()); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java index 87a5149386c..45de25c768f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDiagnosticProviderTest.java @@ -23,6 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.ls_core.providers.DiagnosticProvider; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +37,7 @@ class BSLDiagnosticProviderTest { @Autowired - private BSLDiagnosticProvider diagnosticProvider; + private DiagnosticProvider diagnosticProvider; @Test void testComputeDiagnostics() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java index 2804ea0d540..1839225089b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentBSLSymbolProviderTest.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.DocumentSymbol; import org.eclipse.lsp4j.SymbolInformation; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java index 462e68745b0..d0256f419dc 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLDocumentLinkProviderTest.java @@ -25,6 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.ls_core.configuration.Language; +import com.github._1c_syntax.ls_core.providers.DocumentLinkProvider; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -41,7 +42,7 @@ class BSLDocumentLinkProviderTest { private BSLLanguageServerConfiguration configuration; @Autowired - private BSLDocumentLinkProvider documentLinkProvider; + private DocumentLinkProvider documentLinkProvider; private static final String SITE_URL = "https://1c-syntax.github.io/bsl-language-server/"; private static final String SITE_EN_URL = "https://1c-syntax.github.io/bsl-language-server/en/"; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java index f4231293a26..3098765ba37 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/BSLFormatProviderTest.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.DocumentFormattingParams; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java index 0b51c347940..48a1bd41570 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ConsoleReporterTest.java @@ -25,7 +25,6 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java index 5d58890842e..b572d588bb3 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/GenericReporterTest.java @@ -23,11 +23,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.github._1c_syntax.bsl.languageserver.context.BSLDocumentContext; -import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.BSLDiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; +import com.github._1c_syntax.ls_core.diagnostics.metadata.CoreDiagnosticInfo; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; @@ -60,7 +59,7 @@ class GenericReporterTest { private GenericIssueReporter reporter; @Autowired - private Map diagnosticInfos; + private Map diagnosticInfos; private final File file = new File("./bsl-generic-json.json"); @@ -87,7 +86,7 @@ void report() throws IOException { "message", DiagnosticSeverity.Error, "test-source", - firstInfo.getCode().getStringValue() + firstInfo.getDiagnosticCode().getStringValue() )); diagnostics.add(new Diagnostic( @@ -95,7 +94,7 @@ void report() throws IOException { "message4", DiagnosticSeverity.Error, "test-source2", - firstInfo.getCode().getStringValue() + firstInfo.getDiagnosticCode().getStringValue() )); diagnostics.add(new Diagnostic( @@ -103,7 +102,7 @@ void report() throws IOException { "message4", DiagnosticSeverity.Error, "test-source2", - secondInfo.getCode().getStringValue() + secondInfo.getDiagnosticCode().getStringValue() )); BSLDocumentContext documentContext = (BSLDocumentContext) TestUtils.getDocumentContext(""); @@ -126,7 +125,7 @@ void report() throws IOException { assertThat(report.getIssues().get(0).getPrimaryLocation()).isNotNull(); assertThat(report.getIssues().get(0).getSecondaryLocations()).isNotNull(); assertThat(report.getIssues().get(0).getSecondaryLocations().size()).isEqualTo(1); - assertThat(report.getIssues().get(2).getRuleId()).isEqualTo(secondInfo.getCode().getStringValue()); + assertThat(report.getIssues().get(2).getRuleId()).isEqualTo(secondInfo.getDiagnosticCode().getStringValue()); assertThat(report.getIssues().get(1).getSeverity()).isEqualTo(firstInfo.getSeverity().name()); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java index 4138e866943..170e3bd7692 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JUnitReporterTest.java @@ -27,7 +27,6 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java index 97ac8703176..254e447dd2b 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/JsonReporterTest.java @@ -27,7 +27,6 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.reporters.databind.AnalysisInfoObjectMapper; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.assertj.core.api.Assertions; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java index 186eb9294eb..38f53c97e72 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/ReportersAggregatorTest.java @@ -25,7 +25,6 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java index 915570328ed..e215494f1cd 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReportEntryTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.eclipse.lsp4j.Diagnostic; import org.eclipse.lsp4j.DiagnosticSeverity; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java index 4b4873da5ec..42623d157fe 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/TSLintReporterTest.java @@ -27,7 +27,6 @@ import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java index 7b94a316569..6e036ea8700 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/util/assertions/DiagnosticAssert.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.util.assertions; -import com.github._1c_syntax.bsl.languageserver.utils.BSLRanges; import com.github._1c_syntax.ls_core.utils.Ranges; import org.assertj.core.api.AbstractAssert; import org.eclipse.lsp4j.Diagnostic;