Перейти к основному содержимому
Версия: 7.0

Инструкция @

Инструкция @ - использование метакода.

Синтаксис

@name(param1, ..., paramN)
[{
statement1
...
statementM
}];

Описание

Инструкция @ формирует код, получаемый из метакода с именем name, заменяя параметры метакода на значения собственных параметров и выполняя специальные операции ## и ###.

Блок в фигурных скобках содержит сформированный код инструкции: его генерирует и поддерживает среда разработки, чтобы с полученным кодом работали навигация и анализ. При компиляции платформа игнорирует содержимое блока и всегда формирует код заново из объявления метакода, поэтому редактировать блок вручную нельзя — правки вносятся в объявление метакода или в параметры инструкции.

Параметры

  • name

    Имя используемого метакода. Составной идентификатор.

  • param1, ..., paramN

    Список параметров инструкции, которые будут подставляться вместо параметров используемого метакода. В качестве параметров могут выступать составной идентификатор, идентификатор класса, литерал или пустой параметр, когда ничего не передается в качестве параметра.

  • statement1 ... statementM

    Сформированный код инструкции — последовательность инструкций, сгенерированная средой разработки.

Примеры

CLASS Book;
@objectProperties(book, INTEGER, 'Книга');

CLASS Flower;
@objectProperties(flower, BPSTRING[100], ); // если не передать параметр, то он будет пустым

CLASS Table;
@objectProperties(table, NUMERIC[14,2]);