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

kw pub

Зарезервированное слово

Список слов: §1.4

Синтаксис

ebnf
Vis         = "pub" [ "(" "api" ")" ] ;

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

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

  • 4.2 data — Поле: видимость?
  • 4.4 enum — Вариант: без полей, с позиционными или с именованными полями.
  • 2.3 Видимость — Модификатор применяется к объявлениям и к полям data.
  • 4.5 impl и методы — Внутри метода доступны self и Self.
  • 4.6 Интерфейсы — Интерфейсы структурные
  • 6.2 Эффекты — Набор эффектов пишется после возвращаемого типа через запятую
  • 10.1 Сервисы — service объявляет контракт
  • 16.3 gRPC и protobuf — import proto "payments.proto" генерирует extern service и типы; вызовы — как к обычным сервисам через connect.

Примеры

oxl
pub(api) data User {
  pub(api) id: UserId
  pub(api) name: Name
  pub(api) email: Email?           @since(2)
  role: Role = Role.User
  createdAt: Time = now()
  invariant name != "admin" || role == Role.Admin
}

— 4.2 data

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

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

unknown-field, private-in-public, visibility, impl-foreign-type, unknown-method, explicit-interface, interface-not-satisfied, effects, duplicate-impl, impl-signature-mismatch, missing-impl, missing-rpc-impl, unknown-rpc, import-skip

См. также