diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2010-12-22 11:29:12 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2010-12-22 11:29:12 +0000 |
commit | 610fdb6b5ae6e6a7b74681f0623aefb937952cfe (patch) | |
tree | 8201a1a21c6b2065b13b1cb9c026b09a5cae61ac /test/review | |
parent | f826618f7b6dda6f03fd1a695d9600386021c8c3 (diff) | |
download | scala-610fdb6b5ae6e6a7b74681f0623aefb937952cfe.tar.gz scala-610fdb6b5ae6e6a7b74681f0623aefb937952cfe.tar.bz2 scala-610fdb6b5ae6e6a7b74681f0623aefb937952cfe.zip |
Fix 'Symbol.companionModule' for the resident m...
Fix 'Symbol.companionModule' for the resident mode compiler. It was
confused by having modules being translated to lazy values. The
direct consequence was a crash in the build manager when looking at a
constructor using a default argument (compiled separately), but only on
the second run.
The resident compiler may run many times over, and symbols may be
reused. Therefore, a module symbol that has been translated to a lazy
val by refchecks is not guaranteed to have MODULE set on the next run
(even before refcheck). Flags are not part of symbol history. Instead we
rely on the fact that a synthetic lazy value must have been a module.
review by odersky.
Diffstat (limited to 'test/review')
0 files changed, 0 insertions, 0 deletions