summaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Don't truncate stack traces in the repl.Paul Phillips2010-11-011-4/+5
|
* Sprinkling in some names to avoid reflective ca...Paul Phillips2010-11-013-6/+11
| | | | | | Sprinkling in some names to avoid reflective calls in the compiler as suggested by magarcia. Closes #3974, no review.
* Removed a disappointly small amount of code ass...Paul Phillips2010-11-011-42/+0
| | | | | | Removed a disappointly small amount of code associated with the obsolete namePos. No review.
* Relaxed non-sensible warning for comparisons wh...Paul Phillips2010-11-012-3/+6
| | | | | | | Relaxed non-sensible warning for comparisons when ScalaNumber is involved, since there is special number logic which makes it wrong to chastise us. No review.
* Made an @inline marked method final because oth...Paul Phillips2010-10-301-1/+1
| | | | | | Made an @inline marked method final because otherwise it won't be inlined. No review.
* Widened the pattern type in the pattern matcher...Paul Phillips2010-10-301-1/+1
| | | | | | | | Widened the pattern type in the pattern matcher's attempt to statically rule out matches so that "abc" match { case _: x.type => } is not incorrectly excluded. No review.
* presentation compiler hardenings.Martin Odersky2010-10-295-7/+17
|
* Some deletions in global based on adriaan's goo...Paul Phillips2010-10-291-37/+12
| | | | | Some deletions in global based on adriaan's good advice. No review.
* Correctly find completion proposals for ImportT...Iulian Dragos2010-10-281-13/+18
| | | | | Correctly find completion proposals for ImportType. review by odersky
* Some cleanups and long-dead code abatement in t...Paul Phillips2010-10-272-68/+16
| | | | | | Some cleanups and long-dead code abatement in the land where patterns are typed. No review, already reviewed live by moors.
* A double goodness whammy involving type inferen...Paul Phillips2010-10-272-75/+96
| | | | | | | | | | | | | | | | | | | | 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 c...Iulian Dragos2010-10-271-25/+33
| | | | | | Fix for IDE ticket #1000180: the presentation compiler does not propose completions on names containing $.
* [scaladoc] Even faster JavaScript index filteri...Gilles Dubochet2010-10-272-94/+127
| | | | | | [scaladoc] Even faster JavaScript index filtering, by reducing DOM manipulations. Contributed by Kato Kazuyoshi. Review by dubochet.
* Some uninteresting code related to error messag...Paul Phillips2010-10-274-34/+44
| | | | | | | | | | | | | | | | | | | | | | 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.
* Merge branch 'oct26' of /scala/trunkPaul Phillips2010-10-272-4/+1
|
* The treecheckers revealed that auxiliary constr...Paul Phillips2010-10-262-51/+57
| | | | | | | | | 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 patte...Paul Phillips2010-10-261-1/+1
| | | | | | | 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 ...Paul Phillips2010-10-261-5/+10
| | | | | | | | 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.
* A modifier's work is never done.Paul Phillips2010-10-262-36/+54
| | | | | | | 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 w...Paul Phillips2010-10-253-22/+29
| | | | | | | | 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 s...Martin Odersky2010-10-252-21/+32
| | | | | Now short-circuits reload work items that are superseded by later ones.
* Two comments where presentation compiler sanity...Martin Odersky2010-10-252-0/+2
| | | | | | Two comments where presentation compiler sanity assertions should be inserted.
* A couple minor cleanups in Global. No review.Paul Phillips2010-10-212-16/+13
|
* Closes #3059, #3895 (the only difference betwee...Hubert Plociniczak2010-10-202-42/+90
| | | | | | | | 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.
* Closes #3670, #3877.Hubert Plociniczak2010-10-201-5/+55
|
* Closes #2910.Hubert Plociniczak2010-10-202-97/+118
|
* msil doesn't run flatten, so it is possible to ...Hubert Plociniczak2010-10-201-1/+1
| | | | | | msil doesn't run flatten, so it is possible to have nested classes in mixin. fixes msil build. review by rytz
* As pointed out to me by plocinic, the pattern m...Paul Phillips2010-10-192-13/+17
| | | | | | | | 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 str...Martin Odersky2010-10-191-1/+1
| | | | | | | 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 construc...Martin Odersky2010-10-191-2/+2
| | | | | | Fixed NoSymbol problem in IDE for type constructors. Review by vigdorchik
* VirtualFile.{equals/hashCode} should be based o...Eugene Vigdorchik2010-10-181-2/+2
| | | | | VirtualFile.{equals/hashCode} should be based on the path rather than bare name
* Closes #3871.Martin Odersky2010-10-174-24/+75
|
* Reverted previous commit as I think it is wedgi...Paul Phillips2010-10-171-15/+2
| | | | | | Reverted previous commit as I think it is wedging under -optimise. No review.
* Made some changes to fjbg so when people run in...Paul Phillips2010-10-161-2/+15
| | | | | | | | 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 pr...Paul Phillips2010-10-165-14/+14
| | | | | | | 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.
* Small changes in layout and comments. no review.Martin Odersky2010-10-162-3/+3
|
* Closes #3837. Review by extempore.Martin Odersky2010-10-161-3/+7
|
* Closes #3614.Martin Odersky2010-10-162-16/+20
|
* Closes #3567. Review by milessabin.Martin Odersky2010-10-161-2/+11
|
* Closes #3833. Review by extempore.Martin Odersky2010-10-161-24/+39
|
* Closes #3672. Review by extempore.Martin Odersky2010-10-161-3/+14
|
* TreePrinters now go inside orginal's of TypeTre...Martin Odersky2010-10-161-1/+1
| | | | | | TreePrinters now go inside orginal's of TypeTrees to print positions. Useful for debugging IDEs
* Reverting r23232. No review.Hubert Plociniczak2010-10-152-89/+42
|
* Working out some more of the flags situation.Paul Phillips2010-10-153-6/+6
|
* There was a fascinating tangle of name creation...Paul Phillips2010-10-1511-66/+26
| | | | | | | | | | | | | | | 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.
* Modification to the widening logic to treat loc...Paul Phillips2010-10-141-6/+24
| | | | | | | | | | | | | | | | | | Modification to the widening logic to treat locally defined symbols like final members thus allowing more constants to be inlined. Concretely, that means that in code like this: def f: Unit = { val b = false ; if (b) println("ok") } The call to println is no longer generated at all, and in this code: def f(x: Int) = { val X = 1 ; val Y = 2; x match { case X => 1 ; case Y => 2 } } A tableswitch is generated instead of the present if/then/else. I also added a big comment to the former widenIfNotFinal (now widenIfNecessary for obvious reasons.) Review by rytz.
* Fixed wrong tag for Longs, which caused bad jav...Iulian Dragos2010-10-141-8/+10
| | | | | | Fixed wrong tag for Longs, which caused bad java signatures (and a crash building the Eclipse plugin). No review.
* An object with a main method can now extend its...Paul Phillips2010-10-141-153/+131
| | | | | | | | | | | | An object with a main method can now extend its companion class without losing the ability to run. Also gave genjvm a wax and polish while in the neigborhood. Closes #3487. I had to get a little tricky with this one. No review per se, but if anyone is frightened by the prospect of the forwarders not being marked final in this case (because as of now, they aren't) then speak now or ACC_FINAL hold your peace.
* Closes #3894. Review by dubochet.Martin Odersky2010-10-131-4/+4
|
* closes #3862.Adriaan Moors2010-10-132-4/+9
|