| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Takes 30+% off the startup time for scala/scalac with a variety of
optimizations pinpointed by tracing method invocations. Frequent guest
stars in the parade of slowness were: using Lists and ListBuffers when
any amount of random access is needed, using Strings as if one shouldn't
have to supply 80 characters of .substring noise to drop a character
here and there, imagining that code can be reused in any way shape
or form without a savage slowness burn being unleashed upon you and
everything you have ever loved, String.format, methods which return
tuples, and any method written with appealing scala features which turns
out to be called a few orders of magnitude more often than the author
probably supposed.
This may be only the tip of the iceberg. No review.
|
|
|
|
|
|
|
| |
do I import" code to notice _root_.scala.Predef too. Moved some of the
overly specialized, called-only-once functions in treeInfo inside the
one function which needs them. References #1931. No review.
|
|
|
|
|
|
| |
My estimation of what will fix fsc on cygwin/windows, but untested.
Review by community.
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Attempting to make the :javap test pass on windows, no review.
|
|
|
|
|
|
| |
Tightened a condition to avoid a self-referential pattern variable
crash. Closes #3392, no review.
|
| |
|
|
|
|
|
|
|
| |
Finally figured out what was going on with a certain class of
exhaustiveness checking bugs. Hey moors, you can put away your pins,
puppets, and magic sauces. Closes #3098, no review.
|
|
|
|
|
|
|
| |
Special case Array[Unit] printing in the repl to make soc happy. There
are still nulls in there, but now we can blissfully pretend they don't
exist, until we crash. Closes #4510, no review.
|
|
|
|
|
| |
no review.
|
|
|
|
|
|
| |
Issue some repl imports comma-separated rather than in separate
statements for speed and better wrapper generation. No review.
|
|
|
|
|
|
|
| |
Be silent when compiling the repl extraction object to suppress spurious
warnings. Also corrected the busted logic for spotting repl wrappers.
Closes #4542, no review.
|
|
|
|
|
|
|
| |
Makes BigInt's isValidThing methods make some kind of sense. I wish I
hadn't written so much code for the numerical classes which languishes
in git tributaries. Closes #4540, no review.
|
|
|
|
|
|
| |
Changed an identifier to be more to iulian's liking. Down with
<thing>ees! No review.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Review by extempore.
|
| |
|
| |
|
|
|
|
|
| |
review by odersky, dragos and whoever feels like it.
|
|
|
|
|
|
| |
Looks like the :type command was a casualty of a repl fix. Make :type
command work, no review.
|
|
|
|
|
|
|
|
| |
Figuring it couldn't hurt if more people had a command of some of
our binary compatibility impacting code, I went over the ModuleDef
elimination with my clarify stick and made the machinery more
transparent, to me anyway. Review by plocinic.
|
|
|
|
|
|
| |
Added a @bridge'd $scope back to scala package object for binary compat.
No review.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reducing the sbt launcher footprint by eliminating val references
which go through the scala package object, since they lead to
otherwise unnecessary classes becoming required at startup. Mostly
this means library files with constructors like "Iterator.empty" or
"Stream.continually" receive a direct import of that companion. The one
slightly less than cosmetic change was moving the strange xml value
"$scope" back into Predef, because otherwise I have to touch the xml
code generation. No review.
|
|
|
|
|
|
| |
Realized how noisy the @deprecated-takes-two-arguments message was and
quieted it down. Oh, and documented the arguments. No review.
|
|
|
|
|
|
|
|
| |
Since I don't want to commit anything "interesting" until we ship 2.9, a
few uninteresting cleanups involving how types are printed, getting some
debugging code in shape to prepare for the long winter ahead, etc. No
review.
|
|
|
|
|
|
| |
Don't issue a deprecation warning if the deprecated method is being
called from a bridge method. No review.
|
|
|
|
|
|
| |
A few minor cleanups involving logging messages, assertion messages,
compiler warnings, and other innocuous matters. No review.
|
|
|
|
|
|
|
|
| |
Completely to my surprise, found that fixing all those sequence issues
revealed that the pattern matcher can catch a lot more inexhaustive
cases than it has been catching. Fixed most of the inexhaustive matches
in the compiler, which had become a bit warnier. No review.
|
| |
|
|
|
|
|
|
|
| |
After having to update the code for someone else, ran damarau
levenshtein on trunk again. Patchwise, I guess correcting spelling
errors in comments is about as safe as it gets. No review.
|
|
|
|
|
| |
Making further unapply regressions less likely, no review.
|
|
|
|
|
|
|
|
| |
Fixing the pattern matcher regression I introduced between rc1 and rc2.
Not done with this situation but at least I managed to boil out the big
problem and keep my five closed pattern matcher tickets to boot. Closes
#4523, no review.
|
| |
|
|
|
|
|
|
| |
Issuing warnings with detailed info when we encounter the lift crasher
case.
|
|
|
|
|
| |
Second version of trying to avoid the lift crasher bug.
|
|
|
|
|
|
|
| |
Ignore type errors raised in later phases that are due to mismatching
existentials. Quick fix to address lift build failures. Review by
dragos.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I wrote a warning when nullary methods return Unit. I wimped out of
including it in this patch because we had about 200 of them, and that's
what is fixed in this patch. I will add the warning to some kind of
"-Xlint" feature after 2.9.
This is motivated at least partly by the resolution of #4506, which
indicates the distinction between "def foo()" and "def foo" will
continue to jab its pointy stick into our eyes, so I believe we have a
minimal duty of at least following our own advice about what they mean
and not making a semirandom choice as to whether a method has parens or
not. Review by community.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improved the error message for another of the most common situations
I hear about in newbieland. It could be taken further. If compilation
fails due to an unimplemented abstract method, and there is a concrete
method of the same name and arity, it will do a pairwise analysis of the
parameters and attempt to further explain where you went off the beam if
it feels it can do so sensibly. Such as in the test case:
% scalac S.scala
S.scala:1: error: class S needs to be abstract, since method g in class J of type (y: Int,z: java.util.List)Int is not defined
(Note that java.util.List does not match java.util.List[String]. To implement a raw type, use java.util.List[_])
class S extends J {
^
one error found
No review.
|
|
|
|
|
|
|
|
|
| |
Improvements to the AST browser contributed by Yuvi Masory. Uses Nimbus
LAF when available and improves readability by padding components. Adds
menu items and key bindings for expanding and contracting nodes, closing
the browser and continuing compilation, and closing the browser and
aborting. No review.
|
|
|
|
|
|
|
|
| |
Upgraded -d so you can output classes directly to a jar. Very (very)
loosely based on a patch from dmharrah. Like dmharrah before me, I
see little if any change in compile times, which I find difficult to
explain. Closes #27, review by dmharrah.
|
|
|
|
|
| |
Cleaned up some hopelessly atrophied documentation, no review.
|
|
|
|
|
|
|
|
| |
Trying out a different strategy for restoring terminal settings so we
don't have a list of hardcoded terminal types. Now it saves the terminal
settings on script start and restores those on exit. Closes #4170,
review by rytz.
|
|
|
|
|
|
|
|
|
| |
Trying to fix the pattern matcher took me into the lambda lifter, and
I made some changes which seemed sensible to me. I'm going to be a
stickler about eliminating mutable maps which hold mutable listbuffers.
I could use some confirmation that I didn't somehow break the world:
review by dragos.
|