Skip to content

Commit

Permalink
1. В разворачиватель аннотаций при создании завязи из лямбды теперь п…
Browse files Browse the repository at this point in the history
…ередаётся объект владелец аннотаций (объект с лямбдой)

2. Имена параметров при создании определения актуализированы что бы устранить неоднозначность
3. Подняты зависимости от lambdas (добавлено строковое представление объекта лямбды) и annotations (документированно использование сценария как владельца аннотированных свойств)
  • Loading branch information
sfaqer committed Jan 15, 2025
1 parent 712b268 commit 10e2b52
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
4 changes: 2 additions & 2 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
.ВключитьФайл("tests")
.ВключитьФайл("LICENSE.md")
.ВключитьФайл("README.md")
.ЗависитОт("annotations", "1.0.1")
.ЗависитОт("annotations", "2.0.0")
.ЗависитОт("asserts", "1.4.0")
.ЗависитОт("configor", "0.9.0")
.ЗависитОт("logos", "1.4.0")
Expand All @@ -23,7 +23,7 @@
.ЗависитОт("semaphore", "1.1.0")
.ЗависитОт("collectionos", "0.3.1")
.ЗависитОт("autumn-collections", "0.1.0")
.ЗависитОт("lambdas", "0.2.2")
.ЗависитОт("lambdas", "0.3.0")

.РазработкаЗависитОт("1testrunner")
.РазработкаЗависитОт("asserts")
Expand Down
26 changes: 13 additions & 13 deletions src/internal/Классы/ФабрикаЖелудей.os
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@
Выражение = Лямбда.Выражение(ЛямбдаЗавязи);

Если ТипЗнч(Контекст) = Тип("Структура") Тогда
Выражение.Контекст(Контекст)
Выражение.Контекст(Контекст);
Иначе
Выражение.ЗахватитьОбъект(Контекст);
КонецЕсли;
Expand All @@ -159,7 +159,7 @@

Методы = Рефлектор.ПолучитьТаблицуМетодов(Объект);

РазворачивательАннотаций.РазвернутьАннотацииСвойств(Методы, "ЛямбдаЗавязь");
РазворачивательАннотаций.РазвернутьАннотацииСвойств(Методы, Объект);

Завязи = РаботаСАннотациями.НайтиМетодыСАннотацией(Методы, ИмяКорневойАннотации);

Expand All @@ -181,7 +181,7 @@
ОпределениеЗавязи = СоздатьОпределениеЖелудя(
ИмяЖелудя,
ТипЖелудя,
Объект,
Объект,
Завязь,
Завязь.Аннотации,
ИмяКорневойАннотации
Expand Down Expand Up @@ -399,15 +399,15 @@
Функция СоздатьОпределениеЖелудя(
ИмяЖелудя,
ТипЖелудя,
ТипВладельцаСвойств,
ВладелецСвойств,
Конструктор,
Аннотации,
ИмяКорневойАннотации
)

Завязь = СоздатьЗавязь(ТипВладельцаСвойств, Конструктор);
Завязь = СоздатьЗавязь(ВладелецСвойств, Конструктор);

ПрилепляемыеЧастицы = ПрочитатьПрилепляемыеЧастицыВМетоде(Конструктор, ТипВладельцаСвойств);
ПрилепляемыеЧастицы = ПрочитатьПрилепляемыеЧастицыВМетоде(Конструктор, ВладелецСвойств);
Характер = ПрочитатьХарактерЖелудя(Аннотации);
Прозвища = ПрочитатьПрозвища(Аннотации, ИмяЖелудя);
Порядок = ПрочитатьПорядок(Аннотации);
Expand Down Expand Up @@ -446,20 +446,20 @@

#Область СозданиеЗавязи

Функция СоздатьЗавязь(ТипВладельцаСвойств, Конструктор)
Функция СоздатьЗавязь(ВладелецСвойств, Конструктор)

Если НРег(Конструктор.Имя) = НРег("ПриСозданииОбъекта")
ИЛИ НРег(Конструктор.Имя) = НРег("OnObjectCreation") Тогда

Возврат СоздатьЗавязьЧерезКонструкторОбъекта(ТипВладельцаСвойств, Конструктор);
Возврат СоздатьЗавязьЧерезКонструкторОбъекта(ВладелецСвойств, Конструктор);

ИначеЕсли ТипЗнч(ТипВладельцаСвойств) = Тип("Сценарий") Тогда
ИначеЕсли ТипЗнч(ВладелецСвойств) = Тип("Сценарий") Тогда

Возврат СоздатьЗавязьЧерезМетодЛямбды(ТипВладельцаСвойств, Конструктор);
Возврат СоздатьЗавязьЧерезМетодЛямбды(ВладелецСвойств, Конструктор);

Иначе

Возврат СоздатьЗавязьЧерезМетодЗавязи(ТипВладельцаСвойств, Конструктор);
Возврат СоздатьЗавязьЧерезМетодЗавязи(ВладелецСвойств, Конструктор);

КонецЕсли;

Expand Down Expand Up @@ -529,12 +529,12 @@
Возврат РеальныйТип;
КонецФункции

Функция ПрочитатьПрилепляемыеЧастицыВМетоде(Метод, ТипВладельцаСвойств)
Функция ПрочитатьПрилепляемыеЧастицыВМетоде(Метод, ВладелецСвойств)

ПрилепляемыеЧастицы = Новый Массив;
Для Каждого ПараметрМетода Из Метод.Параметры Цикл

РазворачивательАннотаций.РазвернутьАннотацииСвойства(ПараметрМетода, ТипВладельцаСвойств);
РазворачивательАннотаций.РазвернутьАннотацииСвойства(ПараметрМетода, ВладелецСвойств);

ПрилепляемаяЧастица = ПрилепляторЧастиц.ДанныеОПрилепляемойЧастице(ПараметрМетода);
ПрилепляемыеЧастицы.Добавить(ПрилепляемаяЧастица);
Expand Down

0 comments on commit 10e2b52

Please sign in to comment.