| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
A few additional (but less dramatic) optimizations to implicit search,
courtesy of Tiark. No review.
|
|
|
|
|
| |
Tiark's main batch of optimizations to implicit search. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Making some recent changes less breaky so sbt can be used with trunk
again. Mainly, renamed scala.reflect.internal's AbstractFile to
AbstractFileType. I can't see a way around renaming it and it's becoming
quite a problem not to have sbt. I inspected scala-ide and I don't think
this is going to break it, but in general I don't know how plausible it
is that we can avoid periodic breakage given that we have at least three
source bases (scala, sbt, scala-ide) each with multiple branches with
interdependencies which are not being continuously integrated. Review by
odersky.
|
|
|
|
|
|
| |
A test case demonstrating some of the issues with DelayedInit.
References #4680. Review by odersky.
|
|
|
|
|
|
|
| |
Compilation of spec-List enters an infinite loop under -optimise,
disabling in the hopes of seeing a new build before I die. I'll put it
back. No review.
|
|
|
|
|
|
|
|
|
| |
Tweaks repl tests to enforce -Yrepl-sync and other setup on all clients.
Also includes some more why-do-tests-hang bosons for the particle
accelerator in case that doesn't wrap it up. I think it will though,
because now constrained-types is the only one which failed and it's also
the only one which overrides Settings. No review.
|
|
|
|
|
|
| |
Reverts r25036, "Altered the positioning of XML literal trees" because
the IDE did not like it. No review.
|
|
|
|
|
|
|
|
| |
A somewhat more realistic attempt to fix the build, no review. This
introduces a repl command line option -Yrepl-sync to inhibit the
asynchronous path which makes repl startup seem so snappy. And then it
uses it in the repl tests.
|
|
|
|
|
| |
First of what might be several attempts to fix the build, no review.
|
|
|
|
|
|
|
|
|
|
|
| |
Modified erasure not to generate instance tests for statically known
types. It appears the production of types like "Foo with Bar" in the
pattern matcher (where the scrutinee is known to be Foo) has been a
major contributor of suboptimal pattern matches. I will also fix it in
the matcher, but it makes sense to catch it in erasure as both a check
on the matcher and because they may come from elsewhere too. Review by
odersky.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Proliferating the number of debugging modes because it's still way
too hard to see what's going on in there. Until we get hubert's type
debugger with its whiz-bang whizbanginess, we'll have to struggle along
with somewhat prettier ascii. This introduces:
-Yinfer-debug
which tries to print in readable fashion what is happening in the
worlds of inference and implicit search. It should be made a bit more
complementary and less overlappy with -Ytyper-debug. No review.
|
|
|
|
|
|
| |
Realized most of the remaining methods in Option warrant @inline and
final treatment and modified them accordingly. Review by dragos.
|
|
|
|
|
|
|
|
| |
Working on the inliner, discovered that a few key methods are not
inlined. With this commit there are 326 fewer classfiles generated
under -optimise. Use getOrElse with even wilder abandon than you were
previously. No review.
|
|
|
|
|
|
| |
Carved out access exception for java protected statics, which otherwise
cannot be accessed from scala. Changes close status of #1806, no review.
|
|
|
|
|
|
| |
A few more items so that all may enjoy power mode in the way nature
intended. No review.
|
| |
|
|
|
|
|
| |
down into more flexible pieces. No review.
|
|
|
|
|
|
| |
More adjustments to repl parsing to accomodate inaccurately positioned
parse trees. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The eagerly awaited companion commit to r23622, the surprise hit of last
winter. Singletons now have the singleton type inferred in monomorphic
contexts as well. In english:
scala> object X
defined module X
scala> def f = X
f: X.type
Wait, that's not english. English review by moors.
|
|
|
|
|
|
|
|
| |
Fixed a repl regression with parentheses handling, reminding me we
really need that honest parser phase which doesn't betray us with
parentheses abandonment and dramatic desugarings. I'll promote it from
page 14 to page 11. Closes #4661, no review.
|
|
|
|
|
|
| |
Fixed a repl history issue where some control chars sneaking in would
render the entire history invisible. No review.
|
|
|
|
|
|
|
|
| |
There were two distinct bugs in here, which if I ran the world would be
a wakeup call that robust software cannot emerge from thousands of lines
of low-level AST matching. In case you are frozen in suspense: I do not
run the world. Review by moors.
|
|
|
|
|
| |
test in r25038, so closes #4512, no review.
|
|
|
|
|
|
| |
Cleaning up power mode import issues (and the amazing first power mode
test) no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Working on the finer points of the Total Repl Experience. Some of what
is in this patch:
-- Instantaneous repl startup. Closes #4561.
-- SIGINT handler installed last. If you've been annoyed at the repl
being difficult to interrupt during its initialization, this one is
especially for you.
-- Started abstracting out some bits which would go into an API and
reconfiguring the repl in those terms.
For a good time, call S-C-A-L-A -Dscala.repl.power. No review.
|
|
|
|
|
|
|
|
|
| |
Moved some pure string manipulation functions out of the base class
for all Reporters and into a more suitable home. "Please, help stamp
out inheritance abuse. If you won't do it for yourself do it for your
children... or your subclass's children." Also removed some dead
reporter code (not used anywhere, including the IDE.) No review.
|
|
|
|
|
|
| |
Created AbstractOrMissingHandler for the repl trying to give better
error messages in the face of bytecode fatalities. No review.
|
| |
|
|
|
|
|
|
|
| |
Now :t types declarations as well as expressions, and cleans up the
output the same way the repl does so stray unsolved type constraints
don't befuddle anyone. Closes #4391, no review.
|
| |
|
|
|
|
|
|
|
|
| |
Fixed a crasher in the scanner when unicode escape sequences offered up
EOF before completion. Also made the repl a little more robust against
crashers in scalac. Treat it like a hostile witness! Closes #4584, no
review.
|
|
|
|
|
|
|
|
|
|
|
| |
Each of the three commits preceding this are to correct regressions
which would have been caught by the interpreter test and never checked
in in the first place, were it not disabled. The windows tax claims
another victim. Or three victims.
Re-enabled the interpreter test. No way for me to know if it will pass
everywhere without trying it. No review.
|
|
|
|
|
|
| |
Fixing an interpreter output regression and updated repl debugging and
tracing code. No review.
|
|
|
|
|
|
| |
with the earliest position later than the earliest character in the
source code, which was breaking some repl logic. No review.
|
|
|
|
|
|
| |
Fixed interpreter wrapper spotting logic to make sure the $iw in
question is in a package. Closes #4595, no review.
|
|
|
|
|
| |
Updated jline build to use xsbt 0.9.9 and rebuilt, no review.
|
|
|
|
|
|
| |
Yikes, prependToList was violating List immutability. Closes #4656, no
review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Overcoming limitations of the repl, multiple-tree lines and assignments.
The best part of nicely documented limitations is that you can stare at
the same comment for years and then the day comes when you give it the
heave-ho.
Exhibit A (regarding a single bare expression): "This is necessary due
to it being hard to modify code at a textual level, and it being hard
to submit an AST to the compiler." Yes, it IS hard to modify code at
a textual level (see enclosed patch) but we won't let that stop us
anymore. Closes #4578.
Exhibit B (regarding the left hand side of assignments having to be
Ident): "An unfortunate limitation." Unfortunate no longer! No review.
|
|
|
|
|
|
| |
Repaired regression in Set causing Set ++ to become very expensive.
Closes #4642, no review.
|
|
|
|
|
|
| |
Altered IntSetting help syntax to be more indicative that an argument is
expected. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rebuilt jline with some navigation improvements (ctrl-T jumps forward a
word, ctrl-X deletes the word in front of the cursor), thanks to Kenji
Matsuoka for portions of this patch.
Note to OSX users: TIL learned that ctrl-O is swallowed by the terminal
and that unless you have some need for weird flow-control over serial
connection control chars, you can recover it with
stty discard undef
And then you have ctrl-O for previous word and ctrl-T for next word.
No review.
|
|
|
|
|
| |
Finished reverting the misbegotten r23262, no review.
|
|
|
|
|
|
|
| |
Fix for failing { val x = classOf[List[_]] } introduced by paulp
in r23262. I already had this in mind (see comments of #4419) but I was
holding back in the runup to 2.9. Closes #4419, review by odersky.
|
|
|
|
|
| |
Reverts a change as a tribute to the performance gods, no review.
|
|
|
|
|
|
|
|
|
| |
Created named subclasses not nested inside objects for various uniqified
Types. This has a large effect on memory consumption by avoiding an
unnecessary $outer field for each instance. (It also makes stack traces
look a lot nicer.) Statistics to be supplied eventually. Review by
odersky.
|
|
|
|
|
|
| |
Regression in Enumeration caused some nullary methods to pose as fields.
Closes #4570, no review.
|
| |
|
|
|
|
|
|
| |
Now that I've convinced myself getOrElseUpdate isn't a big killer
performancewise, simplified ZipArchive a bit. No review.
|
|
|
|
|
|
| |
Commented out a bug workaround which seems to be too costly to impose on
the general case. No review.
|