- (1)
- An aggregate combines component values into a composite value of an array
type, record type, or record extension.
(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.
Subclauses
- Record Aggregates
- Extension Aggregates
- Array Aggregates
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12