Сигнатура свойства (CLASS)
Оператор сигнатуры создает свойство, которое определяет может ли, с точки зрения классов, заданное свойство иметь не NULL
значение для переданных аргументов или нет. Фактически данный оператор выводит возможные классы заданного свойства из его семантики, после чего при помощи логических операторов и оператора классификации создает требуемое свойство.
Язык
Для реализации этого оператора используется оператор CLASS
.
Примеры
CLASS A;
a = ABSTRACT CASE STRING[100] (A);
CLASS B : A;
b = DATA STRING[100] (B);
a(B b) += WHEN CLASS(b(b)) THEN b(b); // равносильно WHEN b IS B THEN b(b)