| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fail compile if AnyVal is inherited by a trait, a non-@inline
class, or a class with an AnyRef parent somewhere. Added tests.
Added logging, like
[log extmethods] Inline class class Bippy spawns extension method.
Old: def getClass: Class[_ <: Bippy]
New: final def extension$getClass($this: Bippy): Class[_ <: Bippy]
Fixed what I hope was a bug in ExtensionMethods where the original
method params were dropped.
Since adding a NonNull parent was also inflicting an AnyRef on AnyVal
subclasses, suppressed that for those. Had the bright idea that AnyVal
could extend NotNull. It doesn't seem to accomplish much, but then,
I don't think NotNull accomplishes much. Still, maybe it's time to
restrict the ways one can use AnyVal so one can't do this:
scala> var x: AnyVal = _
x: AnyVal = null
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
If your compiler .desired.sha1 is newer than the jar, it will
go download it.
|
| | | |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This one's about a million years overdue. Try this on for size,
from the command line:
printf ":power\nList(1).?.baseClasses.sigs >\n" | scala
Also, a little more power mode refinement.
|
| | |
| | |
| | |
| | | |
The synthetic method is only a null for now.
|
| | | |
|
| |\ \ |
|
| | | | |
|
| |\ \ \
| | | |/
| | |/| |
|
| | |\ \ |
|
| | | | \ | |
| | | | \ | |
| | | |\ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
'hubertp/ticket/4336' into develop
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Some of the type params might already be instantiated if explicit type application is done. Review by @adriaanm
|
| | | | |\| | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | |\ \ \ \
| | | | |_|/ /
| | | |/| | | |
AvlTree performance improvements
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
implementations performances.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Use a specialized iterator.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
recursion is not necessary here.
|
| | | | | | | |
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
And disambiguations. And renamed all kinds of methods to something
less inscrutable. Moved all the instance-to-compiler-structure implicit
behind a wrapper to avoid accidental conversions. The wrapper has
a single method, ?, which you can experience like so:
// Sorry tab completion doesn't yet figure out implicit conversions
scala> val x = Map(1 -> 2).?
x: $r.power.InternalInfo[scala.collection.immutable.Map[Int,Int]] = Map(1 -> 2) (Map)
scala> x.
asInstanceOf baseTypeSeq baseTypeSeqMap baseTypeWhichDefines companion
decls declsOriginal declsOverride erasure fullManifest
glb info isInstanceOf lub memberMethods
memberTypes members membersDeclared membersInherited membersUnabridged
moduleClass name owner owners pkg
pkgClass pkgClassSymbols pkgClasses pkgMembers pkgName
pkgSymbols shortClass signature symbol toString
tpe
// This uses an implicit to install sigs (and another for '>' which is
// the generic printing function) but transparency, one step at a time.
scala> Map(1 -> 2).?.membersDeclared.sigs >
def $init$(): Unit
override def empty: scala.collection.immutable.Map[A,B]
override def toMap[T,U](implicit ev: <:<[(A, B),(T, U)]): scala.collection.immutable.Map[T,U]
override def seq: scala.collection.immutable.Map[A,B]
def withDefault[B1 >: B](d: A => B1): scala.collection.immutable.Map[A,B1]
def withDefaultValue[B1 >: B](d: B1): scala.collection.immutable.Map[A,B1]
override def updated[B1 >: B](key: A,value: B1): scala.collection.immutable.Map[A,B1]
def +[B1 >: B](kv: (A, B1)): scala.collection.immutable.Map[A,B1]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Renamed newMethod in Definitions to enterNewMethod to better
indicate what it does, and also so AnyVal's getClass can avoid
the "enter" part.
|
|\| | | | |
| |_|_|_|/
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
And other post-merge cleanup.
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/compiler/scala/reflect/internal/Definitions.scala
|
| | | \ \ | |
| | | \ \ | |
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
'scalamacros/ticket/5418' into develop
|
| | | | | | | |
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This very situational option proved to be very useful when debugging
https://issues.scala-lang.org/browse/SI-5415
With the help of -Yshow-symkinds, it became possible to distinguish
a free var from a module symbol, which gave precise indication of the
root of the bug.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I love the smell of polymorphic method synthesis in the
early afternoon.
|
|/ / / / / |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Temporarily removed getClass from AnyVal to get build going.
Disabled anyval-childen test.
Fixed some other build problems.
Implemented step 1 + 2 of inline classes proposal.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Hacks here and there to allow them to survive at least
to erasure. Since nothing is done with them there yet, they
inevitably crash and burn a little ways beyond that.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Finally had a concrete motivation to change partest's inexplicable
ISO-8859-1 encoding to UTF-8. My test case would cause it to barf
"illegal character". Is this going to break on windows or something?
If so, it's time to fix the broken place which can't handle UTF-8.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
At least tell us what they are.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 6a5901461c1aaac7dd8786cb374b079520895527.
|
| | | | | | | |
| | | \ \ \ | |
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
'axel22/feature/immutable-thread-safe' into develop
|