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