From 8a96be5532337145c109901fcc827ed44f7a8d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=AD=D0=B4=D1=83?= =?UTF-8?q?=D0=B0=D1=80=D0=B4?= Date: Sun, 13 Dec 2020 14:10:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20FP=20=D0=BD=D0=B0=20=D0=B4=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=83=D0=BF=D0=B5=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../diagnostics/RedundantAccessToObjectDiagnostic.java | 6 +++++- .../diagnostics/RedundantAccessToObjectDiagnosticTest.java | 3 +-- .../diagnostics/RedundantAccessToObjectDiagnostic.bsl | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) 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 1d1dc5b0434..80b9d74b5e5 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 @@ -134,7 +134,11 @@ public ParseTree visitComplexIdentifier(BSLParser.ComplexIdentifierContext ctx) return ctx; } - if (PATTERN.matcher(identifier.getText()).matches() && modifiers.get(0) != null) { + if ( + PATTERN.matcher(identifier.getText()).matches() + && modifiers.get(0) != null + && modifiers.get(0).accessIndex() == null + ) { diagnosticStorage.addDiagnostic(ctx.getStart()); } 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 d1675a90872..6f42538d554 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 @@ -48,12 +48,11 @@ void test() { List diagnostics = getDiagnostics(); - assertThat(diagnostics).hasSize(10); + assertThat(diagnostics).hasSize(9); assertThat(diagnostics, true) .hasRange(2, 4, 2, 14) .hasRange(3, 4, 3, 14) .hasRange(6, 18, 6, 28) - .hasRange(7, 18, 7, 28) .hasRange(8, 18, 8, 28) .hasRange(10, 4, 10, 14) .hasRange(16, 4, 16, 14) diff --git a/src/test/resources/diagnostics/RedundantAccessToObjectDiagnostic.bsl b/src/test/resources/diagnostics/RedundantAccessToObjectDiagnostic.bsl index 0c8f4ff6d88..d67902d6629 100644 --- a/src/test/resources/diagnostics/RedundantAccessToObjectDiagnostic.bsl +++ b/src/test/resources/diagnostics/RedundantAccessToObjectDiagnostic.bsl @@ -4,9 +4,9 @@ ЭтотОбъект.Договор = Данные.Договор; // Ошибка ЭтотОбъект["ПолеКонтактнойИнформации"] = Данные.Телефон; // Тут ошибки быть не должно - Переменная = ЭтотОбъект.Значенние; // Ошибка - Переменная2 = ЭтотОбъект["Значенние"]; // Ошибка - Переменная3 = ЭтотОбъект.Значенние(); // Ошибка + Переменная = ЭтотОбъект.Значение; // Ошибка + Переменная2 = ЭтотОбъект["Значение"]; // Тут ошибки быть не должно + Переменная3 = ЭтотОбъект.Значение(); // Ошибка ЭтотОбъект.ВыполнитьЗаполнениеПоСтруктуре(Данные); // Ошибка