diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-01-20 12:31:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-01-20 17:02:11 +0100 |
commit | 1a7de4314ac72bca81e31ad3ac0af7bee7eed26b (patch) | |
tree | 45bf4f3f2e81dc32256da07b2225aa99e0cd4f82 /src/manual | |
parent | 6f72ed85c3882d2a8c824a41e6e42d7f33b8d1d6 (diff) | |
download | scala-1a7de4314ac72bca81e31ad3ac0af7bee7eed26b.tar.gz scala-1a7de4314ac72bca81e31ad3ac0af7bee7eed26b.tar.bz2 scala-1a7de4314ac72bca81e31ad3ac0af7bee7eed26b.zip |
SI-6666 Restrict hidden `this` access in self/super calls.
Detect when classes (user authored or compiler generated)
local to a self or super constructor argument would require
premature access to the in-construction instance.
The same restriction applies for classes and objects; for objects,
the premature access would result in a null via MODULE$ field.
A residual error has been lodged as SI-6997.
I'd like to remove calls to `Symbol#outerClass` (which relies on
the flaky flag INCONSTRUCTOR, see my comments in the JIRA issue
for more discussion) from `LambdaLift` and `ExplicitOuter`, and
instead use the stack of active self/super calls to know when to
skip an enclosing class. That will obviate that flag.
Diffstat (limited to 'src/manual')
0 files changed, 0 insertions, 0 deletions