| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
No review.
|
|
|
|
|
|
| |
Doubling a 0-size array is still 0, that's not growing. Closes SI-4963,
no review.
|
| |
|
|
|
|
|
|
| |
Propagate Error in repN. I have no time for a test case, I will gladly
take a contribution. References SI-1100, Closes SI-5108, No review.
|
|
|
|
|
|
|
|
|
| |
at least one imminent TODO: undo hardwired generation of if/then/else,
and decide based on type whether to call flatMap/orElse or inline those
methods from Option
review by extempore
|
|
|
|
|
|
|
|
| |
misc fixes while working on virtualizing pattern matching not directly
related to pattern matching, though
review by extempore
|
|
|
|
|
|
|
|
|
|
|
| |
however, it must be possible to inline Ensuring, ArrowAssoc methods
renamed the public val x to something a little less intrusive
fixed check file to reflect better error message (see! it wasn't that uncommon for people to write `foo.x` -- NEWS AT ELEVEN)
no review
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Contributed by Todd Vierling with minor mods by extempore. This is an
obvious extension of AbstractFunctionN which I had some issue making
work at the time. Sounds kind of pitiful given that the compiler patch
is about two lines, but let's all agree to believe it was a different
world then.
This example program is impacted as follows:
class A {
def f: PartialFunction[Any, Int] = { case x: String => 1 }
def g: PartialFunction[Any, Int] = f orElse { case x: List[_] => 2 }
def h: PartialFunction[Any, Int] = g orElse { case x: Set[_] => 3 }
}
Before: 34943 bytes of bytecode
After: 4217 bytes of bytecode
A mere 88% reduction in size. "'Tis but a trifle!" Closes SI-5096,
SI-5097.
|
|
|
|
|
|
|
|
| |
Don't mark shutdown hooks as daemon threads, although it does not seem
to make any difference. Instead have the code which waits for all
threads to be complete be smarted about which codes to monitor. No
review.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I can't go bear hunting without a clean gun. Basically I iterated over
Namers until I could understand it. I added a variety of documentation
there and elsewhere. There shouldn't be anything particularly behavioral
changing in this commit, but I did delete some years-old code (having
huge commented out blocks of way-out-of-date code is not a boon to
understanding) and the debugging output will look different. Better, one
can hope.
How about, review by moors.
|
| |
|
|
|
|
|
| |
Booleans aren't numbers. Closes SI-5032, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It took me a long time to find a trivial error while adjusting the
annotation packages, so I spent even longer trying to make sure next
time it would take me less time. It's the usual business of eliminating
duplication and unnecessary indirection.
Behavioral note: there was no consistency or deducible reasoning
regarding when annotation checks would be performed against the
typeSymbol directly (thus excluding annotation subclasses) or when they
would do a subclass check. I saw no reason it shouldn't always be a
subclass check; if the annotation isn't supposed to be subclassed it
should be final, and if it is, then the subclasses had probably better
not stop exhibiting the behavior of the base class.
Example: this now draws deprecated warnings, but did not before.
class bippy extends deprecated("hi mom", "burma shave")
@bippy def f = 5
(The deprecation message isn't printed so we're not there yet, but
closer.)
There is some new internal documentation on annotations, sadly lacking
in my famous ascii diagrams, and some new conveniences. Review by rytz.
|
|
|
|
|
|
|
| |
Big improvements to the documentation of collection.Iterator, courtesy
of Daniel Sobral. Also includes a small correction to the documentation
of sys.process.Process. No review.
|
|
|
|
|
|
|
| |
Added ??? and NotImplementedError because this seemed to be the
opinion of the majority on the "Adding ??? to Predef?" thread on
scala-internals. No review.
|
|
|
|
|
|
| |
Use the string's hashcode so it is stable across jvm restarts. Closes
SI-5056, no review.
|
|
|
|
|
|
| |
Did something eat some whitespace? I don't know. This is almost the same
commit as r25783, but with different whitespace. No review.
|
|
|
|
|
|
| |
Until I have a second to figure out how a checkfile whose contents are
*recorded from running the test case* can fail to match. No review.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hard to believe a bug like this can exist this long. Cay Horstman showed
me.
// Hey, where's my eacute?
scala> <city name="San José"/>.attributes foreach println
name="San Jos&;"
No review.
|
|
|
|
|
|
| |
Removinf reinstantiated Flags because it's not needed for IDE building,
after all.
|
|
|
|
|
| |
Reinstatiated Flags because its removal caused build failures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Old Man Reflection is coming home and he's not going to like finding
out a bunch of beans have moved into his reflecting room. We had better
evict those guys before he blows his stack.
scala.reflect.*Bean* --> scala.beans.*
scala.beans, that's kind of a fancy package name for some beans. I
figure it's time to start fishing or cutting bait on this kind of thing.
I don't even know what beans are, but if we're going to have them in the
mainline, the least surprising place to find them is scala.beans. If we
don't want to put them in scala.beans for whatever reason, then I say
they don't belong in trunk at all.
Bonus round:
scala.annotation.target --> scala.beans.meta
I don't know if there is any more unfortunate name for a package
possible than "target". Maybe ".svn" or ".git" if you could have dots
in package names. Package CVS wouldn't hit too hard these days. Package
lib_managed? I'll try to come up with something. In any case this golden
opportunity could not be squandered.
There is a new starr included, because GenJVM contains all kinds of
shooting-from-the-hip Bean-related name hardcoding. (Yes, still. I ran
out of stones. So a few birds escape with their lives... this time.)
|
| |
|
|
|
|
|
| |
Elininated previously deprecated package reflect.generic
|
| |
|
|
|
|
|
|
| |
More sensible use of MathContext, plus some BigDecimal tests.
Contributed by Erik Osheim. Closes SI-4981, no review.
|
|
|
|
|
|
|
| |
The size map size computation for parallel hash sets was invalid.
No review.
|
|
|
|
|
|
|
| |
Adds Growable and Shrinkable to parallel maps and sets.
No review.
|
|
|
|
|
| |
updated man pages, fixed svn props, did some cleanup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current design of error trees complicates the design of reflection
library, and introduces sometimes unnecessary boilerplate and since I
do not want to stall that work I am reverting all the changes related
to error trees. A different design is currently under consideration but
work will be done on separate branch on github.
Revisions that got reverted:
r25705, r25704 (partially), r25673, r25669, r25649, r25644, r25621, r25620, r25619
Review by odersky and extempore.
|
|
|
|
|
|
|
|
|
|
| |
Stole two bits from Tree#id to record whether a tree contains an
error tree and whether its subtrees have been checked. This leaves us
with only a single gigatree of headroom for replaying trees in the
presentation compiler. Alert the media.
Review by odersky.
|
|
|
|
|
|
| |
Started work on compiler toolbox that can compile reflect trees at
runtime.
|
|
|
|
|
| |
fixed svn props and scaladoc tags, did some cleanup
|
|
|
|
|
|
| |
Changes to Liftcode to use new reflection semantics, where a compiler
uses type checking.
|
|
|
|
|
|
|
|
|
|
| |
I added local logging to zip and zipped and listened for who was
dropping things on the floor. Everything in this commit stems from that.
Sometimes the fix was uncertain and I sprinkled some logging. If you've
been hanging back with lots of internals knowledge waiting for the right
commit to review, this would be a good one. But since knowledgeable
people are hard to find, I'll go with review by moors.
|
|
|
|
|
|
|
| |
Iterators should have def next(), not def next. Clearing
a mutable structure should be done with clear(), not clear.
And etc. No review.
|
| |
|
|
|
|
|
|
| |
Not O(n) like it was. Here's another good candidate for some mythical
performance regression tests. Closes SI-4933, no review.
|
|
|
|
|
|
| |
This seems less likely to surprise people attempting to use them as
implicits. No review.
|
|
|
|
|
|
| |
Small changes to the API documentation of the AnyVal types. Contributed
by Michael Allman during the September doc spree. No review.
|
|
|
|
|
|
| |
Improved API documentation for scala.compat.Platform. Contributed by
Matthew Farwell during the September doc spree.
|
|
|
|
|
|
|
| |
Hugely improves the API documentation for JavaTokenParsers, Parsers,
and RegexParsers. Contributed by Daniel Sobral during the September doc
spree.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Eliminated the var, the Option[Boolean]s, and the Unit-returning init
method. If they were accomplishing something I could not discern, I
trust hubert will now apprise me. Review by plocinic.
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Fix for bumpy proxy equals. Closes SI-4807, no review.
|
|
|
|
|
|
|
|
| |
scalac -Xlint said:
warning: side-effecting nullary methods are discouraged: suggest defining as `def initErrorCheck()` instead
x 56. Plus a couple other linty things. No review.
|
|
|
|
|
|
|
|
|
| |
added missing getExcludedFiles in <scalac> Ant task (same change is
pending for <pending> Ant task).
A new starr is needed for that features to work in build.xml (and other
Ant scripts).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various and sundry manipulations to allow for objects to be overridden
when the mood is right. It is not enabled by default.
The major contributor of change turned out to be the decoupling of
the FINAL flag (and the "isFinal" test which examines only that flag)
and the many semantics which were attributed to this interpretation
of finality in different circumstances. Since objects no longer have
the FINAL flag automatically applied (only top-level objects and those
marked final in source code do) we need apply a more nuanced test.
Fortunately there is such a nuanced test: isEffectivelyFinal,
which is always true if the FINAL flag is set but also in various
other circumstances. In almost every case, you should be testing
"isEffectivelyFinal", not "isFinal".
To enable overridable objects, use:
-Yoverride-objects
-Xexperimental // includes the above and others
Remain to be done: working out transition logistics. Most likely this
would involve bumping the scala signature version, and all objects in
versions before that would be assumed final.
Review by moors.
|