summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Deprecation patrol.Paul Phillips2010-11-0817-47/+119
| | | | | | | | | the same issues as JavaConversions with respect to overloading implicit methods making them inaccessible to view bounds. Fixed JavaConverters. Added a warning for when people overload parameterized implicits: in almost all cases the name is irrelevant so there's little point in unwittingly suffering degraded functionality. No review.
* Fixed crasher with @elidable on parameterized m...Paul Phillips2010-11-082-8/+19
| | | | | | Fixed crasher with @elidable on parameterized methods. Closes #3981, no review.
* This is work on -Ycheck:icode.Paul Phillips2010-11-0820-406/+492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | distribution can now be built with that option, with or without optimization, and almost all tests cases can. (Those which can't are due to different -Ycheck: issues.) Major changes of interest are as follows: * LOAD_EXCEPTION and THROW are parameterized on the throwable symbol. * Does not squash all traits down to AnyRef, but instead deals with issues as they arise. By observation the cases where one needs a "Foo with Product" to manifest as both a "Foo" and a "Product" at different places are quite rare, so we need not throw out the whole baby. * Exception handlers now have positions. * The remaining checker failures removed, such as CALL_METHOD wanting to pop a value off the stack after calling a constructor. * Many multiply defined values such as REFERENCE(ObjectClass) put in one place (ICodes.scala) and reused. * -Ycheck:icode output (if also given -Ydebug) worthy of Michelangelo. Here is a class and the -Ycheck:icode -Ydebug output for f's block. class A { def f(x: Int, y: String) = try println(x + y.length) catch { case x: NullPointerException => () } } ** Checking Block 4 [S: 3, 2] [P: 1] <closed> 1-> REF(singleton class Predef) 3 + LOAD_MODULE object Predef 2-> INT 3 + LOAD_LOCAL(value x) 3-> REF(class String) 3 + LOAD_LOCAL(value y) 2<- REF(class String) 3 - CALL_METHOD java.lang.String.length (dynamic) 3-> INT 3 + CALL_METHOD java.lang.String.length (dynamic) 2<- INT 3 - CALL_PRIMITIVE(Arithmetic(ADD,INT)) 1<- INT 3 - """ 2-> INT 3 + CALL_PRIMITIVE(Arithmetic(ADD,INT)) 1<- INT 3 - BOX INT 2-> REF(class Integer) 3 + BOX INT 1<- REF(class Integer) 3 - CALL_METHOD scala.Predef.println (dynamic) 0<- REF(singleton class Predef) 3 - CALL_METHOD scala.Predef.println (dynamic) Review by dragos (I marked the specific spots I thought of interest with "PP to ID" which makes it sound like I'm talking to my primal self. Next week on programmer theater: "PP to SUPEREGO.")
* Modified the lub calculation in TypeKinds to av...Paul Phillips2010-11-082-15/+42
| | | | | | | | | | | Modified the lub calculation in TypeKinds to avoid the icode checker failures described in ticket #3872. This does not alter the compiler's lub calculation as I'd hoped because I could not figure out how to accomplish this without having unintended consequences. I think that either Symbol.isLess could be adjusted, or perhaps the implementation of spanningTypes, or other places... but it eluded me and I defer to the type wizards. No review.
* A bit of -Xshow-class / -Xshow-object which did...Paul Phillips2010-11-083-15/+128
| | | | | | | | | | | | A bit of -Xshow-class / -Xshow-object which didn't quite make the Global patch. Now type selections should do the right thing, e.g. scalac -Xshow-class Global#Run src/compiler/scala/tools/nsc/Global.scala will show you interesting things about Run. Or see the test case for even more thrills. No review.
* Proper fix for adaptToNewRun for toplevel class...Eugene Vigdorchik2010-11-081-3/+5
| | | | | | Proper fix for adaptToNewRun for toplevel classes; if the compiler is running after flatten, then nothing to adapt
* [scaladoc] Fixes build. No review.Gilles Dubochet2010-11-082-58/+71
|
* Disabled a test failing on server.Aleksandar Pokopec2010-11-081-1/+1
| | | | | No review
* A test output changed. No review.Aleksandar Pokopec2010-11-081-2/+2
|
* Added size maps to flat hash tables.Aleksandar Pokopec2010-11-0826-168/+1364
| | | | | | | | | | | Added parallel mutable hash sets. Implemented parallel mutable hash set iterators. Implemented parallel mutable hash set combiners. Factored out unrolled linked lists into a separate class UnrolledBuffer, added tests. Added parallel mutable hash set tests, and debugged hashsets. No review.
* Pruned away structural invocations throughout t...Aleksandar Pokopec2010-11-083-10/+62
| | | | | | | Pruned away structural invocations throughout the collections framework. No review.
* An overhaul of Global.Paul Phillips2010-11-0710-348/+434
| | | | | | | | | | | | | | | | | | consistently, and remove things which are not being used anywhere in the visible universe. Beyond general polish here are some of the feature-like additions I can remember: * -Xshow-phases now includes descriptions of the phases. * -Xshow-class and -Xshow-object did not work as far as I could tell: if they didn't, now they do. If they did, now they work better. And you don't have to give it a fully qualified name anymore. * -Xprint-icode will generate *.icode files (don't also have to say -Xprint:icode) * counts of deprecation and unchcked warnings are given * More documentation of what global is doing. I tried not to break anything which might be using Global, but let me know if I overshot somewhere. No review.
* [scaladoc] Annotations are modeled and printed.Gilles Dubochet2010-11-054-32/+103
|
* Temporarily UndoEugene Vigdorchik2010-11-051-1/+1
|
* Sync toplevels after namer but before typecheck...Eugene Vigdorchik2010-11-051-2/+4
| | | | | | Sync toplevels after namer but before typechecker to be in time to flag toplevel removal. Review by odersky
* Need to rebind toplevel symbols to handle delet...Eugene Vigdorchik2010-11-051-1/+1
| | | | | | Need to rebind toplevel symbols to handle delete/recreate scenario. Review by odersky.
* Some more special cases for stringOf as we cont...Paul Phillips2010-11-041-3/+11
| | | | | | Some more special cases for stringOf as we continue to leave no stone unturned in the quest to reimplement toString. No review.
* Presentation compiler: not adapting to the new ...Eugene Vigdorchik2010-11-041-1/+1
| | | | | | Presentation compiler: not adapting to the new symbol for ThisType for class syms causes false errors in Eclipse
* Check for npe in the last commitHubert Plociniczak2010-11-041-1/+1
|
* Some further changes related to r23434.Hubert Plociniczak2010-11-043-18/+17
|
* Determined that half a dozen ways of checking f...Paul Phillips2010-11-0422-256/+265
| | | | | | | | | | | Determined that half a dozen ways of checking for varargs and by-name-ness in param lists exceeded the legal limit. Also assessed that names which are only used as type names would be a lot easier to deal with if we created them as type names up front. Performed the changes implied by the preceding along with a partial cleanup on TreeInfo which one can see hasn't had a good look in a long time. (And still hasn't.) No review.
* Some minor patmat/symbols cleanups, some of whi...Paul Phillips2010-11-043-13/+9
| | | | | | Some minor patmat/symbols cleanups, some of which I could swear I'd already checked in. No review.
* The probable cause of the failing build.Paul Phillips2010-11-031-2/+3
| | | | | | a nice picture of a trap doesn't mean I can't also put my foot through the frame. Aaaagh, my leg, my leg. No review.
* One more mr.Paul Phillips2010-11-0211-367/+336
| | | | | | | | This performs some Name related organization: putting similar name machinery in the same place, renaming some things to be consistent with the other things, giving some names to naked strings, beating back the creeping "if (forMSIL)" tests into class polymorphism, etc. No review.
* Closes #3973. Review by extempore.Iulian Dragos2010-11-023-3/+26
|
* One of those annoying patches for which I apolo...Paul Phillips2010-11-0253-341/+333
| | | | | | | | | | One of those annoying patches for which I apologize in advance. It's a step toward a better world. Almost all the changes herein are simple transformations of "x hasFlag FOO" to "x.isFoo", with the remainder minor cleanups. It's too big to review, so let's say no review: but I'm still all ears for input on the issues mostly outlined in HasFlags.scala.
* Make compile runner thread volatile + remove a ...Eugene Vigdorchik2010-11-021-2/+3
| | | | | | Make compile runner thread volatile + remove a race condition. Review by odersky.
* Enable test directories for 'run'.Hubert Plociniczak2010-11-023-8/+4
|
* Added separate bitmaps for private and transien...Hubert Plociniczak2010-11-0217-32/+405
| | | | | | | | | | Added separate bitmaps for private and transient lazy vals. Closes #3038, #1573. Review by dragos. I had to fix a couple of initialization issues that checkinit forced me to do and that weren't a problem before because the bitmap was serialized even for @transitive. For that I needed to change the setters in checkinit so that they also update the bitmap.
* Don't crash the compiler for the 'companions in...Hubert Plociniczak2010-11-024-13/+40
| | | | | | | Don't crash the compiler for the 'companions in different files' error. This turned out to be pretty bad for the presentation compiler. References #1286. Review by extempore
* Closes #3932, #1537. Review by extemporeHubert Plociniczak2010-11-026-5/+64
|
* Closes #3927. No reviewHubert Plociniczak2010-11-022-1/+7
|
* Closes #3816. Review by moors.Hubert Plociniczak2010-11-023-2/+52
|
* some cleanup. no reviewHubert Plociniczak2010-11-022-3/+2
|
* Closes #2792. no reviewHubert Plociniczak2010-11-028-8/+44
|
* Created @strictfp annotation in scala.annotation.Paul Phillips2010-11-015-2/+35
| | | | | | your fp with no tolerance for tomfoolery, this is the commit for you. Closes #1708, review by community.
* Don't call exit from MainGenericRunner in a way...Paul Phillips2010-11-011-17/+24
| | | | | | Don't call exit from MainGenericRunner in a way which is impossible to avoid. Closes #3901, no review.
* Don't truncate stack traces in the repl.Paul Phillips2010-11-011-4/+5
|
* Don't let stringOf lose elements to print by ha...Paul Phillips2010-11-011-1/+1
| | | | | | Don't let stringOf lose elements to print by hanging onto set semantics for too long. Closes #3944, no review.
* 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.
* Achieved similar simplicity gains in NumericRan...Paul Phillips2010-11-013-101/+97
| | | | | | | | | | Achieved similar simplicity gains in NumericRange to those now in Range. Obvious remaining task is to specialize NumericRange and after verifying the performance, eliminate one or the other. For now, both soldier onward despite near-convergence of implementation. Closes #3232, no review.
* Removed a disappointly small amount of code ass...Paul Phillips2010-11-012-53/+0
| | | | | | Removed a disappointly small amount of code associated with the obsolete namePos. No review.
* Eliminated duplication among the Rich* wrappers...Paul Phillips2010-11-0114-243/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminated duplication among the Rich* wrappers, careful not to impact performance on RichInt in particular. Attempted to make Proxy a little bit typier. Proxy creates an asymmetric equals method by design so it's unfixable in that regard, but achieved a minor miracle anyway by making the Rich* wrappers behave symmetrically. Note: said miracle involved having the wrappers extend ScalaNumber in order to induce the special == semantics. This in turn led to implicit conversion conflicts with the boxed types on methods like .intValue(). Resolved by moving the Rich* implicits into LowPriorityImplicits. This of course also removed the intentional ambiguity which prevents primitives from automatically becoming AnyRefs. Solved THAT one by creating dedicated, laser-precise ambiguity creating implicits in Predef which exclude only the AnyRef methods. Although this is admittedly less than elegant, it is still better than it was: this way it is direct and explicit rather than depending upon the "implicit implicit conflict" where the barrier to promotion is intermingled with the definitions of wrapper classes. (See the history of BoxedUnit/RichUnit for a good example of why these concerns require separation.) It's all worth it: assert(intWrapper(5) == 5) assert(5 == intWrapper(5)) assert(5 == (5: java.lang.Integer)) assert((5: java.lang.Integer) == 5) assert((5: java.lang.Integer) == intWrapper(5)) assert(intWrapper(5) == (5: java.lang.Integer)) Review by community.
* 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.
* Took a step back and massively simplified Range.Paul Phillips2010-11-013-95/+139
| | | | | | | | | | | | | | | | | | | | | | | | all the boundary conditions I'm aware of, including not yet reported ones such as scala> 5 until 5 last res0: Int = 4 and scala> 1073741823 to Int.MaxValue by (1 << 24) size res0: Int = 65 scala> 1073741823 to Int.MaxValue by (1 << 24) drop 100 size res1: Int = 256 Also includes conformance improvements (e.g. 5 until 5 init should throw an exception, not return empty) and general improvements (e.g. 1 to 10 tail should return a Range.) Will close associated tickets such as #3232 after I complete similar work on NumericRange. Review by community.
* Removed race from test for #3356. No reviewPhilipp Haller2010-11-012-1/+4
|
* 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.
* Ported --update-check from partest-alternative ...Paul Phillips2010-10-304-6/+16
| | | | | | | | Ported --update-check from partest-alternative to partest actual. Once again all can daily demonstrate their amazing resolve by not mass updating checkfiles by the hundreds with whatever the current output happens to be. 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.
* partest: fixed property handling of --debug.Philipp Haller2010-10-293-9/+15
|