[foreign] RFR duplicates in named layouts have to be reported as error
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon May 28 12:34:33 UTC 2018
Sorry, wrong webrev link, here's the correct one:
http://cr.openjdk.java.net/~mcimadamore/panama/layout_resolver/
Maurizio
On 28/05/18 13:32, Maurizio Cimadamore wrote:
> Here's a stab at the current approach; I started with your patch and
> tweaked in places.
>
> http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html
>
> I think the result is good; the problems you mention are resolved, and
> all use cases are supported.
>
> Let me know what you think.
>
> Maurizio
>
>
> On 28/05/18 11:02, Maurizio Cimadamore wrote:
>>
>>
>> On 28/05/18 09:37, Maurizio Cimadamore wrote:
>>>
>>>
>>> On 28/05/18 07:39, Sundararajan Athijegannathan wrote:
>>>> Isolated Structs will work if there are no name definitions or
>>>> references in its layout. If there are Unresolved name references
>>>> in its layout, then there has to be a 'context' in which the names
>>>> are defined/resolved. The context cannot be entire Java process as
>>>> it currently is! Two issues with the current code:
>>> I agree with all you say. The only thing I'm disagreeing with is the
>>> fact that the context has to be the @NativeHeader annotation, as
>>> that suggests an header-centric nature that was never intended to be
>>> part of the design.
>>>
>>> Other, more explicit ways to define the context include an explicit
>>> annotation which list all the classes where dependent layout can be
>>> found. I think I'd like something like this better. Example (names
>>> TBD):
>>>
>>> @NativeStruct("[$(b)](a)")
>>> @Friends(B.class)
>>> interface A {
>>> B b();
>>> }
>>>
>>> @NativeStruct("[$(a)](b)")
>>> @Friends(A.class)
>>> interface B {
>>> A a();
>>> }
>> Now that I have expressed this more explicitly, another idea emerged
>> - what if we assumed that, if no annotation is provided, the context
>> is the outermost class? That will work neutrally with both struct and
>> header interfaces...
>>
>> Maurizio
>>>
>>>
>>> Maurizio
>>>
>>>
>>>
>>
>
More information about the panama-dev
mailing list