summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Allow for the overriding of objects.Paul Phillips2011-09-0815-131/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various and sundry manipulations to allow for objects to be overridden when the mood is right. It is not enabled by default. The major contributor of change turned out to be the decoupling of the FINAL flag (and the "isFinal" test which examines only that flag) and the many semantics which were attributed to this interpretation of finality in different circumstances. Since objects no longer have the FINAL flag automatically applied (only top-level objects and those marked final in source code do) we need apply a more nuanced test. Fortunately there is such a nuanced test: isEffectivelyFinal, which is always true if the FINAL flag is set but also in various other circumstances. In almost every case, you should be testing "isEffectivelyFinal", not "isFinal". To enable overridable objects, use: -Yoverride-objects -Xexperimental // includes the above and others Remain to be done: working out transition logistics. Most likely this would involve bumping the scala signature version, and all objects in versions before that would be assumed final. Review by moors.
* Refinement of murmurhash implementation.Paul Phillips2011-09-087-43/+199
| | | | | | Integrates recent speed improvements to algorithm. Contributed by Ruediger Keller, no review.
* Fixes #1000349: Dot completion doesn't work whe...Martin Odersky2011-09-071-0/+2
| | | | | | Fixes #1000349: Dot completion doesn't work when calling a no-arg method with no parens
* Another problem solved for reflexive compiler.Martin Odersky2011-09-075-27/+29
|
* I missed inlining warnings - need to get better...Hubert Plociniczak2011-09-072-38/+33
| | | | | I missed inlining warnings - need to get better glasses. No review
* Some cleanup related to last commitHubert Plociniczak2011-09-071-12/+6
|
* First refactoring related to Error trees.Hubert Plociniczak2011-09-0721-886/+2861
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are no more direct calls to context.error from Typers and Infer, so more work needs to be done to finish it for Implicits and Namers. I am pushing it to trunk so that all of you can share my pain (and complain). Please do not add any more context.error randomly in that code, instead deal with it appropriately (by creating specific error tree). I was trying to be as informative when it comes to error tree names as possible, but if you feel like changing names to something more appropriate then feel free to do so. When it comes to printing error messages I tried to follow test suite as closily as possible but obviously there were few changes to some tests (mostly positive, I believe). On my machine performance drawback was neglible but I am working on more aggressive caching to reduce the penalty of containsError() calls even more. Any suggestions welcome. At the moment the code supports both styles i.e. throwing type errors for the cases that are not yet handled and generating error trees. But in the future we will drop the former completely (apart from cyclic errors which can pop up almost everywhere). Review by odersky, extempore and anyone who feels like it.
* Tighten the CPS plugin constraints.Iulian Dragos2011-09-071-0/+1
|
* Fixed MissingRequirementError extractor (the re...Micro Dotta2011-09-071-2/+2
| | | | | | | Fixed MissingRequirementError extractor (the return type of unapply method went from Option[String] to Serializable during r25612). Review by moors.
* Added footer command line option to ScalaDoc so...Heather Miller2011-09-073-2/+28
| | | | | | | | Added footer command line option to ScalaDoc so ScalaDoc users aren't forced to have the EPFL/Typesafe copyright notice in their API docs. Now comes with the ability for users to add their own footer. Review by ureche.
* Improves the usability of Scaladoc when images ...Heather Miller2011-09-062-30/+11
| | | | | | Improves the usability of Scaladoc when images are not available. Closes SI-4943.
* Removed erroneous throw which was stealthily ki...Martin Odersky2011-09-061-1/+0
| | | | | Removed erroneous throw which was stealthily killing the build.
* Intersection types made specializable.Paul Phillips2011-09-061-0/+1
| | | | | | | | | | | | | Formerly a specializable type parameter would be missed if in an intersection. trait Trait[@specialized T] { def f[T](x: Foo[T] with Bar) = x } Now that is specialized, as it already was in the "Foo[T]" case. Closes SI-4794, no review.
* more reflect changesMartin Odersky2011-09-053-2/+10
|
* More refinements to reflection and the reflecti...Martin Odersky2011-09-0514-54/+76
| | | | | More refinements to reflection and the reflective compiler.
* Offer warning when demonstrably non-side-effect...Paul Phillips2011-09-059-21/+40
| | | | | | | | Offer warning when demonstrably non-side-effecting expressions appear in statement position, which should be unintentional by definition. Threw in removal of six places with useless discarded expressions which the warning informed me about. No review.
* Removed the type parameter from sliding, no rev...Paul Phillips2011-09-034-7/+7
| | | | | Removed the type parameter from sliding, no review.
* Docspree documentation for Stream from Derek WyattJosh Suereth2011-09-021-71/+485
|
* Some great AnyVal class hierarchy documentation...Josh Suereth2011-09-0210-49/+2862
| | | | | | Some great AnyVal class hierarchy documentation from Iain McGinniss. No Review.
* Updated copyright notice in scaladoc. No review.Heather Miller2011-09-011-3/+1
|
* Made it possible to supply a custom Global to t...Paul Phillips2011-09-016-6/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | Made it possible to supply a custom Global to the core scala runners. The absence of "Global pluggability", combined with the fact that most of the functionality in Global is unnecessarily rigid due to the phases being implemented as objects, means that it has been close to impossible to do interesting compiler development in a way which doesn't require modifying the scalac source tree. This then leaves you continually subject to punishment by code drift as the various places you were forced to modify change out from under you. This is somewhat less true now, thanks to new option: -Yglobal-class The primary wielders of Global (fsc/scala/scalac) now instantiate the compiler via a (Settings, Reporter) => Global factory method in the Global companion. If -Yglobal-class was given, that class (which must have a (Settings, Reporter) constructor) will be instantiated if possible, falling back on the standard one. See test/files/pos/CustomGlobal.scala for a working example. (It's not in run because I would have to be able to give partest a different set of flags for successive compiles in the same test.) Review by odersky.
* Document the usage and methods of scala.sys.pro...Josh Suereth2011-08-316-10/+315
| | | | | | | | | Document the usage and methods of scala.sys.process. From the first international scaladoc marathon. Contributed by: Daniel Sobral
* Small tweak to reflection to make package types...Martin Odersky2011-08-311-1/+1
| | | | | | Small tweak to reflection to make package types same as for SymbolLoaders
* Better handling of presentation compiler shutdown.Iulian Dragos2011-08-312-8/+60
| | | | | | | | | | of deadlocks: when the PC was asked to shutdown, all work items in the work queue would be left pending, and no response would be set. This commit attempts to clean up a bit better: a shutdown request clears the work queue and all pending loaded&typed or parsed-entered requests by setting their responses to 'MissingResponse'. review by odersky.
* More fixes to reflection and reflective compiler.Martin Odersky2011-08-303-24/+63
|
* Twist to make crashes more robust :-) (by avoid...Martin Odersky2011-08-301-1/+2
| | | | | | Twist to make crashes more robust :-) (by avoiding exceptions that get raised when printing debug output in erasure).
* removing more debug output from reflection.Martin Odersky2011-08-301-2/+2
|
* Added extraneous test where classes are verifie...Josh Suereth2011-08-293-0/+107
| | | | | | | Added extraneous test where classes are verified by loading them in non-boot classloaders one at a time. These are not wired into the standard workflow, but available optionally. Review by rytz
* Added copyright notice to all scaladoc pages.Heather Miller2011-08-292-0/+12
|
* Added package object support to reflection fram...Martin Odersky2011-08-2910-85/+91
| | | | | | Added package object support to reflection framework. Removed debug output and made some speed improvements.
* More changes to get Reflect compiler working.Martin Odersky2011-08-2917-104/+188
|
* Gave partial function an empty member.Paul Phillips2011-08-281-2/+9
|
* Another bit of stray debugging output involving...Paul Phillips2011-08-271-1/+1
| | | | | | Another bit of stray debugging output involving good old symbol #431. Oh, symbol #431, why must you haunt our dreams. No review.
* Fixing up a few instances of suboptimal reversi...Paul Phillips2011-08-274-4/+4
| | | | | Fixing up a few instances of suboptimal reversing, no review.
* Replaced various now-unnecessary casts with str...Paul Phillips2011-08-277-7/+7
| | | | | | Replaced various now-unnecessary casts with straight getClass calls. Closes SI-4780, no review.
* Fixed bug in Sorted "to" not using the ordering.Paul Phillips2011-08-271-2/+1
|
* Fixing the buildMartin Odersky2011-08-261-3/+4
|
* Removing debug output that slipped into main co...Martin Odersky2011-08-263-4/+4
| | | | | | Removing debug output that slipped into main compiler and broke the build.
* More fixes/debug code for reflection.Martin Odersky2011-08-266-12/+43
|
* Always include `liftcode` phase in a compiler run.Grzegorz Kossakowski2011-08-262-2/+1
| | | | | | | | | | | | | | It turns out that `liftcode` phase must be always executed or other phases will fail. Specifically, at the moment `explicitouter` seems to depend on `liftcode`. One can observe compiler crash by compiling scala/Array.scala file without `liftcode` included. At `explicitouter` phase compiler will crash with assertion error saying it cannot lift some code. Review by odersky
* Some kind of scaladoc quoting fix from the sbt ...Paul Phillips2011-08-251-6/+6
| | | | | Some kind of scaladoc quoting fix from the sbt guy, no review.
* Recent icode checking tests were leaving a bit ...Paul Phillips2011-08-252-3/+7
| | | | | | | Recent icode checking tests were leaving a bit of a mess in the filesystem. Taught them to clean up after themselves. I knew I'd pick up a few useful tricks from my kids. No review.
* Made -Xprompt more useful, less crashy and more...Paul Phillips2011-08-255-22/+21
| | | | | | | | | | | | | | | | | | | | | | Made -Xprompt more useful, less crashy and more open to showing you the stack trace without aborting. For example, the following would resume compilation after showing the trace. % scala -deprecation -Xprompt -nc -e 'case class Foo' foo.scala:1: warning: case classes without a parameter list have been deprecated; use either case objects or case classes with `()' as parameter list. case class Foo ^ a)bort, s)tack, r)esume: s java.lang.Exception [...] at scala.tools.nsc.ast.parser.Parsers$UnitParser.deprecationWarning(Parsers.scala:207) at scala.tools.nsc.ast.parser.Parsers$Parser.paramClauses(Parsers.scala:2058) at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$classDef$1.apply(Parsers.scala:2557) at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$classDef$1.apply(Parsers.scala:2545) No review.
* Fixes and temporary debug scaffolding for refle...Martin Odersky2011-08-254-27/+49
| | | | | Fixes and temporary debug scaffolding for reflect code.
* Fixed build problemsMartin Odersky2011-08-242-2/+2
|
* Class that can be used for memoizing types in r...Martin Odersky2011-08-241-0/+15
| | | | | Class that can be used for memoizing types in reified trees
* reflection refactoring so that we can now have ...Martin Odersky2011-08-2411-10/+47
| | | | | | | reflection refactoring so that we can now have a compiler that uses reflection instead of class files (ReflectGlobal/ReflectMain). Still needs some debugging to get it to run.
* Refactored everything that's clean in nsc.Main ...Martin Odersky2011-08-242-58/+83
| | | | | | | | Refactored everything that's clean in nsc.Main to nsc.Driver. Left the cruft in Main which now inherits Driver. Makes it simpler to create new compiler variants by subclassing Driver instead of adding yet one more case to the convoluted logic in Main.
* Some 11th hour modifications with the dual purp...Paul Phillips2011-08-239-35/+96
| | | | | | | | | | | | | | | | | | Some 11th hour modifications with the dual purpose of a smooth console life for sbt and so the repl can be used on google app engine. Although this patch may look largish to be entering at RC4, there isn't a lot going on. It's trying to make these dangerous things: - property and environment variable accesses - thread creation - signal handler installation happpen in a sufficiently uniform way that people who don't want them and places who don't allow them are not left with an unfixable situation where things blow up inside private methods. Also, the (ahem) lower than usual elegance levels are due to it being intended for 2.9.x as well. Review by harrah.
* Modified scala.reflect package object not to th...Paul Phillips2011-08-232-7/+46
| | | | | | | Modified scala.reflect package object not to throw an exception at initialization time if it can't instantiate the value in question. Review by odersky.