Перевод аннотаций на &ПсевдонимДля#26
Hidden character warning
Conversation
Обновлена зависимость annotations 1.4.0 -> 1.6.0, в которой появилась аннотация &ПсевдонимДля. Она декларативно объявляет параметр конструктора композитной аннотации псевдонимом для параметра вложенной мета-аннотации, заменяя ручной перенос значений в ПриРазворачиванииАннотации. Полностью убран ПриРазворачиванииАннотации (чистый перенос значения): - АннотацияВыключен: Значение -> ВыключенЕсли.Причина - АннотацияТестовыйНабор: Характер -> Характер.Значение Частично (параметр Причина переведён на псевдоним, в ПриРазворачивании остаётся только генерация лямбды для параметра Значение): - АннотацияВключенДляOneScript, АннотацияВыключенДляOneScript - АннотацияВключенНаОС, АннотацияВыключенНаОС Для параметров со значением по умолчанию указан ПереноситьЗначениеПоУмолчанию = Истина, чтобы сохранить прежнее поведение: ранее ПриРазворачивании переносил значение безусловно, в том числе значение по умолчанию. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
WalkthroughОбновлена библиотека ChangesУнификация обработки параметров аннотаций через параметрные псевдонимы
🎯 3 (Moderate) | ⏱️ ~20 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Bumps the annotations dependency to 1.6.0 and refactors annotation classes to use the new &ПсевдонимДля (AliasFor) parameter feature, removing manual parameter propagation via ПриРазворачиванииАннотации.
Changes:
- Updated
annotationsdependency from 1.4.0 to 1.6.0. - Replaced manual
_Причина/_Характерstorage andУстановитьЗначениеПараметраАннотацииcalls with declarative&ПсевдонимДляparameter aliases. - Simplified
ПриСозданииОбъектаsignatures and removed now-redundantПриРазворачиванииАннотацииlogic for parameter forwarding.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packagedef | Bump annotations dependency to 1.6.0 to enable &ПсевдонимДля. |
| ВключенДляOneScript | Replace manual reason propagation with &ПсевдонимДля alias. |
| ВключенНаОС | Replace manual reason propagation with &ПсевдонимДля alias. |
| Выключен | Drop entire boilerplate; alias Значение directly to ВыключенЕсли.Причина. |
| ВыключенДляOneScript | Replace manual reason propagation with &ПсевдонимДля alias. |
| ВыключенНаОС | Replace manual reason propagation with &ПсевдонимДля alias. |
| ТестовыйНабор | Remove _Характер handling; use &ПсевдонимДля for Характер.Значение. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packagedef`:
- Line 22: Тег в пакете неверен: вызов .ЗависитОт("annotations", "1.6.0")
ссылается на несуществующий тег; замените версию на реальный тег из репо
oscript-library/annotations (например v0.1.0 или другой, в котором доступны
макросы &ПсевдонимДля и ПереноситьЗначениеПоУмолчанию) — обновите строку с
.ЗависитОт так, чтобы она указывала на существующий тег, содержащий эти символы.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 19ad4104-0619-4d39-80b6-6342afbcab8d
📒 Files selected for processing (7)
packagedefsrc/core/Классы/АннотацияВключенДляOneScript.ossrc/core/Классы/АннотацияВключенНаОС.ossrc/core/Классы/АннотацияВыключен.ossrc/core/Классы/АннотацияВыключенДляOneScript.ossrc/core/Классы/АннотацияВыключенНаОС.ossrc/core/Классы/АннотацияТестовыйНабор.os
Что сделано
Обновлена зависимость
annotations1.4.0→1.6.0, в которой появилась аннотация&ПсевдонимДля. Она декларативно объявляет параметр конструктора композитной аннотации псевдонимом для параметра вложенной мета-аннотации, заменяя ручной перенос значений вПриРазворачиванииАннотации.Полностью убран
ПриРазворачиванииАннотации(чистый перенос значения)Значение→ВыключенЕсли.ПричинаХарактер→Характер.ЗначениеЧастично переведено
Параметр
Причинапереведён на псевдоним, а вПриРазворачиванииАннотацииостаётся только генерация лямбда-выражения для параметраЗначение(его нельзя выразить псевдонимом, т.к. это преобразование человекочитаемого ввода в исполняемый код, а не копирование):() -> Версии.ВерсияВДиапазоне(...)ТипПлатформы+ валидация имени ОС в конструктореСохранение поведения
Ранее
ПриРазворачиванииАннотациипереносил значение безусловно, в том числе значение по умолчанию параметра. У&ПсевдонимДляпо умолчанию переносятся только явно переданные значения, поэтому для параметров со значением по умолчанию (Причина,Характер) указанПереноситьЗначениеПоУмолчанию = Истина.Проверка
./src/cli/main.os e— 5/5 тестов успешно, включаяТестПланФормируется, который прогоняет фикстуры со всеми этими аннотациями и проверяет характер жизненного цикла (Одиночка/Компанейский) и условия пропуска, проходящие через новые псевдонимы.🤖 Generated with Claude Code
Summary by CodeRabbit
Примечания к выпуску
Chores
annotationsс версии 1.4.0 до 1.6.0.Refactor