Class AbstractFindMethodDiagnostic

All Implemented Interfaces:
BSLDiagnostic, BSLParserVisitor<ParseTree>, ParseTreeVisitor<ParseTree>
Direct Known Subclasses:
DeprecatedCurrentDateDiagnostic, DeprecatedFindDiagnostic, DeprecatedMessageDiagnostic, DeprecatedMethods8317Diagnostic, FormDataToValueDiagnostic, GetFormMethodDiagnostic, IncorrectUseOfStrTemplateDiagnostic, MissingTempStorageDeletionDiagnostic, OSUsersMethodDiagnostic, SetPrivilegedModeDiagnostic, TempFilesDirDiagnostic, UnsafeSafeModeMethodCallDiagnostic, WrongUseFunctionProceedWithCallDiagnostic, WrongUseOfRollbackTransactionMethodDiagnostic

public abstract class AbstractFindMethodDiagnostic extends AbstractVisitorDiagnostic
Абстрактная диагностика, предназначенная для поиска вызова обычных методов и методов глобального контекста с использованием регулярного выражения. AbstractFindMethodDiagnostic предоставляет для переопределения два метода проверки вызовов и один метод генерации сообщения пользователю. По умолчанию проверяется, что имя вызываемого метода соответствует переданному в конструкторе регулярному выражению. Важно: наследование данной диагностики без переопределения getMessage подразумевает, что первым параметром сообщения пользователю всегда будет имя найденного метода.
  • Method Details

    • checkGlobalMethodCall

      protected boolean checkGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx)
      Проверка контекста глобального метода
      Parameters:
      ctx - контекст глобального метода
      Returns:
      true если имя метода соответствует регулярному выражению
    • checkMethodCall

      protected boolean checkMethodCall(BSLParser.MethodCallContext ctx)
      Проверка контекста обычного метода
      Parameters:
      ctx - контекст метода
      Returns:
      true если имя метода соответствует регулярному выражению
    • getMessage

      protected String getMessage(BSLParserRuleContext ctx)
      Получает сообщение диагностики для пользователя
      Parameters:
      ctx - контекст узла
      Returns:
      В случае если передан контекст метода, параметризованное сообщение, первым параметром которого всегда будет имя метода. В противном случае возвращается обычное сообщение без параметров.
    • visitGlobalMethodCall

      public ParseTree visitGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx)
      Обработчик узла глобального метода. Добавляет информацию о сработавшей диагностике в случае если проверка метода checkGlobalMethodCall(BSLParser.GlobalMethodCallContext) возвращает true
      Specified by:
      visitGlobalMethodCall in interface BSLParserVisitor<ParseTree>
      Overrides:
      visitGlobalMethodCall in class BSLParserBaseVisitor<ParseTree>
      Parameters:
      ctx - контекст глобального метода
      Returns:
      результат посещения ноды по умолчанию.
    • visitMethodCall

      public ParseTree visitMethodCall(BSLParser.MethodCallContext ctx)
      Обработчик узла обычного метода. Добавляет информацию о сработавшей диагностике в случае если проверка метода checkMethodCall(BSLParser.MethodCallContext) возвращает true
      Specified by:
      visitMethodCall in interface BSLParserVisitor<ParseTree>
      Overrides:
      visitMethodCall in class BSLParserBaseVisitor<ParseTree>
      Parameters:
      ctx - контекст метода
      Returns:
      результат посещения ноды по умолчанию.
    • getMethodPattern

      public Pattern getMethodPattern()
    • setMethodPattern

      public void setMethodPattern(Pattern methodPattern)