Enum Class ExecutionContext

java.lang.Object
java.lang.Enum<ExecutionContext>
com.github._1c_syntax.bsl.languageserver.context.compilation.ExecutionContext
All Implemented Interfaces:
Serializable, Comparable<ExecutionContext>, Constable

public enum ExecutionContext extends Enum<ExecutionContext>
Контексты компиляции, различаемые инструкциями препроцессора 1С и OneScript.

Контекст различает режим запуска и сторону компиляции. В файловом толстом клиенте символы Клиент и Сервер истинны одновременно, в том числе в модуле управляемой формы. При этом директивы методов продолжают различать клиентскую и серверную части.

Файловые варианты сведены к одному пользовательскому переключателю через optionContext(). Группы CLIENT_PREPROCESSOR, SERVER_PREPROCESSOR и группы конкретных клиентов используются при оценке символов препроцессора.

  • Enum Constant Details

    • SERVER

      public static final ExecutionContext SERVER
      Сервер клиент-серверного варианта.
    • THIN_CLIENT

      public static final ExecutionContext THIN_CLIENT
      Тонкий клиент.
    • WEB_CLIENT

      public static final ExecutionContext WEB_CLIENT
      Веб-клиент.
    • MOBILE_CLIENT

      public static final ExecutionContext MOBILE_CLIENT
      Мобильный клиент приложения для платформы.
    • THICK_CLIENT_MANAGED

      public static final ExecutionContext THICK_CLIENT_MANAGED
      Толстый клиент, управляемое приложение, клиент-серверный вариант.
    • THICK_CLIENT_ORDINARY

      public static final ExecutionContext THICK_CLIENT_ORDINARY
      Толстый клиент, обычное приложение, клиент-серверный вариант.
    • EXTERNAL_CONNECTION

      public static final ExecutionContext EXTERNAL_CONNECTION
      Внешнее соединение в клиент-серверном варианте.
    • MOBILE_APPLICATION_CLIENT

      public static final ExecutionContext MOBILE_APPLICATION_CLIENT
      Клиентская часть приложения мобильной платформы.
    • MOBILE_APPLICATION_SERVER

      public static final ExecutionContext MOBILE_APPLICATION_SERVER
      Серверная часть приложения мобильной платформы.
    • MOBILE_STANDALONE_SERVER

      public static final ExecutionContext MOBILE_STANDALONE_SERVER
      Мобильный автономный сервер; выбор проверяемых режимов задаётся отдельно.
    • THICK_CLIENT_MANAGED_FILE

      public static final ExecutionContext THICK_CLIENT_MANAGED_FILE
      Общий файловый контекст управляемого толстого клиента: доступны Клиент и Сервер.
    • THICK_CLIENT_ORDINARY_FILE

      public static final ExecutionContext THICK_CLIENT_ORDINARY_FILE
      Общий файловый контекст обычного толстого клиента: доступны Клиент и Сервер.
    • EXTERNAL_CONNECTION_FILE

      public static final ExecutionContext EXTERNAL_CONNECTION_FILE
      Файловое внешнее соединение: доступны ВнешнееСоединение и Сервер.
    • THICK_CLIENT_MANAGED_FILE_CLIENT

      public static final ExecutionContext THICK_CLIENT_MANAGED_FILE_CLIENT
      Клиентская часть управляемой формы или команды в файловом управляемом приложении.
    • THICK_CLIENT_MANAGED_FILE_SERVER

      public static final ExecutionContext THICK_CLIENT_MANAGED_FILE_SERVER
      Серверная часть управляемой формы или команды в файловом управляемом приложении.
    • THICK_CLIENT_ORDINARY_FILE_CLIENT

      public static final ExecutionContext THICK_CLIENT_ORDINARY_FILE_CLIENT
      Клиентская часть управляемой формы или команды в файловом обычном приложении.
    • THICK_CLIENT_ORDINARY_FILE_SERVER

      public static final ExecutionContext THICK_CLIENT_ORDINARY_FILE_SERVER
      Серверная часть управляемой формы или команды в файловом обычном приложении.
    • OSCRIPT_WINDOWS

      public static final ExecutionContext OSCRIPT_WINDOWS
      OneScript в Windows без Mono.
    • OSCRIPT_WINDOWS_MONO

      public static final ExecutionContext OSCRIPT_WINDOWS_MONO
      OneScript в Windows под Mono.
    • OSCRIPT_LINUX

      public static final ExecutionContext OSCRIPT_LINUX
      OneScript в Linux без Mono.
    • OSCRIPT_LINUX_MONO

      public static final ExecutionContext OSCRIPT_LINUX_MONO
      OneScript в Linux под Mono.
    • OSCRIPT_MACOS

      public static final ExecutionContext OSCRIPT_MACOS
      OneScript в MacOS без Mono.
    • OSCRIPT_MACOS_MONO

      public static final ExecutionContext OSCRIPT_MACOS_MONO
      OneScript в MacOS под Mono.
  • Field Details

    • ALL

      public static final Set<ExecutionContext> ALL
      Все контексты 1С; неизменяемое множество.
    • OSCRIPT

      public static final Set<ExecutionContext> OSCRIPT
      Все сочетания ОС и признака Mono в OneScript.
    • WITHOUT_THICK_CLIENT_FILE

      public static final Set<ExecutionContext> WITHOUT_THICK_CLIENT_FILE
      Контексты проекта без поддержки файлового толстого клиента; внешнее соединение сохраняется.
    • SERVERS

      public static final Set<ExecutionContext> SERVERS
      Самостоятельные серверные контексты без совмещённых файловых режимов.
    • MANAGED_CLIENTS

      public static final Set<ExecutionContext> MANAGED_CLIENTS
      Управляемые клиенты до добавления файловых вариантов.
    • CLIENTS

      public static final Set<ExecutionContext> CLIENTS
      Клиентские контексты исполнения, включая совмещённые файловые контексты общих модулей.
    • SERVER_CONTEXTS

      public static final Set<ExecutionContext> SERVER_CONTEXTS
      Серверные контексты исполнения, включая файловые серверные и общие части.
    • CLIENT_PREPROCESSOR

      public static final Set<ExecutionContext> CLIENT_PREPROCESSOR
      Символ Клиент в файловом толстом клиенте истинен и в серверной части управляемой формы.
    • SERVER_PREPROCESSOR

      public static final Set<ExecutionContext> SERVER_PREPROCESSOR
      Символ Сервер в файловом толстом клиенте истинен и в клиентской части управляемой формы.
    • THICK_MANAGED_PREPROCESSOR

      public static final Set<ExecutionContext> THICK_MANAGED_PREPROCESSOR
      Все варианты символа ТолстыйКлиентУправляемоеПриложение.
    • THICK_ORDINARY_PREPROCESSOR

      public static final Set<ExecutionContext> THICK_ORDINARY_PREPROCESSOR
      Все варианты символа ТолстыйКлиентОбычноеПриложение.
    • EXTERNAL_PREPROCESSOR

      public static final Set<ExecutionContext> EXTERNAL_PREPROCESSOR
      Оба варианта символа ВнешнееСоединение.
  • Method Details

    • values

      public static ExecutionContext[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ExecutionContext valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • optionContext

      public ExecutionContext optionContext()
      Контекст, чьим пользовательским переключателем управляется этот вариант.

      Разделение файловой формы на части влияет на расчёт, но не создаёт новых параметров диагностики.

      Returns:
      базовый контекст для файлового варианта; this для остальных контекстов.
    • isFileMode

      public boolean isFileMode()
      Принадлежит ли контекст файловому варианту работы.
      Returns:
      true для общих файловых контекстов и обеих частей файловой формы/команды.
    • isThickClientFileMode

      public boolean isThickClientFileMode()
      Принадлежит ли режим файловому толстому клиенту, включая обе части управляемой формы.
      Returns:
      true для файловых вариантов обычного и управляемого толстого клиента.
    • sharedFileContext

      public ExecutionContext sharedFileContext()
      Перейти от части файловой формы/команды к общему файловому контексту вызываемого модуля.
      Returns:
      соответствующий общий файловый контекст; this, если разделения на части нет.
    • copyOf

      public static Set<ExecutionContext> copyOf(Collection<ExecutionContext> contexts)
      Создать изменяемую копию набора контекстов, в том числе пустого.
      Parameters:
      contexts - исходные контексты; повторяющиеся элементы объединяются.
      Returns:
      новое EnumSet, независимое от изменений исходной коллекции.
    • complementOf

      public static Set<ExecutionContext> complementOf(Collection<ExecutionContext> contexts)
      Найти контексты, отсутствующие в переданном наборе.
      Parameters:
      contexts - исключаемые контексты
      Returns:
      новое изменяемое множество дополнения
    • forFileType

      public static Set<ExecutionContext> forFileType(FileType fileType)
      Контексты соответствующего диалекта; контексты 1С и OneScript не пересекаются.
    • isOneScript

      public boolean isOneScript()