Open
Description
Описание
Добавить функциональность работы с контекстами исполнения (набор доступных методов и свойств).
Описание предлагаемых изменений
Предлагаю добавить базовый набор механизмов работы с контекстами:
- Провайдер контекстов - инкапсулирует логику получения контекста
- Базовый класс контекстов - от него наследуются все реализации
- Контекст "объединение" - нужен для создания составных контекстов (глобальный = контекст конифгурации + контекст платформы)
- Фильтруемый контекст - нужен для уточнения контекста (публичный клиентский контекст)
Также для демонстрации и лучшего понимания добавить:
- Контекст конфигурации - строится на основе метаданных и дерева символов.
- Контекст объекта метаданных - содержит данные о публичных методах менеджера
- Контекст модуля - содержит данных о переменных/реквизитах модуля и данные обо всех методах
Пример использования
var configurationScope = provider.getConfigurationScope();
configurationScope.getMethod("ГлобальнаяСервернаяПроцедура").get();
var property = configurationScope.getProperty("ПервыйОбщийМодуль").get();
provider.getScope(property).getMethod("НеУстаревшаяПроцедура").get();
provider.getScope(property).getMethod("УстаревшаяФункция").get();