| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Also introduces an important change to Manifest.Nothing and Manifest.Null.
Previously their `erasure` was equal to classOf[Object]. Now it's correctly
set to classOf[scala.runtime.Nothing$] and classOf[scala.runtime.Null$]
correspondingly.
See a discussion here:
https://groups.google.com/forum/#!topic/scala-internals/Y0ALGo7QPqE
|
|
|
|
|
| |
Aliases ClassTag.XXX to Manifest.XXX to reuse already existing
implementations of deprecated APIs.
|
|
|
|
|
|
|
|
|
| |
This method was no longer used anywhere, except for a place where it wasn't
really necessary.
Its implementation is non-trivial, and I have doubts about it, so I propose
to remove it altogether instead of living with some dubious code necessary
for some dubious matter.
|
|\
| |
| | |
Fixed positions in de-aliased special symbols..
|
| |
| |
| |
| |
| | |
`apply` methods.
Fixed #5064, thanks to @paulp who showed the right direction (and how to test it).
|
|/
|
|
| |
So it can be used in value classes.
|
|\
| |
| | |
further polishing of reflection
|
| |
| |
| |
| |
| | |
I think `isVal` and `isVar` are the right names, because they
exactly map on Scala syntax.
|
|\ \
| | |
| | | |
Fix for SI-6273, repl string interpolation.
|
| | |
| | |
| | |
| | |
| | |
| | | |
As usual the hard part is tracing through all the
needless abstraction. Begone, 25 layers of parsing error
issuing methods!
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an error occurs because some type does not conform
to AnyRef (and an AnyRef-derived type would have sufficed)
try to say something useful about the situation.
This commit also initializes scope members before printing
error messages because the + version seems more useful than
the - version (taken from one of the checkfile diffs.)
- def <init>: <?>
- def methodIntIntInt: <?>
+ def <init>(): X
+ def methodIntIntInt(x: scala.Int,y: scala.Int): scala.Int
|
|\ \
| | |
| | | |
Fix SI-4581.
|
| |/
| |
| |
| |
| |
| |
| | |
Specifically, the final flag on the generated static field
is no longer ommitted.
Fix 2 failing test-cases.
|
|\ \
| | |
| | | |
Fixes SI-6290 by creating real instnaces of language features.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Expanded the reach of value classes.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now extending AnyVal:
- RichInt, RichDouble, etc.
- ArrayOps.ofRef, ofBoolean, etc
- StringAdd
- StringFormat
The rest of it is the changes necessary to enable those.
|
|\ \ \
| | | |
| | | | |
Si 6220
|
| | | |
| | | |
| | | |
| | | | |
This test will pass even with an older version of the scala library, since as mentioned this is just a performance improvement.
|
|\ \ \ \
| | | | |
| | | | | |
Si 6261
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
elements
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Still need to determine if this is a systemic
issue and needs to be addressed higher in the
linked list hierarchy. For now, just
fixing the reported bug, with a note here
for other maintainers.
|
|\ \ \ \
| | | | |
| | | | | |
removes Symbol.kind and Type.kind
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
use Universe.showRaw instead:
scala> import scala.reflect.runtime.{universe => ru}
import scala.reflect.runtime.{universe=>ru}
scala> ru.showRaw(typeOf[Int])
res0: String = TypeRef(ThisType(scala), scala.Int, List())
scala> ru.showRaw(typeOf[Int].typeSymbol, printKinds = true)
res1: String = scala.Int#CLS
|
|\ \ \ \
| | | | |
| | | | | |
PartialFunction polishing
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- ScalaDocs added
- TODOs fixed
- controversive method `run` deleted
- not used class runtime.AbstractTotalFunction removed
- small corrections & fixes
- tests for `orElse` & `runWith`
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-6272 Support lazy vals defined in try in template.
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
Eliminated a metric ton of allocations.
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Thanks to the hotspot DTrace probes. I'm not sure why
this checkfile changed, but hopefully it's innocuous.
Review by @VladUreche for the checkfile and @gkossakowski
so he can tell me how much faster.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
macroArgs now correctly calculates the argss in case when a macro def
has implicit parameters.
Macro impls can never have implicit parameters other than type tag evidences,
so tags will always come in a separate parameter list w.r.t other parameters
of macro impls (which are in 1-to-1 correspondence with the parameters of
macro defs).
Example 1:
def w/o implicits: (params1)...(paramsN)
impl w/o tags: (params1')...(paramsN')
Example 2:
def w/o implicits: (params1)...(paramsN)
impl w tags: (params1')...(paramsN')(implicit tags)
Example 3:
def w implicits: (params1)...(paramsN)(implicit paramsN+1)
impl w/o tags: (params1')...(paramsN')(paramsN+1')
Note: paramsN+1' is not an implicit parameter list
because impls cannot have implicit parameters other than tags
Example 4:
def w implicits: (params1)...(paramsN)(implicit paramsN+1)
impl w tags: (params1')...(paramsN')(paramsN+1')(implicit tags)
Therefore we don't need to merge the argss.last (that correspond to implicit
parameters of macro defs) with tags, as it was incorrectly coded before.
We just need to append tags to argss.
|
| |/ / /
|/| | | |
|
|\ \ \ \
| |/ / /
|/| | | |
reverts changes to ClassTag.Nothing
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It seemed to be a good idea to have ClassTag.Nothing crash
in agreement with its incalculable nature.
However this breaks CanBuildFrom for the situations when Nothing is inferred
or provided explicitly. Hence the rollback.
|
|\ \ \ \
| | | | |
| | | | | |
Improved fix for SI-1987, overloading in package objects.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When reformulating an errant package object overload,
don't forget to fully qualify it lest you trade one error
for another.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix stupid logic inversion of try-catch
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Make Stream.withFilter.{map,flatMap} run in constant stack space
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Test a wider range of functionality.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
No need to check the output - checking programmatically that the
produced streams are empty is enough.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The included test currently fails because `map` and `flatMap` do not
run in constant stack space on a stream returned by `Stream.withFilter`,
as I reported here:
https://groups.google.com/d/msg/scala-language/WqJR38REXnk/saaSiDdmyqoJ
Fix the problem and add a simple testcase.
Note that the stack space consumed when producing an element of this stream is
proportional to the number of elements failing the test before the next
success. The stack space consumed to produce the stream itself is the
space needed to produce the first element, that is, is proportional to
the number of failures before the first success.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
ordering of synthetic members on java7 with a lot of cores is non-deterministic
that's not a problem, because the doc doesn't promise anything about synthetics
hence I've adjusted the test, so that it no longer includes accessors
discussion: http://groups.google.com/group/scala-internals/msg/087a7d4805313561
|
|/ / |
|
|\ \
| | |
| | | |
more cleanup in Macros.scala
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
In separate compilation runs, the static field symbol in the
companion class of an object was not being recreated.
Given that the singleton object was compiled separately,
the static field symbol will be recreated on demand.
|