Class ServerCallsInFormEventsDiagnostic

All Implemented Interfaces:
BSLDiagnostic, BSLParserListener, ParseTreeListener

Диагностика для проверки вызовов серверных процедур в событиях форм. Проверяет, что в событиях ПриАктивизацииСтроки и НачалоВыбора не вызываются серверные процедуры, что может привести к проблемам в работе формы.
See Also:
  • Constructor Details

    • ServerCallsInFormEventsDiagnostic

      public ServerCallsInFormEventsDiagnostic()
      Конструктор по умолчанию.
  • Method Details

    • enterSub

      public void enterSub(BSLParser.SubContext ctx)
      Обрабатывает вход в процедуру или функцию. Проверяет, является ли процедура или функция событием ПриАктивизацииСтроки или НачалоВыбора, и устанавливает флаг для отслеживания контекста.
      Specified by:
      enterSub in interface BSLParserListener
      Overrides:
      enterSub in class BSLParserBaseListener
      Parameters:
      ctx - контекст процедуры или функции
    • exitSub

      public void exitSub(BSLParser.SubContext ctx)
      Обрабатывает выход из процедуры или функции. Автоматически сбрасывает флаг отслеживания контекста при выходе из любого узла процедуры. Это обеспечивает корректную работу диагностики даже при вложенных процедурах.
      Specified by:
      exitSub in interface BSLParserListener
      Overrides:
      exitSub in class BSLParserBaseListener
      Parameters:
      ctx - контекст процедуры или функции
    • enterGlobalMethodCall

      public void enterGlobalMethodCall(BSLParser.GlobalMethodCallContext ctx)
      Обрабатывает вход в вызов глобального метода. Проверяет, вызывается ли серверная процедура из событий ПриАктивизацииСтроки или НачалоВыбора, и добавляет диагностическое сообщение при обнаружении нарушения.
      Specified by:
      enterGlobalMethodCall in interface BSLParserListener
      Overrides:
      enterGlobalMethodCall in class BSLParserBaseListener
      Parameters:
      ctx - контекст вызова глобального метода