| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Since getSimpleName will be crashing us indefinitely, took the
expedient route and wrapped the call.
|
|
|
|
| |
Review by @moors.
|
|
|
|
|
|
|
|
|
|
| |
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] ^
|
|
|
|
|
|
|
| |
// and a few dozen along the same lines
lazy val SeqModule = requiredModule[scala.collection.Seq.type]
With fewer Strings, all things are possible.
|
|
|
|
|
|
| |
Closes SI-5666 again.
(I don't have the least clue how I'm supposed to issue the error.)
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
And a couple conveniences elsewhere.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\| |
|
| |\ |
|
| | |
| | |
| | |
| | | |
Friends don't let friends cut and paste.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ |
|
| | |/
| | |
| | |
| | | |
Removed some unneeded indirection in the testing framework.
|
| |/
| |
| |
| |
| |
| | |
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`).
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
if (false && settings.debug.value) { ... }
Date: 7 years ago
*** empty log message ***
That's way past the sell-by date for 'if (false && condition)'.
|
| | |
|
| |
| |
| |
| | |
Now that nothing uses it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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!"
|
| |
| |
| |
| |
| | |
The ones which remain I'm not removing on purpose, as I know
from experience it's more trouble than it's yet worth.
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b.
I forgot about polymorphic dispatch. Have to seek another way.
|
| | | | |
| | \ | |
| | \ | |
| | \ | |
| |\ \ \|
| | | | |
| | | | |
| | | | | |
'refs/pull/447/head' into develop
|
| | | | | |
|
| | | |/ |
|
| | |/
| | |
| | |
| | |
| | |
| | | |
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
|
| |/ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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."
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Try this unreasonably long command line:
scalac -Xprint-pos -Yshow-trees -Xprint:all -Yrangepos *.scala
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |/ / |
|
| | | |
|
| | |
| | |
| | |
| | | |
Ported most of the future tests.
|
|/ /
| |
| |
| | |
Fixed a bug in Future.zip.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.)
|
| | |
|
| |
| |
| |
| |
| | |
A strange blip in the benchmarks makes me wish to see
this on the sidelines.
|
| | | |
| \ | |
| \ | |
| \ | |
|\ \ \ \
| | | | |
| | | | |
| | | | | |
'refs/pull/441/head' into develop
|