Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | SI-6277 fixes flags, annotations & privateWithin | Eugene Burmako | 2012-09-26 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | | | `Symbol.getFlag`, 'Symbol.hasFlag`, `Symbol.hasAllFlags`, `Symbol.annotations` and `Symbol.privateWithin` now trigger automatic initialization of symbols if they are used in a runtime reflection universe and some other conditions are met (see `Symbol.needsInitialize` for details). As the performance testing in https://github.com/scala/scala/pull/1380 shows, this commit introduces a ~2% performance regression of compilation speed. Unfortunately all known solutions to the bug at hand (A, B & C - all of those) introduce perf regressions (see the pull request linked above for details). However we're under severe time pressure, so there's no more time to explore. Therefore I suggest this is reasonable to accept this performance hit, because we've just gained 6% from removing scala.reflect.base, and even before that we were well within our performance goal for 2.10.0-final. | ||||
* | SI-6342 cleans up toolbox API | Eugene Burmako | 2012-09-15 | 1 | -1/+1 |
| | | | | | | 1) parseExpr => parse 2) runExpr => eval 3) Introduces compile(Tree): () => Any, since it has frequent uses | ||||
* | cleanup of reflection- and macro-related stuff | Eugene Burmako | 2012-08-15 | 1 | -0/+1 |
| | | | | | | mostly removes [Eugene] marks that I left back then and reviews related code some of those tokens got left in place, because I don't know to how fix them without imposing risks on 2.10.0 | ||||
* | repairs the tests after the refactoring spree | Eugene Burmako | 2012-06-08 | 1 | -3/+6 |
| | |||||
* | Next generation of macros | Eugene Burmako | 2012-04-12 | 1 | -0/+23 |
Implements SIP 16: Self-cleaning macros: http://bit.ly/wjjXTZ Features: * Macro defs * Reification * Type tags * Manifests aliased to type tags * Extended reflection API * Several hundred tests * 1111 changed files Not yet implemented: * Reification of refined types * Expr.value splicing * Named and default macro expansions * Intricacies of interaction between macros and implicits * Emission of debug information for macros (compliant with JSR-45) Dedicated to Yuri Alekseyevich Gagarin |