| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Miscellania:
Miscellania is a small island off the northernmost part
of the Fremennik Isles - RunScape Wiki
Miscellanea:
A collection of miscellaneous objects or writings - Merriam-Webster
|
|
|
|
|
|
|
|
|
|
|
| |
In the same manner as scala/scala-dev#219, the placement of the fields
phase after uncurry is presenting some challenges in keeping our trees
type correct.
This commit whacks a few more moles by adding a casts in the body of
synthetic methods.
Fixes scala/scala-dev#268
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a non-transient lazy val is the only user of a private field in
a class, the field is nulled out at the end of the lazy initializer.
This is tested in the existing test `run/lazy-leaks.scala`.
The analysis of which fields could be nulled out was recently moved
from `mixin` to the new `fields` phase. This introduced a regression
as a reference from an inner- or companion-classes had not yet
been processed by `explicitouter` to publicise private fields.
This commit delays the analysis to mixin (after explicit outer has
done its work.)
Navigating from `foo$lzycompute()` to `foo()` to `foo` is a little
dirty now. I'm not sure whether there is a more robust way to
structure things.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a non-transient lazy val is the only user of a private field in
a class, the field is nulled out at the end of the lazy initializer.
This is tested in the existing test `run/lazy-leaks.scala`.
The analysis of which fields could be nulled out was recently moved
from `mixin` to the new `fields` phase. This introduced a regression
as a it didn't account for the richer pallete of trees and symbols
at that juncture.
This commit excludes references to private member modules from
collection of private fields, thus avoiding a later compiler
crash in the backend due to a nonsense tree trying to null
out the module symbol. It might make sense to null out the module
var, but I've opted to limit the scope of this analysis to
paramaccessors and regular fields.
|
|
|
|
| |
Inline `mkSynchronizedCheck`, whose abstraction obscured rather than clarified.
|
|
|