summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Test case for si-5618.Aleksandar Prokopec2012-05-022-0/+34
|
* Pending test for si-5676.Aleksandar Prokopec2012-05-022-0/+26
|
* Add pending test for si-5698.Aleksandar Prokopec2012-05-023-0/+36
|
* Add pending test for SI-5018.Aleksandar Prokopec2012-05-021-0/+34
|
* Fixs for reflection and getSimpleName.Paul Phillips2012-05-023-2/+79
| | | | | Since getSimpleName will be crashing us indefinitely, took the expedient route and wrapped the call.
* tpe -> tpeHK here and there.Paul Phillips2012-05-013-10/+10
| | | | Review by @moors.
* Workaround for scaladoc failure.Paul Phillips2012-05-011-1/+1
| | | | | | | | | | Addressing this little fellow: 21:40:22 [scaladoc] src/library/scala/collection/TraversableOnce.scala:382: error: missing parameter type for expanded function 21:40:22 [scaladoc] The argument types of an anonymous function must be fully known. (SLS 8.5) 21:40:22 [scaladoc] Expected type was: _[?] => Coll[A] 21:40:22 [scaladoc] case xs: generic.GenericTraversableTemplate[_, _] => xs.genericBuilder mapResult { 21:40:22 [scaladoc] ^
* Look at all the Strings which no longer are.Paul Phillips2012-05-013-108/+118
| | | | | | | // and a few dozen along the same lines lazy val SeqModule = requiredModule[scala.collection.Seq.type] With fewer Strings, all things are possible.
* Hackaround for people who like to instantiate the uninstantiable.Paul Phillips2012-05-012-1/+32
| | | | | | Closes SI-5666 again. (I don't have the least clue how I'm supposed to issue the error.)
* Fixes #SI-5578.Paul Phillips2012-05-013-8/+53
| | | | | | | | ResetAttrs shouldn't be side-effecting on the original tree, since it can lead to NPEs in erroneous trees (or maybe even for valid ones?). Review by @odersky (Patch by plocinic, applied without his complicity by extempore)
* A little clarity for AddInterfaces.Paul Phillips2012-05-013-43/+52
| | | | And a couple conveniences elsewhere.
* Merge commit 'refs/pull/456/head' into developPaul Phillips2012-05-012-160/+5440
|\
| * Upgrade jQuery from 1.4.2 to 1.7.2Kato Kazuyoshi2012-05-022-160/+5440
| | | | | | | | | | | | | | | | | | | | jQuery 1.4.2 uses event.layerX and event.layerY but these are deprecated and WebKit logs a lot of warnings. Additionally jquery.layout 1.3.0 RC 29.3 doesn't work correctly with jQuery 1.7.2, then we have to upgrade it to 1.3.0 RC 30.5. http://bugs.jquery.com/ticket/10531
* | Refactor Unsafe related stuff in scala.concurrent.Aleksandar Prokopec2012-05-013-20/+32
| |
* | Refactor OnceCanBuildFrom to check the collection type.Aleksandar Prokopec2012-05-012-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The builder is now instantiated as an iterator builder only if a generic builder cannot be found on the collection that requested the builder. Reason - we want this behaviour: scala> scala.util.Random.shuffle(List(1, 2, 3): collection.TraversableOnce[Int]) res0: scala.collection.TraversableOnce[Int] = List(3, 1, 2) instead of this one: scala> scala.util.Random.shuffle(List(1, 2, 3): collection.TraversableOnce[Int]) res0: scala.collection.TraversableOnce[Int] = non-empty iterator which may lead to nasty surprises. Alternately, to avoid pattern-matching in OnceCanBuildFrom.apply, we could mix in GenericTraversableTemplate-related functionaly into TraversableOnce, but this may become too complicated.
* | Widen types in signatures of Future companion methods, refactor ↵Aleksandar Prokopec2012-05-016-277/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OnceCanBuildFrom. Removed the implicit modifier on the OnceCanBuildFrom, as we don't support implicit classes with zero arguments. Added an implicit OnceCanBuildFrom method. The idea behind OnceCanBuildFrom is for it to be used by methods which construct collections, but are defined outside of collection classes. OnceCanBuildFrom so far worked only for objects of type TraversableOnce: shuffle(List(1, 2, 3).iterator: TraversableOnce[Int]) but this used to result in an implicit resolution error: shuffle(List(1, 2, 3).iterator) because after the type parameter M for `shuffle` was inferred to Iterator, no implicit of type CanBuildFrom[Iterator[_], A, Iterator[A]] could be found. Introduced another CanBuildFrom to the Iterator companion object. Modified Future tests appropriately.
* | Merge branch 'master' into feature/future-compatAleksandar Prokopec2012-05-0125-972/+1066
|\|
| * Merge branch 'apr30-checkin' of /scala/trunk into developPaul Phillips2012-04-3013-536/+376
| |\
| | * De-duplication in Contexts.Paul Phillips2012-04-301-14/+12
| | | | | | | | | | | | Friends don't let friends cut and paste.
| | * Optimization of Predef implicits.Paul Phillips2012-04-3012-522/+364
| | | | | | | | | | | | | | | | | | | | | All those wildcards in a default-scoped implicit are expensive, they each lead to a typevar on every search. Restructured the Tuple2/Tuple3 Zipped classes, they're better this way anyway. This also gets all that Tuple[23] code out of genprod.
| * | Merge commit 'refs/pull/452/head'; commit 'refs/pull/453/head' into developPaul Phillips2012-04-3011-433/+687
| |\ \
| | * | Presentation Compiler tests for visibility of members.Iulian Dragos2012-04-3011-433/+687
| | |/ | | | | | | | | | Removed some unneeded indirection in the testing framework.
| * / Fixed `Setting.enabling` to properly disable dependent settings when the ↵Iulian Dragos2012-04-301-3/+3
| |/ | | | | | | | | | | original setting is set to `false`. This can be witnessed in the IDE, when explicitly setting the `-optimize` flag to false leads to setting all the dependent flags to true (`-Yinline`, `-Ydce`, `-Ycloselim`).
* | Merge branch 'master' into feature/future-compatAleksandar Prokopec2012-04-30156-969/+1735
|\|
| * Fighting bitrot with typing.Paul Phillips2012-04-298-119/+81
| | | | | | | | | | | | | | | | if (false && settings.debug.value) { ... } Date: 7 years ago *** empty log message *** That's way past the sell-by date for 'if (false && condition)'.
| * Eliminate useless type parameter.Paul Phillips2012-04-283-3/+3
| |
| * Removed all the imports of the bridge annotation.Paul Phillips2012-04-2820-19/+1
| | | | | | | | Now that nothing uses it.
| * @unspecialized annotation.Paul Phillips2012-04-2830-116/+141
| | | | | | | | | | | | | | | | | | Suppresses specialization on a per-method basis. I would have preferred to call it @nospecialize, but seeing as the positive form of the annotation is @specialized, that would have sown unnecessary grammatical confusion. @nospecialized sounds a bit too caveman for my tastes. "Grog no specialized! Grog generic!"
| * Removed a few more @deprecated members.Paul Phillips2012-04-2834-91/+59
| | | | | | | | | | The ones which remain I'm not removing on purpose, as I know from experience it's more trouble than it's yet worth.
| * Removes @bridge methods.Simon Ochsenreither2012-04-2828-214/+5
| |
| * Another tedious day at Checkfile Ranch.v2.10.0-M3Paul Phillips2012-04-271-1/+1
| |
| * Merge commit '2bd62d2cfff47882eb72768cfb054638ed0f039b'Paul Phillips2012-04-272-2/+8
| |\
| | * fixes broken eval testsEugene Burmako2012-04-272-2/+8
| | |
| * | Revert "Moved ancillary methods off specialized traits."Paul Phillips2012-04-2715-184/+294
| | | | | | | | | | | | | | | | | | This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b. I forgot about polymorphic dispatch. Have to seek another way.
| | |
| | \
| | \
| | \
| *---. | Merge commit 'refs/pull/445/head'; commit 'refs/pull/446/head'; commit ↵Paul Phillips2012-04-277-10/+50
| |\ \ \| | | | | | | | | | | | | | | | 'refs/pull/447/head' into develop
| | | | * fixes SI-5713Eugene Burmako2012-04-275-1/+36
| | | | |
| | | * | essential information about macro expansionEugene Burmako2012-04-271-6/+6
| | | |/
| | * / SI-3755: catch exception thrown by adaptToNewrunAdriaan Moors2012-04-271-3/+8
| | |/ | | | | | | | | | | | | | | | it would be nice to have a test for this, but you'd need to involve the repl, as I couldn't trigger it using multiple scalac runs
| * / Maybe this will fix the test on windows.Paul Phillips2012-04-271-1/+1
| |/
| *-. Merge commit 'refs/pull/443/head'; commit 'refs/pull/444/head' into developPaul Phillips2012-04-2620-98/+346
| |\ \
| | | * SI-5702 Pattern parser halts on starSom Snytt2012-04-2618-58/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In patterns, the parser halts when it sees stars. This means it does not handle infix notation for a case class named "*". This patch uses lookahead to decide whether to parse '_' '*' as a sequence pattern or as the start of infix. (For both normal and error cases, the tokens are always consumed immediately.) Error messages are improved for _* (as a help to learners) and slightly improved recovery helps the parse continue. The entry point for XML patterns is now distinct; otherwise, the change is local to pattern3-simplepattern; the entry point for simplepattern() is unchanged because it is commented "hook for IDE."
| | * | clean up typedMatchAnonFunAdriaan Moors2012-04-261-39/+51
| | | |
| | * | SI-5690: no-selector match in function yields functionAdriaan Moors2012-04-262-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the implicit beta-reduction performed by typedFunction on a Function(.., Match(EmptyTree, ...)) must of course only be done when the selector actually is empty... (yes, typedMatchAnonFun needs to be cleaned up, I know)
| * | | Better position printing in NodePrinters.Paul Phillips2012-04-261-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | Try this unreasonably long command line: scalac -Xprint-pos -Yshow-trees -Xprint:all -Yrangepos *.scala
| * | | A brand new, fast classfile parser.Paul Phillips2012-04-268-0/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try it: ./tools/dump-class ./build/quick/classes The output is intended to be easy to filter on the command line. This is a starting point for lots of interesting bytecode analysis for which we have waited too long. Example. All generic signatures we produce. // almost 20K classfiles % find build/quick/classes -name '*.class' |wc -l 18519 // fully parsed in 6 seconds tools/dump-class build/quick/classes |grep "^ signature" | wc -l 50802 real 0m6.230s It's designed to be easy to make faster if you don't care about particular classfile bits; you can override those methods to jump forward in the input stream rather than building a structure. For just a little sampling, here are our most frequently repeated name/signature combinations. 194 signature <init> ()V // this one is weird, wonder why there's a generic signature 115 signature $div$colon$bslash <A1:Ljava/lang/Object;>(TA1;Lscala/Function2<TA1;TA1;TA1;>;)TA1; 105 signature applyOrElse <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1; 103 signature view ()Ljava/lang/Object; 101 signature toSet <B:Ljava/lang/Object;>()Lscala/collection/immutable/Set<TB;>; And the top five name/descriptor combinations. 11170 descriptor <clinit> ()V 10155 descriptor serialVersionUID J 7130 descriptor apply (Ljava/lang/Object;)Ljava/lang/Object; 3028 descriptor apply ()Ljava/lang/Object; 2426 descriptor <init> ()V
| * | | cleaning up macros, one step at a timeEugene Burmako2012-04-2611-137/+135
| |/ /
* | | Add promises tests.Aleksandar Prokopec2012-04-302-0/+227
| | |
* | | Fixed a bug with setting execution contexts.Aleksandar Prokopec2012-04-307-57/+201
| | | | | | | | | | | | Ported most of the future tests.
* | | Porting akka future tests.Aleksandar Prokopec2012-04-273-9/+480
|/ / | | | | | | Fixed a bug in Future.zip.
* | Trying to set an example in the land of macros.Paul Phillips2012-04-254-101/+117
| | | | | | | | | | | | | | | | Hopefully there are useful examples to be had in here. Please note that you should never be testing "x.size != 0", use isEmpty or nonEmpty. Even if these happen to be small collections, it's not a habit you want to form: size is O(n) on a number of collections. (Most pointedly, Lists.)