OxL Справочник OxL
РусскийEnglish

@ @open

@open

Применяется к: enum

Раздел: §4.4

Синтаксис

ebnf
Attr        = "@" Path [ "(" [ AttrArgs ] ")" ] ;

Грамматика: Прил. A

Определяется в

  • 4.4 enum — Вариант: без полей, с позиционными или с именованными полями.
  • 4.9 Атрибуты — Синтаксис: @имя или @имя(аргументы) перед объявлением, полем, параметром или rpc.
  • 9.2 Номера полей и схема — Каждое поле data и каждый вариант enum имеет стабильный тег (номер в wire-формате).
  • 9.3 Wire-формат OxL — Бинарный формат OxL — кодирование protobuf 3 со следующими отображениями
  • 9.4 Декодирование и проверка — Отсутствует обязательное поле → DecodeError.Missing.

Примеры

oxl
pub(api) enum Role { User, Support, Admin }

pub(api) enum Shape {
  Circle(r: f64)
  Rect(w: f64, h: f64)
  Empty
}

@error enum PayError { Declined(reason: str), Fraud, Limit(max: Money) }

@open pub(api) enum Status { New = 1, Paid = 2, Shipped = 3 }

— 4.4 enum

Связанные диагностики

deprecated, schema-attr, schema-break, secret-json

См. также