concrete ArrayReferenceExpression : Expression
{
Expression * owner base_array_address in source_ops;
Expression * owner index in source_ops;
};
| base_array_address | a pointer to an array (having the correct arrary type) and the result_type must be a pointer to the element type of that array_type. |
| index | index of the array element of interest. The address of the
array element is:
where element_size is calculated from the element type of the ArrayType stored in the base_array_address result type. The result_type of the index expression must be an IntegerType. |