summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Enabled parallel group by.Aleksandar Pokopec2011-01-102-1/+2
| | | | | No review.
* Couldn't stop working on tailcalls.Paul Phillips2011-01-101-1/+1
|
* A pretty severe bug in the recognition of tail ...Paul Phillips2011-01-104-14/+38
| | | | | | | | | | | | | | | | | | | | A pretty severe bug in the recognition of tail call elimination. It turns out that Tailcalls will perform "partial elimination" in situations such as: @annotation.tailrec final def f(x: Int): Int = f(f(x)) The outer call to f1 becomes a jump, but the inner call remains as it was. I implemented @tailrec under the impression that if the optimization had taken place, it had gone all the way. So this is now fixed with a direct examination of the rewritten tree. While I was in there I threw in some improved error reporting: the error positioning is now on the call which is not in tail position rather than the method declaration. Closes #4135, no review.
* Oops, the implicit not found message was wrong:Paul Phillips2011-01-101-1/+1
| | | | | | | | | | | scala> implicitly[CanBuildFrom[String, Int, List[List[Int]]]] <console>:10: error: Cannot construct a collection of type List[List[Int]] with elements of type Int based on a collection of type List[List[Int]]. implicitly[CanBuildFrom[String, Int, List[List[Int]]]] ^ No review.
* Closes #3984 by the most arduous and indirect r...Paul Phillips2011-01-091-2/+33
| | | | | | | | | | | | Closes #3984 by the most arduous and indirect route imaginable: abstracts the common code out of the TrieIterators in HashMap and HashSet. When I raised this flag to find out if anyone would open fire, all was quiet on the western front. Although I wouldn't want to write code like this as an everyday thing, I think it serves as a nice showcase for some of the abstraction challenges we're up against: performance looks the same and I will never again have to fix the same bug in two places. Review by rompf.
* Reverting fix for #4047 until I figure out why ...Hubert Plociniczak2011-01-082-39/+0
| | | | | | Reverting fix for #4047 until I figure out why it is failing on chara and not on my machine. No review.
* Override checks and self-types still needed som...Paul Phillips2011-01-081-0/+13
| | | | | | | | | Override checks and self-types still needed some work (ticket #2808.) I believe this is the right change. The modifications in parallel and actors were a result of the files failing to compile after the change to allOverriddenSymbols. (I am taking the position that that aspect is a feature.) Review by malayeri, odersky.
* Great moments in code reuse:Paul Phillips2011-01-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | def isRootOrEmptyPackageClass(s: Symbol) = s.isRoot || s.isEmptyPackageClass def isRootOrEmpty = (this == EmptyPackageClass) || (this == RootClass) def isEffectiveRoot = isRoot || isEmptyPackageClass // last one actually not quite identical def isUnqualified(n: Name) = n match { case nme.ROOT | nme.EMPTY_PACKAGE_NAME => true ; case _ => false } I was responsible for at least half of these. Now it's only isEffectiveRoot. Also, I have always found it warty that we have to specify Nothing and Any as upper bounds. I gave the TypeBounds companion object a few obvious methods: def empty: TypeBounds = apply(NothingClass.tpe, AnyClass.tpe) def upper(hi: Type): TypeBounds = apply(NothingClass.tpe, hi) def lower(lo: Type): TypeBounds = apply(lo, AnyClass.tpe) It's a lovable patch. No review.
* Added test for #4072. no reviewHubert Plociniczak2011-01-072-0/+14
|
* Closes #4047. Review by oderskyHubert Plociniczak2011-01-072-0/+39
|
* Closes #4072.Hubert Plociniczak2011-01-072-7/+13
|
* Test case change.Aleksandar Pokopec2011-01-072-2/+2
| | | | | No review
* Implemented a (slower) workaround for parallel ...Aleksandar Pokopec2011-01-0712-31/+250
| | | | | | | | Implemented a (slower) workaround for parallel vectors. Implemented group by. No review.
* Changed foreach to pforeach.Aleksandar Pokopec2011-01-076-13/+13
| | | | | No review.
* Apparently my flailing attempts to make things ...Paul Phillips2011-01-072-3/+3
| | | | | | | | | | | | | | | | | Apparently my flailing attempts to make things faster earned me the pity of Tiark, who sent this monster patch which he probably dashed off before the appetizers had been cleared away. All the steak is his but I threw in a little sizzle so I could feel like a part of things. It knocks about a bazillion miniseconds off the time spent in implicit search. This is the same patch martin already endorsed, give or take several hundred lines of diff, so I will say no review, even though I know it will be hard to look away. I trimmed most of the "speculative code" (that is, the commented out bits) because it's getting awfully busy along those sidelines. I will preserve the ideas in some more structured form.
* Fixed a bad interaction between overloading, de...Iulian Dragos2011-01-052-0/+20
| | | | | | Fixed a bad interaction between overloading, default parameters and specialization. Closes #3896, no review.
* closes #4044.Adriaan Moors2011-01-052-0/+32
|
* Eliminated 16 avoidable closure objects in Stream.Paul Phillips2011-01-041-7/+7
|
* Disentangled scaladoc and the presentation comp...Iulian Dragos2011-01-041-1/+1
| | | | | | | | | | | Disentangled scaladoc and the presentation compiler. Now there are different flags, forInteractive and forScaladoc, instead of the overloaded onlyPresentation. While it is unfortunate to have these flags, I know of no easy way to customize the typer (the behavior they control is pretty deep into the analyzer). This shaves off around 100MB of unnecessary docComments from the presentation compiler. review by odersky, dubochet.
* Closes #3869. no review.Iulian Dragos2011-01-041-0/+10
|
* Closes #3687, #3719, #3950, #3616.Hubert Plociniczak2011-01-046-0/+67
|
* Fixed infinite loop on call to super from a spe...Iulian Dragos2011-01-042-0/+20
| | | | | | | Fixed infinite loop on call to super from a specialized method. This happened only on illegal specialized inheritance. Closes #3651, no review.
* Protected protected constructors.Paul Phillips2011-01-042-0/+46
| | | | | | since r19547, which was for #1836 but loosened the noose too much. Closes #4128, review by odersky.
* Misc uninteresting tidbits to take some weight ...Paul Phillips2011-01-024-29/+29
| | | | | | Misc uninteresting tidbits to take some weight off overly large patches in progress. No review.
* Generalized a pile of duplicated type caching c...Paul Phillips2011-01-011-11/+1
| | | | | | | | | | | Generalized a pile of duplicated type caching code, but it's still largely undeployed because I haven't figured out how to make it as fast as the copy-pasted version, which bugs me like you wouldn't believe. Cannot deal with making "Sophie's Choice" between performance and lack of duplication. I left one deployment in because it fixed a bug, or at least so I see it: can't see why one would want the two absent error messages in t2641.check. Review by odersky.
* Modified the self-type protected accessor test ...Paul Phillips2010-12-312-0/+21
| | | | | | Modified the self-type protected accessor test to avoid unnecessary runtime failures. Closes #4119, review by dragos.
* Even after the mostly blissful marriage of Trav...Paul Phillips2010-12-311-0/+11
| | | | | | | | | | | | | | | | Even after the mostly blissful marriage of Traversable and Iterator there was some fussin' and fightin' over who should have to care for Option. Now there is peace among the collections once again. // before scala> Iterator(Some(1), None).flatten <console>:6: error: value flatten is not a member of Iterator[Option[Int]] // after scala> Iterator(Some(1), None).flatten res0: Iterator[Int] = non-empty iterator Review by moors.
* disabled test cf-attributes.scalamichelou2010-12-312-0/+0
|
* fixed issue with EnclosingMethod attribute.michelou2010-12-304-2/+205
| | | | | | The above issue was made explicit using the dx tool for the Android SDK to convert Java bytecode to Dalvik bytecode.
* Removed Proxy from parents of WrappedString.Paul Phillips2010-12-301-0/+14
| | | | | | forward toString, but forwarding equals and hashCode breaks equality with sequences. Closes #4122, no review.
* Fix 'Symbol.companionModule' for the resident m...Iulian Dragos2010-12-224-0/+24
| | | | | | | | | | | | | | | | | Fix 'Symbol.companionModule' for the resident mode compiler. It was confused by having modules being translated to lazy values. The direct consequence was a crash in the build manager when looking at a constructor using a default argument (compiled separately), but only on the second run. The resident compiler may run many times over, and symbols may be reused. Therefore, a module symbol that has been translated to a lazy val by refchecks is not guaranteed to have MODULE set on the next run (even before refcheck). Flags are not part of symbol history. Instead we rely on the fact that a synthetic lazy value must have been a module. review by odersky.
* Disabled a test.Aleksandar Pokopec2010-12-211-26/+26
|
* Bencharking a larger program with parallel coll...Aleksandar Pokopec2010-12-2111-1/+116833
| | | | | | | | | Bencharking a larger program with parallel collections. Fixed a couple of bugs in parallel collections. No review.
* A minor update in a benchmark.Aleksandar Pokopec2010-12-211-1/+2
| | | | | No review.
* An Ordering for Seq and all of its descendents.Paul Phillips2010-12-211-0/+7
| | | | | small, very focused taste of Ordering contravariance. No review.
* Explaining something for the (largeish N)th tim...Paul Phillips2010-12-194-0/+295
| | | | | | | | | | | | | | | | | | | Explaining something for the (largeish N)th time finally awoke me to the fact that software can explain things. I labored a long time over this error message: I'm sure it can still use work (and/or it will drive scalaz users off some kind of cliff) but the simple common case people have so much trouble with is lit up like a christmas tree and for this I will take some bullets. build/pack/bin/scala -e 'class Foo[T] ; Set[Foo[AnyRef]]() + new Foo[String]' :1: error: type mismatch; found : this.Foo[String] required: this.Foo[java.lang.Object] Note: String <: java.lang.Object, but class Foo is invariant in type T. You may wish to define T as +T instead. (SLS 4.5) class Foo[T] ; Set[Foo[AnyRef]]() + new Foo[String] ^ Review by moors.
* Added some infrastructure for tracking and disp...Paul Phillips2010-12-181-5/+2
| | | | | | | | | | | | | | | | | | | | Added some infrastructure for tracking and displaying information. Used it to generate phase timing tables. Couldn't bring myself to add another option so it's temporarily behind a system property until I sort out the output options. % scalac -Dscala.timings foo.scala // or: ant -Djvm.opts="-Dscala.timings" [...] phase id ms share -------------- -- ---- ----- typer 4 5816 44.94 mixin 20 1220 9.43 specialize 13 1179 9.11 erasure 15 916 7.08 ...etc. No review.
* Application now uses delayedInit.Martin Odersky2010-12-171-2/+2
|
* Added tests for #4091.Hubert Plociniczak2010-12-172-0/+6
|
* Remove duplicate test (t3774 is the same)Hubert Plociniczak2010-12-172-10/+0
|
* do not add entry in InnerClass attribute if out...michelou2010-12-161-11/+13
| | | | | | | | | | | | | | | | do not add entry in InnerClass attribute if outer name is null (according to comment for outerName method) in order to remove the following warning message reported by the dx tool (Android): warning: Ignoring InnerClasses attribute for an anonymous inner class (test$$anonfun$1) that doesn't come with an associated EnclosingMethod attribute. This class was probably produced by a compiler that did not target the modern .class file format. The recommended solution is to recompile the class from source, using an up-to-date compiler and without specifying any "-target" type options. The consequence of ignoring this warning is that reflective operations on this class will incorrectly indicate that it is *not* an inner class.
* Stops barking up the wrong tree with -Ywarn-dea...Paul Phillips2010-12-152-31/+40
| | | | | | | | | | | | | Stops barking up the wrong tree with -Ywarn-dead-code. The origin of its issues was twofold: 1) synchronized acts by-name without being by-name (ticket #4086) 2) warnings are swallowed if context.reportGeneralErrors is false Those two plus a dash of bitrot. In any case it's at its all time happiest now. It found all the dead code related fixes in this commit. Way to go, -Ywarn-dead-code! Review by odersky.
* Fixed various issues with -Ywarn-dead-code.Paul Phillips2010-12-143-0/+42
| | | | | enjoy fewer spurious warnings. Closes #1681, no review.
* Closes #4024. No review.Martin Odersky2010-12-141-0/+9
|
* Told the boy trying to plug the dike holes that...Paul Phillips2010-12-124-8/+12
| | | | | | | | | | Told the boy trying to plug the dike holes that he can go home. Instead of trying to catch unpositioned EmptyTrees from the XML parser, don't generate them. It's the kind of commit you would tell your grandkids about if your grandkids could sit still for five seconds: fixes bugs by deleting code and eliminates extraneous error messages to boot (see .check diffs.) No review.
* New jline: BSD licensed, based on [ https://git...Paul Phillips2010-12-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | New jline: BSD licensed, based on [ https://github.com/jdillon/jline2 ] with additional code thanks to [ https://github.com/huynhjl/jline2 ]. Replaces lib/jline.jar with build of these sources, and modifies trunk code to work with the new jar. Hopeful improvements including baseline functionality on cygwin and 64bit windows, as well as more accurate line wrapping / cursor positioning on all platforms and ctrl-R history search. For the time being the canonical source repository is this: https://github.com/paulp/jline2 The enclosed sources are a mirror of that repository, and should be treated as read-only in the scala svn repository. No review, codewise, but people are very strongly encouraged to try it out and report any regressions.
* A little more finnesse needed with backquoting.Paul Phillips2010-12-122-0/+20
|
* Turned an assert/compiler crash into an error m...Paul Phillips2010-12-112-0/+26
| | | | | | | | Turned an assert/compiler crash into an error message. Admittedly the error output is still terrible (the XML positioning looks like it came from an RNG) but more helpful than the crash. Also misc advantage of a handy new method. Closes #4069, no review.
* When was the last time -Xcheckinit was run? It ...Paul Phillips2010-12-1114-69/+52
| | | | | | | | | | When was the last time -Xcheckinit was run? It must have been a long time. All these changes are to address bugs revealed by -Xcheckinit, mostly in test cases, some in the compiler. I'm guessing the partest -Xcheckinit runs are hanging the first time they run into a failure, so if it starts "working" again after this commit don't get too confident. No review.
* closes #4064.Adriaan Moors2010-12-092-0/+9
|