summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* fixed svn props, did some cleanupmichelou2011-09-1712-277/+372
|
* Reworked error trees.Paul Phillips2011-09-176-168/+57
| | | | | | | Eliminated the var, the Option[Boolean]s, and the Unit-returning init method. If they were accomplishing something I could not discern, I trust hubert will now apprise me. Review by plocinic.
* Fix for nonsense comparison in TypeKinds.Paul Phillips2011-09-161-6/+2
| | | | | Hey, that new warning works. No review.
* Amend previous commit by suppressing type error...Iulian Dragos2011-09-162-1/+2
| | | | | | Amend previous commit by suppressing type errors for syntactically incorrect units only when -Ypresentation-strict is set. no review.
* Better behavior with problematic sources in the...Iulian Dragos2011-09-162-9/+55
| | | | | | | | | | | | | | | | Better behavior with problematic sources in the presentation compiler: - if the presentation compiler crashes while type checking a source file, it puts it into an ignore buffer, and it will not type check it during background compilation rounds. Any subsequent calls to waitLoadedTyped will fail with the last exception. To remove it from the ignore list call either 'enableIgnoredFile' or 'askToDoFirst' on that file. - sources with syntax errors are not type checked during background compilation. This leads to less spurious errors. For instance, type errors may occur much earlier in the file than the actual syntax error that caused them. review by odersky.
* Added new disabled test for eclipse scala-ide t...Micro Dotta2011-09-161-17/+21
| | | | | | | Added new disabled test for eclipse scala-ide ticket1000609. Corrected test framework to fail nicely when the tree retrieved after an has no associated symbol.
* Removed parens from calls to Name#toString.Paul Phillips2011-09-1511-35/+43
| | | | | | | | | | | | | | | | | This commit doesn't include the line which would change anything interesting (that being making toString in Name a val), it is all the changes elsewhere which one would have to make to do that. I didn't want to waste them. A quirk of scala is that if you call an empty-parameter-list method: foo.bar() // e.g. x.toString() foo.bar // where you could have called x.toString then if you decide in the future to make it a val, every call site must potentially be modified. This is a bit of a bummer. One can try to defend against that future decision by eschewing parentheses, but it's not very satisfying or effective. No review.
* Fixed stackoverflow problem when initializing l...Martin Odersky2011-09-151-13/+27
| | | | | Fixed stackoverflow problem when initializing large scopes.
* Create Type hashcodes at construction.Paul Phillips2011-09-141-2/+2
| | | | | | | This saves an unnecessary field (the lazy bitmap) and means hashing is faster. The hashCode is called on every created type anyway because of the lookup in unique, so this is pure gain. No review.
* Minor cleanup in Uncurry w/ NullaryMethodTypes.Paul Phillips2011-09-142-14/+15
| | | | | No review.
* Removed redundant UnCurry transform (now in Lif...Paul Phillips2011-09-141-66/+1
| | | | | | | Removed redundant UnCurry transform (now in LiftCode.) No review.
* Reworking TypeMaps to avoid allocations.Paul Phillips2011-09-133-116/+83
| | | | | | | | | | | | | | | | | | | The pieces of TypeMap which returned Option[T] were contributing many unnecessary allocations as well as inconsistency and complexity. By creating distinguished objects UnmappableTree and UnmappableAnnotation, I was able to gain simplicity, eliminate all the Some allocations, use the normal mapConserve, and so on. I also went after the monster that was dropNonConStraintAnnotations by generalizing it into "AnnotationFilter", a trait which extends TypeMap. SpecializeTypes was able to take advantage of this as well. (The means by which (some) annotations are dropped, and the related fact that NullaryMethodType returns constant false for isTrivial only so the continuations plugin will keep working, leaves the situation still in dire need of improvement.) Review by moors.
* updated scaladoc comments, did some cleanupmichelou2011-09-137-173/+190
|
* Refine lub calculation.Paul Phillips2011-09-131-2/+10
| | | | | | | When a reasonable lub cannot be arrived at by direct means, use the bounds of the lub inputs to derive bounds for the lub rather than giving up. Closes SI-4938, review by moors.
* Remove assert that fails for IDE. review by Mirco.Hubert Plociniczak2011-09-131-4/+2
|
* Improved getFiles/getDirs in PartestTask; did s...michelou2011-09-124-51/+144
| | | | | Improved getFiles/getDirs in PartestTask; did some cleanup.
* Partially reverted r25636 change (forget notice...michelou2011-09-121-29/+16
| | | | | | | | | | | | | | | Partially reverted r25636 change (forget notice about the starr rebuild). Change originated in my misunderstanding of Ant filters: The pattern string if <exclude name="<pattern>"/> may not contain Ant variables such as eg. ${compiler.excludes}. Use <excludesfile name="${compiler.excludes}" if="<property>"/> instead !
* Fix for params/args zip IOOB crash.Paul Phillips2011-09-121-1/+8
|
* Removed unused import.Grzegorz Kossakowski2011-09-121-1/+0
| | | | | No review.
* Report erroneous tree instead of Error tree in ...Hubert Plociniczak2011-09-124-42/+22
| | | | | | | Report erroneous tree instead of Error tree in case we are dealing with presentation compiler. This way scala plugin doesn't have to be aware of Error trees in most common cases. Some minor tweaks
* Method to zip value params and args.Paul Phillips2011-09-108-9/+77
| | | | | | | | | I had all the variations of zip/zipped start logging when they being were given differently lengthed arguments, to find out what all we might be throwing away. This uncovered at least one bug with free variable identification, fixed herein, and also solidifed my belief that we should have a lot less ad hoc zipping of things. No review.
* Helping Proxy equal itself.Paul Phillips2011-09-102-5/+4
| | | | | Fix for bumpy proxy equals. Closes SI-4807, no review.
* Improvement of incompatible == warning.Paul Phillips2011-09-102-3/+6
| | | | | | Didn't notice that ScalaObject would sometimes be the lub rather than Object, no review.
* Fix various InnerClasses bugs.Grzegorz Kossakowski2011-09-091-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes two major problems: 1. InnerClasses table missed entries that would close the chain between nested and top-level class. 2. In some situations, classes corresponding to objects would be not be reported in the InnerClasses table. For details it's the best to check SI-4819, SI-4820 and SI-4983. First problem mentioned above was straightforward to fix so I won't be going into details. The second one deserves more attention. From now, classes corresponding to objects are properly reported as inner classes. Also, members (classes, objects) of objects are reported as inner classes of classes corresponding to objects. There's one caveat though: top level objects get two classes (regular and mirror). Members of top-level objects are declared as inner classes of *mirror* class and not regular one. The reason for that is to allow importing them from Java. For example: object A { class B } will be compiled into following classes: A, A$, A$B. If we declared A$B as inner class of A$ (regular class for objects) then it would be impossible to import B using "import A.B" or "import A$.B" constructs. The reason for that is that Java compiler seems to blindly put dollars instead of looking at InnerClasses attribute. Since non-top-level objects don't have a mirror class it's impossible to use the same solution. Thus, in case like this: object A { object B { class C } } it's impossible to import C from Java. That's the tradeoff for fixing other (more serious) problems. It's never been possible to do that in a clean way so we are not making situation worse. As a nice consequence of this change, we get better way to refer to inner members of top-level objects. It's been reflected in one of test-cases that is updated by this change. Fixes SI-4789 SI-4819 SI-4820 SI-4983 and possibly some other tickets related to reflection. Review by extempore, dragos.
* Brought back unrelated type comparison warning.Paul Phillips2011-09-091-11/+14
| | | | | | Figured out how to turn it on by default, even. Closes SI-4979, no review.
* Added parens to many methods.Paul Phillips2011-09-097-54/+54
| | | | | | | | scalac -Xlint said: warning: side-effecting nullary methods are discouraged: suggest defining as `def initErrorCheck()` instead x 56. Plus a couple other linty things. No review.
* added missing getExcludedFiles in <scalac> Ant ...michelou2011-09-0823-173/+234
| | | | | | | | | added missing getExcludedFiles in <scalac> Ant task (same change is pending for <pending> Ant task). A new starr is needed for that features to work in build.xml (and other Ant scripts).
* 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