See you at JVMLS
Peter Levart
peter.levart at gmail.com
Wed Aug 19 14:39:46 UTC 2015
On 08/19/2015 04:38 PM, Peter Levart wrote:
> Hm,
>
> If you recreate methods from Bar in Foo$any interface, then any change
> of such method in Bar (addition, signature change, ...) will
pardon: addition -> removal
> be binary incompatible with separate compilation of Foo even though
> such method is not referenced anywhere in Foo (neither overridden nor
> called).
>
> Perhaps the Foo$any could be generated by class spinning at runtime as
> apposed to be generated by javac when Foo is compiled.
>
> Peter
>
> On 08/18/2015 11:53 PM, Brian Goetz wrote:
>> Yes, that has to work, though it doesn't currently. On the list...
>>
>> On 8/18/2015 5:49 PM, Palo Marton wrote:
>>> Yes, that's a nice sidestep ;-)
>>> My question was meant in a general way, not only about results of
>>> instanceof/isAssignableFrom. What about methods of Bar? Will you
>>> recreate them in Foo$any? What about eg call to
>>> f.barMethod()?
>>> On ut, 18. aug 2015 at 23:39 Brian Goetz <brian.goetz at oracle.com
>>> <mailto:brian.goetz at oracle.com>> wrote:
>>>
>>> I'll sidestep your clever question by pointing out that the left
>>> operand
>>> of an instanceof check is an expression, not a type.
>>>
>>> If you have:
>>>
>>> Foo<any> f = ...
>>>
>>> if (f instanceof Bar) { ... }
>>>
>>> this works just fine, because all instantiations of Foo<T> are
>>> represented by classes whose supertype is Bar. The harder
>>> question is
>>> the reflective one (Class.isAssignableFrom.) But reflection is
>>> still a
>>> work in progress (as is the whole thing, of course.)
>>>
>>> On 8/18/2015 5:30 PM, Palo Marton wrote:
>>> > Thanks. I have just watched your talk on Valhalla. Just one
>>> curious
>>> > question on xxx$any interfaces: How do you handle this?
>>> >
>>> > class Foo<any T> extends Bar { }
>>> >
>>> > Foo$any instanceof Bar?
>>> > On ut, 18. aug 2015 at 19:02 Brian Goetz <brian.goetz at oracle.com
>>> <mailto:brian.goetz at oracle.com>
>>> > <mailto:brian.goetz at oracle.com <mailto:brian.goetz at oracle.com>>>
>>> wrote:
>>> >
>>> > JVMLS talks up at:
>>> > https://www.youtube.com/user/java
>>> >
>>> >
>>> > On 8/8/2015 12:05 PM, Brian Goetz wrote:
>>> > > I'll be doing a talk on the path from Model 1 to Model 2
>>> (and a
>>> > glimpse
>>> > > of Model 3) at JVMLS next week. Hope to see some of you
>>> there.
>>> > Videos
>>> > > should go up on the Java YouTube channel fairly quickly
>>> after the
>>> > > conference.
>>> > >
>>> > > In the meantime ... I'll just note that we've had 50+
>>> messages on the
>>> > > various "Model 2" threads and none of them started
>>> with "I
>>> tried
>>> > it out
>>> > > and..."
>>> > >
>>> > > So a reminder ... the most valuable input the community
>>> can give
>>> > in this
>>> > > process is to provide *actual experience reports*.
>>> That's
>>> the main
>>> > > reason we make the significant investment in making the
>>> code and
>>> > design
>>> > > sketches available early -- so that people can
>>> actually try it
>>> > out, and
>>> > > help us see the holes that we might have missed.
>>> > >
>>> > >
>>> >
>>> > --
>>> > Pavol Marton
>>>
>>> --
>>> Pavol Marton
>
More information about the valhalla-dev
mailing list