Sébastien Doeraene

Results 603 comments of Sébastien Doeraene

> > The boxing is non-optimal, but we've lived with it so far. AFAICT, we could equally get rid of the boxing without making jl.Class a hijacked class. It's a...

> I think I understand where I wasn't clear: I understand that we need a new primitive value (the typedata in this case). However, do we really need an explicit...

> I'll have a look at dispatch specifically; IIUC this concerns dispatch of toString, equality, hashCode and instance tests, correct? There's also the `GetClass` node and the related transient `ObjectClassName`...

Er ... no? It's a new public, stable API. Our policy does not let us add this kind of thing in a patch release, since it can break source compatibility....

The fix could be as simple as replacing `currentClass.typeOfThis` by `currentClass.tpe` on this line: https://github.com/scala/scala/blob/3995c7e7c73862c900e221b2753f724ee472ccfb/src/compiler/scala/tools/nsc/transform/TailCalls.scala#L129 (with precautions for type constructors, I guess)

Huh, that's bold. :P I'm not really surprised that `SourceMapFragment`s are the biggest culprit. For every few bytes worth of characters in `PrintedTree` buffers, there an entire *instance* of `FragmentElement.Segment`:...

Doing that is not always possible. During the constructor, and during the call to the *super* constructor, fields are actually mutable, and mutated. In order to call the super constructors,...

This is still based on #4993 but otherwise it's now ready for review. /cc @tanishiking