| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A double goodness whammy involving type inference at the borders.
1) Implicit search preserves singleton type fidelity. 2) Unification of
parent bounds is (closer to) correct.
Result of 1: "implicit def f(x: Foo.type)" will convert object Foo.
Result of 2: "new Trait[Int] { }" may enjoy its type constructor being
inferred, no longer foiled by the anonymous class.
Also included are some clarity-enhnancing renamings and refactorings.
Performance note: I heavily benchmarked the change to isSubArgs and it
is reproducibly faster than the previous implementation. Numbers and
methodology available upon request.
Closes #2693, #3964. Review by moors, who wrote most of this patch but
might like to review the comments.
|
|
|
|
|
|
| |
Fix for IDE ticket #1000180: the presentation compiler does not propose
completions on names containing $.
|
|
|
|
|
|
| |
[scaladoc] Even faster JavaScript index filtering, by reducing DOM
manipulations. Contributed by Kato Kazuyoshi. Review by dubochet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some uninteresting code related to error messages, which I'm checking
in mostly because I booted the r23379 commit in a git-svn meltdown and
posterity demands the message, which was:
You can now use the self-type of an anonymous class as a singleton type
in a pattern match ON THE MOON. Actual test case excerpt:
val x4 = new { self =>
def f(x: Any) = x match {
case _: x1.type => 1
case _: x2.type => 2
case _: x3.type => 3
case _: self.type => 4
case x: Dingus.type => x.IamDingus
}
}
Closes #576, no review.
|
| |
|
|
|
|
|
|
|
|
|
| |
The treecheckers revealed that auxiliary constructors, which must follow
the primary at the source level, are reordered to precede the primary
during the constructors phase. Added some logic to preserve the original
ordering. Also tweaked treePrinters to not confusingly print object Foo
as "final class Foo". Review by moors.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Case accessors are always public else the pattern matcher goes south. A
more discriminating fix may be possible at some point, but it looks to
be an involved endeavor. Closes #3714, review by odersky.
|
|
|
|
|
|
|
|
| |
Another attempt to fix a bug which has plagued me for a year or more but
which I am apparently the only one who enjoys it. I enclose some thread
dumps in anticipation that someday someone else will experience it too.
No review.
|
|
|
|
|
|
|
| |
protected and its bevy of corner cases. Closes #3939, #3947. This patch
is intended for both trunk and 2.8.1. Already reviewed and co-authored
by moors, and review by oderksy.
|
|
|
|
|
|
|
|
| |
The tree checkers revealed that Volatile*Refs were being constructed
without being given a constructor argument. Added a mkZero to treegen
for creating zero trees of any type, and used it to construct those
refs. Review by moors.
|
|
|
|
|
| |
Now short-circuits reload work items that are superseded by later ones.
|
|
|
|
|
|
| |
Two comments where presentation compiler sanity assertions should be
inserted.
|
| |
|
|
|
|
|
|
|
| |
Plus one wild goose chase and test fixes.
No review.
|
|
|
|
|
| |
No review
|
|
|
|
|
|
|
|
| |
Some exception handling fixes in parallel collections. Fixed some
regressions. Fixed some tests.
No review.
|
|
|
|
|
|
|
|
|
|
|
| |
Changed HashTable interface.
Fixed one test.
Implemented hash map iterators.
Implementing hash map combiners.
Extracting common functionalities of bucket-based combiners.
No review.
|
| |
|
|
|
|
|
| |
Changed hash code strategy in hash table - now taking most significant bits when transforming the hash code into an index.
|
| |
|
|
|
|
|
|
| |
Refactoring certain tasks to accept empty splitters. Adding parallel
mutable hash maps. No review
|
|
|
|
|
|
|
|
| |
Closes #3059, #3895 (the only difference between this and r23232 is the
forced info transformation that ensures that nested objects are viewed
as lazy vals). sbt integration requires new starr for this commit to
work.
|
| |
|
| |
|
|
|
|
|
|
| |
msil doesn't run flatten, so it is possible to have nested classes in
mixin. fixes msil build. review by rytz
|
|
|
|
|
|
| |
Fix involving xml equality, contributed by mark harrah. Closes #3886, no
review.
|
|
|
|
|
|
|
|
| |
As pointed out to me by plocinic, the pattern matcher has been
indiscriminately clearing the MUTABLE flag on synthetic vals because it
is signalling itself with that bit and it didn't think anyone else would
ever notice. Someone did. Closes #3699, review by plocinic.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Closes #3934 by fixing a typo (missing + in string concat). Better
effect analysis would have caught that one at compile-time. Review by
extempore.
|
|
|
|
|
|
| |
Fixed NoSymbol problem in IDE for type constructors. Review by
vigdorchik
|
|
|
|
|
| |
VirtualFile.{equals/hashCode} should be based on the path rather than bare name
|
| |
|
|
|
|
|
|
| |
Reverted previous commit as I think it is wedging under -optimise. No
review.
|
|
|
|
|
|
|
|
| |
Made some changes to fjbg so when people run into #1133 at least it will
tell them what method was the cause. The fact that ten files are touched
in this commit instead of one or two is a testament to the wonder of
checked exceptions. No review.
|
|
|
|
|
|
|
| |
Documentation being generated by genprod was pretty busted both in terms
of formatting and correctness. Spruced it up. Eliminated some of the
more distracting HTML entities in compiler source. No review.
|
|
|
|
|
|
|
|
|
|
| |
Disambiguated all the implicits in JavaConversions. All the
documentation had fallen out of date so I fixed that up too, in the
process converting from HTML to wikiformatting. (Wouldn't it be nice to
mass convert trunk out of the HTML tags?)
Closes #3688, no review.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
TreePrinters now go inside orginal's of TypeTrees to print positions.
Useful for debugging IDEs
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a fascinating tangle of name creation functions passing around
positions only to reach the end of the line and discard the position
since names don't have positions. I deleted all of it. The winner for
most creative use of parameters was the freshName function in etaExpand,
with this signature:
def freshName(pos: util.Position, n: Int)
And an implementation referencing neither pos nor n. "In a world beset
by attrition on all sides... a people defeated by entropy... one man
will show them the power of deletion." No review.
|