summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/reify/codegen/GenSymbols.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-02-08 14:08:54 +0100
committerEugene Burmako <xeno.by@gmail.com>2013-02-08 15:04:48 +0100
commitce867c74572b51cfcb6ac3e3bfa9dce36cc0b638 (patch)
treea4c05858cd9ebd60670aa3dbcb3d4033e6f42e10 /src/compiler/scala/reflect/reify/codegen/GenSymbols.scala
parent09ef8730d13eff1cf200bbfb0f6fda7f6d72524a (diff)
downloadscala-ce867c74572b51cfcb6ac3e3bfa9dce36cc0b638.tar.gz
scala-ce867c74572b51cfcb6ac3e3bfa9dce36cc0b638.tar.bz2
scala-ce867c74572b51cfcb6ac3e3bfa9dce36cc0b638.zip
term and type reftrees are now reified uniformly
Top-level (i.e. owned by a package) => Ident(symbol) Nested (i.e. owned by an object or a package object) => Select(owner, symbol) Inner (i.e. owned by a static class) => selectTerm/selectType(owner, name) Non-locatable (i.e. everything else) => see GenTrees.scala for more details Changes w.r.t the previous approaches: * Top-level refs are no longer reified as Select(This(package), symbol). Proposed reification scheme is as resistant to resetAttrs as previous one, but is at the same time much shorter. * Refs to definitions from package objects are no longer Ident(symbol). Otherwise reflective compilation of things like `_ :: _` fails. * Contents of Predef._ and scala._ are no longer treated specially. This increases the size of reificode, but is more hygienic.
Diffstat (limited to 'src/compiler/scala/reflect/reify/codegen/GenSymbols.scala')
0 files changed, 0 insertions, 0 deletions