[m-rev.] for review: read and write bitmaps in bitmap.m

Julien Fischer jfischer at opturion.com
Sat Mar 5 21:14:35 AEDT 2022



On Sat, 5 Mar 2022, Zoltan Somogyi wrote:

>
> 2022-03-05 19:59 GMT+11:00 "Julien Fischer" <jfischer at opturion.com>:
>>>> Has this change been checked in the C# and Java grades?
>>>
>>> It is being bootchecked in C# right now; it is in the middle of tests/hard_coded.
>>> Java is next.
>>>
>>>> (If not, you
>>>> should do so to check that the access modifiers on the methods of the
>>>> underlying file stream implementations are still appropriate when the
>>>> bitmap code is in its new location
>>>
>>> I have no idea how to do that.
>>
>> Changing them from private to public would work.  Let's see if there
>> is a problem first.
>
> In Java grade, yes, there is a problem. The stage 2 library cannot be built;
> the only .err file containing anything is mer_std.err , which contains this:
>
> bitmap.m:2039: error: cannot find symbol
>    MR_BinaryInputFile mf = (MR_BinaryInputFile) Stream;
>    ^
>  symbol:   class MR_BinaryInputFile
>  location: class bitmap
> bitmap.m:2039: error: cannot find symbol
>    MR_BinaryInputFile mf = (MR_BinaryInputFile) Stream;

...

>
> The code it complains about has a reference to MR_MercuryFileStruct
> a few lines above. It finds that ok, but not MR_Binary{In,Out}putFile,
> which are defined soon after MR_MercuryFileStruct in io.m. All are public classes.

References to them in the bitmap module will need to be qualified, e.g.
jmercury.io.MR_BinaryInputFile etc.

Julien.


More information about the reviews mailing list