Contents Index Search Previous Next
4.3 Aggregates
1
An
aggregate combines
component values into a composite value of an array type, record type,
or record extension.
Syntax
2
aggregate
::= record_aggregate |
extension_aggregate |
array_aggregate
Name Resolution Rules
3
The expected type for an
aggregate
shall be a single nonlimited array type, record type, or record extension.
Legality Rules
4
An aggregate
shall not be of a class-wide type.
Dynamic Semantics
5
For the evaluation of an
aggregate,
an anonymous object is created and values for the components or ancestor
part are obtained (as described in the subsequent subclause for each
kind of the
aggregate) and assigned
into the corresponding components or ancestor part of the anonymous object.
Obtaining the values and the assignments occur in
an arbitrary order. The value of the
aggregate
is the value of this object.
6
If an
aggregate is of a tagged type, a
check is made that its value belongs to the first subtype of the type.
Constraint_Error is raised if this check fails.
Contents Index Search Previous Next Legal