A translation for the at construct is given in Figure A.18. Note that pre-translation will have reduced to a simple expression.
The coordinate and local subscript associated with the specified location is returned by the method, location(), which is a member of the Range class. It takes one argument, the global subscript, and returns an object of class Location (see Figure A.59)
The global index for the index is the value of . This value is used in evaluating the global index expression .
The local subscript for the index is the value of . This value is used in computation of offsets generated when is used as an array subscript.
The shift step for the index is the value of . This value is used in computation of offsets associated with shifted index subscripts.
The dimension for the index is the value of . One possible later use of this value is in computation the distribution group of a section subscripted with .
If the process dimension dim is not an active dimension of apg at the time the method restrict() is invoked, it will throw a DimensionNotInGroupException.
[Variables like , , etc, should be final, so that they can be accessed in local classes defined inside the at construct? Unclear whether distributed indices should be useable inside such classes, but no immediately obvious reason to forbid it.]