summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fixes and clean ups for futures based on review by @viktorklangphaller2012-04-124-29/+15
|
* Merge pull request #369 from scalamacros/topic/fixwinscriptsJosh Suereth2012-04-113-45/+20
|\ | | | | fix for get-scala-commit-* on Windows (tested with Windows 7)
| * fix for get-scala-commit-* on Windows (tested with Windows 7)Eugene Burmako2012-04-113-45/+20
|/
*-. Merge commit 'refs/pull/365/head'; commit 'refs/pull/366/head' into developPaul Phillips2012-04-102-2/+6
|\ \
| | * SI-5571: adds @volatile to field Enumeration.vsetDefinedDominik Gruntz2012-04-101-1/+1
| | |
| * | fix field init problem in NoStackTraceAdriaan Moors2012-04-101-1/+5
| |/
* / Fix for SI-5648.Paul Phillips2012-04-104-2/+24
|/ | | | More care in warning about bad comparisons.
* Cleaning up some repl mechanisms.Paul Phillips2012-04-097-34/+79
|
* Less laborious type application.Paul Phillips2012-04-0920-116/+99
| | | | | And eliminating redundancy. Reduced gratuitous usage of typeConstructor on symbols which don't have type parameters.
* Merge commit 'refs/pull/364/head' into developPaul Phillips2012-04-092-10/+51
|\
| * Bumped the number of samples of the memory leaks test to 50. This should ↵Iulian Dragos2012-04-092-10/+51
| | | | | | | | make it much more resilient against spikes. Also removed usedmem file dumps.
* | Make specialize check cheaper and consistent.Paul Phillips2012-04-093-21/+26
|/ | | | | | | | | | | Profiler said checking hasAnnotation thousands of times is expensive. I always wondered why some things used the SPECIALIZED flag and others looked for the annotation. No reason emerges which is apparent from the tests. So: - mark an annotated symbol specialized at a convenient time - always look for the flag - create Symbol#isSpecialized to be consistent with all others
* SI-4540 Fix [RichDouble|RichFloat|RichLong].isValid[Byte|Short|Char|Int].Dmitry Nadezhin2012-04-084-58/+305
| | | | | | | | | | This commit fixes test cases mentioned in comment 03/Apr/12 to SI-4540. Methods are fixed in leaf classes RichDouble|RichFloat|RichLong. Their superclasses are not modified. File is-valid-num.scala contains commented tests of isValidLong|isValidFloat|isValidLong, but they are not added anywhere now.
*-. Merge commit 'refs/pull/361/head'; commit 'refs/pull/362/head' into developPaul Phillips2012-04-082-11/+4
|\ \
| | * Small simplification of commit 87c9fc0df0f0e74d3a07f95634356d6425877091.Dmitry Nadezhin2012-04-071-11/+3
| | | | | | | | | | | | | | | eqTypeCode(Number) is equivalent to typeCode(Number). CHAR code is impossible because java.lang.Character is not subclass of java.lang.Number.
| * | make PresentationCompilerThread a daemontkong2012-04-071-0/+1
| |/
* / More Symbols and Flags.Paul Phillips2012-04-0710-187/+257
|/ | | | | Another "three yards and a cloud of dust" in my ongoing battle against flag uncertainty.
* Flag performance and Name management.Paul Phillips2012-04-0612-84/+139
| | | | | | | | One leads to the other. Easing some more specific typing into Symbols. Getting a handle on when where and how people rename symbols to suit their fancies.
* Merge branch 'apr6-flags' of leaf:/scala/trunk into developPaul Phillips2012-04-0612-191/+216
|\
| * Moving flags around for performance.Paul Phillips2012-04-0611-173/+198
| | | | | | | | Also trimmed some cruft which had accrued in recent work.
* | Merge commit 'pull/358/head' into developPaul Phillips2012-04-064-4/+96
|\ \
| * \ Merge branch 'master' into topic/reflectMartin Odersky2012-04-0553-250/+1216
| |\ \
| | * | Test case for overloading resolution during reflection.Martin Odersky2012-04-051-0/+16
| | | |
| * | | Added overloading resolution to reflect.api.SymbolMartin Odersky2012-04-053-8/+84
| | | |
* | | | Style tweaks to b28ece2f4b .Paul Phillips2012-04-061-4/+8
| | | | | | | | | | | | | | | | We don't use Option[Symbol].
* | | | SI-4134: abstract override crasher if lacking super implSom Snytt2012-04-065-10/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The example from the ticket is committed as a neg test. The problem is that a super.m on an abstract override member m has no concrete implementation, that is, the trait T is not mixed in after a class C with a concrete m. The error is noticed at phase mixin when the super accessor is added to the concrete mixer. (Pun alert?) When super.m is rebound, no concrete matching symbol is found up the linearization. Previously, it was asserted that such a symbol should be found, but since this is our first opportunity to detect that there is none, an error should be emitted instead. The new message is of the form: Member method f of mixin trait T2 is missing a concrete super implementation. Additionally, a couple of flag tests were changed to use isAbstractOverride.
* | | | fix memory leak in Iterator.++David Andrzejewski2012-04-061-1/+3
| | | |
* | | | Make NumericRange# O(1) instead of O(n).Simon Ochsenreither2012-04-063-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes me a bit nervous that NumericRange[Int] will get different wrong values in overflow situations compared to Range due to the missing toLong though. It could probably need some investigation if reordering the operations can rule out wrong values, e. g. only fail when the fold also fails. Apart from that, it might make sense to just throw an exception if an overflow happens instead of silent overflow.
* | | | Fix for SI-5591.Geoff Reedy2012-04-063-1/+12
| |_|/ |/| | | | | | | | And test case for SI-5591.
* | | Fix for SI-5644.Paul Phillips2012-04-069-22/+898
| | | | | | | | | | | | | | | | | | | | | Don't let OverloadedTypes reach the backend. When you want a method from a particular symbol, avoid getMember, which may inflict upon you an OverloadedType if an inherited member has the same name. Instead, use the (just now appearing) definitions.getDecl.
* | | A little BoxesRunTime fix.Paul Phillips2012-04-061-2/+2
| | | | | | | | | | | | That's why we have those nice test cases.
* | | Disable dysfunctional inline annotation.Paul Phillips2012-04-061-1/+4
| | |
* | | Giving HotSpot a better chance at BoxesRunTime.Paul Phillips2012-04-061-202/+163
| | | | | | | | | | | | Reusing small, simple methods rather than lots of cut and paste.
* | | Merge commit 'refs/pull/355/head^'Paul Phillips2012-04-053-3/+3
|\ \ \
| * | | avoid field init prob: make NoTreeAnnotation a defAdriaan Moors2012-04-053-3/+3
| | | |
* | | | Merge branch 'develop'Paul Phillips2012-04-0511-50/+329
|\ \ \ \
| | \ \ \
| | \ \ \
| | \ \ \
| | \ \ \
| | \ \ \
| | \ \ \
| *-----. \ \ \ Merge commit 'refs/pull/353/head'; commit 'refs/pull/354/head'; commit ↵Paul Phillips2012-04-0511-50/+329
| |\ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | 'refs/pull/356/head'; commit 'refs/pull/337/head'; commit 'refs/pull/339/head' into develop
| | | | | * | | SIP-11 String Interpolation SimplificationDominik Gruntz2012-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed StringContext.f which implements the formatted string interpolator. Any '%' not in formatting position is left in the resulting string literally. However, instead of adding '%s' format holders and extending the args with "%" expressions, these '%' are replaced by '%%'. The formatter then converts '%%' (percent formatter) to the literal % (\u0025). The interpolation tests still pass.
| | | | | * | | SIP-11 String Interpolation SimplificationDominik Gruntz2012-03-281-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed StringContext.f which implements the formatted string interpolator. Any '%' not in formatting position is left in the resulting string literally. However, instead of adding %s format holders and extending the args with "%" expressions, these '%' are replaced by '%%'. The formatter then converts '%%' (percent formatter) to the literal '%' (\u0025). This also simplifies the spec. The interpolation tests still pass.
| | | | | * | | String interpolation bug fixDominik Gruntz2012-03-284-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes a bug in class StringContext.scala. Parts were not correctly added to the resulting string. This commit includes a test case which covers the example reported in the bug. Closes SI-5614.
| | | | * | | | Fixed broken links in sources of scala/annotationDominik Gruntz2012-04-052-3/+3
| | | | |/ / /
| | | * | | | Add some ExecutionContext factories.Aleksandar Prokopec2012-04-044-16/+30
| | | | | | |
| | * | | | | Add tests for future combinators: map, flatMap, filter, collect, foreach, ↵phaller2012-04-041-16/+274
| | |/ / / / | | | | | | | | | | | | | | | | | | recoverWith, zip, fallbackTo
* | / / / / A boatload of work on Symbols and Flags.Paul Phillips2012-04-0528-589/+977
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally my dream of orderliness is within sight. It's all pretty self-explanatory. More polymorphism, more immutable identity, more invariants.
* | | | | Symbol activity tracer.Paul Phillips2012-04-054-2/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I just can't shake the feeling more people should see the things that I see. scalac -Dscalac.debug.syms foo.scala
* | | | | Fix for continuations issue with match blocks.Paul Phillips2012-04-053-1/+35
| | | | | | | | | | | | | | | | | | | | Don't type pattern trees with annotations still attached.
* | | | | Fix for continuations issue.Paul Phillips2012-04-056-14/+77
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid explicit type arguments which don't conform to bounds where they could be successfully inferred. I had to disable one "neg" test which is no longer neg. Can anyone clue me in as to whether it is important?
* | | | Added Option#fold.Paul Phillips2012-04-043-0/+36
| | | |
* | | | Unify "object Foo" and "Foo.type".Paul Phillips2012-04-044-9/+15
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The source of many bugs over the years is that the first is represented as a TypeRef and the second a SingleType. Over a great period of time I figured out how to shield us from the more obvious bug manifestations, but a recent comment by adriaan jarred me into realizing that we can fix it at the source. This commit changes <:< and =:= to recognize when those two representations are being compared and to treat them as equivalent regardless of which is on the left. The reason I don't quash one representation entirely is that a fair bit of code depends on singleton types having an underlying type which is not the same, and regardless of that it would entail more changes and more risk. The change allows removing the type inference conditions which worried about this, and also fixes SI-4910. scala> val t1 = typeRef(ScalaPackageClass.thisType, NoneModule.moduleClass, Nil) t1: $r.intp.global.Type = None.type scala> val t2 = t1.narrow t2: $r.intp.global.Type = None.type scala> (t1.getClass, t2.getClass) res20: (Class[?0], Class[?0]) forSome { type ?0 <: $r.intp.global.Type; type ?0 <: $r.intp.global.Type } = (class scala.reflect.internal.Types$ModuleTypeRef,class scala.reflect.internal.Types$UniqueSingleType) scala> ((t1 =:= t2, t2 =:= t1, t1 <:< t2, t2 <:< t1)) res21: (Boolean, Boolean, Boolean, Boolean) = (true,true,true,true)
| | |
| \ \
*-. \ \ Merge commit 'refs/pull/350/head'; commit 'refs/pull/351/head' into developPaul Phillips2012-04-035-5/+145
|\ \ \ \