summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added *.log and build/ to gitignore so partest/...Josh Suereth2011-11-2316-26/+26
| | | | | | | Added *.log and build/ to gitignore so partest/ant artifacts don't show up in our commit messages. Also fixed whitespace issues arising from the filter-branch history rewrite for git move.
* Fixed type unsoundness problem in t5120 and als...Martin Odersky2011-11-015-7/+57
| | | | | | | Fixed type unsoundness problem in t5120 and also discovered by roman.kalukiewicz@gmail.com. Fix should be refined further, as I am not convinced we are quite done yet. Review by moors.
* Made some minor change in the presentation comp...Micro Dotta2011-11-012-4/+12
| | | | | | | | Made some minor change in the presentation compiler testing framework to make it more robust when (unexpected) NoPosition values are returned. That makes test failure smoother and more information can be hence gathered from the logged trace. no review.
* Fix for SI-3415 regression.Paul Phillips2011-11-011-0/+1
| | | | | Now there's an unlikely fix. No review.
* Fixed paths for 'neg' tests.Hubert Plociniczak2011-11-015-7/+8
|
* Fixed failing pc tests. no reviewHubert Plociniczak2011-10-317-26/+40
|
* Revert r25648 by michelou, it brakes partestHubert Plociniczak2011-10-314-105/+51
|
* Fix doc comment. no reviewHubert Plociniczak2011-10-311-7/+7
|
* Fix for NumericRange boundary condition.Paul Phillips2011-10-312-2/+2
| | | | | Contributed by Thomas Switzer. Closes SI-4985, no review.
* Fixes NPE using iterator with an XML attribute ...Paul Phillips2011-10-315-4/+32
| | | | | | | | | Fixes NPE using iterator with an XML attribute being null or None ) (SI-5052 Also fixes incorrect size method (SI-5115 ) Contributed by Jordi Salvat i Alabart. Closes SI-5052, SI-5115, no review.
* Clean result of function type.Paul Phillips2011-10-312-1/+15
| | | | | NullaryMethodType was escaping. Closes SI-5099, review by moors.
* Code to locate currently transformed unit in ca...Martin Odersky2011-10-311-1/+8
| | | | | | Code to locate currently transformed unit in case of crashes. Review by extempore.
* Closes #5127. Review by extempore.Martin Odersky2011-10-313-10/+22
|
* Fix for crasher in explicitouter.Paul Phillips2011-10-293-40/+60
| | | | | Closes SI-4970, review by moors.
* Test case closes SI-4875.Paul Phillips2011-10-293-0/+30
| | | | | No review.
* Fix ArrayStack.growArray at boundary.Paul Phillips2011-10-291-1/+1
| | | | | | Doubling a 0-size array is still 0, that's not growing. Closes SI-4963, no review.
* Fix bug in example sort.Paul Phillips2011-10-291-2/+2
| | | | | | Embarrassing bug causes sort to explode if there are any duplicated elements. Closes SI-4961, no review.
* Test case closes SI-4957.Paul Phillips2011-10-291-0/+89
| | | | | No review.
* Test case closes SI-102.Paul Phillips2011-10-292-0/+26
| | | | | No review.
* Disabled test.Paul Phillips2011-10-292-0/+0
| | | | | Guess that was a bad choice of class. No review.
* Overhaul of getter/setter synthesis.Paul Phillips2011-10-288-260/+343
| | | | | | | | It represents a lot of work because the mutation flies fast and furious and you can't even blink at these things without upsetting them. They're a little hardier now, or at least we stand a better chance of changing them. Open season on review.
* Tentative fix for IDE #1000663.Martin Odersky2011-10-281-3/+15
|
* Closes t5121. Review by szeiger.Martin Odersky2011-10-281-0/+3
|
* Repl output fix.Paul Phillips2011-10-281-2/+2
| | | | | Don't truncate errors or warnings. No review.
* Better report on missing methods.Paul Phillips2011-10-284-7/+52
| | | | | | Discovered an overloaded method with multiple unimplemented variants only had one listed. Fixed, no review.
* Fix for varargs methods.Paul Phillips2011-10-271-1/+5
| | | | | | Propagate varargs flag from object methods to static forwarders so java will recognize them as varargs.
* Hopefully a fix for the hyperlinking problem.Martin Odersky2011-10-271-18/+20
|
* Fixed problem when running under -Xcheckinit fo...Martin Odersky2011-10-252-2/+2
| | | | | | | Fixed problem when running under -Xcheckinit for the code.scala test by avoiding accessing an unitialized variable. Good catch, -Xcheckinit! Review by extempore.
* Some readability for typer.Paul Phillips2011-10-251-30/+30
| | | | | | "phase.id <= currentRun.typerPhase.id" hurts my brain in all these convoluted conditionals. No review.
* First end-to-end implementation of a runtime re...Martin Odersky2011-10-244-22/+108
| | | | | | First end-to-end implementation of a runtime reflexive compiler that generates and loads bytecodes. Review by szeiger.
* Trying to fix getLinkPos problem reported by Mi...Martin Odersky2011-10-241-39/+64
| | | | | Trying to fix getLinkPos problem reported by Mirco. Review by dotta.
* Test case for SI-1100/SI-5108.Paul Phillips2011-10-242-0/+21
|
* Reverted r25886.Micro Dotta2011-10-241-42/+28
|
* Added a -Yno-productN option.Paul Phillips2011-10-244-1/+5
| | | | | Suppresses ProductN parent for case classes. No review.
* Fixes IDE ticket #1000692.Micro Dotta2011-10-241-28/+42
|
* Changed typo on doc of scala.collection.Seq.Martin Odersky2011-10-241-1/+1
|
* Pushed NPE defense in NoSourceFile.file out ano...Martin Odersky2011-10-241-1/+3
| | | | | Pushed NPE defense in NoSourceFile.file out another level.
* made compileUnits work from given start phase.Martin Odersky2011-10-241-1/+1
|
* Fix for combinator regression.Paul Phillips2011-10-231-0/+1
| | | | | | Propagate Error in repN. I have no time for a test case, I will gladly take a contribution. References SI-1100, Closes SI-5108, No review.
* Debugging note.Paul Phillips2011-10-231-1/+8
| | | | | | Pinpointed line which gave us SI-3882. In case a remedy suggest itself to you, review by dragos.
* Overhaul of Namers continues.Paul Phillips2011-10-228-259/+393
| | | | | | Starting to see a glimmer of the other side now. I nudged a few things into more sensible places. No review.
* fixed svn props in test directorymichelou2011-10-2218-0/+0
|
* Warn about surprising shadowing.Paul Phillips2011-10-225-6/+86
| | | | | | It's hidden behind -Xlint and pretty specific, but makes me feel better anyway. References SI-4762, no review.
* Positions fix.Paul Phillips2011-10-221-1/+1
| | | | | One little tiny oversight, those positions are finicky. No review.
* Test case closes SI-5105, no review.Paul Phillips2011-10-212-0/+15
|
* More overhaul of Namers.Paul Phillips2011-10-215-215/+215
| | | | | | | I was hoping to be further than this by now ("Accursed mutants!" *shakes fist*) but you can't deny we've come a long way. Review is welcome, but no review.
* Disabled failing "code" test.Paul Phillips2011-10-212-0/+0
| | | | | | | This has been failing the Xcheckinit build for weeks and is now failing the regular build too. I'm checking in some hairy stuff and I'd like to make a good impression on it. Review by odersky.
* Overhaul of Namers.Paul Phillips2011-10-215-239/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A digression into motivations: It's not there yet but the future looks bright. I have winnowed the number of mutation points down and I will take it down much further. There are only a few fundamental state changes which take place and these can be made to happen in a systematic fashion at well-known junctions. 1) Fresh symbols are allocated and (usually) assigned to a tree. 2) Symbol flags and access are manipulated. 3) A (possibly lazy) info is assigned to a symbol. 4) Synthetics are created or lazily positioned for creation Among the complications is that the symbol's info often cannot be determined in a straightforward fashion lest cycles develop. Type inference is obviously dependent on having some type information, so the black art is to pursue a) only the right information and b) only as far as necessary to avoid cycles. Compounding the difficulty is that synthetic methods must be introduced before the typer phase. Over time a variety of ad-hoc mechanisms have evolved to deal with these difficulties, and they have gotten us a good distance (we have bean setter/getters, case classes, copy methods, default getters, and more) but there are big disadvantages: - they are heavily custom fitted to the specific uses - because of the intertwingling of namer and typer, it is all only possible from the inside. Compiler plugins are shut out. A particularly difficult scenario has recently arisen with case classes. They now receive a ProductN parent, but because a class's parents must be completed before it can be completed, we encounter this: object Foo { type T = String } case class Foo(x: Foo.T, y: Foo.T) { } Now one of class Foo's parents is Product2[T, T]. So class Foo cannot be completed without information from object Foo. But object Foo needs to be given these synthetic methods: def apply(x: T, y: T): Foo def unapply(x: Foo): Option[(T, T)] You can see these two have their hands all over one another. The good news is that I have established in principle that the problem can be overcome, for that use and I think in a sufficiently general way that plugins will be able to perform this kind of method synthesis, with the following approach. For synthetic methods which require type information before they can be created (this is the catch-22: once type information is available, it's too late to add new synthetic methods) we create a "stub symbol" like so: val sym = owner.newMethod("nameOfMethod") sym setInfo stubMethodInfo stubMethodInfo will be some very general method type like Any* => Any (or Nothing => Any, it really depends on how or whether it is used), whatever it takes to pass type checking. At the same time, we enter the stub symbol into a map along with a thunk which creates the symbol and tree the way we would if we had full type information. Then, immediately after a class is typed, the template is examined for stub method symbols and when found, they are updated with the symbol info found in the map, assigned to the associated tree, and added to the class template. This approach will probably break down under some uses, but I think it can take us a long way. So all these changes in Namers are about evolving it to a point where I can roll out a principled division of responsibility for those entities which cannot be naively typed, and to unify the several different approaches to lazy typing under a consistent and predictable mechanism. If anyone would like to review this, please be my guest, but you might want to wait one more commit.
* Towards runtime code generation. No review.Martin Odersky2011-10-212-7/+22
|
* Isolated name change. No review.Martin Odersky2011-10-211-2/+2
|