Spec-Zone.ru › Ada 2012
Справочник Ada 2012

4.9.1 Статически соответствующие ограничения и подтипы

Статическая семантика

Ограничение статически соответствует другому ограничению, если:
  • оба являются ограничениями нуля;
  • оба статичны и имеют равные соответствующие границы или значения дискриминантов;
  • оба являются нестатичными и получены от одного и того же этапа разработки ограничения указателя_подтипа или от одного и того же вычисления диапазона определения_подтипа_дискретного; или
  • оба являются нестатичными и происходят от того же объявления_формального_типа.
Подтип статически соответствует другому подтипу того же типа, если у них статически соответствующие ограничения, все спецификации предикатов, применимые к ним, происходят из одних и тех же объявлений, и, для подтипов доступа, либо оба, либо ни один из них не исключают нуль. Два анонимных подтипа доступа к объекту статически соответствуют, если их назначенные подтипы статически соответствуют, и либо оба, либо ни один из них не исключают нуль, и либо оба, либо ни один из них не являются доступами к константе. Два анонимных подтипа доступа к подпрограмме статически соответствуют, если их назначенные профили соответствуют подтипам, и либо оба, либо ни один из них не исключают нуль.
Два диапазона одного и того же типа статически соответствуют, если оба получены от одного и того же вычисления диапазона, или если оба являются статическими и имеют равные соответствующие границы.
Ограничение статически совместимо со скалярным подтипом, если оно статически соответствует ограничению подтипа, или если оба статичны, а ограничение совместимо с подтипом. Ограничение статически совместимо с подтипом доступа или составным подтипом, если оно статически соответствует ограничению подтипа или если подтип не ограничен.
Два статически соответствующих подтипа статически совместимы друг с другом. Кроме того, подтип S1 статически совместим с подтипом S2, если:
  • ограничение S1 статически совместимо с S2, и
  • если S2 исключает нуль, то S1 также исключает нуль, и
  • либо:
все спецификации предикатов, применимые к S2, применимы также к S1, или
оба подтипа статичны, каждое значение, удовлетворяющее предикатам S1, также удовлетворяет предикатам S2, и неверно, что оба типа имеют по крайней мере одну применимую спецификацию предиката, проверки предикатов включены (см. 11.4.2) для S2, и проверки предикатов не включены для S1.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API