CVS difference for ais/ai-00252.txt
--- ais/ai-00252.txt 2004/11/02 01:50:21 1.13
+++ ais/ai-00252.txt 2005/02/08 07:12:26 1.14
@@ -1,4 +1,4 @@
-!standard 04.01.03 (09) 04-10-30 AI95-00252/09
+!standard 04.01.03 (09) 05-02-05 AI95-00252/10
!standard 04.01.03 (13)
!standard 04.01.03 (15)
!standard 04.01.03 (17)
@@ -102,31 +102,31 @@
The prefix (after any implicit dereference) shall resolve to denote an
object or value of a specific tagged type T or class-wide type T'Class. The
selector_name shall resolve to denote a view of a subprogram declared
- immediately within the region in which an ancestor of the type T is
- declared. The first formal parameter of the subprogram shall be of type T,
- or a class-wide type that covers T, or an access parameter designating one
- of these types. The designator of the subprogram shall not be the same as
- that of a component of the tagged type visible at the point of the
- selected_component. The selected_component denotes a view of this
+ immediately within the declarative region in which an ancestor of the
+ type T is declared. The first formal parameter of the subprogram shall be
+ of type T, or a class-wide type that covers T, or an access parameter
+ designating one of these types. The designator of the subprogram shall not
+ be the same as that of a component of the tagged type visible at the point
+ of the selected_component. The selected_component denotes a view of this
subprogram that omits the first formal parameter.
Add the following after 4.1.3(13):
Legality Rules
- If a selected_component resolves to a view of a subprogram whose first
- parameter is an access parameter, the prefix shall denote an aliased view
- of an object.
+ If a selected_component other than an expanded name resolves to denote a
+ view of a subprogram whose first parameter is an access parameter, the
+ prefix shall denote an aliased view of an object.
Add the following after 4.1.3(15):
- For a selected_component with a tagged prefix and selector_name that
+ For a selected_component with a tagged prefix and a selector_name that
denotes a view of a subprogram, a call on the view denoted by the
- selected_component is equivalent to a call on the underlying subprogram
+ selected_component is equivalent to a call on the subprogram
with the first actual parameter being provided by the object or value
denoted by the prefix (or the Access attribute of this object or value if
- the first formal is an access parameter), and the remaining actual
- parameters given by the actual_parameter_part, if any.
+ the first formal parameter is an access parameter), and the remaining
+ actual parameters given by the actual_parameter_part, if any.
Add the following to 4.1.3(17):
@@ -280,16 +280,16 @@
corresponding entry, entry family, or protected subprogram.>
@dinst
@xbullet<A view of a subprogram whose first formal parameter is of a tagged
-or is an access parameter whose designated type is tagged:
+type or is an access parameter whose designated type is tagged:
The @fa<prefix> (after any implicit dereference) shall resolve to denote an
object or value of a specific tagged type @i<T> or class-wide type @i<T>'Class.
The @fa<selector_name> shall resolve to denote a view of a subprogram declared
-immediately within the region in which an ancestor of the type @i<T> is
-declared. The first formal parameter of the subprogram shall be of type @i<T>,
-or a class-wide type that covers @i<T>, or an access parameter designating one
-of these types. The designator of the subprogram shall not be the same as
-that of a component of the tagged type visible at the point of the
+immediately within the declarative region in which an ancestor of the type
+@i<T> is declared. The first formal parameter of the subprogram shall be of
+type @i<T>, or a class-wide type that covers @i<T>, or an access parameter
+designating one of these types. The designator of the subprogram shall not be
+the same as that of a component of the tagged type visible at the point of the
@fa<selected_component>. The @fa<selected_component> denotes a view of this
subprogram that omits the first formal parameter.>
@@ -308,9 +308,9 @@
@dinst
@i<@s8<Legality Rules>>
-If a @fa<selected_component> resolves to a view of a subprogram whose first
-parameter is an access parameter, the @fa<prefix> shall denote an aliased view
-of an object.
+If a @fa<selected_component> other than an expanded name resolves to denote a
+view of a subprogram whose first parameter is an access parameter, the
+@fa<prefix> shall denote an aliased view of an object.
!corrigendum 4.1.3(15)
@@ -320,13 +320,13 @@
object denoted by the @fa<prefix> has this component. The exception
Constraint_Error is raised if this check fails.
@dinst
-For a @fa<selected_component> with a tagged @fa<prefix> and @fa<selector_name>
+For a @fa<selected_component> with a tagged @fa<prefix> and a @fa<selector_name>
that denotes a view of a subprogram, a call on the view denoted by the
-@fa<selected_component> is equivalent to a call on the underlying subprogram
+@fa<selected_component> is equivalent to a call on the subprogram
with the first actual parameter being provided by the object or value denoted
by the @fa<prefix> (or the Access attribute of this object or value if the
-first formal is an access parameter), and the remaining actual parameters given
-by the @fa<actual_parameter_part>, if any.
+first formal parameter is an access parameter), and the remaining actual
+parameters given by the @fa<actual_parameter_part>, if any.
!corrigendum 4.1.3(17)
Questions? Ask the ACAA Technical Agent