Pointer ofNull method naming
Ty Young
youngty1997 at gmail.com
Wed Nov 13 22:15:59 UTC 2019
On 11/13/19 3:19 PM, Maurizio Cimadamore wrote:
>
> On 13/11/2019 12:43, Ty Young wrote:
>>
>> On 11/13/19 2:28 AM, Maurizio Cimadamore wrote:
>>> I'm ok with making the documentation more precise (I'm not sure I
>>> like ofTyped()). Can you please clarify a bit what you mean by
>>> 'filler' ? Like passing null ptr to a struct setter?
>>
>>
>> Not struct types but more primitive native types like Pointer<Byte>
>> or Pointer<Integer>.
>>
>>
>> As an example, you have a function like this:
>>
>>
>> int foo(Pointer<Pointer<Byte>> array, Pointer<Integer> size);
>>
>>
>> But what you're actually interested in is at index 0 of the array, so
>> "size" isn't needed and allocating a new Pointer would be a waste.
>
> Not sure I follow - if you are interested in index 0, doesn't that
> mean that the array would need to have at least _one_ element (e.g.
> size >= 1) ?
It does. It's just that the data that is actually desired is located at
index 0, so doing:
array.get().get()
returns index 0 anyway.
For context, the function in question returns a Pointer to an array in
the format:
Index 0 = number of items
index 4 * number of item = bitmask of a given item
However, one might only be interested in index 0 or in this case, the
number of items, so allocating another Pointer just to make the function
call seems like a waste.
It seems like *some* functions check whether a given Pointer is null or
not but not all do such as the functions I'm working with. It just fills
the array Pointer regardless.
>
> Maurizio
>
>
>>
>>
>>>
>>> (p.s. in these cases we have been also discussing bringing back
>>> special treatment for Java null, so that null is re-interpreted to
>>> Pointer.ofNull)
>>
>>
>> I haven't gone too deep down the rabbit hole, but I see
>> "LayoutTypeImpl.nullType" in BoundedPointer. Isn't that the null
>> interpretation for a Pointer?
>>
>>
>>
>>>
>>> Maurizio
>>>
More information about the panama-dev
mailing list