summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Methods to derive ValDefs and Templates.Paul Phillips2012-02-2315-64/+97
| | | | | | It's a lot like the last one. I also found trees being duplicated before being sent to the tree copier. Looks like xerox has gotten a mole in here. Trust no one.
* Methods to derive new DefDefs.Paul Phillips2012-02-2313-109/+116
| | | | | | | | | | | I guess I'd seen DefDef(mods, name, tparams, vparamss, tpt, rhs) one too many times and went a little crazy. What do you prefer: - val DefDef(mods, name, tparams, vparamss, tpt, rhs) = tree1 - treeCopy.DefDef(tree1, mods, name, tparams, vparamss, tpt, transform(rhs)) + deriveDefDef(tree1)(transform) Me too.
* One last nudge for elidable.Paul Phillips2012-02-224-2/+8
| | | | | A method with return type Nothing elides into a call to ??? . It's the role ??? was born for.
* Reworked and restored elidable.Paul Phillips2012-02-222-115/+102
| | | | | | | | | | | | Found a better elidable implementation which is robust against other parts of the compiler doing their things. Calls to elidable methods are replaced with zero of the same type. Elidable methods themselves remain in place, but with their body replaced with a zero of the method return type. Thus is everything to be found where it is expected to be found, but nothing will be found where nothing ought to be found. Nothing of course will never be found.
* Revert recent elidable commits.Paul Phillips2012-02-223-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | On epfl jenkins, elidable.scala fails with: [partest] java.lang.VerifyError: (class: Test$, method: main signature: ([Ljava/lang/String;)V) Unable to pop operand off an empty stack [partest] [partest] at Test.main(elidable.scala) Strangely it is fine for me on OSX with either apple's jvm or openjdk. Since tests were not running for a while I don't know which of the recent elidable commits is responsible, so given present time demands all I can do is revert them all. Revert "Fix for SI-5215: scalac crash when @elidable used in trait" This reverts commit 5e52ce9a13f12ef159e25ac80c6be2803ec48950. Revert "Fix for SI-5215 part 2: generate return value when eliding method calls" This reverts commit 61c9b4f01d99a81e15391b270bd1b5a895f65ffd. Revert "Eliminating duplication in zero creation." This reverts commit fbb7865e137e83660257fdc79d19d29ff39c775b. Revert "Disallow eliding when Nothing is expected" This reverts commit f26a47c4e8bda2f6c689b4e9b0bb5c64ccf4c699.
* More use of perRunCaches.Paul Phillips2012-02-226-18/+14
| | | | | | | In SpecializeTypes and beyond. It is hard for me to say with confidence what might affect the IDE for the worse, but this is all intended for the IDE's benefit (if only in terms of insurance) and hopefully intention matches reality.
*-. Merge remote-tracking branches 'axel22/feature/benchmarks' and ↵Paul Phillips2012-02-221-0/+1
|\ \ | | | | | | | | | 'hubertp/topic/refinedbm'
| | * Deprecate Refined Build Manager.Hubert Plociniczak2012-02-221-0/+1
| | | | | | | | | | | | It contains bugs that we are no longer planning to work on, sbt is a recommended approach (see integration with scala-ide)
* | | Don't populate the concreteSpecMethod set in presentation compiler runs. ↵Iulian Dragos2012-02-221-1/+1
| |/ |/| | | | | | | | | | | This is safe because the presentation compiler never runs the tree transformer (where this map is needed). This is a source of serious memory leaks in the IDE, but it wasn't visible before because the IDE didn't run the info transformers far enough. Interestingly, this is not a leak in batch runs: each element of the set is removed when the tree is transformed. For a nice graph of the effect of this change, see: http://i41.tinypic.com/xe0k7o.jpg
* | Merge remote-tracking branch 'soc/SI-5034' into developPaul Phillips2012-02-211-20/+0
|\ \
| * | Removed dead code in RefChecks.Simon Ochsenreither2012-02-201-20/+0
| | | | | | | | | | | | Closes SI-5034.
| | |
| \ \
*-. \ \ Merge remote-tracking branches 'som-snytt/elide-nothing', ↵Paul Phillips2012-02-211-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | 'szabolcsberecz/SI-5316' and 'szabolcsberecz/SI-5171' into develop
| * | | | Disallow eliding when Nothing is expectedSom Snytt2012-02-211-0/+1
| |/ / /
* / / / Added the SYNTHETIC flag for BRIDGE methods. The Eclipse Java compiler ↵Iulian Dragos2012-02-211-1/+1
|/ / / | | | | | | | | | complains about duplicate methods otherwise.
* | | Eliminating duplication in zero creation.Paul Phillips2012-02-202-29/+24
| | |
* | | Merge remote-tracking branches 'jsuereth/2.10.0-milestones' and ↵Paul Phillips2012-02-201-0/+14
|\ \ \ | | | | | | | | | | | | 'szabolcsberecz/SI-5215' into develop
| * | | Fix for SI-5215 part 2: generate return value when eliding method callsSzabolcs Berecz2012-02-201-0/+14
| |/ /
* | | Speed up deployment using combined deploy settings.Josh Suereth2012-02-201-36/+10
| | |
* | | Fixed POM for sonatypes standards.v2.10.0-M2Josh Suereth2012-02-208-0/+96
| | |
* | | Added the ability to publish signed artifacts.Josh Suereth2012-02-201-2/+102
| | |
* | | Javadoc + Source jar generation is now complete for maven deployment.Josh Suereth2012-02-202-30/+40
|/ /
* | A better error message for inheritance conflict.Paul Phillips2012-02-191-1/+9
| | | | | | | | | | | | And some tests for pending. Closes SI-5358.
* | Streamlining skolemization, specialization.Paul Phillips2012-02-196-58/+75
| | | | | | | | | | | | Skolemization code doesn't belong in Typers. I carved out a little place for it. Also simplifications in specialization.
* | Merge remote-tracking branch 'TiarkRompf/SI-5506' into developPaul Phillips2012-02-192-7/+50
|\ \
| * | fixes SI-5506. better cps type propagation for polymorphic and ↵Tiark Rompf2012-02-192-7/+50
| | | | | | | | | | | | multi-argument list methods.
* | | Merge remote-tracking branch 'szabolcsberecz/SI-5215' into developPaul Phillips2012-02-192-15/+6
|\ \ \
| * | | Fix for SI-5215: scalac crash when @elidable used in traitSzabolcs Berecz2012-02-192-15/+6
| | | | | | | | | | | | | | | | The elision is now done by not emitting method calls (it was done by removing the elidable methods).
* | | | Specialize Tuple2 on more types.Paul Phillips2012-02-192-2/+2
|/ / / | | | | | | | | | This one is a no-brainer now.
* | | Fix [@spec A] to correctly induce AnyRef specialization.Erik Osheim2012-02-191-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While [@specialized A] already tries to include specialization, a bug in specializedOn prevented this from happening: any empty list could mean that the type var was unspecialized, or that it was specialized on everything. The fix is to have this function create the full list of symbols in the case where the @specialized annotation doesn't explicitly include any types.
* | | More on SI-5500.Paul Phillips2012-02-184-34/+41
| | | | | | | | | | | | | | | | | | A reimagining of erik's patch in 1df4fc6e59 . He did the hard part, this is the batman reboot. I added more tests and tried to make the anyref caching code less fragile.
| | |
| \ \
*-. \ \ Merge branch 'master', remote-tracking branch 'non/si-5500' into developPaul Phillips2012-02-1812-57/+46
|\ \ \ \
| | * | | Fixed over-optimistic anyrefSpecCache (closes SI-5500).Erik Osheim2012-02-191-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The basic problem here was that generic type params were getting confused between the various specialized subclasses. For instance, calling typeParamsSubAnyRef(A, C2$mcLI$sp) might return the wrong specialized type param, e.g. C2$mcLZ$sp.A$sp (note the Z instead of the I). The fix is to cache with both the sym (A) and also the clazz (C2$mcLI$sp). This may resolve a whole host of other obscure AnyRef specialization problems.
| * | | | Cleanup in aisle New.Paul Phillips2012-02-1812-51/+37
| | | | | | | | | | | | | | | | | | | | More trees created more uniformly.
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge remote-tracking branches 'hubertp/issue/5452' and 'hubertp/issue/5493' ↵Paul Phillips2012-02-173-10/+25
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | into develop
| | * | | | Closes #5497.Hubert Plociniczak2012-02-181-2/+6
| | | |/ / | | |/| | | | | | | | | | | | Chain contexts by sharing the error buffer, unless you explicitly create a silent context. Review by @odersky
| * / | | Closes #5452.Hubert Plociniczak2012-02-172-8/+19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to track the fallback attempts we rely on the context state to inform us which fallback is the last one. setError cannot always be called in NoBestMethodAlternativeError because inferMethodAlternative relies on side-effects. Review by @paulp.
* | | | Merge remote-tracking branch 'scalamacros/pullrequest/macros' into developPaul Phillips2012-02-174-31/+75
|\ \ \ \
| * | | | Fixes miscellaneous macro bugsEugene Burmako2012-02-174-31/+75
| |/ / /
* | | | Merge branch 'develop'Paul Phillips2012-02-1730-116/+2571
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix for "type _$1 defined twice".Paul Phillips2012-02-177-144/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually not a fix, only a workaround. Package objects strike again: you don't want to have existentials in there, like this: private val resolverFunction: PartialFunction[Throwable, Try[_]] = ... There are a few irrelevant-to-that-bug changes included which I did while debugging and figured I'd keep them. With this patch I can merge/am merging the scala.concurrent work.
| * | | Merge remote-tracking branch 'phaller/execution-context' into feb17-alexPaul Phillips2012-02-1728-115/+2582
| |\ \ \
| | * | | Disable execution context and futures implementation in the default package.Aleksandar Prokopec2012-02-168-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed some tests so that they work now. The Transactions.scala test was failing when defined in scala.concurrent package, reporting that type `_$1` is defined twice. Until we figure out the reason for this, the package name in that test is renamed.
| | * | | Merge branch 'master' into execution-contextAleksandar Prokopec2012-02-16279-8867/+10224
| | |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/library/scala/package.scala
| | * | | Change the default reportFailure implementation.Aleksandar Prokopec2012-02-031-2/+3
| | | | |
| | * | | Fix typo in Future trait. Simplify recoverWith.Philipp Haller2012-02-031-5/+2
| | | | |
| | * | | Rename to recoverWith and fallbackTo in Future.aleksandar2012-02-011-2/+2
| | | | |
| | * | | Replaced Either with Try throughout scala.concurrent.Heather Miller2012-01-319-115/+122
| | | | |
| | * | | Add some missing methods, remove obsolete methods in futures.aleksandar2012-01-306-36/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove `ensure`. Add `reportFailure` to execution contexts. Add `zip` to futures.
| | * | | Refactor the Try monad a bit.aleksandar2012-01-301-45/+37
| | | | |
| | * | | Changed the comments a bit, removed on* methods on Try.aleksandar2012-01-301-55/+32
| | | | |