tsdima писал(а):
О невозможности компиляции такой схемы должен сообщить CodeGenя же не зря немного уточнил проблему

Dilma писал(а):
утверждать, что каждый кодогенератор обязан всех их поддержать как только они появляются не правильноПри таком подходе, когда кодогенератор обнаружил в схеме некую фичу, которую он заранее не поддерживает есть один существенный недостаток: кодогенератор должен знать о существование всех фич, которые он не поддерживает. А это чревато тем, что завтра в среде появляется вот такая новая фича, все пакеты адаптируются под нее, и через день заходит Петя и качает новую среду без закачки всех изменившихся пакетов. И получает ошибки и зависания в некоторых своих программах...
Galkov писал(а):
Сделаем отдельный класс элемента.
Который ведет себя в среде как линк на мультик (показывает все точки оригинала и его же иконку).
Нет, это немного не то. Напомню проблему: создание линков совершенно прекрасно работает везде, даже если кодогенератор про них ничего не знает. Линков на элементы и линков на контейнеры. Однако как только линк на контейнер оказывается внутри этого контейнера начинаются проблемы. Схожая проблема это вставка интерефейсных элементов в неинтерфейсные проекты или неинтерфейсные контейнеры.
Еще парочка задач того же плана:
- ActionSkin - внутрь него впринципе нельзя вставлять ничего, кроме AS_Control, однако в среде этого определить никак нельзя.
- в большинстве случаев любое подключение верхней или нижней точки с типом array к точке с любым другим типом не имеет смысла. Однако опять таки же все, что мы можем сделать это проигнорировать такое подключение. Либо следуя совету:
tsdima писал(а):
невозможности компиляции такой схемы должен сообщить CodeGen. Желательно с подсветкой "некорректной" связи.мы должны в каждом элементе и в каждом его методе, использующем данную точу вставить проверку и выдавать предупреждение...
Поэтому видимо стоит всетаки перести решение подобных задач на среду и вынести блок проверки схемы в виде отдельного модуля. И в случае отсутствия такого модуля схема должна собираться.