summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Cosmetic removal of redundant toList call on it...Paul Phillips2011-06-2513-25/+22
| | | | | Cosmetic removal of redundant toList call on iterable target, no review.
* Another one I missed which was fixed by r25149.Paul Phillips2011-06-241-0/+41
|
* Defined tpeHK in a manner consistent with tpe s...Paul Phillips2011-06-242-26/+58
| | | | | | | Defined tpeHK in a manner consistent with tpe so it has a better chance of being found/understood, and tried to clean up its documentation a little bit. Review by moors.
* Integrating feedback from adriaan, changed anot...Paul Phillips2011-06-241-23/+26
| | | | | | Integrating feedback from adriaan, changed another call to tpe to tpeHK and simplified the surrounding method. No review.
* Another one brought to compilation by r25149.Paul Phillips2011-06-241-0/+31
|
* A test case from recently closed #490, no review.Paul Phillips2011-06-241-0/+16
|
* Added sanity check to lub calculation to preven...Paul Phillips2011-06-249-18/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added sanity check to lub calculation to prevent invalid lubs from emerging. The underlying cause of said lubs is that higher-order type parameters are not handled correctly: this is why the issue is seen so frequently in the collections. See pending test pending/pos/those-kinds-are-high.scala for a demonstration. Until that's fixed, we can at least raise the bar a bit. Closes #2094, #2322, #4501. Also, some test cases in neg have been promoted into working programs: #2179, #3774. (They're not in neg for the "shouldn't work" reason, but out of despair.) In some cases, such as the original reported ticket in #3528, this only pushes the problem downfield: it still fails due to inferred type parameters not conforming to bounds. I believe a similar issue with higher-order type parameters underlies that. Look at how far this takes us though. All kinds of stuff which did not work, now works. None of these even compiled until now: scala> :type List(mutable.Map(1 -> 1), immutable.Map(1 -> 1)) List[scala.collection.Map[Int,Int]] scala> :type Set(List(1), mutable.Map(1 -> 1)) scala.collection.Set[Iterable[Any] with PartialFunction[Int,Int]] scala> :type Stream(List(1), Set(1), 1 to 5) Stream[Iterable[Int] with Int => AnyVal{def getClass(): Class[_ >: Int with Boolean <: AnyVal]}] scala> :type Map(1 -> (1 to 10), 2 -> (1 to 10).toList) scala.collection.immutable.Map[Int,scala.collection.immutable.Seq[Int] ] PERFORMANCE: compiling quick.lib and quick.comp, this patch results in an extra 27 subtype tests. Total. Time difference too small to measure. However to be on the safe side I made it really easy to disable. private final val verifyLubs = true // set to false Review by moors, odersky.
* getting the revamped getClass to work on Java 5Adriaan Moors2011-06-238-25/+10
| | | | | | | | | | | | | | | | | hunch by adriaan (needed to change Object to Any in strategic location), location + fix determined by paul, menial work (reverts of obsolete spears and introduction of fix) by adriaan review by extempore Revert "A line missed from spear thrust, no review. Revert " "Thrusting spear into darkened alcove attempting to slay java5 " Revert "New theory: fails running on java 1.5. Put in hack to " discover Revert "Everything builds for me, but apparently not for " jenkins. First "
* Overrode contains and apply in mutable.HashMap ...Paul Phillips2011-06-235-64/+27
| | | | | | | | Overrode contains and apply in mutable.HashMap to avoid allocating an unnecessary Some on every call to either of them. Fruit looks a little better defended in immutable.HashMap, so I deleted a bunch of old debugging code instead. Closes #4469, no review.
* Notice when erasure is trying to cast something...Paul Phillips2011-06-232-3/+23
| | | | | | | | Notice when erasure is trying to cast something to Unit, and don't do it. I'm not sure at what prior point such things should have been caught, but for now we can have a sanity check. Closes #4731, review by odersky.
* Added a -Y option to resolve namespace collisio...Paul Phillips2011-06-232-3/+28
| | | | | | | | | Added a -Y option to resolve namespace collisions between package and object. It's a blunt instrument: if people have lots of these conflicts they need to resolve in individually nuanced fashion, they'll probably remain out of luck. But now people can use YourKit probes without a custom hacked compiler. Let's say this closes #2089. Review by odersky.
* Playing defense against NoSymbol in scaladoc, n...Paul Phillips2011-06-231-2/+2
| | | | | Playing defense against NoSymbol in scaladoc, no review.
* Noticed while working on getClass that most of thePaul Phillips2011-06-232-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | implementations for $hash$hash can be inlined directly, with this kind of beautiful change: // source def hash(x1: Int, x2: Int) = x1.## + x2.## // before 0: getstatic #11; //Field scala/runtime/ScalaRunTime$.MODULE$:Lscala/runtime/ScalaRunTime$; 3: iload_1 4: invokevirtual #27; //Method scala/runtime/ScalaRunTime$.hash:(I)I 7: getstatic #11; //Field scala/runtime/ScalaRunTime$.MODULE$:Lscala/runtime/ScalaRunTime$; 10: iload_2 11: invokevirtual #27; //Method scala/runtime/ScalaRunTime$.hash:(I)I 14: iadd 15: ireturn // after 0: iload_1 1: iload_2 2: iadd 3: ireturn No review.
* A line missed from spear thrust, no review.Paul Phillips2011-06-221-0/+1
|
* Thrusting spear into darkened alcove attempting...Paul Phillips2011-06-222-7/+11
| | | | | | Thrusting spear into darkened alcove attempting to slay java5 build failure. No review.
* New theory: fails running on java 1.5.Paul Phillips2011-06-225-3/+10
| | | | | truth of theory. No review.
* Moved test for #4727 to where it was supposed t...Paul Phillips2011-06-222-0/+11
| | | | | Moved test for #4727 to where it was supposed to go, no review.
* Everything builds for me, but apparently not fo...Paul Phillips2011-06-221-4/+7
| | | | | | | | | Everything builds for me, but apparently not for jenkins. First attempt to solve mystery: explicitly set return type of Any#getClass() to Class[_ <: Any] rather than allowing java's to be used. I'm guessing that somehow it materializes as Class[_ <: Any] sometimes and Class[_ <: AnyRef] other times. Review by moors.
* A total rewrite of "runtimeClass", discarding t...Paul Phillips2011-06-2217-24/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A total rewrite of "runtimeClass", discarding the user-space approach in favor of simply fixing getClass. def f1 = 5.getClass // Class[Int] def f2 = (5: AnyVal).getClass // Class[_ <: AnyVal] def f3 = (5: java.lang.Integer).getClass // Class[_ <: java.lang.Integer] class A class B extends A def f1 = (new B: Any).getClass().newInstance() // Any def f2 = (new B: AnyRef).getClass().newInstance() // AnyRef def f3 = (new B: A).getClass().newInstance() // A def f4 = (new B: B).getClass().newInstance() // B But that's not all! def f0[T >: B] = (new B: T).getClass().newInstance() def f5 = f0[Any] // Any def f6 = f0[AnyRef] // AnyRef def f7 = f0[A] // A def f8 = f0[B] // B Closes #490, #896, #4696. Review by moors. (Note: I think this is pretty good, but picky review requested.)
* Test case closes #4727, no review.Paul Phillips2011-06-221-0/+7
|
* Updated a test with GenSetLike.Aleksandar Pokopec2011-06-221-1/+1
|
* Removing the package-private modifiers on Gen*L...Aleksandar Pokopec2011-06-228-18/+18
| | | | | | | Removing the package-private modifiers on Gen*Like traits. No review.
* Removed "isInterpreterWrapper" from the conditi...Paul Phillips2011-06-213-1/+14
| | | | | | | | Removed "isInterpreterWrapper" from the conditions which imply an effective root. This was an old hack from before my time which is no longer necessary and then recently became actively hostile. Closes #4710, no review.
* Relaxes a typer check which fails valid code wi...Paul Phillips2011-06-212-8/+25
| | | | | | | | Relaxes a typer check which fails valid code with NoCommonType. If the instantiated types or type bounds do not conform, it tries normalizing the type before throwing the exception. Closes #4553. I wrote this patch with adriaan already, but bonus review by moors.
* Documented what happened with the implementatio...Paul Phillips2011-06-211-9/+17
| | | | | | Documented what happened with the implementation of narrow for future performance detectives. No review.
* Routed Stream.+: through cons to avoid some tru...Paul Phillips2011-06-213-0/+13
| | | | | | Routed Stream.+: through cons to avoid some truly pathological performance. Closes #4697, no review.
* Added test case.Martin Odersky2011-06-212-0/+19
|
* Putting in a fix for #4713.Martin Odersky2011-06-211-2/+8
|
* Fixes Zendesk ticket #1528. Review by prokopec.Martin Odersky2011-06-211-2/+3
|
* Fixes #4712. Review by moors.Martin Odersky2011-06-211-4/+15
|
* Performance-motivated work: going through Speci...Paul Phillips2011-06-212-563/+460
| | | | | | | | | | | Performance-motivated work: going through SpecializeTypes and eliminating unnecessary intermediate data structures and multiple traversals of lists. Also trying to get that code under control: it dwarfs all other phases in terms of debugging output, and a too-large percentage of the source is commented out debugging code which looks past its sell-by date. I realize the patch is a little big for a very thorough review, but review by dragos, prokopec.
* Quoted the windows runner path so "c:\program f...Paul Phillips2011-06-211-1/+1
| | | | | | Quoted the windows runner path so "c:\program files (x86)" has some chance of working. Closes #4636, no review.
* Removed an unused method.Paul Phillips2011-06-211-4/+0
|
* Deprecated BigInt#~ in favor of unary_~.Paul Phillips2011-06-211-2/+5
|
* Some tests for pending, no review.Paul Phillips2011-06-212-0/+51
|
* Test case closes #4601, no review.Paul Phillips2011-06-212-0/+16
|
* Fix broken tool-windows.tmpl.Paul Phillips2011-06-201-1/+1
|
* Small changes to docs only. No review.Martin Odersky2011-06-203-11/+11
|
* Reverts r25085 ("Performance tweaks for Abstrac...Paul Phillips2011-06-201-28/+24
| | | | | | | | Reverts r25085 ("Performance tweaks for AbstractFile, no review.") which apparently is making the IDE refuse to overwrite classfiles. For the life of me I can't find why there should be any difference. Bowing to expedience, no review.
* Moved a test to pending.Aleksandar Pokopec2011-06-201-2/+0
| | | | | No review.
* Disabled failing test.Aleksandar Pokopec2011-06-201-0/+2
| | | | | No review.
* When TypeVars were given higher-order abilities...Paul Phillips2011-06-204-33/+79
| | | | | | | When TypeVars were given higher-order abilities, so too should have been WildcardType, which acts as a plceholder for typevars. Always inflicting arguments upon it was the cause of #2308. Closes #2308, review by moors.
* Separete index.js to parallelize downloads.Kato Kazuyoshi2011-06-207-158/+217
|
* Fixed an overflow which occurs in hashtable siz...Aleksandar Pokopec2011-06-203-2/+33
| | | | | | | | Fixed an overflow which occurs in hashtable size computations. Fixes #4678. No review.
* Fixing a parallel sets issue with flatmap.Aleksandar Pokopec2011-06-202-3/+5
|
* Fixed an issue with higher kinded type inferenc...Paul Phillips2011-06-194-1/+65
| | | | | | | | Fixed an issue with higher kinded type inference on constructors without any help from adriaan. Provisionally notched belt. Wrapped up as many tickets as I added characters of code. Closes SI-3343, SI-4018. Review by moors.
* Upgraded jline to use jansi 1.6 in the belief i...Paul Phillips2011-06-191-1/+1
| | | | | | Upgraded jline to use jansi 1.6 in the belief it will cure SI-4703. No review.
* Formatting fixes for scala.collection.JavaConve...Kato Kazuyoshi2011-06-181-2/+2
| | | | | | Formatting fixes for scala.collection.JavaConverters. Contributed by Daniel Capo Sobral. Review by dubochet.
* Further ScalaDoc fixes.Kato Kazuyoshi2011-06-184-39/+39
|
* The usual unbreaking of broken builds, no review.Paul Phillips2011-06-182-2/+2
|