summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Added doc commentMartin Odersky2011-01-161-0/+6
|
* Rollback changes to canRedefine.Eugene Vigdorchik2011-01-161-1/+1
|
* Do not redefine the symbol in a class file to p...Eugene Vigdorchik2011-01-161-1/+1
| | | | | | | Do not redefine the symbol in a class file to prevent spurious errors in IDE. IDE creates a second copy in owner scope and unlinks it when finished. Review by odersky
* This outlaws explicit isInstanceOf tests on val...Paul Phillips2011-01-151-1/+5
| | | | | | | This outlaws explicit isInstanceOf tests on value types, which are nonsense in any case, as long threatened in ticket #1872. Closes #1872, review by rytz.
* Optimization to string concatenation.Paul Phillips2011-01-152-16/+48
| | | | | | | | | | | | | | | with a primitive CONCAT and several opcodes, I'm assuming nobody will oppose this on principle. Given an expression of the exact form "" + x (that is, the NPE-immune and much less ugly way to call .toString) we used to get 4x the bytecode and create an unneeded StringBuilder. Now this: 0: aload_1 1: invokestatic #20; //Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String; 4: areturn Closes #4160, review by dragos.
* There were some shenanigans in normalize trying...Paul Phillips2011-01-151-17/+5
| | | | | | | | There were some shenanigans in normalize trying to avoid cycles. Adriaan had recorded an idea about how to avoid them and I tried out my interpretation of it and it worked. He says it's good to go, so no review.
* Validate positions only in debug mode. No reviewEugene Vigdorchik2011-01-151-1/+1
|
* Fix for a jline paste bug. No review.Paul Phillips2011-01-133-23/+19
|
* Optimization for Manifest.equals.Paul Phillips2011-01-132-82/+106
| | | | | | | | | significantly faster. Closes #4006. And, then I started trying to deal with some fundamental Manifest issues and give it a little documentation. I left a trail of bloody comments, for which I solicit review by moors.
* Disabled browsing in the empty package, hopeful...Martin Odersky2011-01-131-1/+4
| | | | | | Disabled browsing in the empty package, hopefully this will unbock Eclipse
* Purely detabification of the process code.Paul Phillips2011-01-127-438/+438
|
* Some modifications to @elidable: for reasons lo...Paul Phillips2011-01-122-14/+29
| | | | | | | | Some modifications to @elidable: for reasons lost to me now it had a default value such that annotated methods might be elided even if the option wasn't given. It now does nothing in that situation. Closes #4051, #4151, no review.
* Merge branch 'work'Aleksandar Pokopec2011-01-121-0/+1
|
* Some fixes for partest issues.Paul Phillips2011-01-1211-559/+373
| | | | | | | | prejudice and puts the new process code to work instead. There are still a couple bugs on my short term partest list. If this commit causes some weird issue which only arises on virtualized windows you can expect to hear from me next by postcard from st. lucia. No review.
* More fiddling with the process code.Paul Phillips2011-01-127-245/+286
|
* Imported sbt.Process into trunk, in the guise o...Paul Phillips2011-01-12104-176/+953
| | | | | | | | | | | | | | | | | | | Imported sbt.Process into trunk, in the guise of package scala.sys.process. It is largely indistinguishable from the version in sbt, at least from the outside. Also, I renamed package system to sys. I wanted to do that from the beginning and the desire has only grown since then. Sometimes a short identifier is just critical to usability: with a function like error("") called from hundreds of places, the difference between system.error and sys.error is too big. sys.error and sys.exit have good vibes (at least as good as the vibes can be for functions which error and exit.) Note: this is just the first cut. I need to check this in to finish fixing partest. I will be going over it with a comb and writing documentation which will leave you enchanted, as well as removing other bits which are now redundant or inferior. No review.
* In r22807 an optimization was added to remove B...Paul Phillips2011-01-112-4/+12
| | | | | | | | In r22807 an optimization was added to remove Box(Unbox(x)) combinations. It turns out that without this in place, an expression like "x".asInstanceOf[Int] will no longer throw an exception. Refined the optimization. Closes #4148, review by dragos.
* Make scala.collection.immutable.Set1, .Set2, Se...Donna Malayeri2011-01-111-4/+4
| | | | | | Make scala.collection.immutable.Set1, .Set2, Set3, Set4 constructors private to the collection package. Closes #2845. No review.
* Allow reload to be issued inside ask non-interr...Eugene Vigdorchik2011-01-111-1/+3
| | | | | | Allow reload to be issued inside ask non-interruptibly. Review by odersky
* Modify scala.Array to extend java.io.Serializable.Donna Malayeri2011-01-101-1/+1
|
* Pulled some bit level operations into their own...Paul Phillips2011-01-105-88/+80
| | | | | | | | Pulled some bit level operations into their own file. It's pretty much impossible to abstract across Int and Long with no penalty, but we can at least have duplicated code in the same place to minimize the challenge. No review.
* A test case for recently fixed #4114. Plus!Paul Phillips2011-01-102-4/+5
| | | | | | | | | I had closed #2441 as a duplicate of that, but unfortunately #4114 did not bring #2441 along with it. Then I realized I'm a programmer, not a helpless trac watcher. As is often the case with thes things, fixing that revealed a bug in the library. Closes #2441 for real, review by odersky.
* Made <:< and =:= serializable.Paul Phillips2011-01-101-3/+3
|
* Renamed a file (I thought I already renamed thi...Paul Phillips2011-01-101-0/+0
| | | | | | | Renamed a file (I thought I already renamed this: oh that was util.Replayer, not io.Replayer) so ant doesn't keep recompiling it. No review.
* Moved the presentation compiler thread in its o...Iulian Dragos2011-01-103-43/+68
| | | | | | | | | Moved the presentation compiler thread in its own top-level class. This allows to collect the presentation compiler instance when the thread is not GCed, but the compiler should be discarded (for example, after a shutdown request). Having the thread as an inner class keeps a reference to the outer class. review by odersky.
* Second try for "Changing the intersectionWitnes...Iulian Dragos2011-01-102-5/+19
| | | | | | | | | | | Second try for "Changing the intersectionWitness map to use weak references for the value. A value may prevent parts of this map from collecting, since the value may hold a (strong) reference to one of the keys in the map. review by odersky." This time without higher order functions. This updates commit 71bce88e543277bd9afeb23e3e6af2b517b56075.
* Made presentation type checker idempotent and r...Martin Odersky2011-01-103-31/+45
| | | | | | Made presentation type checker idempotent and removed code in Global that was needed to work around non-idempotency.
* Re-disabled constant folding for interactive co...Iulian Dragos2011-01-101-2/+2
| | | | | Re-disabled constant folding for interactive compiler runs. no review.
* Changing the intersectionWitness map to use wea...Iulian Dragos2011-01-103-6/+9
| | | | | | | | Changing the intersectionWitness map to use weak references for the value. A value may prevent parts of this map from collecting, since the value may hold a (strong) reference to one of the keys in the map. review by odersky.
* Fixes #4112. Closes #4112.Aleksandar Pokopec2011-01-101-0/+8
| | | | | No review.
* Added comments for #4008.Aleksandar Pokopec2011-01-102-4/+28
| | | | | No review.
* Fixes #4054.Aleksandar Pokopec2011-01-101-0/+11
| | | | | No review.
* Enabled parallel group by.Aleksandar Pokopec2011-01-102-6/+6
| | | | | No review.
* Unfinalized a couple unnecessarily final methods.Paul Phillips2011-01-101-13/+6
|
* Couldn't stop working on tailcalls.Paul Phillips2011-01-101-77/+78
|
* A pretty severe bug in the recognition of tail ...Paul Phillips2011-01-101-127/+100
| | | | | | | | | | | | | | | | | | | | A pretty severe bug in the recognition of tail call elimination. It turns out that Tailcalls will perform "partial elimination" in situations such as: @annotation.tailrec final def f(x: Int): Int = f(f(x)) The outer call to f1 becomes a jump, but the inner call remains as it was. I implemented @tailrec under the impression that if the optimization had taken place, it had gone all the way. So this is now fixed with a direct examination of the rewritten tree. While I was in there I threw in some improved error reporting: the error positioning is now on the call which is not in tail position rather than the method declaration. Closes #4135, no review.
* Oops, the implicit not found message was wrong:Paul Phillips2011-01-101-1/+1
| | | | | | | | | | | scala> implicitly[CanBuildFrom[String, Int, List[List[Int]]]] <console>:10: error: Cannot construct a collection of type List[List[Int]] with elements of type Int based on a collection of type List[List[Int]]. implicitly[CanBuildFrom[String, Int, List[List[Int]]]] ^ No review.
* Fixed a mis-deprecation step where remove was r...Paul Phillips2011-01-101-4/+4
| | | | | | | Fixed a mis-deprecation step where remove was replaced with filterNot on a mutable collection. Thanks to richard emberson for finding it. I used what git fu I have searching for others, but no dice. No review.
* Refactored browsing loaders so that they can be...Martin Odersky2011-01-092-89/+112
| | | | | | Refactored browsing loaders so that they can be more easily reused from the builder. Review by plocinik.
* Implemented toplevel browsing in IDE, so that s...Martin Odersky2011-01-094-27/+136
| | | | | | | | | Implemented toplevel browsing in IDE, so that source files newer than their class files are scanned for contained classes and modules. That way, top-level symbols with names different than their enclosing class can still be identified. I believe the same strategy should be used by IDE/sbt builders. Reviw by plocinik
* Closes #4114. No review.Martin Odersky2011-01-091-1/+1
|
* Closes #3984 by the most arduous and indirect r...Paul Phillips2011-01-093-297/+238
| | | | | | | | | | | | Closes #3984 by the most arduous and indirect route imaginable: abstracts the common code out of the TrieIterators in HashMap and HashSet. When I raised this flag to find out if anyone would open fire, all was quiet on the western front. Although I wouldn't want to write code like this as an everyday thing, I think it serves as a nice showcase for some of the abstraction challenges we're up against: performance looks the same and I will never again have to fix the same bug in two places. Review by rompf.
* Brought back and deprecated onlyPresentation to...Paul Phillips2011-01-091-3/+11
| | | | | | | | | Brought back and deprecated onlyPresentation to unbreak sbt. (Another fine reason for us to push all the way to using sbt is that we wouldn't unwittingly break it, as that change and my recent jline changes both did.) Maybe there is a better way to do what's in this one: review by dragos.
* Warded off an NPE (which only arose on erroneou...Paul Phillips2011-01-092-4/+5
| | | | | | Warded off an NPE (which only arose on erroneous code) in the continuations plugin. Closes #4132, no review.
* The ensuring methods should be by-name on the m...Paul Phillips2011-01-091-2/+2
| | | | | | The ensuring methods should be by-name on the message argument like assert, assume, and require. Closes #4129, no review.
* Reverting fix for #4047 until I figure out why ...Hubert Plociniczak2011-01-081-8/+5
| | | | | | Reverting fix for #4047 until I figure out why it is failing on chara and not on my machine. No review.
* Untangling parsers from compilation units so th...Martin Odersky2011-01-083-38/+87
| | | | | | Untangling parsers from compilation units so that we can browse toplevel symbols without full compilations.
* Applying some short-term balm to scaladoc since...Paul Phillips2011-01-081-13/+14
| | | | | | Applying some short-term balm to scaladoc since it got all loopy after that last patch. No review.
* Override checks and self-types still needed som...Paul Phillips2011-01-085-4/+11
| | | | | | | | | Override checks and self-types still needed some work (ticket #2808.) I believe this is the right change. The modifications in parallel and actors were a result of the files failing to compile after the change to allOverriddenSymbols. (I am taking the position that that aspect is a feature.) Review by malayeri, odersky.
* Great moments in code reuse:Paul Phillips2011-01-0715-84/+68
| | | | | | | | | | | | | | | | | | | | | | def isRootOrEmptyPackageClass(s: Symbol) = s.isRoot || s.isEmptyPackageClass def isRootOrEmpty = (this == EmptyPackageClass) || (this == RootClass) def isEffectiveRoot = isRoot || isEmptyPackageClass // last one actually not quite identical def isUnqualified(n: Name) = n match { case nme.ROOT | nme.EMPTY_PACKAGE_NAME => true ; case _ => false } I was responsible for at least half of these. Now it's only isEffectiveRoot. Also, I have always found it warty that we have to specify Nothing and Any as upper bounds. I gave the TypeBounds companion object a few obvious methods: def empty: TypeBounds = apply(NothingClass.tpe, AnyClass.tpe) def upper(hi: Type): TypeBounds = apply(NothingClass.tpe, hi) def lower(lo: Type): TypeBounds = apply(lo, AnyClass.tpe) It's a lovable patch. No review.