From 8b88ec91a73cbded27e57cb9177358e6f580ee2d Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Sun, 19 Jun 2022 08:39:04 +0300 Subject: [PATCH 01/18] =?UTF-8?q?=D0=A1=D0=B2=D0=BE=D0=B9=20ModuleType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GenerateStandardRegionsSupplier.java | 2 +- .../context/DocumentContext.java | 5 +- .../languageserver/context/ModuleType.java | 49 ++++++++++++++ .../languageserver/context/ServerContext.java | 1 - .../computer/ModuleSymbolComputer.java | 2 +- .../context/computer/ModuleTypeComputer.java | 66 +++++++++++++++++++ .../AbstractMetadataDiagnostic.java | 6 +- .../diagnostics/CachedPublicDiagnostic.java | 2 +- .../CodeAfterAsyncCallDiagnostic.java | 2 +- .../CodeOutOfRegionDiagnostic.java | 3 +- .../CommandModuleExportMethodsDiagnostic.java | 2 +- .../CommonModuleInvalidTypeDiagnostic.java | 2 +- .../CommonModuleMissingAPIDiagnostic.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 +- .../DataExchangeLoadingDiagnostic.java | 2 +- .../ExcessiveAutoTestCheckDiagnostic.java | 2 +- .../ExecuteExternalCodeDiagnostic.java | 2 +- ...eExternalCodeInCommonModuleDiagnostic.java | 2 +- .../ForbiddenMetadataNameDiagnostic.java | 2 +- .../MetadataObjectNameLengthDiagnostic.java | 2 +- ...ingEventSubscriptionHandlerDiagnostic.java | 2 +- .../NonStandardRegionDiagnostic.java | 2 +- .../OrdinaryAppSupportDiagnostic.java | 2 +- .../RedundantAccessToObjectDiagnostic.java | 2 +- ...MetadataObjectAndChildNamesDiagnostic.java | 2 +- .../ServerSideExportFormMethodDiagnostic.java | 2 +- ...SetPermissionsForNewObjectsDiagnostic.java | 2 +- .../ThisObjectAssignDiagnostic.java | 2 +- .../UnusedLocalMethodDiagnostic.java | 2 +- .../UnusedLocalVariableDiagnostic.java | 2 +- .../diagnostics/UsingThisFormDiagnostic.java | 2 +- ...rongDataPathForFormElementsDiagnostic.java | 2 +- .../WrongHttpServiceHandlerDiagnostic.java | 2 +- .../WrongWebServiceHandlerDiagnostic.java | 2 +- .../DiagnosticsConfiguration.java | 2 +- .../diagnostics/metadata/DiagnosticInfo.java | 2 +- .../metadata/DiagnosticMetadata.java | 2 +- .../references/ReferenceIndex.java | 2 +- .../references/ReferenceIndexFiller.java | 8 ++- .../references/model/Symbol.java | 4 +- .../languageserver/utils/MdoRefBuilder.java | 4 -- .../bsl/languageserver/utils/Regions.java | 2 +- .../context/ServerContextTest.java | 4 +- .../computer/ModuleSymbolComputerTest.java | 2 +- .../CodeOutOfRegionDiagnosticTest.java | 2 +- .../CommonModuleMissingAPIDiagnosticTest.java | 2 +- ...ompilationDirectiveLostDiagnosticTest.java | 2 +- .../diagnostics/DiagnosticsTest.java | 2 +- .../ForbiddenMetadataNameDiagnosticTest.java | 2 +- ...etadataObjectNameLengthDiagnosticTest.java | 2 +- ...ventSubscriptionHandlerDiagnosticTest.java | 2 +- .../NonStandardRegionDiagnosticTest.java | 2 +- .../OrdinaryAppSupportDiagnosticTest.java | 2 +- ...dataObjectAndChildNamesDiagnosticTest.java | 2 +- ...verSideExportFormMethodDiagnosticTest.java | 2 +- .../ThisObjectAssignDiagnosticTest.java | 2 +- .../MethodSymbolMarkupContentBuilderTest.java | 2 +- ...ariableSymbolMarkupContentBuilderTest.java | 2 +- .../providers/DefinitionProviderTest.java | 2 +- .../providers/ReferencesProviderTest.java | 2 +- .../ReferenceIndexReferenceFinderTest.java | 2 +- .../references/ReferenceIndexTest.java | 2 +- 71 files changed, 194 insertions(+), 78 deletions(-) create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java 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 76a7e521c90..9f189ed5b8c 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 @@ -25,11 +25,11 @@ 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.FileType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.utils.Regions; import com.github._1c_syntax.mdclasses.Configuration; import com.github._1c_syntax.mdclasses.common.ConfigurationSource; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; 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/DocumentContext.java index 1e2c667f70f..71bc74195de 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/DocumentContext.java @@ -28,6 +28,7 @@ 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.DiagnosticIgnoranceComputer; +import com.github._1c_syntax.bsl.languageserver.context.computer.ModuleTypeComputer; 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; @@ -39,7 +40,6 @@ import com.github._1c_syntax.bsl.parser.SDBLTokenizer; import com.github._1c_syntax.mdclasses.common.ConfigurationSource; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; @@ -344,7 +344,8 @@ private SymbolTree computeSymbolTree() { private ModuleType computeModuleType() { - return context.getConfiguration().getModuleType(uri); + + return new ModuleTypeComputer(this).computeModuleType(); } private Map computeSupportVariants() { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java new file mode 100644 index 00000000000..727d892d469 --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java @@ -0,0 +1,49 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright (c) 2018-2022 + * Alexey Sosnoviy , Nikita Fedkin 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; + +public enum ModuleType { + BotModule(), + IntegrationServiceModule(), + CommandModule(), + CommonModule(), + ObjectModule(), + ManagerModule(), + FormModule(), + RecordSetModule(), + ValueManagerModule(), + ApplicationModule(), + ManagedApplicationModule(), + SessionModule(), + ExternalConnectionModule(), + OrdinaryApplicationModule(), + HTTPServiceModule(), + WEBServiceModule(), + Class(), + Module(), + UNKNOWN(); // для неизвестных типов модулей + + public static ModuleType valueOf(com.github._1c_syntax.mdclasses.mdo.support.ModuleType mdoModuleType){ + + return valueOf(mdoModuleType.name()); + } +} 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/ServerContext.java index d9e5d5f2631..491cc7f341f 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/ServerContext.java @@ -23,7 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import com.github._1c_syntax.mdclasses.Configuration; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.utils.Absolute; import com.github._1c_syntax.utils.Lazy; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java index 455e0bb9884..fcfd4dca0b2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java @@ -22,11 +22,11 @@ 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.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.symbol.ModuleSymbol; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.parser.BSLLexer; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.SymbolKind; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java new file mode 100644 index 00000000000..44d27d15444 --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -0,0 +1,66 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright (c) 2018-2022 + * Alexey Sosnoviy , Nikita Fedkin 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; + +import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.FileType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; + +public class ModuleTypeComputer { + + private final DocumentContext documentContext; + + public ModuleTypeComputer(DocumentContext documentContext) { + this.documentContext = documentContext; + } + + public ModuleType computeModuleType() { + + ModuleType moduleType; + if (documentContext.getFileType() == FileType.BSL) { + moduleType = computeBSL(); + } else if (documentContext.getFileType() == FileType.OS) { + moduleType = computeOS(); + } else { + moduleType = ModuleType.UNKNOWN; + } + + return moduleType; + } + + private ModuleType computeBSL() { + com.github._1c_syntax.mdclasses.mdo.support.ModuleType type = documentContext.getServerContext() + .getConfiguration().getModuleType(documentContext.getUri()); + return ModuleType.valueOf(type.name()); + } + + private ModuleType computeOS() { + if (documentContext.getUri().toString().contains("Модули")) { + return ModuleType.Module; + } else if (documentContext.getUri().toString().contains("Классы")) { + return ModuleType.Class; + } else { + return ModuleType.UNKNOWN; + } + } +} + diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java index 55440a74636..491eaaae6a8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBSL; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import org.checkerframework.checker.nullness.qual.NonNull; import org.eclipse.lsp4j.Range; @@ -111,7 +111,7 @@ private void checkMetadataWithModules() { documentContext.getMdObject().ifPresent((AbstractMDObjectBase mdo) -> { if (mdo instanceof AbstractMDObjectBSL) { var modules = ((AbstractMDObjectBSL) mdo).getModules().stream() - .filter(mdoModule -> OBJECT_MODULES.contains(mdoModule.getModuleType())) + .filter(mdoModule -> OBJECT_MODULES.contains(ModuleType.valueOf(mdoModule.getModuleType()))) .collect(Collectors.toList()); // чтобы не анализировать несколько раз, выберем только один модуль, например модуль менеджера @@ -134,7 +134,7 @@ private void checkMetadataWithoutModules() { .filter(mdo -> filterMdoTypes.contains(mdo.getType())) .filter(mdo -> !(mdo instanceof AbstractMDObjectBSL) || (((AbstractMDObjectBSL) mdo).getModules().stream() - .noneMatch(module -> OBJECT_MODULES.contains(module.getModuleType())))) + .noneMatch(module -> OBJECT_MODULES.contains(ModuleType.valueOf(module.getModuleType()))))) .forEach(this::checkMetadata); } } 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 bad700c3d0d..5e88585aaf1 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 @@ -29,7 +29,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; import com.github._1c_syntax.utils.CaseInsensitivePattern; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java index 2f93a63ee75..e983308f6f8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java @@ -28,7 +28,7 @@ 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.parser.BSLParser; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.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/CodeOutOfRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java index 013f6c8ff5d..52262a2244e 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 @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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.diagnostics.metadata.DiagnosticCompatibilityMode; @@ -35,7 +36,6 @@ import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; import org.antlr.v4.runtime.tree.Tree; @@ -72,6 +72,7 @@ public class CodeOutOfRegionDiagnostic extends AbstractVisitorDiagnostic { public ParseTree visitFile(BSLParser.FileContext ctx) { // Для неизвестных модулей не будем требовать нахождения кода в области + // fix me bsl only if (documentContext.getModuleType() == ModuleType.UNKNOWN && !checkUnknownModuleType) { return ctx; } 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 3a9182b9322..10533beab73 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 @@ -27,7 +27,7 @@ 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.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 f3483c62aec..6120a4da24b 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.regex.Matcher; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java index 34cc7e90c91..5d1992148d1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java @@ -30,7 +30,7 @@ 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.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.Set; import java.util.TreeSet; 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 b059757c472..9bf985631f7 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; @DiagnosticMetadata( 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 2c3a8ec315f..4fcf769a2b4 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 fc7e1866768..e0600e31a3f 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 @@ -22,13 +22,13 @@ 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.ModuleType; 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 39a716f7123..dc3cfadfa6b 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.SECURITY_HOTSPOT, 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 f2bc5286185..ce0cd21126e 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 4938c11104a..9d31ba1ec44 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 44964b3efb0..0d898b6559e 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 8aad9a64bc2..c59fde07b35 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 @@ -29,7 +29,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.Map; 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 a738751eaee..439fcb9fa18 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 @@ -29,7 +29,7 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 84e78728915..df54aa62562 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 @@ -27,7 +27,7 @@ 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.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 9349a3d1abd..e804099fb86 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 @@ -30,7 +30,7 @@ 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.parser.BSLParser; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; 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 d2ef29ef3a3..c37d4b0541a 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 @@ -26,7 +26,7 @@ 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.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.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 a3d77db7edc..d29e2a905cc 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 @@ -27,7 +27,7 @@ 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.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 e95560a942b..5d64edfe1bd 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 @@ -28,7 +28,7 @@ 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.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java index 47dfe6cc6a0..70c2a852cd8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java @@ -32,7 +32,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.RequiredArgsConstructor; 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 a2bc66582d4..faa4bbc4754 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 @@ -31,7 +31,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java index eca59a502cb..912ab5272ed 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java @@ -32,7 +32,7 @@ import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; import com.github._1c_syntax.mdclasses.mdo.MDEventSubscription; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Range; import java.util.regex.Pattern; 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 91fe97de59a..460f429e0d1 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 @@ -29,7 +29,7 @@ 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.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.Collections; import java.util.EnumMap; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java index 56814dc0962..6ef3269fc04 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java @@ -28,7 +28,7 @@ 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.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java index 7dc635097ea..d71f3b3b2c4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java @@ -31,7 +31,7 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; 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/SameMetadataObjectAndChildNamesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java index 3e118f7949d..955496781f6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java @@ -33,7 +33,7 @@ import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.StringInterner; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java index 0648de0693c..04ec65b6b2d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java @@ -32,7 +32,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java index 8b1b2be6974..bdb4f8e6d28 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java @@ -29,7 +29,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.MDRole; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.Map; import java.util.Set; 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 220131b9403..dcbfe85a77a 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 @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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; @@ -28,7 +29,6 @@ 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.support.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; 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/UnusedLocalMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java index 4bfabb29b14..10c39052324 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 @@ -31,7 +31,7 @@ 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 com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java index 836c8f02864..6313a67b75e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java @@ -28,7 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.references.ReferenceIndex; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import lombok.RequiredArgsConstructor; import java.util.EnumSet; 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 803c0f8ac96..c020d849db4 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 @@ -32,7 +32,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; 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/WrongDataPathForFormElementsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java index 000768d09f2..9dde70be3ce 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java @@ -30,7 +30,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.children.Form; import com.github._1c_syntax.mdclasses.mdo.children.form.FormItem; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java index 826851264cb..80b2f47b08b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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; @@ -30,7 +31,6 @@ import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.MDHttpService; import com.github._1c_syntax.mdclasses.mdo.children.HTTPServiceMethod; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import org.eclipse.lsp4j.Range; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java index bf599ab6a96..525930b67a2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java @@ -21,6 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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; @@ -29,7 +30,6 @@ import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.MDWebService; import com.github._1c_syntax.mdclasses.mdo.children.WEBServiceOperation; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import org.eclipse.lsp4j.Range; @DiagnosticMetadata( 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 5620845e37d..cd9022efb9e 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,6 +27,7 @@ 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.FileType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCompatibilityMode; import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo; @@ -34,7 +35,6 @@ import com.github._1c_syntax.mdclasses.common.CompatibilityMode; import com.github._1c_syntax.mdclasses.mdo.AbstractMDO; import com.github._1c_syntax.mdclasses.mdo.MDSubsystem; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; import lombok.RequiredArgsConstructor; 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 3be51a661de..333c3541eda 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 @@ -23,9 +23,9 @@ 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.ModuleType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.utils.Resources; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.utils.StringInterner; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; 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 06a1cf97f85..178948f115e 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,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java index 0615105e9e8..e0e3200b9fd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.Exportable; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; @@ -35,7 +36,6 @@ import com.github._1c_syntax.bsl.languageserver.references.model.SymbolOccurrenceRepository; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.utils.StringInterner; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Position; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java index fe6516fc1d4..34226bf3fd1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.events.DocumentContextContentChangedEvent; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; @@ -31,7 +32,6 @@ 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.mdclasses.mdo.support.ModuleType; import lombok.RequiredArgsConstructor; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.Range; @@ -46,6 +46,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; @Component @RequiredArgsConstructor @@ -127,7 +128,10 @@ public BSLParserRuleContext visitGlobalMethodCall(BSLParser.GlobalMethodCallCont private void checkCall(String mdoRef, Token methodName) { String methodNameText = methodName.getText(); - Map modules = documentContext.getServerContext().getConfiguration().getModulesByMDORef(mdoRef); + Map modulesMDO = documentContext.getServerContext().getConfiguration().getModulesByMDORef(mdoRef); + Map modules = modulesMDO.entrySet().stream() + .collect(Collectors.toMap(m -> ModuleType.valueOf(m.getKey().name()), Map.Entry::getValue)); + for (Map.Entry e : modules.entrySet()) { ModuleType moduleType = e.getKey(); if (!DEFAULT_MODULE_TYPES.contains(moduleType)) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java index 62a3555da65..9267f8e700b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.references.model; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Value; -import org.jetbrains.annotations.NotNull; import org.eclipse.lsp4j.SymbolKind; +import org.jetbrains.annotations.NotNull; /** * Облегченные данные символа для поиска без кросс-ссылок между файлами. 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 f496e26a308..330b55434cc 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 @@ -25,7 +25,6 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.MDSubsystem; import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; import com.github._1c_syntax.mdclasses.mdo.support.MDOType; import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; @@ -36,13 +35,10 @@ import org.antlr.v4.runtime.tree.TerminalNode; import javax.annotation.Nullable; -import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; -import java.util.stream.Stream; @UtilityClass public class MdoRefBuilder { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java index 1a1d9a795f6..c3dc937556c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.utils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.experimental.UtilityClass; 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/ServerContextTest.java index 5dcab930cc3..c3ed31a8d61 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/ServerContextTest.java @@ -24,7 +24,6 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterEachTestMethod; import com.github._1c_syntax.mdclasses.Configuration; import com.github._1c_syntax.mdclasses.common.ConfigurationSource; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import com.github._1c_syntax.utils.Absolute; import org.apache.commons.io.FileUtils; @@ -69,7 +68,8 @@ void testConfigurationMetadata() { assertThat(configurationMetadata.getCompatibilityMode().getVersion()).isEqualTo(10); File file = new File(PATH_TO_METADATA, PATH_TO_MODULE_FILE); - ModuleType type = configurationMetadata.getModuleType(Absolute.uri(file.toURI())); + var mdotype = configurationMetadata.getModuleType(Absolute.uri(file.toURI())); + var type = ModuleType.valueOf(mdotype.name()); assertThat(type).isEqualTo(ModuleType.CommonModule); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java index af9139ac9fc..cc6db9f2337 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java @@ -25,7 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.SymbolKind; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; 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 bf966c8e229..ebe3dca872b 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 @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java index 135b68de2e6..f0b091d2c80 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 fc945a92ff1..dab5468331c 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 @@ -23,7 +23,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 fb9daae6a1a..ed20ff8a43e 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 @@ -31,7 +31,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.common.CompatibilityMode; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; import com.github._1c_syntax.utils.Absolute; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java index f0c6aa879fb..aaac864fceb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java @@ -25,7 +25,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; 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 9ec9be146bb..e554732462f 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 @@ -24,7 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import lombok.SneakyThrows; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java index 67fd97305a8..19bd3dfe8ff 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 de9a3dce255..c927f698332 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 @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java index 0a5f2abec9a..2c342d041ea 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java index bfb2c1aa25e..4e84b75eb2f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; import com.github._1c_syntax.mdclasses.mdo.metadata.AttributeType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java index b431415cdd6..b8e5a65ce51 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java @@ -23,7 +23,7 @@ import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; 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 ab0f4dcc499..899280ff9d1 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 @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.mdclasses.common.CompatibilityMode; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.junit.jupiter.api.Test; import static org.mockito.Mockito.spy; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java index 2b2de2ca2d0..b214503613f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java @@ -25,7 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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/hover/VariableSymbolMarkupContentBuilderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java index 0653ede93f2..cc485e09058 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java @@ -25,7 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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/providers/DefinitionProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java index bd7540f3a6c..a5ef9a587da 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.DefinitionParams; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java index 0d8169be622..1e28b4c54f4 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.ReferenceParams; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java index 385325f170b..3274df60fe2 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java @@ -27,7 +27,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java index 5ea27241f89..9579d25ce99 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; From 1f4f4eb3c3014baae52585f1fecdcd68ee7607ae Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Sun, 19 Jun 2022 17:03:19 +0300 Subject: [PATCH 02/18] =?UTF-8?q?=D0=A2=D0=B8=D0=BF=20=D0=B2=20VariableSym?= =?UTF-8?q?bol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../computer/VariableSymbolComputer.java | 27 ++++++++++++++----- .../context/symbol/VariableSymbol.java | 3 +++ .../context/computer/VariableSymbolTest.java | 9 +++++++ .../context/symbol/variableSymbolTest.os | 3 +++ 4 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 src/test/resources/context/symbol/variableSymbolTest.os 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 97179d01585..729fed4e207 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 @@ -146,16 +146,24 @@ public ParseTree visitParam(BSLParser.ParamContext ctx) { } @Override - public ParseTree visitLValue(BSLParser.LValueContext ctx) { + public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { + + var lValue = ctx.lValue(); + if ( - ctx.getChildCount() > 1 - || currentMethodVariables.containsKey(ctx.getText()) - || moduleVariables.containsKey(ctx.getText()) + lValue.getChildCount() > 1 + || currentMethodVariables.containsKey(lValue.getText()) + || moduleVariables.containsKey(lValue.getText()) ) { - return ctx; + return lValue; } - updateVariablesCache(ctx.IDENTIFIER(), createDescription(ctx)); + var typeName = ""; + var newCtx = Trees.getNextNode(ctx.expression(), ctx.expression(), BSLParser.RULE_newExpression); + if (newCtx instanceof BSLParser.NewExpressionContext) { + typeName = ((BSLParser.NewExpressionContext) newCtx).typeName().getText(); + } + updateVariablesCache(lValue.IDENTIFIER(), createDescription(lValue), typeName); return ctx; } @@ -239,7 +247,11 @@ private Optional createDescription(BSLParserRuleContext ctx } - private void updateVariablesCache(TerminalNode node, Optional description) { + private void updateVariablesCache(TerminalNode identifier, Optional description) { + updateVariablesCache(identifier, description, ""); + } + + private void updateVariablesCache(TerminalNode node, Optional description, String type) { var variable = VariableSymbol.builder() .name(node.getText().intern()) .owner(documentContext) @@ -249,6 +261,7 @@ private void updateVariablesCache(TerminalNode node, Optional description; + @Builder.Default + String type = ""; + @Override public void accept(SymbolTreeVisitor visitor) { visitor.visitVariable(this); 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 81cc4416441..2d9ec88bbf5 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 @@ -144,4 +144,13 @@ void testVariableKind() { } + @Test + void testVariableNewOS() { + + documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/context/symbol/variableSymbolTest.os"); + variableSymbols = documentContext.getSymbolTree().getVariables(); + + assertThat(variableSymbols.get(0).getType()).isEqualTo("МойКласс"); + } + } diff --git a/src/test/resources/context/symbol/variableSymbolTest.os b/src/test/resources/context/symbol/variableSymbolTest.os new file mode 100644 index 00000000000..bd5d74624d6 --- /dev/null +++ b/src/test/resources/context/symbol/variableSymbolTest.os @@ -0,0 +1,3 @@ +Процедура В() + А = Новый МойКласс(); +КонецПроцедуры \ No newline at end of file From 7b9fbafda180901100be12dd19cf9bc8dee96cc3 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Mon, 20 Jun 2022 10:05:38 +0300 Subject: [PATCH 03/18] =?UTF-8?q?=D0=A5=D0=BE=D0=B2=D0=B5=D1=80=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VariableSymbolMarkupContentBuilder.java | 2 ++ ...ariableSymbolMarkupContentBuilderTest.java | 19 +++++++++++++++++++ .../variableSymbolMarkupContentBuilder.bsl | 1 + 3 files changed, 22 insertions(+) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java index 2c5046c2272..77cdabdd9be 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java @@ -69,6 +69,8 @@ public MarkupContent getContent(VariableSymbol symbol) { .map(VariableDescription::getPurposeDescription) .ifPresent(trailingDescription -> addSectionIfNotEmpty(markupBuilder, trailingDescription)); + addSectionIfNotEmpty(markupBuilder, symbol.getType()); + String content = markupBuilder.toString(); return new MarkupContent(MarkupKind.MARKDOWN, content); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java index cc485e09058..7944582b593 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java @@ -130,6 +130,25 @@ void testMethodVarContentFromDirectFile_2_comments_strings() { "\n"); } + @Test + void testMethodVarContentFromDirectFile_type_from_new() { + // given + var documentContext = TestUtils.getDocumentContextFromFile(PATH_TO_FILE); + final var symbolTree = documentContext.getSymbolTree(); + var methodSymbol = symbolTree.getMethodSymbol("ИмяФункции").orElseThrow(); + var varSymbol = symbolTree.getVariableSymbol("НовыйКласс", methodSymbol).orElseThrow(); + + // when + var content = markupContentBuilder.getContent(varSymbol).getValue(); + + assertThat(content).isNotEmpty(); + + var blocks = Arrays.asList(content.split("---\n?")); + + assertThat(blocks).hasSize(3); + assertThat(blocks.get(2)).isEqualTo("ИмяКласса\n\n"); + } + @Test void testMethodVarContentFromDirectFile_3_comments_strings() { // given diff --git a/src/test/resources/hover/variableSymbolMarkupContentBuilder.bsl b/src/test/resources/hover/variableSymbolMarkupContentBuilder.bsl index 0d695bccd08..bf0dc3065de 100644 --- a/src/test/resources/hover/variableSymbolMarkupContentBuilder.bsl +++ b/src/test/resources/hover/variableSymbolMarkupContentBuilder.bsl @@ -32,6 +32,7 @@ // Перем Имя_ОписаниеСверхуТриСтрокиПоследняяПустая_Функция; + НовыйКласс = Новый ИмяКласса(); КонецФункции ИмяФункции(); From f1c47ccd0b9c08410b8b9daa2f53f8d934f9d6ba Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Mon, 20 Jun 2022 17:59:06 +0300 Subject: [PATCH 04/18] =?UTF-8?q?TypeName=20=D0=B2=20=D0=B4=D0=BE=D0=BA?= =?UTF-8?q?=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=9A=D0=BE=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsl/languageserver/context/DocumentContext.java | 11 ++++++++++- .../context/computer/ModuleTypeComputer.java | 12 ++++++++++++ .../languageserver/context/DocumentContextTest.java | 13 +++++++++++++ src/test/resources/metadata/oscript/main.os | 4 ++++ ...\271\320\232\320\273\320\260\321\201\321\201.os" | 0 ...\234\320\276\320\264\321\203\320\273\321\214.os" | 0 6 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/metadata/oscript/main.os create mode 100644 "src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" create mode 100644 "src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" 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/DocumentContext.java index 71bc74195de..6925b4c7091 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/DocumentContext.java @@ -114,6 +114,7 @@ public class DocumentContext { private final Lazy contentList = new Lazy<>(this::computeContentList, computeLock); private final Lazy moduleType = new Lazy<>(this::computeModuleType, computeLock); + private final Lazy typeName = new Lazy<>(this::computeTypeName, computeLock); private final Lazy> supportVariants = new Lazy<>(this::computeSupportVariants, computeLock); private final Lazy cognitiveComplexityData @@ -234,6 +235,10 @@ public ModuleType getModuleType() { return moduleType.getOrCompute(); } + public String getTypeName() { + return typeName.getOrCompute(); + } + public Map getSupportVariants() { return supportVariants.getOrCompute(); } @@ -342,12 +347,16 @@ private SymbolTree computeSymbolTree() { return new SymbolTreeComputer(this).compute(); } - private ModuleType computeModuleType() { return new ModuleTypeComputer(this).computeModuleType(); } + private String computeTypeName() { + + return new ModuleTypeComputer(this).computeTypeName(); + } + private Map computeSupportVariants() { return context.getConfiguration().getModuleSupport(uri); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index 44d27d15444..614e0288d9c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -24,6 +24,9 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import org.apache.commons.io.FilenameUtils; + +import java.nio.file.Paths; public class ModuleTypeComputer { @@ -62,5 +65,14 @@ private ModuleType computeOS() { return ModuleType.UNKNOWN; } } + + public String computeTypeName() { + if (documentContext.getModuleType() == ModuleType.Module + || documentContext.getModuleType() == ModuleType.Class) { + // to do убрать FilenameUtils + return FilenameUtils.getBaseName(Paths.get(documentContext.getUri()).toString()); + } + return ""; + } } 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/DocumentContextTest.java index a42485f2c68..c4c58490c26 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/DocumentContextTest.java @@ -239,4 +239,17 @@ void testEOF() { assertThat(lastToken.getType()).isEqualTo(Lexer.EOF); assertThat(lastToken.getChannel()).isEqualTo(Lexer.HIDDEN); } + + @Test + void testOSTypes(){ + + // given + var documentContext = getDocumentContext("./src/test/resources/metadata/oscript/Классы/ТестовыйКласс.os"); + // when + var typeName = documentContext.getTypeName(); + // then + assertThat(typeName).isEqualTo("ТестовыйКласс"); + + } + } diff --git a/src/test/resources/metadata/oscript/main.os b/src/test/resources/metadata/oscript/main.os new file mode 100644 index 00000000000..020f6273c5e --- /dev/null +++ b/src/test/resources/metadata/oscript/main.os @@ -0,0 +1,4 @@ + +Переменная = Новый ТестовыйКласс; + +Другая = 1 + Переменная; \ No newline at end of file diff --git "a/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" "b/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" new file mode 100644 index 00000000000..e69de29bb2d diff --git "a/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" "b/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" new file mode 100644 index 00000000000..e69de29bb2d From 906a84197f5678ba17278da0c756ef32606a01c7 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Mon, 20 Jun 2022 18:59:07 +0300 Subject: [PATCH 05/18] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BA=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8E=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../providers/SelectionRangeProvider.java | 2 +- .../references/OSModulesReferenceFinder.java | 83 +++++++++++++++++++ .../OSModulesReferenceFinderTest.java | 65 +++++++++++++++ src/test/resources/metadata/oscript/main.os | 4 +- ...20\232\320\273\320\260\321\201\321\201.os" | 10 +++ 5 files changed, 161 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java create mode 100644 src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java index ad2cdc60dcf..da5b2ed0691 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java @@ -216,7 +216,7 @@ private static boolean ifBranchMatchesIfStatement(BSLParserRuleContext ctx) { return ifStatement.elseBranch() == null && ifStatement.elsifBranch().isEmpty(); } - private static Optional findNodeContainsPosition(BSLParserRuleContext tree, Position position) { + public static Optional findNodeContainsPosition(BSLParserRuleContext tree, Position position) { if (tree.getTokens().isEmpty()) { return Optional.empty(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java new file mode 100644 index 00000000000..837b234d104 --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java @@ -0,0 +1,83 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright (c) 2018-2022 + * Alexey Sosnoviy , Nikita Fedkin 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.references; + +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.SelectionRangeProvider; +import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; +import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.parser.BSLParser; +import lombok.RequiredArgsConstructor; +import org.eclipse.lsp4j.Position; +import org.springframework.stereotype.Component; + +import java.net.URI; +import java.util.Optional; + + +@Component +@RequiredArgsConstructor +public class OSModulesReferenceFinder implements ReferenceFinder { + + private final ServerContext serverContext; + + @Override + public Optional findReference(URI uri, Position position) { + + DocumentContext document = serverContext.getDocument(uri); + if (document == null) { + return Optional.empty(); + } + + var node = SelectionRangeProvider.findNodeContainsPosition(document.getAst(), position); + + if (node.isEmpty()) { + return Optional.empty(); + } + + if (!(node.get().getParent() instanceof BSLParser.TypeNameContext)) { + return Optional.empty(); + } + + var className = node.get().getText(); + + var dd = serverContext.getDocuments().values().stream() + .filter(d -> d.getTypeName().equals(className)) + .findFirst(); + + if (dd.isEmpty()) { + return Optional.empty(); + } + + return Optional.of(new Reference( + dd.get().getSymbolTree().getModule(), + dd.get().getSymbolTree().getModule(), + dd.get().getUri(), + Ranges.create(0, 0, 0, 0), + OccurrenceType.DEFINITION + ) + ); + + } +} diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java new file mode 100644 index 00000000000..ebe5742ea72 --- /dev/null +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java @@ -0,0 +1,65 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright (c) 2018-2022 + * Alexey Sosnoviy , Nikita Fedkin 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.references; + +import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.utils.Absolute; +import org.eclipse.lsp4j.Position; +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 OSModulesReferenceFinderTest { + + @Autowired + private OSModulesReferenceFinder referenceFinder; + + @Autowired + private ServerContext serverContext; + + @Test + void testFindReferenceToClass() { + // given + serverContext.setConfigurationRoot(Absolute.path("src/test/resources/metadata/oscript")); + serverContext.populateContext(); + var documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/metadata/oscript/Классы/ТестовыйКласс.os"); + var mainOsContext = TestUtils.getDocumentContextFromFile("./src/test/resources/metadata/oscript/main.os"); + + // when + var optionalReference = referenceFinder.findReference( + mainOsContext.getUri(), + new Position(1, 25) + ); + + // then + assertThat(optionalReference) + .isPresent() +// .hasValueSatisfying(reference -> assertThat(reference.getSymbol().getSymbolKind()).isEqualTo()) + ; + } + + +} diff --git a/src/test/resources/metadata/oscript/main.os b/src/test/resources/metadata/oscript/main.os index 020f6273c5e..46a7d4999fb 100644 --- a/src/test/resources/metadata/oscript/main.os +++ b/src/test/resources/metadata/oscript/main.os @@ -1,4 +1,4 @@ -Переменная = Новый ТестовыйКласс; +ТестовыйКласс = Новый ТестовыйКласс; -Другая = 1 + Переменная; \ No newline at end of file +Другая = 1 + ТестовыйКласс; \ No newline at end of file diff --git "a/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" "b/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" index e69de29bb2d..36484ceffea 100644 --- "a/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" +++ "b/src/test/resources/metadata/oscript/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\232\320\273\320\260\321\201\321\201.os" @@ -0,0 +1,10 @@ + +Процедура ПростоПроцедура() + + +КонецПроцедуры + +Процедура ПриСозданииОбъекта() + + +КонецПроцедуры \ No newline at end of file From 3256a32737423a84caebcfa9c40f7eb71c2e8e78 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Mon, 20 Jun 2022 21:47:37 +0300 Subject: [PATCH 06/18] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BA=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...inder.java => OscriptReferenceFinder.java} | 43 +++++++++++-------- ...t.java => OscriptReferenceFinderTest.java} | 32 +++++++++----- src/test/resources/metadata/oscript/main.os | 2 +- ...20\276\320\264\321\203\320\273\321\214.os" | 8 ++++ 4 files changed, 55 insertions(+), 30 deletions(-) rename src/main/java/com/github/_1c_syntax/bsl/languageserver/references/{OSModulesReferenceFinder.java => OscriptReferenceFinder.java} (67%) rename src/test/java/com/github/_1c_syntax/bsl/languageserver/references/{OSModulesReferenceFinderTest.java => OscriptReferenceFinderTest.java} (67%) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java similarity index 67% rename from src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java rename to src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index 837b234d104..20d39e8aff5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.providers.SelectionRangeProvider; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; @@ -29,6 +30,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.parser.BSLParser; import lombok.RequiredArgsConstructor; +import org.antlr.v4.runtime.tree.TerminalNode; import org.eclipse.lsp4j.Position; import org.springframework.stereotype.Component; @@ -38,7 +40,7 @@ @Component @RequiredArgsConstructor -public class OSModulesReferenceFinder implements ReferenceFinder { +public class OscriptReferenceFinder implements ReferenceFinder { private final ServerContext serverContext; @@ -56,28 +58,33 @@ public Optional findReference(URI uri, Position position) { return Optional.empty(); } - if (!(node.get().getParent() instanceof BSLParser.TypeNameContext)) { - return Optional.empty(); - } + return serverContext.getDocuments().values().stream() + .filter(documentContext -> documentContext.getTypeName().equals(node.get().getText())) + .filter(d -> filterByType(node, d.getModuleType())) + .map(documentContext -> new Reference( + documentContext.getSymbolTree().getModule(), + documentContext.getSymbolTree().getModule(), + documentContext.getUri(), + Ranges.create(0, 0, 0, 0), + OccurrenceType.DEFINITION) + ).findAny(); - var className = node.get().getText(); + } - var dd = serverContext.getDocuments().values().stream() - .filter(d -> d.getTypeName().equals(className)) - .findFirst(); + private boolean filterByType(Optional node, ModuleType moduleType) { - if (dd.isEmpty()) { - return Optional.empty(); + if (node.isEmpty()) { + return false; } - return Optional.of(new Reference( - dd.get().getSymbolTree().getModule(), - dd.get().getSymbolTree().getModule(), - dd.get().getUri(), - Ranges.create(0, 0, 0, 0), - OccurrenceType.DEFINITION - ) - ); + if ((node.get().getParent() instanceof BSLParser.TypeNameContext) + && moduleType == ModuleType.Class) { + return true; + } else { + return (node.get().getParent() instanceof BSLParser.ComplexIdentifierContext) + && moduleType == ModuleType.Module; + } } + } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java similarity index 67% rename from src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java rename to src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java index ebe5742ea72..98b5db37131 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OSModulesReferenceFinderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java @@ -32,10 +32,10 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -class OSModulesReferenceFinderTest { +class OscriptReferenceFinderTest { @Autowired - private OSModulesReferenceFinder referenceFinder; + private OscriptReferenceFinder referenceFinder; @Autowired private ServerContext serverContext; @@ -45,21 +45,31 @@ void testFindReferenceToClass() { // given serverContext.setConfigurationRoot(Absolute.path("src/test/resources/metadata/oscript")); serverContext.populateContext(); - var documentContext = TestUtils.getDocumentContextFromFile("./src/test/resources/metadata/oscript/Классы/ТестовыйКласс.os"); var mainOsContext = TestUtils.getDocumentContextFromFile("./src/test/resources/metadata/oscript/main.os"); // when - var optionalReference = referenceFinder.findReference( - mainOsContext.getUri(), - new Position(1, 25) - ); + var optionalReference = referenceFinder.findReference(mainOsContext.getUri(), new Position(1, 25)); // then - assertThat(optionalReference) - .isPresent() -// .hasValueSatisfying(reference -> assertThat(reference.getSymbol().getSymbolKind()).isEqualTo()) - ; + assertThat(optionalReference).isPresent(); } + @Test + void testFindReferenceToModule() { + // given + serverContext.setConfigurationRoot(Absolute.path("src/test/resources/metadata/oscript")); + serverContext.populateContext(); + var mainOsContext = TestUtils.getDocumentContextFromFile("./src/test/resources/metadata/oscript/main.os"); + + // when + var optionalReference = referenceFinder.findReference(mainOsContext.getUri(), new Position(3, 17)); + // then + assertThat(optionalReference).isPresent(); + + // when + var variable = referenceFinder.findReference(mainOsContext.getUri(), new Position(3, 53)); + // then + assertThat(variable).isEmpty(); + } } diff --git a/src/test/resources/metadata/oscript/main.os b/src/test/resources/metadata/oscript/main.os index 46a7d4999fb..8735f266dc2 100644 --- a/src/test/resources/metadata/oscript/main.os +++ b/src/test/resources/metadata/oscript/main.os @@ -1,4 +1,4 @@ ТестовыйКласс = Новый ТестовыйКласс; -Другая = 1 + ТестовыйКласс; \ No newline at end of file +Другая = ТестовыйМодуль.ЭкспортныйМетод() + ТестовыйКласс; diff --git "a/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" "b/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" index e69de29bb2d..879b632d202 100644 --- "a/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" +++ "b/src/test/resources/metadata/oscript/\320\234\320\276\320\264\321\203\320\273\320\270/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.os" @@ -0,0 +1,8 @@ + +Процедура ПростоМетод() + +КонецПроцедуры + +Процедура ЭкспортныйМетод() Экспорт + ПростоМетод(); +КонецПроцедуры From 8254cfa7955cbc67e81d715b58cc8d85497a9245 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Tue, 21 Jun 2022 08:57:13 +0300 Subject: [PATCH 07/18] npe fix --- .../computer/VariableSymbolComputer.java | 19 +++++++++++++------ .../references/OscriptReferenceFinder.java | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) 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 729fed4e207..323172ea403 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 @@ -158,12 +158,7 @@ public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { return lValue; } - var typeName = ""; - var newCtx = Trees.getNextNode(ctx.expression(), ctx.expression(), BSLParser.RULE_newExpression); - if (newCtx instanceof BSLParser.NewExpressionContext) { - typeName = ((BSLParser.NewExpressionContext) newCtx).typeName().getText(); - } - updateVariablesCache(lValue.IDENTIFIER(), createDescription(lValue), typeName); + updateVariablesCache(lValue.IDENTIFIER(), createDescription(lValue), typeName(ctx)); return ctx; } @@ -274,4 +269,16 @@ private void updateVariablesCache(TerminalNode node, Optional findReference(URI uri, Position position) { DocumentContext document = serverContext.getDocument(uri); - if (document == null) { + if (document == null || document.isComputedDataFrozen()) { return Optional.empty(); } From 0196b26ee71a2a708cfe0d309bedc33ab31f4458 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Tue, 21 Jun 2022 14:17:51 +0300 Subject: [PATCH 08/18] =?UTF-8?q?=D0=98=D0=B3=D1=80=D1=8B=20=D1=81=20?= =?UTF-8?q?=D0=BA=D0=B8=D1=80=D0=B8=D0=BB=D0=B8=D1=87=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D0=BC=D0=B8=20=D0=BF=D1=83=D1=82=D1=8F=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../context/computer/ModuleTypeComputer.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index 614e0288d9c..23c6cca2831 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -24,9 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import org.apache.commons.io.FilenameUtils; -import java.nio.file.Paths; +import java.nio.file.Path; public class ModuleTypeComputer { @@ -57,9 +56,9 @@ private ModuleType computeBSL() { } private ModuleType computeOS() { - if (documentContext.getUri().toString().contains("Модули")) { + if (documentContext.getUri().getPath().contains("Модули")) { return ModuleType.Module; - } else if (documentContext.getUri().toString().contains("Классы")) { + } else if (documentContext.getUri().getPath().contains("Классы")) { return ModuleType.Class; } else { return ModuleType.UNKNOWN; @@ -69,8 +68,7 @@ private ModuleType computeOS() { public String computeTypeName() { if (documentContext.getModuleType() == ModuleType.Module || documentContext.getModuleType() == ModuleType.Class) { - // to do убрать FilenameUtils - return FilenameUtils.getBaseName(Paths.get(documentContext.getUri()).toString()); + return Path.of(documentContext.getUri()).getFileName().toString().replace(".os", ""); } return ""; } From aea805f2fa505f6f8755b5597c4392a1d7438bcc Mon Sep 17 00:00:00 2001 From: theshadowco Date: Tue, 28 Mar 2023 10:30:00 +0300 Subject: [PATCH 09/18] bump libraries --- build.gradle.kts | 4 +- .../languageserver/cfg/ConditionalVertex.java | 1 + .../GenerateStandardRegionsSupplier.java | 18 +++---- .../context/DocumentContext.java | 12 +++-- .../languageserver/context/ModuleType.java | 49 ------------------- .../languageserver/context/ServerContext.java | 7 +-- .../computer/ModuleSymbolComputer.java | 2 +- .../context/computer/ModuleTypeComputer.java | 12 ++--- .../AbstractMetadataDiagnostic.java | 10 ++-- .../diagnostics/BadWordsDiagnostic.java | 7 ++- .../diagnostics/CachedPublicDiagnostic.java | 4 +- .../CodeAfterAsyncCallDiagnostic.java | 2 +- .../CodeOutOfRegionDiagnostic.java | 2 +- .../CommandModuleExportMethodsDiagnostic.java | 2 +- .../CommonModuleInvalidTypeDiagnostic.java | 2 +- .../CommonModuleMissingAPIDiagnostic.java | 2 +- .../CommonModuleNameCachedDiagnostic.java | 4 +- .../CommonModuleNameClientDiagnostic.java | 2 +- ...ommonModuleNameClientServerDiagnostic.java | 2 +- .../CommonModuleNameFullAccessDiagnostic.java | 2 +- ...ommonModuleNameGlobalClientDiagnostic.java | 2 +- .../CommonModuleNameGlobalDiagnostic.java | 2 +- .../CommonModuleNameServerCallDiagnostic.java | 2 +- .../CommonModuleNameWordsDiagnostic.java | 2 +- .../CompilationDirectiveLostDiagnostic.java | 4 +- ...ompilationDirectiveNeedLessDiagnostic.java | 2 +- .../DataExchangeLoadingDiagnostic.java | 2 +- .../DeprecatedMethodCallDiagnostic.java | 2 +- .../DeprecatedTypeManagedFormDiagnostic.java | 1 - .../ExcessiveAutoTestCheckDiagnostic.java | 2 +- .../ExecuteExternalCodeDiagnostic.java | 2 +- ...eExternalCodeInCommonModuleDiagnostic.java | 2 +- .../ForbiddenMetadataNameDiagnostic.java | 6 +-- .../MetadataObjectNameLengthDiagnostic.java | 4 +- ...ingEventSubscriptionHandlerDiagnostic.java | 8 +-- .../NonStandardRegionDiagnostic.java | 2 +- .../OrdinaryAppSupportDiagnostic.java | 2 +- .../QueryToMissingMetadataDiagnostic.java | 4 +- .../RedundantAccessToObjectDiagnostic.java | 8 +-- ...MetadataObjectAndChildNamesDiagnostic.java | 4 +- .../ServerSideExportFormMethodDiagnostic.java | 4 +- ...SetPermissionsForNewObjectsDiagnostic.java | 2 +- .../ThisObjectAssignDiagnostic.java | 2 +- ...TimeoutsInExternalResourcesDiagnostic.java | 2 +- .../UnusedLocalMethodDiagnostic.java | 2 +- .../UnusedLocalVariableDiagnostic.java | 9 ++-- .../UsingModalWindowsDiagnostic.java | 2 +- .../UsingSynchronousCallsDiagnostic.java | 2 +- .../diagnostics/UsingThisFormDiagnostic.java | 2 +- ...rongDataPathForFormElementsDiagnostic.java | 4 +- .../WrongHttpServiceHandlerDiagnostic.java | 2 +- .../WrongWebServiceHandlerDiagnostic.java | 2 +- .../DiagnosticsConfiguration.java | 20 ++++---- .../metadata/DiagnosticCompatibilityMode.java | 5 +- .../diagnostics/metadata/DiagnosticInfo.java | 2 +- .../metadata/DiagnosticMetadata.java | 2 +- .../providers/CallHierarchyProvider.java | 2 +- .../providers/DefinitionProvider.java | 2 +- .../providers/HoverProvider.java | 2 +- .../providers/ReferencesProvider.java | 2 +- .../references/OscriptReferenceFinder.java | 6 +-- .../references/ReferenceIndex.java | 24 ++++----- .../references/ReferenceIndexFiller.java | 6 +-- .../references/model/Symbol.java | 2 +- .../languageserver/utils/MdoRefBuilder.java | 12 ++--- .../bsl/languageserver/utils/Regions.java | 4 +- ...sableDiagnosticTriggeringSupplierTest.java | 1 - .../GenerateStandardRegionsSupplierTest.java | 1 - .../context/ServerContextTest.java | 5 +- .../DiagnosticIgnoranceComputerTest.java | 1 - .../computer/MethodSymbolComputerTest.java | 1 - .../computer/ModuleSymbolComputerTest.java | 6 +-- ...ctionPathMustHaveReturnDiagnosticTest.java | 1 - .../CachedPublicDiagnosticTest.java | 2 +- ...nonicalSpellingKeywordsDiagnosticTest.java | 1 - .../CodeOutOfRegionDiagnosticTest.java | 2 +- .../CommonModuleAssignDiagnosticTest.java | 1 - .../CommonModuleMissingAPIDiagnosticTest.java | 2 +- .../CommonModuleNameCachedDiagnosticTest.java | 2 +- ...ompilationDirectiveLostDiagnosticTest.java | 4 +- ...precatedTypeManagedFormDiagnosticTest.java | 1 - .../diagnostics/DiagnosticsTest.java | 8 +-- .../EmptyRegionDiagnosticTest.java | 1 - ...sFromJoinsWithoutIsNullDiagnosticTest.java | 1 - .../ForbiddenMetadataNameDiagnosticTest.java | 10 ++-- ...etadataObjectNameLengthDiagnosticTest.java | 5 +- ...ventSubscriptionHandlerDiagnosticTest.java | 2 +- .../NonStandardRegionDiagnosticTest.java | 2 +- .../OrdinaryAppSupportDiagnosticTest.java | 2 +- ...RedundantAccessToObjectDiagnosticTest.java | 2 +- ...dataObjectAndChildNamesDiagnosticTest.java | 14 +++--- ...verSideExportFormMethodDiagnosticTest.java | 4 +- .../ThisObjectAssignDiagnosticTest.java | 4 +- ...outsInExternalResourcesDiagnosticTest.java | 2 +- .../UsingModalWindowsDiagnosticTest.java | 2 +- .../UsingSynchronousCallsDiagnosticTest.java | 2 +- .../UsingThisFormDiagnosticTest.java | 1 - .../MethodSymbolMarkupContentBuilderTest.java | 3 +- ...ariableSymbolMarkupContentBuilderTest.java | 3 +- .../providers/DefinitionProviderTest.java | 3 +- .../providers/FoldingRangeProviderTest.java | 1 - .../providers/HoverProviderTest.java | 1 - .../providers/ReferencesProviderTest.java | 3 +- .../ReferenceIndexReferenceFinderTest.java | 2 +- .../references/ReferenceIndexTest.java | 2 +- .../references/model/ReferenceTest.java | 2 - .../reporters/ConsoleReporterTest.java | 1 - .../reporters/GenericReporterTest.java | 1 - .../reporters/JUnitReporterTest.java | 1 - .../reporters/JsonReporterTest.java | 1 - .../reporters/ReportersAggregatorTest.java | 1 - .../reporters/SarifReporterTest.java | 1 - .../reporters/TSLintReporterTest.java | 1 - .../ExpressionParseTreeRewriterTest.java | 1 - 114 files changed, 194 insertions(+), 262 deletions(-) delete mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java diff --git a/build.gradle.kts b/build.gradle.kts index 62b157db545..5aedc6a52a8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -72,7 +72,9 @@ dependencies { exclude("org.glassfish", "javax.json") } api("com.github.1c-syntax", "utils", "0.4.0") - api("com.github.1c-syntax", "mdclasses", "0.9.5") + api("io.github.1c-syntax", "bsl-common-library", "31ba49780f9fcd0cbf2c5ed631d43e879375bff0") + api("com.github.1c-syntax", "mdclasses", "0.10.3") + api("io.github.1c-syntax", "supportconf", "0.1.1") // JLanguageTool implementation("org.languagetool", "languagetool-core", languageToolVersion) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ConditionalVertex.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ConditionalVertex.java index bdfe509815e..9339cee6477 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ConditionalVertex.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ConditionalVertex.java @@ -24,6 +24,7 @@ import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import lombok.EqualsAndHashCode; + import java.util.Optional; @EqualsAndHashCode(callSuper = true) 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 9f189ed5b8c..d0670a5ee1f 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 @@ -25,12 +25,10 @@ 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.FileType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.symbol.RegionSymbol; import com.github._1c_syntax.bsl.languageserver.utils.Regions; -import com.github._1c_syntax.mdclasses.Configuration; -import com.github._1c_syntax.mdclasses.common.ConfigurationSource; -import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.types.ConfigurationSource; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.CodeActionParams; @@ -73,8 +71,8 @@ public GenerateStandardRegionsSupplier(LanguageServerConfiguration languageServe @Override public List getCodeActions(CodeActionParams params, DocumentContext documentContext) { - ModuleType moduleType = documentContext.getModuleType(); - FileType fileType = documentContext.getFileType(); + var moduleType = documentContext.getModuleType(); + var fileType = documentContext.getFileType(); ScriptVariant regionsLanguage = getRegionsLanguage(documentContext, fileType); Set neededStandardRegions; @@ -100,14 +98,14 @@ public List getCodeActions(CodeActionParams params, DocumentContext String result = neededStandardRegions.stream() .map(s -> String.format(regionFormat, s)) .collect(Collectors.joining("\n")); - TextEdit textEdit = new TextEdit(calculateFixRange(params.getRange()), result); + var textEdit = new TextEdit(calculateFixRange(params.getRange()), result); - WorkspaceEdit edit = new WorkspaceEdit(); + var edit = new WorkspaceEdit(); Map> changes = Map.of(documentContext.getUri().toString(), Collections.singletonList(textEdit)); edit.setChanges(changes); - CodeAction codeAction = new CodeAction("Generate missing regions"); + var codeAction = new CodeAction("Generate missing regions"); codeAction.setDiagnostics(new ArrayList<>()); codeAction.setKind(CodeActionKind.Refactor); codeAction.setEdit(edit); @@ -117,7 +115,7 @@ public List getCodeActions(CodeActionParams params, DocumentContext private ScriptVariant getRegionsLanguage(DocumentContext documentContext, FileType fileType) { ScriptVariant regionsLanguage; - Configuration configuration = documentContext.getServerContext().getConfiguration(); + var configuration = documentContext.getServerContext().getConfiguration(); if (configuration.getConfigurationSource() == ConfigurationSource.EMPTY || fileType == FileType.OS) { regionsLanguage = getScriptVariantFromConfigLanguage(); } else { 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/DocumentContext.java index 6925b4c7091..d4f0d09d357 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/DocumentContext.java @@ -34,15 +34,16 @@ 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.mdo.support.ScriptVariant; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLTokenizer; import com.github._1c_syntax.bsl.parser.SDBLTokenizer; -import com.github._1c_syntax.mdclasses.common.ConfigurationSource; +import com.github._1c_syntax.bsl.supconf.SupportConfiguration; +import com.github._1c_syntax.bsl.support.SupportVariant; +import com.github._1c_syntax.bsl.types.ConfigurationSource; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; -import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; -import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; import com.github._1c_syntax.utils.Lazy; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -244,7 +245,8 @@ public Map getSupportVariants() { } public Optional getMdObject() { - return Optional.ofNullable(getServerContext().getConfiguration().getModulesByObject().get(getUri())); + return Optional + .ofNullable((AbstractMDObjectBase) getServerContext().getConfiguration().getModulesByObject().get(getUri())); } public List getQueries() { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java deleted file mode 100644 index 727d892d469..00000000000 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/ModuleType.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This file is a part of BSL Language Server. - * - * Copyright (c) 2018-2022 - * Alexey Sosnoviy , Nikita Fedkin 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; - -public enum ModuleType { - BotModule(), - IntegrationServiceModule(), - CommandModule(), - CommonModule(), - ObjectModule(), - ManagerModule(), - FormModule(), - RecordSetModule(), - ValueManagerModule(), - ApplicationModule(), - ManagedApplicationModule(), - SessionModule(), - ExternalConnectionModule(), - OrdinaryApplicationModule(), - HTTPServiceModule(), - WEBServiceModule(), - Class(), - Module(), - UNKNOWN(); // для неизвестных типов модулей - - public static ModuleType valueOf(com.github._1c_syntax.mdclasses.mdo.support.ModuleType mdoModuleType){ - - return valueOf(mdoModuleType.name()); - } -} 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/ServerContext.java index 491cc7f341f..32f5156e8bd 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/ServerContext.java @@ -22,6 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.context; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.Configuration; import com.github._1c_syntax.utils.Absolute; import com.github._1c_syntax.utils.Lazy; @@ -145,7 +146,7 @@ public DocumentContext addDocument(TextDocumentItem textDocumentItem) { } public void removeDocument(URI uri) { - URI absoluteURI = Absolute.uri(uri); + var absoluteURI = Absolute.uri(uri); removeDocumentMdoRefByUri(absoluteURI); documents.remove(absoluteURI); } @@ -166,12 +167,12 @@ public Configuration getConfiguration() { @SneakyThrows private DocumentContext createDocumentContext(File file, int version) { - String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8); + var content = FileUtils.readFileToString(file, StandardCharsets.UTF_8); return createDocumentContext(file.toURI(), content, version); } private DocumentContext createDocumentContext(URI uri, String content, int version) { - URI absoluteURI = Absolute.uri(uri); + var absoluteURI = Absolute.uri(uri); var documentContext = lookupDocumentContext(absoluteURI); documentContext.rebuild(content, version); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java index fcfd4dca0b2..e97141d44d8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputer.java @@ -22,11 +22,11 @@ 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.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.symbol.ModuleSymbol; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.parser.BSLLexer; +import com.github._1c_syntax.bsl.types.ModuleType; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.SymbolKind; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index 23c6cca2831..12c5609d79b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.FileType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import java.nio.file.Path; @@ -50,24 +50,24 @@ public ModuleType computeModuleType() { } private ModuleType computeBSL() { - com.github._1c_syntax.mdclasses.mdo.support.ModuleType type = documentContext.getServerContext() + var type = documentContext.getServerContext() .getConfiguration().getModuleType(documentContext.getUri()); return ModuleType.valueOf(type.name()); } private ModuleType computeOS() { if (documentContext.getUri().getPath().contains("Модули")) { - return ModuleType.Module; + return ModuleType.OScriptModule; } else if (documentContext.getUri().getPath().contains("Классы")) { - return ModuleType.Class; + return ModuleType.OScriptClass; } else { return ModuleType.UNKNOWN; } } public String computeTypeName() { - if (documentContext.getModuleType() == ModuleType.Module - || documentContext.getModuleType() == ModuleType.Class) { + if (documentContext.getModuleType() == ModuleType.OScriptModule + || documentContext.getModuleType() == ModuleType.OScriptClass) { return Path.of(documentContext.getUri()).getFileName().toString().replace(".os", ""); } return ""; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java index 491eaaae6a8..8fa6804e5da 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AbstractMetadataDiagnostic.java @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.types.MDOType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBSL; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; import org.checkerframework.checker.nullness.qual.NonNull; import org.eclipse.lsp4j.Range; @@ -111,7 +111,7 @@ private void checkMetadataWithModules() { documentContext.getMdObject().ifPresent((AbstractMDObjectBase mdo) -> { if (mdo instanceof AbstractMDObjectBSL) { var modules = ((AbstractMDObjectBSL) mdo).getModules().stream() - .filter(mdoModule -> OBJECT_MODULES.contains(ModuleType.valueOf(mdoModule.getModuleType()))) + .filter(mdoModule -> OBJECT_MODULES.contains(mdoModule.getModuleType())) .collect(Collectors.toList()); // чтобы не анализировать несколько раз, выберем только один модуль, например модуль менеджера @@ -131,10 +131,10 @@ private void checkMetadataWithModules() { */ private void checkMetadataWithoutModules() { documentContext.getServerContext().getConfiguration().getChildren().stream() - .filter(mdo -> filterMdoTypes.contains(mdo.getType())) + .filter(mdo -> filterMdoTypes.contains(mdo.getMdoType())) .filter(mdo -> !(mdo instanceof AbstractMDObjectBSL) || (((AbstractMDObjectBSL) mdo).getModules().stream() - .noneMatch(module -> OBJECT_MODULES.contains(ModuleType.valueOf(module.getModuleType()))))) + .noneMatch(module -> OBJECT_MODULES.contains(module.getModuleType())))) .forEach(this::checkMetadata); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java index 714b4f05cd6..d6d74e9eafa 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java @@ -22,16 +22,15 @@ 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.DiagnosticType; +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.DiagnosticParameter; - +import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.Map; -import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.regex.Pattern; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 5e88585aaf1..b4568d566dd 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 @@ -28,9 +28,9 @@ 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.mdo.support.ReturnValueReuse; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; 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/CodeAfterAsyncCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java index e983308f6f8..cb5cd5b0a56 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java @@ -28,7 +28,7 @@ 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.parser.BSLParser; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.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/CodeOutOfRegionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeOutOfRegionDiagnostic.java index 52262a2244e..88e23c64f15 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 @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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.diagnostics.metadata.DiagnosticCompatibilityMode; @@ -36,6 +35,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; +import com.github._1c_syntax.bsl.types.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; import org.antlr.v4.runtime.tree.Tree; 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 10533beab73..302a00b721b 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 @@ -27,7 +27,7 @@ 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 6120a4da24b..0a48aefbe73 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.regex.Matcher; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java index 5d1992148d1..e38a1ae5786 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnostic.java @@ -30,7 +30,7 @@ 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.Ranges; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import java.util.Set; import java.util.TreeSet; 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 9bf985631f7..3ec85d7f004 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 @@ -27,9 +27,9 @@ 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.mdo.support.ReturnValueReuse; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 4fcf769a2b4..03482e7ace6 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 e0600e31a3f..42a27c2bdea 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 @@ -22,12 +22,12 @@ 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.ModuleType; 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; @DiagnosticMetadata( 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 dc3cfadfa6b..a1eb2991bed 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.SECURITY_HOTSPOT, 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 ce0cd21126e..16a08af8118 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 9d31ba1ec44..4fb881e7eac 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 0d898b6559e..7e7f663dcfd 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.CODE_SMELL, 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 c59fde07b35..e2c21f44829 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 @@ -28,8 +28,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import java.util.Map; 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 439fcb9fa18..abdf0ae141d 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 @@ -26,10 +26,10 @@ 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.mdo.support.FormType; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; -import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 df54aa62562..879830e85cd 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 @@ -27,7 +27,7 @@ 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.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 e804099fb86..1e5a2eee1b2 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 @@ -30,7 +30,7 @@ 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.parser.BSLParser; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; 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 b80dc6b6355..b393bad2a4e 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 @@ -28,8 +28,8 @@ 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.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.references.ReferenceIndex; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.SymbolKind; 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 6fcc0a21f8b..d66b3850f5a 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 @@ -29,7 +29,6 @@ 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.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/ExcessiveAutoTestCheckDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ExcessiveAutoTestCheckDiagnostic.java index c37d4b0541a..edad334ea7b 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 @@ -26,7 +26,7 @@ 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.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.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 d29e2a905cc..c09aa5c3803 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 @@ -27,7 +27,7 @@ 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.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( 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 5d64edfe1bd..f4fabb7e0c5 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 @@ -27,8 +27,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.antlr.v4.runtime.tree.ParseTree; @DiagnosticMetadata( diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java index 70c2a852cd8..fbf8aa9b1f6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnostic.java @@ -28,11 +28,11 @@ 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.types.MdoReference; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; -import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.RequiredArgsConstructor; @@ -151,7 +151,7 @@ protected void checkMetadata(AbstractMDObjectBase mdo) { } } - private void checkName(String name, MDOReference mdoReference) { + private void checkName(String name, MdoReference mdoReference) { if (FORBIDDEN_NAMES_PATTERN.matcher(name).matches()) { String mdoRef; if (serverConfiguration.getLanguage() == Language.RU) { 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 faa4bbc4754..662ca2f48f6 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 @@ -29,9 +29,9 @@ 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.types.MDOType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java index 912ab5272ed..94a97cbd999 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnostic.java @@ -28,11 +28,11 @@ 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.mdclasses.common.ConfigurationSource; +import com.github._1c_syntax.bsl.types.ConfigurationSource; +import com.github._1c_syntax.bsl.types.MDOType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; import com.github._1c_syntax.mdclasses.mdo.MDEventSubscription; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.Range; import java.util.regex.Pattern; @@ -74,7 +74,7 @@ protected void check() { // для анализа выбираются все имеющиеся подписки на события configuration.getChildren().stream() - .filter(mdo -> mdo.getType() == MDOType.EVENT_SUBSCRIPTION) + .filter(mdo -> mdo.getMdoType() == MDOType.EVENT_SUBSCRIPTION) .map(MDEventSubscription.class::cast) .forEach((MDEventSubscription eventSubs) -> { // проверка на пустой обработчик 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 460f429e0d1..23b52e0e3de 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 @@ -29,7 +29,7 @@ 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.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import java.util.Collections; import java.util.EnumMap; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java index 6ef3269fc04..973bbfec9ce 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnostic.java @@ -28,7 +28,7 @@ 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QueryToMissingMetadataDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QueryToMissingMetadataDiagnostic.java index 080a45d66d4..6e838f6b6f1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QueryToMissingMetadataDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/QueryToMissingMetadataDiagnostic.java @@ -27,9 +27,9 @@ 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 com.github._1c_syntax.mdclasses.common.ConfigurationSource; +import com.github._1c_syntax.bsl.types.ConfigurationSource; +import com.github._1c_syntax.bsl.types.MDOType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; import org.antlr.v4.runtime.tree.ParseTree; import java.util.Map; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java index d71f3b3b2c4..1bfbc655323 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnostic.java @@ -28,11 +28,11 @@ 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.mdo.support.ReturnValueReuse; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.bsl.types.MDOType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.eclipse.lsp4j.Diagnostic; @@ -100,7 +100,7 @@ public List getDiagnostics(DocumentContext documentContext) { skipLValue = true; namePatternWithDot = CaseInsensitivePattern.compile( - String.format(getManagerModuleName(mdObjectBase.getType()), mdObjectBase.getName()) + String.format(getManagerModuleName(mdObjectBase.getMdoType()), mdObjectBase.getName()) ); }); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java index 955496781f6..1597324660e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnostic.java @@ -28,12 +28,12 @@ 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.types.MDOType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.StringInterner; import java.util.List; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java index 04ec65b6b2d..71a4a066503 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnostic.java @@ -29,10 +29,10 @@ 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.mdo.support.FormType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; @DiagnosticMetadata( type = DiagnosticType.ERROR, diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java index bdb4f8e6d28..9b6496680d0 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SetPermissionsForNewObjectsDiagnostic.java @@ -28,8 +28,8 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDRole; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import java.util.Map; import java.util.Set; 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 dcbfe85a77a..dead2803477 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 @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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; @@ -29,6 +28,7 @@ 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.types.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; 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/TimeoutsInExternalResourcesDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/TimeoutsInExternalResourcesDiagnostic.java index d578d04bbc5..20d3b39023b 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 @@ -30,7 +30,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper; import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; -import com.github._1c_syntax.mdclasses.common.CompatibilityMode; +import com.github._1c_syntax.bsl.support.CompatibilityMode; 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/UnusedLocalMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalMethodDiagnostic.java index 10c39052324..2323e5201aa 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 @@ -31,7 +31,7 @@ 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 com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.Trees; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java index 6313a67b75e..7860c6385e7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UnusedLocalVariableDiagnostic.java @@ -28,7 +28,7 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticType; import com.github._1c_syntax.bsl.languageserver.references.ReferenceIndex; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; import java.util.EnumSet; @@ -66,7 +66,10 @@ public void check() { documentContext.getSymbolTree().getVariables().stream() .filter(variable -> CHECKING_VARIABLE_KINDS.contains(variable.getKind())) .filter(variable -> !variable.isExport()) - .filter(variable -> referenceIndex.getReferencesTo(variable).stream().filter(ref -> ref.getOccurrenceType() == OccurrenceType.REFERENCE).findFirst().isEmpty()) - .forEach(variable -> diagnosticStorage.addDiagnostic(variable.getSelectionRange(), info.getMessage(variable.getName()))); + .filter(variable -> referenceIndex.getReferencesTo(variable).stream() + .filter(ref -> ref.getOccurrenceType() == OccurrenceType.REFERENCE).findFirst().isEmpty()) + .forEach(variable -> diagnosticStorage.addDiagnostic( + variable.getSelectionRange(), info.getMessage(variable.getName()) + )); } } 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 07922416b82..c5443be0b4c 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 @@ -28,8 +28,8 @@ 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.mdo.support.UseMode; import com.github._1c_syntax.bsl.parser.BSLParser; -import com.github._1c_syntax.mdclasses.mdo.support.UseMode; 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/UsingSynchronousCallsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingSynchronousCallsDiagnostic.java index 8ecdbc979cd..a82de659945 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 @@ -28,8 +28,8 @@ 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.mdo.support.UseMode; import com.github._1c_syntax.bsl.parser.BSLParser; -import com.github._1c_syntax.mdclasses.mdo.support.UseMode; 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/UsingThisFormDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsingThisFormDiagnostic.java index c020d849db4..506e94fbd3f 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 @@ -32,7 +32,7 @@ import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; 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/WrongDataPathForFormElementsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java index 9dde70be3ce..d19e05e5c91 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongDataPathForFormElementsDiagnostic.java @@ -27,11 +27,11 @@ 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.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.children.Form; import com.github._1c_syntax.mdclasses.mdo.children.form.FormItem; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import org.eclipse.lsp4j.Range; import java.util.function.Predicate; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java index 80b2f47b08b..ea863988492 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongHttpServiceHandlerDiagnostic.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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; @@ -29,6 +28,7 @@ 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDHttpService; import com.github._1c_syntax.mdclasses.mdo.children.HTTPServiceMethod; import org.eclipse.lsp4j.Range; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java index 525930b67a2..b281f8763a6 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/WrongWebServiceHandlerDiagnostic.java @@ -21,13 +21,13 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; 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.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.MDWebService; import com.github._1c_syntax.mdclasses.mdo.children.WEBServiceOperation; import org.eclipse.lsp4j.Range; 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 cd9022efb9e..0ec208bfa1c 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,16 +27,16 @@ 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.FileType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; 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.mdclasses.common.CompatibilityMode; -import com.github._1c_syntax.mdclasses.mdo.AbstractMDO; +import com.github._1c_syntax.bsl.supconf.SupportConfiguration; +import com.github._1c_syntax.bsl.support.CompatibilityMode; +import com.github._1c_syntax.bsl.support.SupportVariant; +import com.github._1c_syntax.bsl.types.ModuleType; +import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.MDSubsystem; -import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; -import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.springframework.beans.factory.annotation.Lookup; @@ -65,15 +65,15 @@ public List diagnostics(DocumentContext documentContext) { Collection diagnosticInfos = diagnosticInfos(); - DiagnosticsOptions diagnosticsOptions = configuration.getDiagnosticsOptions(); + var diagnosticsOptions = configuration.getDiagnosticsOptions(); if (needToComputeDiagnostics(documentContext, diagnosticsOptions)) { - FileType fileType = documentContext.getFileType(); - CompatibilityMode compatibilityMode = documentContext + var fileType = documentContext.getFileType(); + var compatibilityMode = documentContext .getServerContext() .getConfiguration() .getCompatibilityMode(); - ModuleType moduleType = documentContext.getModuleType(); + var moduleType = documentContext.getModuleType(); return diagnosticInfos.stream() .filter(diagnosticInfo -> isEnabled(diagnosticInfo, diagnosticsOptions)) @@ -109,7 +109,7 @@ private static boolean filterSubsystems(DocumentContext documentContext, Diagnos } var subsystemsNames = subsystemFlatList(mdoObject.get().getIncludedSubsystems()).stream() - .map(AbstractMDO::getName) + .map(AbstractMDObjectBase::getName) .collect(Collectors.toList()); var include = subsystemsFilter.getInclude().isEmpty() diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCompatibilityMode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCompatibilityMode.java index d97f6b37dd1..0c2866c77e9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCompatibilityMode.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/metadata/DiagnosticCompatibilityMode.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.mdclasses.common.CompatibilityMode; +import com.github._1c_syntax.bsl.support.CompatibilityMode; public enum DiagnosticCompatibilityMode { UNDEFINED(0, 0), @@ -48,8 +48,7 @@ public enum DiagnosticCompatibilityMode { COMPATIBILITY_MODE_8_3_18(3, 18), COMPATIBILITY_MODE_8_3_19(3, 19), COMPATIBILITY_MODE_8_3_20(3, 20), - COMPATIBILITY_MODE_8_3_21(3, 21) - ; + COMPATIBILITY_MODE_8_3_21(3, 21); private final CompatibilityMode compatibilityMode; 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 333c3541eda..f991100ff3b 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 @@ -23,9 +23,9 @@ 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.ModuleType; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; import com.github._1c_syntax.bsl.languageserver.utils.Resources; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.StringInterner; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; 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 178948f115e..5cc14694b33 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,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics.metadata; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CallHierarchyProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CallHierarchyProvider.java index 81e5c357044..7aba9f6c5df 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CallHierarchyProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/CallHierarchyProvider.java @@ -23,9 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; -import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.references.ReferenceIndex; import com.github._1c_syntax.bsl.languageserver.references.ReferenceResolver; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.CallHierarchyIncomingCall; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProvider.java index c7e3f070c64..f1e290a88ac 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProvider.java @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; -import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.references.ReferenceResolver; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.DefinitionParams; import org.eclipse.lsp4j.LocationLink; 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/HoverProvider.java index 6752dc46a84..873ec411d4b 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/HoverProvider.java @@ -24,8 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.Symbol; import com.github._1c_syntax.bsl.languageserver.hover.MarkupContentBuilder; -import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.references.ReferenceResolver; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Hover; import org.eclipse.lsp4j.HoverParams; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProvider.java index f0437d45cf3..c19a2caefb1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProvider.java @@ -22,9 +22,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.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.references.ReferenceIndex; import com.github._1c_syntax.bsl.languageserver.references.ReferenceResolver; +import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.ReferenceParams; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index f11a36e161f..d58e29a91c9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -22,13 +22,13 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.providers.SelectionRangeProvider; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; import org.antlr.v4.runtime.tree.TerminalNode; import org.eclipse.lsp4j.Position; @@ -78,11 +78,11 @@ private boolean filterByType(Optional node, ModuleType moduleType) } if ((node.get().getParent() instanceof BSLParser.TypeNameContext) - && moduleType == ModuleType.Class) { + && moduleType == ModuleType.OScriptClass) { return true; } else { return (node.get().getParent() instanceof BSLParser.ComplexIdentifierContext) - && moduleType == ModuleType.Module; + && moduleType == ModuleType.OScriptModule; } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java index e0e3200b9fd..c09898ccdfc 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndex.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.context.symbol.Exportable; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; @@ -36,6 +35,7 @@ import com.github._1c_syntax.bsl.languageserver.references.model.SymbolOccurrenceRepository; import com.github._1c_syntax.bsl.languageserver.utils.MdoRefBuilder; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.StringInterner; import lombok.RequiredArgsConstructor; import org.eclipse.lsp4j.Position; @@ -70,7 +70,7 @@ public List getReferencesTo(SourceDefinedSymbol symbol) { var mdoRef = MdoRefBuilder.getMdoRef(symbol.getOwner()); var moduleType = symbol.getOwner().getModuleType(); var symbolName = symbol.getName().toLowerCase(Locale.ENGLISH); - String scopeName = ""; + var scopeName = ""; if (symbol.getSymbolKind() == SymbolKind.Variable) { scopeName = symbol.getRootParent(SymbolKind.Method) @@ -164,13 +164,14 @@ public void clearReferences(URI uri) { * Добавить вызов метода в индекс. * * @param uri URI документа, откуда произошел вызов. - * @param mdoRef Ссылка на объект-метаданных, к которому происходит обращение (например, CommonModule.ОбщийМодуль1). + * @param mdoRef Ссылка на объект-метаданных, к которому происходит обращение + * (например, CommonModule.ОбщийМодуль1). * @param moduleType Тип модуля, к которому происходит обращение (например, {@link ModuleType#CommonModule}). * @param symbolName Имя символа, к которому происходит обращение. * @param range Диапазон, в котором происходит обращение к символу. */ public void addMethodCall(URI uri, String mdoRef, ModuleType moduleType, String symbolName, Range range) { - String symbolNameCanonical = stringInterner.intern(symbolName.toLowerCase(Locale.ENGLISH)); + var symbolNameCanonical = stringInterner.intern(symbolName.toLowerCase(Locale.ENGLISH)); var symbol = Symbol.builder() .mdoRef(mdoRef) @@ -195,12 +196,13 @@ public void addMethodCall(URI uri, String mdoRef, ModuleType moduleType, String * Добавить обращение к переменной в индекс. * * @param uri URI документа, откуда произошел вызов. - * @param mdoRef Ссылка на объект-метаданных, к которому происходит обращение (например, CommonModule.ОбщийМодуль1). + * @param mdoRef Ссылка на объект-метаданных, к которому происходит обращение + * (например, CommonModule.ОбщийМодуль1). * @param moduleType Тип модуля, к которому происходит обращение (например, {@link ModuleType#CommonModule}). * @param methodName Имя метода, к которому относиться перменная. Пустой если переменная относиться к модулю. * @param variableName Имя переменной, к которой происходит обращение. * @param range Диапазон, в котором происходит обращение к символу. - * @param definition Признак обновления значения переменной. + * @param definition Признак обновления значения переменной. */ public void addVariableUsage(URI uri, String mdoRef, @@ -209,8 +211,8 @@ public void addVariableUsage(URI uri, String variableName, Range range, boolean definition) { - String methodNameCanonical = stringInterner.intern(methodName.toLowerCase(Locale.ENGLISH)); - String variableNameCanonical = stringInterner.intern(variableName.toLowerCase(Locale.ENGLISH)); + var methodNameCanonical = stringInterner.intern(methodName.toLowerCase(Locale.ENGLISH)); + var variableNameCanonical = stringInterner.intern(variableName.toLowerCase(Locale.ENGLISH)); var symbol = Symbol.builder() .mdoRef(mdoRef) @@ -250,15 +252,15 @@ private Optional buildReference( private Optional getSourceDefinedSymbol(Symbol symbolEntity) { String mdoRef = symbolEntity.getMdoRef(); - ModuleType moduleType = symbolEntity.getModuleType(); + var moduleType = symbolEntity.getModuleType(); String symbolName = symbolEntity.getSymbolName(); if (symbolEntity.getSymbolKind() == SymbolKind.Variable) { return serverContext.getDocument(mdoRef, moduleType) .map(DocumentContext::getSymbolTree) .flatMap(symbolTree -> symbolTree.getMethodSymbol(symbolEntity.getScopeName()) - .flatMap(method -> symbolTree.getVariableSymbol(symbolName, method)) - .or(() -> symbolTree.getVariableSymbol(symbolName, symbolTree.getModule()))); + .flatMap(method -> symbolTree.getVariableSymbol(symbolName, method)) + .or(() -> symbolTree.getVariableSymbol(symbolName, symbolTree.getModule()))); } return serverContext.getDocument(mdoRef, moduleType) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java index 34226bf3fd1..a6f1742e33f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java @@ -22,7 +22,6 @@ package com.github._1c_syntax.bsl.languageserver.references; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.bsl.languageserver.context.events.DocumentContextContentChangedEvent; import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.VariableSymbol; @@ -32,6 +31,7 @@ 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.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.Range; @@ -128,12 +128,12 @@ public BSLParserRuleContext visitGlobalMethodCall(BSLParser.GlobalMethodCallCont private void checkCall(String mdoRef, Token methodName) { String methodNameText = methodName.getText(); - Map modulesMDO = documentContext.getServerContext().getConfiguration().getModulesByMDORef(mdoRef); + Map modulesMDO = documentContext.getServerContext().getConfiguration().getModulesByMDORef(mdoRef); Map modules = modulesMDO.entrySet().stream() .collect(Collectors.toMap(m -> ModuleType.valueOf(m.getKey().name()), Map.Entry::getValue)); for (Map.Entry e : modules.entrySet()) { - ModuleType moduleType = e.getKey(); + var moduleType = e.getKey(); if (!DEFAULT_MODULE_TYPES.contains(moduleType)) { continue; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java index 9267f8e700b..fde4afffb3e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java @@ -21,7 +21,7 @@ */ package com.github._1c_syntax.bsl.languageserver.references.model; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Value; 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 330b55434cc..8765f42877b 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 @@ -23,11 +23,11 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.bsl.types.MDOType; +import com.github._1c_syntax.bsl.types.MdoReference; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; -import com.github._1c_syntax.mdclasses.mdo.support.MDOType; -import com.github._1c_syntax.mdclasses.mdo.support.ModuleType; import com.github._1c_syntax.mdclasses.utils.MDOUtils; import com.github._1c_syntax.utils.StringInterner; import lombok.experimental.UtilityClass; @@ -56,7 +56,7 @@ public String getMdoRef(DocumentContext documentContext, BSLParser.CallStatement public static String getMdoRef(DocumentContext documentContext) { var mdoRef = documentContext.getMdObject() .map(AbstractMDObjectBase::getMdoReference) - .map(MDOReference::getMdoRef) + .map(MdoReference::getMdoRef) .orElseGet(() -> documentContext.getUri().toString()); return stringInterner.intern(mdoRef); } @@ -68,7 +68,7 @@ public String getMdoRef(DocumentContext documentContext, BSLParser.ComplexIdenti public String getMdoRef( DocumentContext documentContext, @Nullable - TerminalNode identifier, + TerminalNode identifier, List modifiers ) { @@ -96,7 +96,7 @@ private Optional getCommonModuleMdoRef(DocumentContext documentContext, .getConfiguration() .getCommonModule(commonModuleName) .map(MDCommonModule::getMdoReference) - .map(MDOReference::getMdoRef); + .map(MdoReference::getMdoRef); } private String getMdoRef(MDOType mdoType, String identifier) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java index c3dc937556c..45a86e43df2 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Regions.java @@ -21,8 +21,8 @@ */ package com.github._1c_syntax.bsl.languageserver.utils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.CaseInsensitivePattern; import lombok.experimental.UtilityClass; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplierTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplierTest.java index 68c74eeaa03..9a827b48809 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplierTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplierTest.java @@ -23,7 +23,6 @@ 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.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import org.eclipse.lsp4j.CodeAction; 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 97aa7391ded..6d712e5346c 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,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.codeactions; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionContext; 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/ServerContextTest.java index c3ed31a8d61..19d83a4c9fd 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/ServerContextTest.java @@ -22,9 +22,10 @@ package com.github._1c_syntax.bsl.languageserver.context; import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterEachTestMethod; +import com.github._1c_syntax.bsl.mdo.support.ScriptVariant; +import com.github._1c_syntax.bsl.types.ConfigurationSource; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.Configuration; -import com.github._1c_syntax.mdclasses.common.ConfigurationSource; -import com.github._1c_syntax.mdclasses.mdo.support.ScriptVariant; import com.github._1c_syntax.utils.Absolute; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; 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 24ffb492e31..cc90a42d722 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,7 +21,6 @@ */ 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 org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 fd5b6cf131f..972ba7bf9ff 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,7 +21,6 @@ */ 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.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.ParameterDefinition; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java index cc6db9f2337..1429ebae21d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleSymbolComputerTest.java @@ -23,9 +23,9 @@ import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.types.MdoReference; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.mdclasses.mdo.support.MDOReference; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import org.eclipse.lsp4j.SymbolKind; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -65,7 +65,7 @@ void testModuleName() { var documentContext = spy(TestUtils.getDocumentContextFromFile("./src/test/resources/context/symbol/ModuleSymbol.bsl")); var computer = new ModuleSymbolComputer(documentContext); - MDOReference mdoReference = mock(MDOReference.class); + var mdoReference = mock(MdoReference.class); when(mdoReference.getMdoRef()).thenReturn("Document.Document1"); AbstractMDObjectBase mdObject = mock(AbstractMDObjectBase.class); diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnosticTest.java index dc646ee9489..07853174bcf 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 f9e0104fc1c..35549294e05 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 @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.bsl.mdo.support.ReturnValueReuse; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; 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 3a7b051e513..b491d8e934c 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 @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 ebe3dca872b..62ab56ee0af 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 @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 16c3ee1a9c7..2200adfad31 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,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java index f0b091d2c80..4cf6566e701 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CommonModuleMissingAPIDiagnosticTest.java @@ -22,7 +22,7 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 d3400e8d4be..54c0ac621bd 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 @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.bsl.mdo.support.ReturnValueReuse; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; 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 dab5468331c..9a90ffcedb1 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,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.mdo.support.FormType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; -import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 be35eb825bc..ff74d38753b 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,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 ed20ff8a43e..01edd4f729b 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 @@ -30,10 +30,10 @@ import com.github._1c_syntax.bsl.languageserver.diagnostics.infrastructure.DiagnosticsConfiguration; import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.mdclasses.common.CompatibilityMode; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; -import com.github._1c_syntax.mdclasses.supportconf.SupportConfiguration; -import com.github._1c_syntax.mdclasses.supportconf.SupportVariant; +import com.github._1c_syntax.bsl.supconf.SupportConfiguration; +import com.github._1c_syntax.bsl.support.CompatibilityMode; +import com.github._1c_syntax.bsl.support.SupportVariant; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.junit.jupiter.api.BeforeEach; 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 824830a2c6a..f3cbea4526f 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,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FieldsFromJoinsWithoutIsNullDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FieldsFromJoinsWithoutIsNullDiagnosticTest.java index 23184b2b67f..c5c7afbc926 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FieldsFromJoinsWithoutIsNullDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/FieldsFromJoinsWithoutIsNullDiagnosticTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import org.assertj.core.api.Assertions; import org.eclipse.lsp4j.Diagnostic; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java index aaac864fceb..cc254cd6078 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ForbiddenMetadataNameDiagnosticTest.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2022 + * Copyright (c) 2018-2023 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later @@ -21,11 +21,11 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBSL; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; @@ -88,10 +88,10 @@ void testCatalog() { assertThat(diagnostics, true) .hasMessageOnRange("Запрещено использовать имя `Справочник` для `Справочник.Справочник1`", 0, 0, 9) .hasMessageOnRange( - "Запрещено использовать имя `РегистрСведений` для `Справочник.Справочник1.Attribute.РегистрСведений`", + "Запрещено использовать имя `РегистрСведений` для `Справочник.Справочник1.Реквизит.РегистрСведений`", 0, 0, 9) .hasMessageOnRange( - "Запрещено использовать имя `РегистрСведений` для `Справочник.Справочник1.TabularSection.РегистрСведений`", + "Запрещено использовать имя `РегистрСведений` для `Справочник.Справочник1.ТабличнаяЧасть.РегистрСведений`", 0, 0, 9) ; } @@ -166,4 +166,4 @@ void testAllMDO() { .anyMatch(diagnostic -> diagnostic.getMessage().contains("для `РегистрСведений.РегистрСведений")) ; } -} +} \ No newline at end of file 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 e554732462f..bc8016573e4 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 @@ -23,8 +23,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import lombok.SneakyThrows; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; @@ -190,7 +190,8 @@ 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)); - module = spy(Objects.requireNonNull(context).getConfiguration().getModulesByObject().get(documentContext.getUri())); + module = spy((AbstractMDObjectBase) Objects.requireNonNull(context).getConfiguration() + .getModulesByObject().get(documentContext.getUri())); } static Stream contentProvider() { diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java index 19bd3dfe8ff..87ffebde551 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingEventSubscriptionHandlerDiagnosticTest.java @@ -22,7 +22,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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 c927f698332..9cc03aea53b 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 @@ -23,7 +23,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java index 2c342d041ea..04f637bd62e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/OrdinaryAppSupportDiagnosticTest.java @@ -22,7 +22,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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnosticTest.java index e2b971668a5..9748f7975a7 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/RedundantAccessToObjectDiagnosticTest.java @@ -24,8 +24,8 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterEachTestMethod; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; +import com.github._1c_syntax.bsl.mdo.support.ReturnValueReuse; import com.github._1c_syntax.mdclasses.mdo.MDCommonModule; -import com.github._1c_syntax.mdclasses.mdo.support.ReturnValueReuse; import com.github._1c_syntax.utils.Absolute; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java index 4e84b75eb2f..761a8bbf3bb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/SameMetadataObjectAndChildNamesDiagnosticTest.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2022 + * Copyright (c) 2018-2023 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectBase; import com.github._1c_syntax.mdclasses.mdo.AbstractMDObjectComplex; import com.github._1c_syntax.mdclasses.mdo.attributes.AbstractMDOAttribute; import com.github._1c_syntax.mdclasses.mdo.attributes.TabularSection; import com.github._1c_syntax.mdclasses.mdo.metadata.AttributeType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; @@ -96,8 +96,8 @@ void testCatalog() { assertThat(diagnostics).hasSize(2); assertThat(diagnostics, true) - .anyMatch(diagnostic -> diagnostic.getMessage().contains("Справочник1.Attribute")) - .anyMatch(diagnostic -> diagnostic.getMessage().contains("Справочник1.TabularSection")) + .anyMatch(diagnostic -> diagnostic.getMessage().contains("Справочник1.Реквизит")) + .anyMatch(diagnostic -> diagnostic.getMessage().contains("Справочник1.ТабличнаяЧасть")) ; } @@ -138,9 +138,9 @@ void testOtherMDO() { assertThat(diagnostics) .hasSize(5) .noneMatch(diagnostic -> diagnostic.getMessage().contains("имя `Справочник.Справочник1")) - .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `Документ.Документ1.Attribute")) - .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `Документ.Документ1.TabularSection")) - .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `РегистрСведений.РегистрСведений1.Dimension")) + .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `Документ.Документ1.Реквизит")) + .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `Документ.Документ1.ТабличнаяЧасть")) + .anyMatch(diagnostic -> diagnostic.getMessage().contains("имя `РегистрСведений.РегистрСведений1.Измерение")) ; } } diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java index b8e5a65ce51..4d991af6ec8 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/ServerSideExportFormMethodDiagnosticTest.java @@ -21,9 +21,9 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; +import com.github._1c_syntax.bsl.mdo.support.FormType; +import com.github._1c_syntax.bsl.types.ModuleType; import com.github._1c_syntax.mdclasses.mdo.AbstractMDOForm; -import com.github._1c_syntax.mdclasses.mdo.support.FormType; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.BeforeEach; 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 899280ff9d1..20281c27a31 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,8 +22,8 @@ package com.github._1c_syntax.bsl.languageserver.diagnostics; import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; -import com.github._1c_syntax.mdclasses.common.CompatibilityMode; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.support.CompatibilityMode; +import com.github._1c_syntax.bsl.types.ModuleType; import org.junit.jupiter.api.Test; import static org.mockito.Mockito.spy; 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 54445ed1d3a..add6cdfde5e 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 @@ -24,7 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; 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.common.CompatibilityMode; +import com.github._1c_syntax.bsl.support.CompatibilityMode; import lombok.SneakyThrows; import org.apache.commons.io.FileUtils; import org.eclipse.lsp4j.Diagnostic; 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 8224ba7108e..8ae284efa02 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 @@ -25,7 +25,7 @@ import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.UseMode; +import com.github._1c_syntax.bsl.mdo.support.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 94b5d589cbe..a88773060a3 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,7 +24,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; -import com.github._1c_syntax.mdclasses.mdo.support.UseMode; +import com.github._1c_syntax.bsl.mdo.support.UseMode; import com.github._1c_syntax.utils.Absolute; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; 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 bad63ee0915..4b66678de9a 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,6 @@ */ package com.github._1c_syntax.bsl.languageserver.diagnostics; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.Diagnostic; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java index b214503613f..b1ae194b7f3 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/MethodSymbolMarkupContentBuilderTest.java @@ -21,11 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.hover; -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.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; 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/hover/VariableSymbolMarkupContentBuilderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java index 7944582b593..faf4b3c368f 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java @@ -21,11 +21,10 @@ */ package com.github._1c_syntax.bsl.languageserver.hover; -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.util.CleanupContextBeforeClassAndAfterClass; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; -import com.github._1c_syntax.bsl.languageserver.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; 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/providers/DefinitionProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java index a5ef9a587da..78acc9ffac9 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/DefinitionProviderTest.java @@ -21,12 +21,11 @@ */ 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.util.CleanupContextBeforeClassAndAfterClass; 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.DefinitionParams; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; 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/FoldingRangeProviderTest.java index c64b8a99fd5..ff59abefa30 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/FoldingRangeProviderTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import org.eclipse.lsp4j.FoldingRange; import org.eclipse.lsp4j.FoldingRangeKind; 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/HoverProviderTest.java index fd924c1d53a..87a0c914813 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/HoverProviderTest.java @@ -21,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.providers; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import org.eclipse.lsp4j.Hover; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java index 1e28b4c54f4..008203f974d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java @@ -21,12 +21,11 @@ */ 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.util.CleanupContextBeforeClassAndAfterClass; 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.ReferenceParams; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java index 3274df60fe2..cb082fc7c7e 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexReferenceFinderTest.java @@ -27,7 +27,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java index 9579d25ce99..3e321849ea5 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexTest.java @@ -26,7 +26,7 @@ import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; 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.context.ModuleType; +import com.github._1c_syntax.bsl.types.ModuleType; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/model/ReferenceTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/model/ReferenceTest.java index 57d5ebb132f..ac3e2af9570 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/model/ReferenceTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/model/ReferenceTest.java @@ -23,8 +23,6 @@ import com.github._1c_syntax.bsl.languageserver.context.symbol.MethodSymbol; import com.github._1c_syntax.bsl.languageserver.context.symbol.ModuleSymbol; -import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; -import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Range; import org.junit.jupiter.api.Test; 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 78477b1e98b..be719c67687 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,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; 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; 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 3d206ce69fb..c232cb68139 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,7 +22,6 @@ 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.diagnostics.metadata.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; 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 91f282c6d07..9da9d603d5d 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,7 +23,6 @@ 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.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; 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 ffce1b70abb..353fe47eb99 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,7 +22,6 @@ 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.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.reporters.databind.AnalysisInfoObjectMapper; 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 7d1b2254a8e..8d7b81f1052 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,7 +21,6 @@ */ package com.github._1c_syntax.bsl.languageserver.reporters; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; 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; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/SarifReporterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/SarifReporterTest.java index 1d83ac680e2..2c2639b9e3d 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/SarifReporterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/reporters/SarifReporterTest.java @@ -27,7 +27,6 @@ import com.contrastsecurity.sarif.SarifSchema210; import com.fasterxml.jackson.databind.ObjectMapper; 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.DiagnosticInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; 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 2b4aeaf7a96..f77dcdaacc3 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,7 +23,6 @@ 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.reporters.data.AnalysisInfo; import com.github._1c_syntax.bsl.languageserver.reporters.data.FileInfo; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/utils/ExpressionParseTreeRewriterTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/utils/ExpressionParseTreeRewriterTest.java index 3893037cf21..ae16dec0920 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/utils/ExpressionParseTreeRewriterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/utils/ExpressionParseTreeRewriterTest.java @@ -36,7 +36,6 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -import static org.assertj.core.api.Assertions.as; import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest From 9483ffcf0d4403735c0d09958956402c42b76bd2 Mon Sep 17 00:00:00 2001 From: theshadowco Date: Wed, 29 Mar 2023 02:01:27 +0300 Subject: [PATCH 10/18] =?UTF-8?q?=D0=BC=D0=B8=D0=BA=D1=80=D0=BE=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsl/languageserver/BSLLanguageServer.java | 2 +- .../languageserver/BSLWorkspaceService.java | 2 +- .../languageserver/cfg/BasicBlockVertex.java | 2 +- .../cfg/ControlFlowGraphWalker.java | 2 +- .../bsl/languageserver/cli/FormatCommand.java | 2 +- .../DisableDiagnosticTriggeringSupplier.java | 12 +++++----- .../codeactions/QuickFixSupplier.java | 4 ++-- .../databind/ParametersDeserializer.java | 3 ++- .../context/computer/ModuleTypeComputer.java | 2 +- .../computer/VariableSymbolComputer.java | 24 +++++++++---------- ...lFunctionPathMustHaveReturnDiagnostic.java | 2 +- .../diagnostics/BadWordsDiagnostic.java | 2 +- .../CodeAfterAsyncCallDiagnostic.java | 2 +- ...atedInsertionIntoCollectionDiagnostic.java | 8 +++---- .../IdenticalExpressionsDiagnostic.java | 2 +- .../IncorrectLineBreakDiagnostic.java | 2 +- .../IncorrectUseOfStrTemplateDiagnostic.java | 10 ++++---- .../diagnostics/MagicDateDiagnostic.java | 4 ++-- .../MissingCommonModuleMethodDiagnostic.java | 8 +++---- ...issingTemporaryFileDeletionDiagnostic.java | 2 +- .../diagnostics/RefOveruseDiagnostic.java | 10 ++++---- .../UsageWriteLogEventDiagnostic.java | 2 +- .../UsingCancelParameterDiagnostic.java | 2 +- .../references/OscriptReferenceFinder.java | 2 +- .../references/ReferenceIndexFiller.java | 10 ++++---- .../references/model/Location.java | 2 +- .../references/model/Symbol.java | 1 - .../references/model/SymbolOccurrence.java | 6 ++--- .../bsl/languageserver/utils/Modules.java | 2 +- .../bsl/languageserver/utils/Ranges.java | 6 ++--- .../bsl/languageserver/utils/Trees.java | 2 +- .../utils/expressiontree/BslExpression.java | 3 ++- .../expressiontree/ConstructorCallNode.java | 2 ++ .../ExpressionParseTreeRewriter.java | 2 +- .../ExpressionTreeBuildingVisitor.java | 1 + .../expressiontree/TernaryOperatorNode.java | 2 +- .../expressiontree/UnaryOperationNode.java | 8 ++++--- .../OscriptReferenceFinderTest.java | 2 +- 38 files changed, 84 insertions(+), 78 deletions(-) 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 index 7a4e2a216db..fec54d92ee4 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLLanguageServer.java @@ -87,7 +87,7 @@ public class BSLLanguageServer implements LanguageServer, ProtocolExtension { public CompletableFuture initialize(InitializeParams params) { clientCapabilitiesHolder.setCapabilities(params.getCapabilities()); - + setConfigurationRoot(params); CompletableFuture.runAsync(context::populateContext); 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 index 0b03fcd5a86..bfa3801cc06 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java @@ -47,7 +47,7 @@ public class BSLWorkspaceService implements WorkspaceService { @Override @SuppressWarnings("deprecation") - public CompletableFuture,List>> symbol(WorkspaceSymbolParams params) { + public CompletableFuture, List>> symbol(WorkspaceSymbolParams params) { return CompletableFuture.supplyAsync(() -> Either.forRight(symbolProvider.getSymbols(params))); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/BasicBlockVertex.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/BasicBlockVertex.java index e3d5d72ffd7..6d0109d95bf 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/BasicBlockVertex.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/BasicBlockVertex.java @@ -41,7 +41,7 @@ public void addStatement(BSLParserRuleContext statement) { @Override public Optional getAst() { - if(statements.isEmpty()) { + if (statements.isEmpty()) { return super.getAst(); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ControlFlowGraphWalker.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ControlFlowGraphWalker.java index ed4d97f67c2..d048a7c5fe8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ControlFlowGraphWalker.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/ControlFlowGraphWalker.java @@ -60,7 +60,7 @@ public CfgEdge walkNext(CfgEdgeType edgeType) { .filter(x -> x.getType() == edgeType) .findAny(); - if(edgeOrNot.isPresent()) { + if (edgeOrNot.isPresent()) { currentNode = graph.getEdgeTarget(edgeOrNot.get()); return edgeOrNot.get(); } 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 11345db9657..d7f7a539ef2 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 @@ -134,7 +134,7 @@ private List findFilesForFormatting(String[] filePaths) { continue; } - if(srcDir.toFile().isDirectory()) { + if (srcDir.toFile().isDirectory()) { files.addAll(FileUtils.listFiles(srcDir.toFile(), new String[]{"bsl", "os"}, true)); } else { files.add(srcDir.toFile()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java index 5563997567b..e7a3c3b1d67 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java @@ -84,13 +84,13 @@ public List getCodeActions(CodeActionParams params, DocumentContext .filter(token -> token.getLine() == selectedLineNumber) .max(Comparator.comparingInt(Token::getCharPositionInLine)) .ifPresent(token -> { - if (params.getRange().getStart().getLine() == params.getRange().getEnd().getLine()) { - result.addAll(getDisableActionForLine(params, documentContext, token)); - } else { - result.addAll(getDisableActionForRange(params, documentContext, token)); + if (params.getRange().getStart().getLine() == params.getRange().getEnd().getLine()) { + result.addAll(getDisableActionForLine(params, documentContext, token)); + } else { + result.addAll(getDisableActionForRange(params, documentContext, token)); + } } - } - ); + ); } result.addAll( 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 3d12744d685..264748a759e 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 @@ -49,8 +49,8 @@ public > Optional (Class) aClass); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/databind/ParametersDeserializer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/databind/ParametersDeserializer.java index 3697e933f98..1b3e34dac07 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/databind/ParametersDeserializer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/configuration/databind/ParametersDeserializer.java @@ -78,7 +78,8 @@ private static Map getParameterConfiguration( ) { Map parameterConfiguration; try { - JavaType type = mapper.getTypeFactory().constructType(new TypeReference>() {}); + JavaType type = mapper.getTypeFactory().constructType(new TypeReference>() { + }); parameterConfiguration = mapper.readValue(mapper.treeAsTokens(parameterConfig), type); } catch (IOException e) { LOGGER.error("Can't deserialize parameter configuration", e); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index 12c5609d79b..e9bca44bba7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2022 + * Copyright (c) 2018-2023 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later 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 ca6d9996b12..f2102ef617e 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 @@ -62,7 +62,7 @@ public class VariableSymbolComputer extends BSLParserBaseVisitor impl private SourceDefinedSymbol currentMethod; - public VariableSymbolComputer(DocumentContext documentContext, ModuleSymbol module, List methods) { + public VariableSymbolComputer(DocumentContext documentContext, ModuleSymbol module, List methods) { this.documentContext = documentContext; this.module = module; this.methods = methods.stream().collect(toMap(MethodSymbol::getSubNameRange, Function.identity())); @@ -176,7 +176,7 @@ public ParseTree visitAssignment(BSLParser.AssignmentContext ctx) { public ParseTree visitForStatement(BSLParser.ForStatementContext ctx) { if ( currentMethodVariables.containsKey(ctx.IDENTIFIER().getText()) - || moduleVariables.containsKey(ctx.IDENTIFIER().getText()) + || moduleVariables.containsKey(ctx.IDENTIFIER().getText()) ) { return super.visitForStatement(ctx); } @@ -189,7 +189,7 @@ public ParseTree visitForStatement(BSLParser.ForStatementContext ctx) { public ParseTree visitForEachStatement(BSLParser.ForEachStatementContext ctx) { if ( currentMethodVariables.containsKey(ctx.IDENTIFIER().getText()) - || moduleVariables.containsKey(ctx.IDENTIFIER().getText()) + || moduleVariables.containsKey(ctx.IDENTIFIER().getText()) ) { return super.visitForEachStatement(ctx); } @@ -208,16 +208,16 @@ private SourceDefinedSymbol getVariableScope(BSLParser.SubVarDeclarationContext } private SourceDefinedSymbol getVariableScope(BSLParser.SubContext ctx) { - BSLParserRuleContext subNameNode; - if (Trees.nodeContainsErrors(ctx)) { - return module; - } else if (ctx.function() != null) { - subNameNode = ctx.function().funcDeclaration().subName(); - } else { - subNameNode = ctx.procedure().procDeclaration().subName(); - } + BSLParserRuleContext subNameNode; + if (Trees.nodeContainsErrors(ctx)) { + return module; + } else if (ctx.function() != null) { + subNameNode = ctx.function().funcDeclaration().subName(); + } else { + subNameNode = ctx.procedure().procDeclaration().subName(); + } - return methods.getOrDefault(Ranges.create(subNameNode), module); + return methods.getOrDefault(Ranges.create(subNameNode), module); } private Optional createDescription(BSLParser.LValueContext ctx) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java index 550c3be7953..2629aa2a751 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java @@ -159,7 +159,7 @@ private Optional checkElseIfClauseExitingNode(ConditionalV var expression = v.getExpression(); if (expression.getParent() instanceof BSLParser.ElsifBranchContext && !ignoreMissingElseOnExit) { - return Optional.of((BSLParser.ElsifBranchContext) expression.getParent()); + return Optional.of(expression.getParent()); } return Optional.empty(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java index 0a40ebb529a..450737e218e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/BadWordsDiagnostic.java @@ -51,7 +51,7 @@ public class BadWordsDiagnostic extends AbstractDiagnostic { ) private Pattern badWords = CaseInsensitivePattern.compile(BAD_WORDS_DEFAULT); - @Override + @Override public void configure(Map configuration) { this.badWords = CaseInsensitivePattern.compile( (String) configuration.getOrDefault("badWords", BAD_WORDS_DEFAULT)); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java index 20a8e07f331..9499e9adf84 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/CodeAfterAsyncCallDiagnostic.java @@ -97,7 +97,7 @@ private static boolean checkNextBlocks(BSLParser.StatementContext statement) { final var returnAfterAsync = compoundCtx .map(BSLParser.CompoundStatementContext::returnStatement) .isPresent(); - if (returnAfterAsync){ + if (returnAfterAsync) { return false; } final var breakAfterAsync = compoundCtx diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicatedInsertionIntoCollectionDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicatedInsertionIntoCollectionDiagnostic.java index 12f37bfcc85..ecbde8d6eb1 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicatedInsertionIntoCollectionDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/DuplicatedInsertionIntoCollectionDiagnostic.java @@ -106,7 +106,7 @@ private static class GroupingData { public void configure(Map configuration) { super.configure(configuration); - if (!isAllowedMethodADD){ + if (!isAllowedMethodADD) { methodPattern = INSERT_METHOD_PATTERN; } } @@ -153,7 +153,7 @@ GroupingData groupingCalls(BSLParser.CallStatementContext callStatement, BSLPars } final TerminalNode identifierContext; final String parens; - if (callStatement.IDENTIFIER() != null){ + if (callStatement.IDENTIFIER() != null) { identifierContext = callStatement.IDENTIFIER(); parens = ""; } else { @@ -257,8 +257,8 @@ private boolean usedIdentifiers(String expression, GroupingData groupingData) { } return getAllInnerIdentifiersWithDot(groupingData.firstParamContext).stream() .anyMatch(identifierWithDot -> - startWithIgnoreCase(identifierWithDot, expressionWithDot) - || startWithIgnoreCase(expressionWithDot, identifierWithDot) + startWithIgnoreCase(identifierWithDot, expressionWithDot) + || startWithIgnoreCase(expressionWithDot, identifierWithDot) ); } 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 118947e1cee..a77f938cc46 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 @@ -73,7 +73,7 @@ public class IdenticalExpressionsDiagnostic extends AbstractVisitorDiagnostic { ) private Set popularDivisors = parseCommaSeparatedSet(POPULAR_DIVISORS_DEFAULT_VALUE); private final FormatProvider formatProvider; - + private static Set parseCommaSeparatedSet(String values) { if (values.trim().isEmpty()) { return Collections.emptySet(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectLineBreakDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectLineBreakDiagnostic.java index 57a68257470..17a386db41f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectLineBreakDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectLineBreakDiagnostic.java @@ -104,7 +104,7 @@ protected void check() { findCommentStarts(); findQueryFirstLines(); - if (checkFirstSymbol){ + if (checkFirstSymbol) { checkContent(listOfIncorrectFirstSymbol); } if (checkLastSymbol) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectUseOfStrTemplateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectUseOfStrTemplateDiagnostic.java index 9c31b6db066..296fb992afd 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectUseOfStrTemplateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/IncorrectUseOfStrTemplateDiagnostic.java @@ -145,7 +145,7 @@ private static Optional getConstValue(Optional calcStringForMemberContext(memberContext, isFullSearch)); } - private static Optional calcStringForMemberContext(BSLParser.MemberContext memberContext, + private static Optional calcStringForMemberContext(BSLParser.MemberContext memberContext, boolean isFullSearch) { final var constValue = memberContext.constValue(); if (constValue != null) { @@ -161,8 +161,8 @@ private static Optional calcStringForMemberContext( } private static Optional calcAssignedValueForIdentifier( - BSLParser.ComplexIdentifierContext complexIdentifier) { - + BSLParser.ComplexIdentifierContext complexIdentifier) { + final var identifier = complexIdentifier.IDENTIFIER(); if (identifier == null) { return Optional.empty(); @@ -172,9 +172,9 @@ private static Optional calcAssignedValueForIdentif var prevStatement = (BSLParser.StatementContext) Objects.requireNonNull(Trees.getRootParent(complexIdentifier, BSLParser.RULE_statement)); while (true) { - prevStatement = (BSLParser.StatementContext) getPreviousNode(Objects.requireNonNull(prevStatement), + prevStatement = (BSLParser.StatementContext) getPreviousNode(Objects.requireNonNull(prevStatement), BSLParser.RULE_statement); - + if (prevStatement == null) { break; } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicDateDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicDateDiagnostic.java index ab216658a53..4da36ee0644 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicDateDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MagicDateDiagnostic.java @@ -105,11 +105,11 @@ public ParseTree visitConstValue(BSLParser.ConstValueContext ctx) { return ctx; } - private void checkExclAddDiagnostic(BSLParserRuleContext ctx){ + private void checkExclAddDiagnostic(BSLParserRuleContext ctx) { String checked = ctx.getText(); if (checked != null && !isExcluded(checked)) { ParserRuleContext expression; - if (ctx instanceof BSLParser.CallParamListContext){ + if (ctx instanceof BSLParser.CallParamListContext) { expression = ctx.getParent().getParent().getParent().getParent().getParent(); } else { expression = ctx.getParent().getParent(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCommonModuleMethodDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCommonModuleMethodDiagnostic.java index c4822681212..b1ca062daef 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCommonModuleMethodDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/MissingCommonModuleMethodDiagnostic.java @@ -65,7 +65,7 @@ private static String getMethodNameByLocation(BSLParserRuleContext node, Range r @Override protected void check() { - if (documentContext.getServerContext().getConfiguration().getConfigurationSource() == ConfigurationSource.EMPTY){ + if (documentContext.getServerContext().getConfiguration().getConfigurationSource() == ConfigurationSource.EMPTY) { return; } locationRepository.getSymbolOccurrencesByLocationUri(documentContext.getUri()) @@ -87,7 +87,7 @@ private Optional getReferenceToMethodCall(SymbolOccurrence symbolOccur // т.к. через refIndex.getReferences нельзя получить приватные методы, приходится обходить символы модуля final var methodSymbol = document .getSymbolTree().getMethodSymbol(symbol.getSymbolName()); - if (methodSymbol.isEmpty()){ + if (methodSymbol.isEmpty()) { final var location = symbolOccurrence.getLocation(); // Нельзя использовать symbol.getSymbolName(), т.к. имя в нижнем регистре return Optional.of( @@ -96,7 +96,7 @@ private Optional getReferenceToMethodCall(SymbolOccurrence symbolOccur location.getRange(), false, false)); } // вызовы приватных методов внутри самого модуля пропускаем - if (document.getUri().equals(documentContext.getUri())){ + if (document.getUri().equals(documentContext.getUri())) { return Optional.empty(); } return methodSymbol @@ -108,7 +108,7 @@ private Optional getReferenceToMethodCall(SymbolOccurrence symbolOccur private void fireIssue(CallData callData) { final String message; - if (!callData.exists){ + if (!callData.exists) { message = info.getMessage(callData.methodName, callData.moduleName); } else { message = info.getResourceString(PRIVATE_METHOD_MESSAGE, callData.methodName, callData.moduleName); 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 7ba1565e992..dc1bca9c282 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 @@ -195,7 +195,7 @@ private static String getFullMethodName(BSLParser.AccessCallContext ctx) { var callStatement = (BSLParser.CallStatementContext) parent; - modifiers =callStatement.modifier(); + modifiers = callStatement.modifier(); if (callStatement.globalMethodCall() != null) { prefix = callStatement.globalMethodCall().methodName().IDENTIFIER().getText(); } else { 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 a86eef0b26b..f8704f49cf8 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 @@ -91,7 +91,7 @@ private static Map dataSourcesWithTabularSection(SDBLParser.Que private static Stream findAllDataSourceWithoutInnerQueries( SDBLParser.QueryContext ctx) { - if (ctx.from == null){ + if (ctx.from == null) { return Stream.empty(); } return Stream.concat( @@ -107,13 +107,13 @@ private static String getTableNameOrAlias(SDBLParser.DataSourceContext dataSourc final var value = Optional.of(dataSource); return value .map(SDBLParser.DataSourceContext::alias) - .map(alias -> (ParseTree)alias.name) + .map(alias -> (ParseTree) alias.name) .or(() -> value .map(SDBLParser.DataSourceContext::table) - .map(tableContext -> (ParseTree)tableContext.tableName)) + .map(tableContext -> (ParseTree) tableContext.tableName)) .or(() -> value .map(SDBLParser.DataSourceContext::parameterTable) - .map(tableContext -> (ParseTree)tableContext.parameter())) + .map(tableContext -> (ParseTree) tableContext.parameter())) .map(ParseTree::getText) .orElse(""); } @@ -163,7 +163,7 @@ private boolean isOveruse(SDBLParser.ColumnContext ctx) { String penultimateIdentifierName = penultimateChild.getText(); if (REF_PATTERN.matcher(penultimateIdentifierName).matches()) { - if (childCount < COUNT_OF_TABLE_DOT_REF_DOT_REF){ + if (childCount < COUNT_OF_TABLE_DOT_REF_DOT_REF) { return true; } var prevChildID = ctx.getChild(childCount - COUNT_OF_TABLE_DOT_REF_DOT_REF).getText(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsageWriteLogEventDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsageWriteLogEventDiagnostic.java index febfa639257..98d9c5d438e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsageWriteLogEventDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/UsageWriteLogEventDiagnostic.java @@ -93,7 +93,7 @@ public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext context private void checkParams(BSLParser.GlobalMethodCallContext context) { final var callParams = context.doCall().callParamList().callParam(); - if (!checkFirstParams(context, callParams)){ + if (!checkFirstParams(context, callParams)) { return; } 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 540b515d5f4..38b3d126d9a 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 @@ -69,7 +69,7 @@ public ParseTree visitSub(BSLParser.SubContext ctx) { Trees.findAllRuleNodes(ctx, BSLParser.RULE_assignment).stream() .filter( node -> cancelPattern.matcher(((BSLParser.AssignmentContext) node).lValue() - .getText()) + .getText()) .matches() ) .map(BSLParserRuleContext.class::cast) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index d58e29a91c9..0d306e5e98e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2022 + * Copyright (c) 2018-2023 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java index 1ffbd75354e..ec9fa704ec7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/ReferenceIndexFiller.java @@ -150,7 +150,7 @@ public BSLParserRuleContext visitGlobalMethodCall(BSLParser.GlobalMethodCallCont public BSLParserRuleContext visitNewExpression(BSLParser.NewExpressionContext ctx) { if (NotifyDescription.isNotifyDescription(ctx)) { final var doCallContext = ctx.doCall(); - if (doCallContext == null){ + if (doCallContext == null) { return super.visitNewExpression(ctx); } var callParamList = doCallContext.callParamList().callParam(); @@ -178,7 +178,7 @@ public BSLParserRuleContext visitNewExpression(BSLParser.NewExpressionContext ct @Override public BSLParserRuleContext visitLValue(BSLParser.LValueContext ctx) { final var identifier = ctx.IDENTIFIER(); - if (identifier != null){ + if (identifier != null) { final List modifiers = Optional.ofNullable(ctx.acceptor()) .map(BSLParser.AcceptorContext::modifier) .orElseGet(Collections::emptyList); @@ -196,7 +196,7 @@ private void checkCall(String mdoRef, Token methodName) { Map modules = configuration.getModulesByMDORef(mdoRef); for (ModuleType moduleType : modules.keySet()) { if (!DEFAULT_MODULE_TYPES.contains(moduleType) - || (moduleType == ModuleType.CommonModule && commonModuleMdoRefFromSubParams.contains(mdoRef))) { + || (moduleType == ModuleType.CommonModule && commonModuleMdoRefFromSubParams.contains(mdoRef))) { continue; } addMethodCall(mdoRef, moduleType, methodNameText, Ranges.create(methodName)); @@ -209,7 +209,7 @@ private void addMethodCall(String mdoRef, ModuleType moduleType, String methodNa private void addCallbackMethodCall(BSLParser.CallParamContext methodName, String mdoRef) { // todo: move this out of method - if (mdoRef.isEmpty()){ + if (mdoRef.isEmpty()) { return; } Methods.getMethodName(methodName).ifPresent((Token methodNameToken) -> { @@ -231,7 +231,7 @@ private String getModule(BSLParser.CallParamContext callParamContext) { .map(BSLParser.MemberContext::complexIdentifier) .filter(complexIdentifierContext -> complexIdentifierContext.IDENTIFIER() != null) .filter(complexIdentifierContext -> complexIdentifierContext.modifier().isEmpty()); - if (complexIdentifierContext1.isEmpty()){ + if (complexIdentifierContext1.isEmpty()) { return ""; } return complexIdentifierContext1 diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Location.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Location.java index 3329ec3c49f..08b522e278f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Location.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Location.java @@ -72,7 +72,7 @@ public Location(URI uri, Range range) { endCharacter = end.getCharacter(); } - + public Range getRange() { return Ranges.create(startLine, startCharacter, endLine, endCharacter); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java index 1e1fb622dcf..e5120da2def 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/Symbol.java @@ -27,7 +27,6 @@ import lombok.Builder; import lombok.Value; import org.eclipse.lsp4j.SymbolKind; -import org.jetbrains.annotations.NotNull; /** * Облегченные данные символа для поиска без кросс-ссылок между файлами. diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/SymbolOccurrence.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/SymbolOccurrence.java index b8e3fce3ab1..0361bb518db 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/SymbolOccurrence.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/model/SymbolOccurrence.java @@ -55,15 +55,15 @@ public int compareTo(SymbolOccurrence o) { return 0; } final var uriCompare = location.getUri().compareTo(o.location.getUri()); - if (uriCompare != 0){ + if (uriCompare != 0) { return uriCompare; } final var rangesCompare = Ranges.compare(location.getRange(), o.location.getRange()); - if (rangesCompare != 0){ + if (rangesCompare != 0) { return rangesCompare; } final var occurenceCompare = occurrenceType.compareTo(o.occurrenceType); - if (occurenceCompare != 0){ + if (occurenceCompare != 0) { return occurenceCompare; } return symbol.compareTo(o.symbol); diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Modules.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Modules.java index 705c0c91225..5c4f3b6390c 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Modules.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Modules.java @@ -36,7 +36,7 @@ public class Modules { public static boolean isThisObject(BSLParser.ComplexIdentifierContext complexIdentifier) { final var identifier = complexIdentifier.IDENTIFIER(); - if (identifier == null){ + if (identifier == null) { return false; } return THIS_OBJECT_PATTERN.matcher(identifier.getText()).matches(); 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 index 58241c3e033..0a52cd4da53 100644 --- 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 @@ -155,11 +155,11 @@ public boolean containsPosition(Range range, Position position) { * @return 0 - равно, 1 - больше, -1 - меньше */ public int compare(Range o1, Range o2) { - if (o1.equals(o2)){ + if (o1.equals(o2)) { return 0; } final var startCompare = compare(o1.getStart(), o2.getStart()); - if (startCompare != 0){ + if (startCompare != 0) { return startCompare; } return compare(o1.getEnd(), o2.getEnd()); @@ -173,7 +173,7 @@ public int compare(Range o1, Range o2) { * @return 0 - равно, 1 - больше, -1 - меньше */ public int compare(Position pos1, Position pos2) { - if (pos1.equals(pos2)){ + if (pos1.equals(pos2)) { return 0; } 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 index d2be1702498..ab72a0f5a5e 100644 --- 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 @@ -419,7 +419,7 @@ public static boolean nodeContains(ParseTree t, ParseTree exclude, Integer... in /** * Получение ноды в дереве по позиции в документе. * - * @param tree - дерево, в котором ищем + * @param tree - дерево, в котором ищем * @param position - искомая позиция * @return терминальная нода на указанной позиции, если есть */ diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/BslExpression.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/BslExpression.java index e7500ce359e..959e3c78d83 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/BslExpression.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/BslExpression.java @@ -38,11 +38,12 @@ public abstract class BslExpression { /** * Синтаксический-помощник для более удобных downcast-ов + * * @param тип, к которому надо привести данный узел * @return значение заданного типа */ @SuppressWarnings("unchecked") public T cast() { - return (T)this; + return (T) this; } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ConstructorCallNode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ConstructorCallNode.java index 6d6a864ad7f..878f53404b9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ConstructorCallNode.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ConstructorCallNode.java @@ -45,6 +45,7 @@ public boolean isStaticallyTyped() { /** * Конструирование статического вызова конструктора + * * @param typeName терминальный символ имени типа * @return ветка конструктора */ @@ -54,6 +55,7 @@ public static ConstructorCallNode createStatic(TerminalSymbolNode typeName) { /** * Конструирование вызова конструктора в функциональном стиле + * * @param typeNameExpression подвыражение с именем типа * @return ветка конструктора */ diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionParseTreeRewriter.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionParseTreeRewriter.java index 06ed47d2b19..c212021670a 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionParseTreeRewriter.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionParseTreeRewriter.java @@ -29,7 +29,7 @@ */ public final class ExpressionParseTreeRewriter { - private ExpressionParseTreeRewriter(){ + private ExpressionParseTreeRewriter() { } /** diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionTreeBuildingVisitor.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionTreeBuildingVisitor.java index 6bdeeb7eb50..7db94918128 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionTreeBuildingVisitor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/ExpressionTreeBuildingVisitor.java @@ -20,6 +20,7 @@ * License along with BSL Language Server. */ package com.github._1c_syntax.bsl.languageserver.utils.expressiontree; + import com.github._1c_syntax.bsl.parser.BSLLexer; 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/utils/expressiontree/TernaryOperatorNode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/TernaryOperatorNode.java index 8377e73b609..c48d7045be3 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/TernaryOperatorNode.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/TernaryOperatorNode.java @@ -37,7 +37,7 @@ public class TernaryOperatorNode extends BslExpression { BslExpression truePart; BslExpression falsePart; - protected TernaryOperatorNode(BslExpression condition, BslExpression truePart, BslExpression falsePart) { + private TernaryOperatorNode(BslExpression condition, BslExpression truePart, BslExpression falsePart) { super(ExpressionNodeType.TERNARY_OP); this.condition = condition; this.truePart = truePart; diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/UnaryOperationNode.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/UnaryOperationNode.java index 8f64cb2388f..01baa2fb54f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/UnaryOperationNode.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/expressiontree/UnaryOperationNode.java @@ -40,9 +40,11 @@ private UnaryOperationNode(BslOperator operator, BslExpression operand, ParseTre this.operand = operand; } - /** Конструирует унарную операцию - * @param operator оператор - * @param expression аргумент операции + /** + * Конструирует унарную операцию + * + * @param operator оператор + * @param expression аргумент операции * @param operationContext строковое представление оператора, * как он указан в коде с учетом регистра и языка. * Используется в диагностических сообщениях. diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java index 98b5db37131..9c762d1852a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2022 + * Copyright (c) 2018-2023 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later From c12af1db21dd84ba2540bda2c8f5a3f912637fab Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Fri, 28 Jul 2023 21:03:20 +0300 Subject: [PATCH 11/18] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D0=BB=D1=83=D1=88?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=BD=D0=B5=D0=BE=D0=B6=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hover/VariableSymbolMarkupContentBuilder.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java index 3d25bc13c90..9d3a6f373df 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java @@ -69,7 +69,9 @@ public MarkupContent getContent(VariableSymbol symbol) { .map(VariableDescription::getPurposeDescription) .ifPresent(trailingDescription -> addSectionIfNotEmpty(markupBuilder, trailingDescription)); - addSectionIfNotEmpty(markupBuilder, symbol.getType()); + if (symbol.getType() != null) { + addSectionIfNotEmpty(markupBuilder, symbol.getType()); + } String content = markupBuilder.toString(); From 5e337603d81896b3e27f940325f0a5f43a0d5d3e Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Fri, 28 Jul 2023 21:03:46 +0300 Subject: [PATCH 12/18] =?UTF-8?q?=D0=BD=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=8E?= =?UTF-8?q?=20=D1=87=D1=82=D0=BE=20=D1=8D=D1=82=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsl/languageserver/references/OscriptReferenceFinder.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index 0d306e5e98e..2dd81516274 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -48,7 +48,9 @@ public class OscriptReferenceFinder implements ReferenceFinder { public Optional findReference(URI uri, Position position) { DocumentContext document = serverContext.getDocument(uri); - if (document == null || document.isComputedDataFrozen()) { + if (document == null +// || document.isComputedDataFrozen() + ) { return Optional.empty(); } From 7992f30296399c4e5a455ff5a701a9f929cf9d3d Mon Sep 17 00:00:00 2001 From: theshadowco Date: Tue, 26 Dec 2023 15:02:24 +0300 Subject: [PATCH 13/18] =?UTF-8?q?rebase=20=D0=B8=20=D0=B2=D0=BE=D1=81?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BE=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BA=D0=BE=D1=81=D1=82=D1=8B?= =?UTF-8?q?=D0=BB=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DisableDiagnosticTriggeringSupplier.java | 20 +++++++-------- .../context/DocumentContext.java | 6 ++--- .../context/computer/ModuleTypeComputer.java | 2 +- .../symbol/AbstractVariableSymbol.java | 3 +++ ...lFunctionPathMustHaveReturnDiagnostic.java | 25 ++++++++----------- .../references/OscriptReferenceFinder.java | 11 ++++---- 6 files changed, 32 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java index e7a3c3b1d67..9215bc6950f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/codeactions/DisableDiagnosticTriggeringSupplier.java @@ -46,7 +46,6 @@ import static com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider.SOURCE; - @Component public class DisableDiagnosticTriggeringSupplier implements CodeActionSupplier { @@ -83,7 +82,7 @@ public List getCodeActions(CodeActionParams params, DocumentContext .stream() .filter(token -> token.getLine() == selectedLineNumber) .max(Comparator.comparingInt(Token::getCharPositionInLine)) - .ifPresent(token -> { + .ifPresent((Token token) -> { if (params.getRange().getStart().getLine() == params.getRange().getEnd().getLine()) { result.addAll(getDisableActionForLine(params, documentContext, token)); } else { @@ -176,13 +175,13 @@ private List actionDisableDiagnostic(Function fu private List createInRegionTextEdits(String diagnosticName, Token last, CodeActionParams params) { List edits = new ArrayList<>(); - Range disableRange = Ranges.create( + var disableRange = Ranges.create( params.getRange().getStart().getLine(), 0, params.getRange().getStart().getLine(), 0 ); - TextEdit disableTextEdit = new TextEdit(disableRange, String.format("// BSLLS%s-off%n", diagnosticName)); + var disableTextEdit = new TextEdit(disableRange, String.format("// BSLLS%s-off%n", diagnosticName)); edits.add(disableTextEdit); Range enableRange = Ranges.create( @@ -191,13 +190,13 @@ private List createInRegionTextEdits(String diagnosticName, Token last params.getRange().getEnd().getLine(), last.getCharPositionInLine() + last.getText().length() ); - TextEdit enableTextEdit = new TextEdit(enableRange, String.format("%n// BSLLS%s-on%n", diagnosticName)); + var enableTextEdit = new TextEdit(enableRange, String.format("%n// BSLLS%s-on%n", diagnosticName)); edits.add(enableTextEdit); return edits; } private List createInFileTextEdits(String diagnosticName) { - TextEdit textEdit = new TextEdit( + var textEdit = new TextEdit( Ranges.create(0, 0, 0, 0), String.format("// BSLLS%s-off%n", diagnosticName) ); @@ -206,10 +205,10 @@ private List createInFileTextEdits(String diagnosticName) { private CodeAction createCodeAction(String title, List edits, DocumentContext documentContext) { Map> changes = Map.of(documentContext.getUri().toString(), edits); - WorkspaceEdit edit = new WorkspaceEdit(); + var edit = new WorkspaceEdit(); edit.setChanges(changes); - CodeAction codeAction = new CodeAction(title); + var codeAction = new CodeAction(title); codeAction.setDiagnostics(new ArrayList<>()); codeAction.setKind(CodeActionKind.Refactor); codeAction.setEdit(edit); @@ -225,15 +224,14 @@ private String getMessage(String key, Object... args) { } private static List createInLineTextEdits(String diagnosticName, Token last, CodeActionParams params) { - Range range = Ranges.create( + var range = Ranges.create( params.getRange().getStart().getLine(), last.getCharPositionInLine() + last.getText().length(), params.getRange().getStart().getLine(), last.getCharPositionInLine() + last.getText().length() ); - TextEdit textEdit = new TextEdit(range, String.format(" // BSLLS%s-off", diagnosticName)); + var textEdit = new TextEdit(range, String.format(" // BSLLS%s-off", diagnosticName)); return Collections.singletonList(textEdit); } - } 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/DocumentContext.java index 021407a71f3..d39afea3405 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/DocumentContext.java @@ -35,7 +35,6 @@ 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.mdo.MD; -import com.github._1c_syntax.bsl.mdo.Module; import com.github._1c_syntax.bsl.mdo.support.ScriptVariant; import com.github._1c_syntax.bsl.parser.BSLLexer; import com.github._1c_syntax.bsl.parser.BSLParser; @@ -72,7 +71,6 @@ import java.util.Optional; import java.util.concurrent.locks.ReentrantLock; import java.util.regex.Pattern; -import java.util.stream.Collectors; import static java.util.Objects.requireNonNull; import static org.antlr.v4.runtime.Token.DEFAULT_CHANNEL; @@ -161,13 +159,13 @@ public List getTokens() { } public List getTokensFromDefaultChannel() { - return getTokens().stream().filter(token -> token.getChannel() == DEFAULT_CHANNEL).collect(Collectors.toList()); + return getTokens().stream().filter(token -> token.getChannel() == DEFAULT_CHANNEL).toList(); } public List getComments() { return getTokens().stream() .filter(token -> token.getType() == BSLLexer.LINE_COMMENT) - .collect(Collectors.toList()); + .toList(); } public String getText(Range range) { diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index e9bca44bba7..4337c1174f7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -51,7 +51,7 @@ public ModuleType computeModuleType() { private ModuleType computeBSL() { var type = documentContext.getServerContext() - .getConfiguration().getModuleType(documentContext.getUri()); + .getConfiguration().getModuleTypeByURI(documentContext.getUri()); return ModuleType.valueOf(type.name()); } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/AbstractVariableSymbol.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/AbstractVariableSymbol.java index 5b840df1cfd..8d77e108113 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/AbstractVariableSymbol.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/symbol/AbstractVariableSymbol.java @@ -95,6 +95,9 @@ public abstract class AbstractVariableSymbol implements VariableSymbol { */ Optional description; + /** + * Тип переменной + */ String type; @Override diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java index 2629aa2a751..2e1c2f10273 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/diagnostics/AllFunctionPathMustHaveReturnDiagnostic.java @@ -114,7 +114,7 @@ private void checkAllPathsHaveReturns(BSLParser.FunctionContext ctx) { .map(graph::getEdgeSource) .map(vertex -> nonExplicitReturnNode(vertex, graph)) .flatMap(Optional::stream) - .collect(Collectors.toList()); + .toList(); if (incomingVertices.isEmpty()) { return; @@ -136,12 +136,12 @@ private void checkAllPathsHaveReturns(BSLParser.FunctionContext ctx) { } private Optional nonExplicitReturnNode(CfgVertex v, ControlFlowGraph graph) { - if (v instanceof BasicBlockVertex) { - return checkBasicBlockExitingNode((BasicBlockVertex) v); - } else if (v instanceof LoopVertex) { - return checkLoopExitingNode((LoopVertex) v); - } else if (v instanceof ConditionalVertex) { - return checkElseIfClauseExitingNode((ConditionalVertex) v, graph); + if (v instanceof BasicBlockVertex basicBlockVertex) { + return checkBasicBlockExitingNode(basicBlockVertex); + } else if (v instanceof LoopVertex loopVertex) { + return checkLoopExitingNode(loopVertex); + } else if (v instanceof ConditionalVertex conditionalVertex) { + return checkElseIfClauseExitingNode(conditionalVertex, graph); } return v.getAst(); @@ -178,22 +178,19 @@ private Optional checkBasicBlockExitingNode(BasicBlockVert } private Optional checkLoopExitingNode(LoopVertex v) { - if (v instanceof WhileLoopVertex) { - var whileLoop = (WhileLoopVertex) v; - if (isEndlessLoop(whileLoop)) { - return Optional.empty(); - } + if (v instanceof WhileLoopVertex whileLoop && isEndlessLoop(whileLoop)) { + return Optional.empty(); } if (loopsExecutedAtLeastOnce) { - // из цикла в exit может придти только falseBranch или пустое тело цикла + // из цикла в exit может прийти только falseBranch или пустое тело цикла // и то и другое не нужно нам в рамках диагностики return Optional.empty(); } return v.getAst(); } - private boolean isEndlessLoop(WhileLoopVertex whileLoop) { + private static boolean isEndlessLoop(WhileLoopVertex whileLoop) { var expression = whileLoop.getExpression(); return expression.getChildCount() == 1 && expression.member(0).constValue() != null diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index 2dd81516274..50082e2ba85 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -48,12 +48,15 @@ public class OscriptReferenceFinder implements ReferenceFinder { public Optional findReference(URI uri, Position position) { DocumentContext document = serverContext.getDocument(uri); - if (document == null -// || document.isComputedDataFrozen() - ) { + if (document == null) { return Optional.empty(); } + if(document.isComputedDataFrozen()) { + document.unfreezeComputedData(); + serverContext.rebuildDocument(document); + } + var node = SelectionRangeProvider.findNodeContainsPosition(document.getAst(), position); if (node.isEmpty()) { @@ -86,7 +89,5 @@ private boolean filterByType(Optional node, ModuleType moduleType) return (node.get().getParent() instanceof BSLParser.ComplexIdentifierContext) && moduleType == ModuleType.OScriptModule; } - } - } From fee008e21c2e68d2d5629c0873c9e3c11ac35cb8 Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Tue, 26 Dec 2023 22:20:16 +0100 Subject: [PATCH 14/18] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=B0=D1=82=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D1=80=D0=B5=D0=B1=D0=B5=D0=B9?= =?UTF-8?q?=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../languageserver/BSLWorkspaceService.java | 6 +- .../providers/SelectionRangeProvider.java | 55 ------------------- 2 files changed, 4 insertions(+), 57 deletions(-) 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 index 9cdddd9167f..f2d8da49222 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLWorkspaceService.java @@ -60,9 +60,11 @@ private void onDestroy() { } @Override - @SuppressWarnings("deprecation") public CompletableFuture, List>> symbol(WorkspaceSymbolParams params) { - return CompletableFuture.supplyAsync(() -> Either.forRight(symbolProvider.getSymbols(params))); + return CompletableFuture.supplyAsync( + () -> Either.forRight(symbolProvider.getSymbols(params)), + executorService + ); } @Override diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java index fc6d6e0cb68..604c3d85048 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/SelectionRangeProvider.java @@ -28,14 +28,9 @@ import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import edu.umd.cs.findbugs.annotations.Nullable; 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 org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.SelectionRange; import org.eclipse.lsp4j.SelectionRangeParams; -import org.eclipse.lsp4j.util.Positions; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -215,54 +210,4 @@ private static boolean ifBranchMatchesIfStatement(BSLParserRuleContext ctx) { return ifStatement.elseBranch() == null && ifStatement.elsifBranch().isEmpty(); } - public static Optional findNodeContainsPosition(BSLParserRuleContext tree, Position position) { - - if (tree.getTokens().isEmpty()) { - return Optional.empty(); - } - - var start = tree.getStart(); - var stop = tree.getStop(); - - if (!(positionIsAfterOrOnToken(position, start) && positionIsBeforeOrOnToken(position, stop))) { - return Optional.empty(); - } - - var children = Trees.getChildren(tree); - - for (Tree child : children) { - if (child instanceof TerminalNode) { - var terminalNode = (TerminalNode) child; - var token = terminalNode.getSymbol(); - if (tokenContainsPosition(token, position)) { - return Optional.of(terminalNode); - } - } else { - Optional node = findNodeContainsPosition((BSLParserRuleContext) child, position); - if (node.isPresent()) { - return node; - } - } - } - - return Optional.empty(); - } - - private static boolean tokenContainsPosition(Token token, Position position) { - var tokenRange = Ranges.create(token); - return Ranges.containsPosition(tokenRange, position); - } - - private static boolean positionIsBeforeOrOnToken(Position position, Token token) { - var tokenRange = Ranges.create(token); - var end = tokenRange.getEnd(); - return Positions.isBefore(position, end) || end.equals(position); - } - - private static boolean positionIsAfterOrOnToken(Position position, Token token) { - var tokenRange = Ranges.create(token); - var start = tokenRange.getStart(); - return Positions.isBefore(start, position) || start.equals(position); - } - } From fdff4f1350187b38e9a56653c31ec2d50951709f Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Tue, 26 Dec 2023 22:34:06 +0100 Subject: [PATCH 15/18] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BA=D1=83=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=8B=20=D1=81=20DocumentState=20=D0=B2=20=D0=BF=D1=83=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=87=D0=BD=D1=8B=D0=B9=20=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D1=84=D0=B5=D0=B9=D1=81,=20=D1=80=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=20=D1=80=D0=B5=D1=84?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BD=D1=81=20=D1=84=D0=B0=D0=B9=D0=BD=D0=B4?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=20=D0=BE=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82?= =?UTF-8?q?=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../languageserver/context/DocumentState.java | 15 ++++++++++ .../languageserver/context/ServerContext.java | 30 +++++++------------ .../computer/VariableSymbolComputer.java | 8 ++--- .../providers/ReferencesProvider.java | 3 +- .../references/OscriptReferenceFinder.java | 18 +++++------ .../providers/ReferencesProviderTest.java | 8 ++--- 6 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java new file mode 100644 index 00000000000..a62f7d4acd8 --- /dev/null +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java @@ -0,0 +1,15 @@ +package com.github._1c_syntax.bsl.languageserver.context; + +/** + * Состояние документа в контексте. + */ +public enum DocumentState { + /** + * В документе отсутствует контент или он был очищен. + */ + WITHOUT_CONTENT, + /** + * В документе присутствует контент. + */ + WITH_CONTENT +} 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/ServerContext.java index dd273945d79..eb899bd9bed 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/ServerContext.java @@ -73,7 +73,7 @@ public class ServerContext { = Collections.synchronizedMap(new HashMap<>()); private final ReadWriteLock contextLock = new ReentrantReadWriteLock(); - private final Map states = new ConcurrentHashMap<>(); + private final Map states = new ConcurrentHashMap<>(); private final Set openedDocuments = ConcurrentHashMap.newKeySet(); public void populateContext() { @@ -214,12 +214,12 @@ public void openDocument(DocumentContext documentContext, String content, Intege * @param documentContext документ, который необходимо перестроить. */ public void rebuildDocument(DocumentContext documentContext) { - if (states.get(documentContext) == State.WITH_CONTENT) { + if (states.get(documentContext) == DocumentState.WITH_CONTENT) { return; } documentContext.rebuild(); - states.put(documentContext, State.WITH_CONTENT); + states.put(documentContext, DocumentState.WITH_CONTENT); } /** @@ -231,7 +231,11 @@ public void rebuildDocument(DocumentContext documentContext) { */ public void rebuildDocument(DocumentContext documentContext, String content, Integer version) { documentContext.rebuild(content, version); - states.put(documentContext, State.WITH_CONTENT); + states.put(documentContext, DocumentState.WITH_CONTENT); + } + + public DocumentState getDocumentState(DocumentContext documentContext) { + return states.get(documentContext); } /** @@ -244,7 +248,7 @@ public void tryClearDocument(DocumentContext documentContext) { return; } - states.put(documentContext, State.WITHOUT_CONTENT); + states.put(documentContext, DocumentState.WITHOUT_CONTENT); documentContext.clearSecondaryData(); } @@ -255,7 +259,7 @@ public void tryClearDocument(DocumentContext documentContext) { */ public void closeDocument(DocumentContext documentContext) { openedDocuments.remove(documentContext); - states.put(documentContext, State.WITHOUT_CONTENT); + states.put(documentContext, DocumentState.WITHOUT_CONTENT); documentContext.clearSecondaryData(); } @@ -332,18 +336,4 @@ private String getMessage(String key) { return Resources.getResourceString(languageServerConfiguration.getLanguage(), getClass(), key); } - /** - * Состояние документа в контексте. - */ - private enum State { - /** - * В документе отсутствует контент или он был очищен. - */ - WITHOUT_CONTENT, - /** - * В документе присутствует контент. - */ - WITH_CONTENT - } - } 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 f2102ef617e..7f2bf8e46e9 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,7 @@ 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.bsl.Constructors; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor; import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; @@ -282,11 +283,8 @@ private void updateVariablesCache(TerminalNode node, Optional getReferences(DocumentContext documentContext, ReferencePa .map(referenceIndex::getReferencesTo) .flatMap(Collection::stream) .map(Reference::toLocation) - .collect(Collectors.toList()); + .toList(); } } diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index 50082e2ba85..62b0c4d1fa5 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -21,12 +21,12 @@ */ package com.github._1c_syntax.bsl.languageserver.references; -import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; +import com.github._1c_syntax.bsl.languageserver.context.DocumentState; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.providers.SelectionRangeProvider; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; +import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; import com.github._1c_syntax.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; @@ -37,7 +37,6 @@ import java.net.URI; import java.util.Optional; - @Component @RequiredArgsConstructor public class OscriptReferenceFinder implements ReferenceFinder { @@ -47,17 +46,16 @@ public class OscriptReferenceFinder implements ReferenceFinder { @Override public Optional findReference(URI uri, Position position) { - DocumentContext document = serverContext.getDocument(uri); + var document = serverContext.getDocument(uri); if (document == null) { return Optional.empty(); } - - if(document.isComputedDataFrozen()) { - document.unfreezeComputedData(); - serverContext.rebuildDocument(document); + var documentState = serverContext.getDocumentState(document); + if (documentState == DocumentState.WITHOUT_CONTENT) { + return Optional.empty(); } - var node = SelectionRangeProvider.findNodeContainsPosition(document.getAst(), position); + var node = Trees.findTerminalNodeContainsPosition(document.getAst(), position); if (node.isEmpty()) { return Optional.empty(); @@ -65,7 +63,7 @@ public Optional findReference(URI uri, Position position) { return serverContext.getDocuments().values().stream() .filter(documentContext -> documentContext.getTypeName().equals(node.get().getText())) - .filter(d -> filterByType(node, d.getModuleType())) + .filter(documentContext -> filterByType(node, documentContext.getModuleType())) .map(documentContext -> new Reference( documentContext.getSymbolTree().getModule(), documentContext.getSymbolTree().getModule(), diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java index 84d93ebb31e..7f4160593fe 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/providers/ReferencesProviderTest.java @@ -22,14 +22,14 @@ package com.github._1c_syntax.bsl.languageserver.providers; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; -import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass; +import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterEachTestMethod; import com.github._1c_syntax.bsl.languageserver.util.TestUtils; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.types.ModuleType; -import jakarta.annotation.PostConstruct; import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.ReferenceParams; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -40,7 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest -@CleanupContextBeforeClassAndAfterClass +@CleanupContextBeforeClassAndAfterEachTestMethod class ReferencesProviderTest { @Autowired @@ -51,7 +51,7 @@ class ReferencesProviderTest { private static final String PATH_TO_FILE = "./src/test/resources/providers/references.bsl"; - @PostConstruct + @BeforeEach void prepareServerContext() { serverContext.setConfigurationRoot(Paths.get(PATH_TO_METADATA)); serverContext.populateContext(); From d69dde69d0d34b168cfcb6c4fa57e864b2b173f6 Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Tue, 26 Dec 2023 22:56:56 +0100 Subject: [PATCH 16/18] TODO + License --- .../languageserver/context/DocumentState.java | 21 +++++++++++++++++++ .../VariableSymbolMarkupContentBuilder.java | 1 + 2 files changed, 22 insertions(+) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java index a62f7d4acd8..9e9f73d8f7e 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java @@ -1,3 +1,24 @@ +/* + * This file is a part of BSL Language Server. + * + * Copyright (c) 2018-2023 + * Alexey Sosnoviy , Nikita Fedkin 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; /** diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java index 9d3a6f373df..63cac4b4f12 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java @@ -69,6 +69,7 @@ public MarkupContent getContent(VariableSymbol symbol) { .map(VariableDescription::getPurposeDescription) .ifPresent(trailingDescription -> addSectionIfNotEmpty(markupBuilder, trailingDescription)); + // todo: Разобраться, почему здесь может быть null. if (symbol.getType() != null) { addSectionIfNotEmpty(markupBuilder, symbol.getType()); } From 863d672456f46bc23218d4a166d713599d721a6d Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Wed, 3 Jan 2024 21:24:22 +0100 Subject: [PATCH 17/18] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=81=D0=BE=D1=81=D1=82=D0=B0=D0=B2=20=D1=80=D0=B5?= =?UTF-8?q?=D1=84=D0=B5=D1=80=D0=B5=D0=BD=D1=81=D0=B0=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=D0=B9=20=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=D0=BE=D0=B2=20=D0=BE=D1=81=D0=BA=D1=80?= =?UTF-8?q?=D0=B8=D0=BF=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../references/OscriptReferenceFinder.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index 62b0c4d1fa5..fe7599ae564 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -23,11 +23,13 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentState; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; +import com.github._1c_syntax.bsl.languageserver.context.symbol.SourceDefinedSymbol; import com.github._1c_syntax.bsl.languageserver.references.model.OccurrenceType; import com.github._1c_syntax.bsl.languageserver.references.model.Reference; import com.github._1c_syntax.bsl.languageserver.utils.Ranges; import com.github._1c_syntax.bsl.languageserver.utils.Trees; import com.github._1c_syntax.bsl.parser.BSLParser; +import com.github._1c_syntax.bsl.parser.BSLParserRuleContext; import com.github._1c_syntax.bsl.types.ModuleType; import lombok.RequiredArgsConstructor; import org.antlr.v4.runtime.tree.TerminalNode; @@ -55,36 +57,41 @@ public Optional findReference(URI uri, Position position) { return Optional.empty(); } - var node = Trees.findTerminalNodeContainsPosition(document.getAst(), position); + var maybeTerminalNode = Trees.findTerminalNodeContainsPosition(document.getAst(), position); - if (node.isEmpty()) { + if (maybeTerminalNode.isEmpty()) { return Optional.empty(); } + var terminalNode = maybeTerminalNode.get(); + + var sub = (BSLParser.SubContext) Trees.getAncestorByRuleIndex((BSLParserRuleContext) terminalNode.getParent().getRuleContext(), BSLParser.RULE_sub); + var symbolTree = document.getSymbolTree(); + var from = Optional.ofNullable(sub) + .flatMap(symbolTree::getMethodSymbol) + .map(SourceDefinedSymbol.class::cast) + .orElse(symbolTree.getModule()); + return serverContext.getDocuments().values().stream() - .filter(documentContext -> documentContext.getTypeName().equals(node.get().getText())) - .filter(documentContext -> filterByType(node, documentContext.getModuleType())) + .filter(documentContext -> documentContext.getTypeName().equals(terminalNode.getText())) + .filter(documentContext -> filterByType(terminalNode, documentContext.getModuleType())) .map(documentContext -> new Reference( - documentContext.getSymbolTree().getModule(), + // todo: было бы здорово сохранить эту информацию в ReferenceIndex вместо поиска напрямую. + from, documentContext.getSymbolTree().getModule(), documentContext.getUri(), - Ranges.create(0, 0, 0, 0), + Ranges.create(terminalNode), OccurrenceType.DEFINITION) ).findAny(); } - private boolean filterByType(Optional node, ModuleType moduleType) { - - if (node.isEmpty()) { - return false; - } - - if ((node.get().getParent() instanceof BSLParser.TypeNameContext) + private boolean filterByType(TerminalNode node, ModuleType moduleType) { + if ((node.getParent() instanceof BSLParser.TypeNameContext) && moduleType == ModuleType.OScriptClass) { return true; } else { - return (node.get().getParent() instanceof BSLParser.ComplexIdentifierContext) + return (node.getParent() instanceof BSLParser.ComplexIdentifierContext) && moduleType == ModuleType.OScriptModule; } } From 040cd86608dec0a8761b0a0c8fcb6abefd5831c2 Mon Sep 17 00:00:00 2001 From: Nikita Fedkin Date: Wed, 3 Jan 2024 21:28:02 +0100 Subject: [PATCH 18/18] Happy new year --- .../_1c_syntax/bsl/languageserver/context/DocumentState.java | 2 +- .../bsl/languageserver/context/computer/ModuleTypeComputer.java | 2 +- .../bsl/languageserver/references/OscriptReferenceFinder.java | 2 +- .../languageserver/references/OscriptReferenceFinderTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java index 9e9f73d8f7e..e6af4827983 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/DocumentState.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2023 + * Copyright (c) 2018-2024 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java index 4337c1174f7..7f460645a2b 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/context/computer/ModuleTypeComputer.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2023 + * Copyright (c) 2018-2024 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java index fe7599ae564..2dc2fd1bb23 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java +++ b/src/main/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinder.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2023 + * Copyright (c) 2018-2024 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java index 9c762d1852a..a7d8c029d20 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/languageserver/references/OscriptReferenceFinderTest.java @@ -1,7 +1,7 @@ /* * This file is a part of BSL Language Server. * - * Copyright (c) 2018-2023 + * Copyright (c) 2018-2024 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later