| 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.
|
|\
| |
| | |
removes Type.isConcrete
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
|
| |
Eliminated InvalidCompanions exception entirely. Anyone's
guess why we unholstered this exception every time someone
calls "isCodefinedWith" rather than when symbols are created.
I moved the check into Namers, where it can be done once and
with sufficient finesse not to crash so much.
With this patch in place, "playbench" can be built with java7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I don't know what good it is to have code review if we are checking
in code like this. We must raise the bar, people. When the
justification for code being in the standard library is borderline
at best - as it is here - then the code must be of exceptional
quality. This code is not of exceptional quality.
Mostly these are not behavioral changes, but:
- I removed finite_? as it is a gratuitous deviation from
every isXXX method in the world. This isn't ruby.
- I removed all the regexps, which only made things complicated
- I removed all the unnecessary casts, which is to say, all of them
- I made more things final, sealed, and private
- The unapply structure was all wrong; returning Option[Duration]
on the string unapply meant you'd have to say
case Duration(Duration(x, y)) => ...
So I fixed apply and unapply to be symmetric.
- And I removed the "parse" method, since it was doing what
apply is supposed to do.
There's a test case to exercise accessing it from java,
which also reveals what I hope are bugs.
Thanks to viktor klang for DurationConversions.
|
|\
| |
| | |
Fixed positions in de-aliased special symbols..
|
| |
| |
| |
| |
| | |
`apply` methods.
Fixed #5064, thanks to @paulp who showed the right direction (and how to test it).
|
|\ \
| | |
| | | |
Allow nested calls to `askForResponse` in the presentation compiler.
|
| |/
| |
| |
| |
| | |
Fix #6312.
review by @odersky,@lrytz.
|
|\ \
| | |
| | | |
SI-6274 Fix owners when eta-expanding function with byName param
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When eta-expanding a function that takes a by-name param the local definition
for the corresponding argument is a function-0
val eta$1 = () => { argument-to-by-name }
If there are any definitinos in the `argument-to-by-name`, the symbol
owner needs to be changed to the anonymous function's symbol.
To know the function symbol in eta expand, we need to type-check the
function, and therefore pass the `Typer` instance to `etaExpand`.
|
|\ \ \
| |/ /
|/| | |
Fix SI-6294.
|
| | | |
|
| |/
|/|
| |
| | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't try to implicitly convert an unstable prefix
to a stable one by applying a view. As the matrix spoon kid
says, "that's impossible."
|
|/ /
| |
| |
| |
| | |
I have seen this warning a bunch of times and it has not yet
been close to right.
|
|\ \
| | |
| | | |
Fix for SI-6034, covariant value classes.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
My summary in the ticket was incorrect. The problem was that the
class type parameters were being cloned for the method and being
allowed to keep their variance. I threw in an assertion for anyone
attempting to create a method type with variant type parameters,
because hey, why should we allow such madness.
|
|\ \ \
| | | |
| | | | |
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.
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | | |
The test exercises the most important case, when implicits are invalidated through shadowing.
(See SI-4270)
|
|\ \ \
| | | |
| | | | |
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
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Closes SI-6227
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I added some general hook where one can add validation code before a name conflict involving at least one implicit symbol is reported.
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix for SI-6283, no abstract value classes.
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The needless abstraction penalty was in full flower in Namers.
I managed to find somewhere else to issue this error, where I
can still just write an error message without tracking down an
enumeration in a separate file and inventing an intermediate
name for the enum member.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Add missing tests for SI-6190
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This was silently fixed in commit
3cb0e784a05db7d0b542cec9bf4c5fbf3772a6cf but no test was added.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-6272 Support lazy vals defined in try in template.
|