summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Sin some more.Paul Phillips2011-11-132-0/+7
| | | | | | | | | | | "Fiddle with lubs and glbs by never considering getClass as a member in a refinement generated from them. In a sense we have justification for this by saying we already treated getClass in an ad-hoc way, so we might as well go all the way." -- m. odersky Closes SI-4846.
* Enabled Presentation Compiler test for IDE tick...Micro Dotta2011-11-114-0/+6
| | | | | | Enabled Presentation Compiler test for IDE ticket #1000609, which has been fixed by odersky. no review.
* Enabled Presentation Compiler test for IDE tick...Micro Dotta2011-11-115-3/+47
| | | | | | Enabled Presentation Compiler test for IDE ticket #1000349, which has been fixed by odersky in r25625. no review.
* Deprecated ambiguous dot syntaxes.Paul Phillips2011-11-116-0/+46
| | | | | | | | | | | | | | | 1.+(2) - what is it? Is it 3 or 3.0? Come scala 2.11 you won't have to not know (or even not know there's something you don't know.) 1.+(2) will then be safely considered equivalent to 1 + 2, because any dot not followed by a digit is not part of a number. Primarily, that's these forms: 3.f 3.d 3. If you prefer an error to a warning, use -Xfuture. Let's deprecate 012 == 10 too! (See comment.) References SI-5089, no review.
* A comment answering one of adriaan's philosophi...Paul Phillips2011-11-111-0/+8
| | | | | | A comment answering one of adriaan's philosophical musings on why programs fail, and a test case informed by the comment. Review by moors.
* Allow to load $class classes using Scala reflec...Grzegorz Kossakowski2011-11-101-0/+18
| | | | | | | | | | | | | | Allow to load $class classes using Scala reflection. Tweaked implementation of invalidClassName method to exclude *$class clasess from the set of invalid names. It's not exactly clear what was the intent of this method in first place so I'm not sure if it's the best way to fix SI-5176. Added test-case that covers this issue. Fixes SI-5176. Review by odersky.
* Fixing tests, no review.Paul Phillips2011-11-101-1/+1
|
* Fix for regression in overriding with defaults.Paul Phillips2011-11-101-0/+11
| | | | | | | I should know better than to behave as if usable inferences can be drawn from a comment like "SYNTHETIC because of DEVIRTUALIZE". Maybe it was even true when it was written, but no more. Closes SI-5178, no review.
* Updates for the ten tests I broke recently.Paul Phillips2011-11-0810-19/+43
| | | | | Wow, ten tests, that's unexpected. No review.
* smarter bridges to unappliesAdriaan Moors2011-11-082-0/+41
| | | | | | | | | | | wraps the call to a bridged synthetic unapply(Seq) in a defensive if-test: if (x.isInstanceOf[expectedType]) real.unapply(x.asInstanceOf[expectedType]) else None NOTE: the test is WRONG, but it has to be due to #1697/#2337 -- once those are fixed, this one should generate the expected output
* Fixing logic in structural types.Paul Phillips2011-11-082-0/+8
| | | | | | | Check number of arguments before jumping to conclusion that a primitive seeming structural call might really be primitive. Closes SI-4766, no review.
* Third collections commit from Todd Vierling.Paul Phillips2011-11-071-6/+6
| | | | | | | Misc cleanups associated with the previous commits: limiting overly expanded types, fixing externally visible types for scaladoc, utilizing abstract collection classes where possible, etc.
* Closes IDE-1000567, SI 5013. No Review.Martin Odersky2011-11-072-0/+10
|
* A couple bits of r25957 lost under time pressure.Paul Phillips2011-11-071-1/+2
| | | | | No review.
* Another round of pleasing the gods of init order.Paul Phillips2011-11-071-1/+1
| | | | | | | Moved all the eagerly evaluated bits to the top of the file so I can see them all at once. Let a dozen vals unroll up front so initialization is more predictable. No review.
* Fix crash with HK types.Paul Phillips2011-11-072-0/+26
| | | | | | | Another page in the storied history of "call .tpe when one should have called .tpeHK", in this case leading to a crash of stacktraciness. Closes SI-5152, review by moors.
* Fixed hang in typechecker.Paul Phillips2011-11-071-0/+21
| | | | | | | Another page in the storied history of "check the normalized type, then act on the unnormalized type", in this case leading to a tight loop of foreverness. Closes SI-5156, review by moors.
* Changed presentation tests to use .flags instea...Iulian Dragos2011-11-062-0/+0
| | | | | | Changed presentation tests to use .flags instead of .opts for passing options to the presentation compiler.
* Fixed askLinkPos problem in reported by failing...Martin Odersky2011-11-061-1/+1
| | | | | | Fixed askLinkPos problem in reported by failing test in presentation/akka.
* Added akka.opts file (for presentation compiler...Micro Dotta2011-11-051-0/+18
| | | | | | | Added akka.opts file (for presentation compiler test) which allows to set settings on the compiler's instance. Lines that begin with a sharp are skipped. review by odersky.
* Revert "Fix for Enumeration."Paul Phillips2011-11-042-10/+0
| | | | | Oops, didn't mean to commit that one. Opens SI-5147. No review.
* Attempt to fix failing test.Paul Phillips2011-11-042-3/+5
| | | | | No review.
* Fix for Enumeration.Paul Phillips2011-11-042-0/+10
| | | | | Closes SI-5147.
* More repl work.Paul Phillips2011-11-043-1/+76
| | | | | | | | | Hardened the repl against a bunch of erroneous conditions. Added a :reset command which causes the repl to forget everything you have told it. Added classloader tracing when repl tracing is enabled. :reset is not that useful in its current form but it's the precursor to something more interesting. No review.
* Fix for some repl bitrot.Paul Phillips2011-11-042-0/+37
| | | | | | | | Exception handling beset by entropy. Restored some order. The output of the test may not be stable across platforms, in which case I'll take the usual step of reverting it, thereby achieving victory over failure by testing nothing instead of testing something. No review.
* Begone t1737...Hubert Plociniczak2011-11-02990-3728/+65611
|
* attempt to bring trunk build to normal state.Hubert Plociniczak2011-11-252-13/+17
|
* Whitespace fix for continutations tests.Josh Suereth2011-11-231-1/+1
|
* 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-013-3/+44
| | | | | | | 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.
* Fixed paths for 'neg' tests.Hubert Plociniczak2011-11-013-6/+6
|
* Fixed failing pc tests. no reviewHubert Plociniczak2011-10-317-26/+40
|
* Fix for NumericRange boundary condition.Paul Phillips2011-10-311-1/+1
| | | | | Contributed by Thomas Switzer. Closes SI-4985, no review.
* Fixes NPE using iterator with an XML attribute ...Paul Phillips2011-10-312-0/+20
| | | | | | | | | 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-311-0/+14
| | | | | NullaryMethodType was escaping. Closes SI-5099, review by moors.
* Closes #5127. Review by extempore.Martin Odersky2011-10-311-0/+8
|
* Fix for crasher in explicitouter.Paul Phillips2011-10-291-0/+13
| | | | | Closes SI-4970, review by moors.
* Test case closes SI-4875.Paul Phillips2011-10-292-0/+29
| | | | | 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.
* Better report on missing methods.Paul Phillips2011-10-283-4/+48
| | | | | | Discovered an overloaded method with multiple unimplemented variants only had one listed. Fixed, no review.
* First end-to-end implementation of a runtime re...Martin Odersky2011-10-242-0/+37
| | | | | | First end-to-end implementation of a runtime reflexive compiler that generates and loads bytecodes. Review by szeiger.
* Test case for SI-1100/SI-5108.Paul Phillips2011-10-242-0/+21
|
* Added a -Yno-productN option.Paul Phillips2011-10-242-0/+3
| | | | | Suppresses ProductN parent for case classes. No review.
* fixed svn props in test directorymichelou2011-10-2218-0/+0
|
* Warn about surprising shadowing.Paul Phillips2011-10-223-0/+59
| | | | | | It's hidden behind -Xlint and pretty specific, but makes me feel better anyway. References SI-4762, no review.
* Test case closes SI-5105, no review.Paul Phillips2011-10-212-0/+15
|
* 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-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.