-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Аннотация после #Область - Недопустимые символы в директиве #1087
Comments
отработает нормально #Область Первая
Процедура Метод2()
КонецПроцедуры
&Аннотация
Процедура Метод()
КонецПроцедуры
#КонецОбласти |
Сломалось при исправлении препроцессора. & Аннотация
Процедура Метод()
КонецПроцедуры – не компилируется. Но при этом допускается создание безымянных аннотаций, в том числе с параметрами: & ("Параметр") // ок
Процедура Метод2()
КонецПроцедуры Должна ли каждая аннотация начинаться на новой строке? На странице https://oscript.io/docs/page/annotations есть ошибки |
Нет.
Не хотелось бы иметь такое ограничение.
Первое - да, нормально. Второе - не уверен, что правильно , но такое поведение может быть полезно для параметров-массивов. @dmpas? |
А вот это странно... Кажется, это какое-то не запланированное поведение |
такое поведение было заложено, да. Насчёт "правильно" - тут хз, нет на это "правила" ни у нас, ни у Мамки |
Множественные аннотации должны быть, мы их закладывали |
Отложим пока множественные имена. Надо определиться с работой лексера. &Аннотация1
&("Параметр")
&&
&Аннотация2 & Процедура Метод()
КонецПроцедуры В результате имеем у Метода 6 аннотаций с именами: "Аннотация1", "(", "&", В аналогичных конструкциях 1С допускает пробельные символы: & НаКлиенте
// или даже на новой строке:
&
НаКлиенте |
Аннотаций без имён точно не должно быть. |
Нет, между & и именем аннотации не должно быть пробелов, на мой взгляд. Хотя, если в 1С так, наверное из соображений совместимости нам тоже надо бы так сделать. А вот аннотации && и &() - это баги, это не несет смысла. |
fix #1087: аннотации после директив препроцессора; проверка имени
Опишите ошибку
Если первый метод в Области содержит аннотацию то получаем ошибку
Недопустимые символы в директиве
Окружение
The text was updated successfully, but these errors were encountered: