Re: paquetages privés

Jean-Pierre Rosen via Ada-france <[email protected]> Wed, 15 Sep 2021 10:46:48 +0200
Newsgroups gmane.comp.lang.ada.france
Message-ID <[email protected]>
Le 15/09/2021 à 01:36, Thomas De Contes via Ada-france a écrit :
> Bonjour :-)
> 
> 
> Si j'ai bien compris, l'endroit où sont expliquées les règles de
> "visibilité" pour l'autorisation d'utiliser un paquetage privé, c'est
> : chapitre 10.1.2, lignes 8-11. 
> http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-10-1-2.html
> 
> Si j'ai bien compris ce que j'ai lu, les paquetages autorisés à
> utiliser un paquetage privé sont ses frères et descendants, mais pas
> ses oncles et descendants. Ai-je bien compris ?
C'est ça.

> Pour des raisons d'ordre d'élaboration, j'ai besoin de diviser un
> paquetage en 2, dont l'autre moitié ne devrait pas être publique. (Il
> me semble que ce n'est pas possible de différencier l'élaboration de
> 2 paquetages imbriqués.)
> 
> Idéalement, j'aimerais définir une liste de paquetages autorisés à
> utiliser cette "autre moitié", de manière à ce que seulement ces
> paquetages soient autorisés à l'utiliser, et aucun autre.
> 
> Si j'ai bien compris, ce n'est pas possible de faire ça comme ça. La
> seule façon de faire, ça serait de créer une branche dans la
> hiérarchie des paquetages, de mettre dedans le paquetage privé, et de
> déplacer dedans (comme frères) tous les paquetages à autoriser.
> 
> Est ce que j'ai bon ?
Je n'ai pas bien compris ta motivation, mais du point de vue visibilité, 
c'est ça.

Le mieux est de penser en termes de couches. Un enfant privé est la 
couche N+1, donc seul le parent (la couche N) et ceux qui contribuent à 
la couche N (les autres enfants du même parent) y ont accès.

> Pendant que j'y suis,
> 
> Est ce qu'il est recommandé d'utiliser un private with quand le
> paquetage requis n'est pas utilisé dans la partie publique, de la
> même façon qu'il est recommandé de déplacer le with dans le corps
> quand le paquetage requis n'est pas utilisé dans la spec ?
> 
Oui, tout à fait. Il y a même une règle AdaControl pour ça:
   check with_clauses (reduceable);

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52
https://www.adalog.fr
_______________________________________________
Ada-france mailing list
[email protected]
https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france