| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
| |
Removed inline annotation on a private stream method.
No review.
|
|
|
|
|
|
|
|
| |
Fixes #3686 by special casing Stream transformers depending on target
type.
Review by extempore.
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
No review.x
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
| |
removed duplicated error message for bad compiler options made some
cleanups in detach plugin code
|
|
|
|
|
|
|
|
|
|
| |
(1) the Scala types in ch.epfl.lamp.compiler.msil.emit now use Scala
collections instead of Java's, (2) a few bug fixes regarding metadata
parsing, (3) GenMSIL emits output useful for IDE debugging, (4)
TypeParser now enters symbols for generics in case the assemblies being
linked sport them, (5) a few fixes for bytecode verif in GenMSIL.
review by rytz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some refinement of the error messages when the found and required types
have the same simple names. No longer must we watch people scratch their
heads at such messages as:
found : scala.collection.Set[String]
required: Set[String]
Now so clear you could enjoy a movie through it:
found : scala.collection.Set[String]
required: scala.collection.immutable.Set[String]
No review.
|
|
|
|
|
|
| |
(apparently) the bug which has had me chasing concurrency ghosts
throughout the haunted castle. No review.
|
|
|
|
|
|
| |
Another fix for #3989, regarding the `-` which also used to cause stack
overflows. No review.
|
| |
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Review by extempore.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
| |
Fixes #3989, adding test cases for #3989 and #3996.
No review.
|
|
|
|
|
| |
No review.
|
| |
|
|
|
|
|
|
|
|
|
| |
* ctrl-C will no longer kill the repl unless you hit it again
* ctrl-Z will no longer make the repl useless because of jline
In the service of the first I wrote signal handling code, which we can
put to use in other ways as well. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I avoided creating any dependency on yourkit. In addition, there was
no way to give arguments to the JVM without losing the ones defined in
ANT_OPTS, which has been a massive pain for a while. So there is now
"jvm.opts" which is simply appended to ANT_OPTS, e.g.
% ant -Djvm.opts=-verbose
[echo] Forking with JVM opts: -Xms1536M -Xmx2g -Xss1M -XX:MaxPermSize=192M -XX:+UseParallelGC -verbose
There is a minimal stub defining a profiler interface:
scala.tools.util.Profiling
Then the yourkit wrapper implements that interface. Once your locker has
been rebuilt once, you can do this:
ant yourkit.run
And it will build quick.lib/comp with profiling enabled, assuming it
can find the necessary files. See the yourkit.init target for values to
change: or ant -Dyourkit.home=/path/to/it might be enough.
Review by dragos.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
been ignoring their painstakingly set classpaths and using whatever they
can find in the vicinity of the scala script, which works OK for pack
but not so well for quick.
I also added a build.xml feature so you can drop jars into a dir
and have them automatically used everywhere. The directory is
lib/extra. Pro tip: add lib/extra to .gitignore and put jars like
yjp-controller-api-redist.jar in there.
Closes #3706, no review.
|
| |
|
|
|
|
|
|
| |
a memory leak when running scalac in resident mode (including the
presentation compiler and build manager). no review.
|
|
|
|
|
|
| |
partest sets javaccmd system property when running tests. Review by
dragos.
|
| |
|
| |
|
|
|
|
|
|
| |
Cleaned up some hangover from equality struggles of yore. Deprecated now
pointless vals. Close #3998, no review.
|
|
|
|
|
|
| |
Fixed -Xexperimental and other settings so that setting them false will
falsify the associated options rather than truify them. No review.
|
| |
|
|
|
|
|
| |
reminding me or someone to deprecate in 2.9. No review.
|
|
|
|
|
|
|
|
| |
Fix InnerClasses attribute: anonymous classes don't have an outer
name. EnclosingMethod is correctly generated. Fixed isAnonymousClass
definition. Updated test that depends on anonymous inner class names.
Closes (again) #3249, references #2749. review by odersky,extempore.
|
|
|
|
|
|
| |
is loaded before testing for 'isTrait'. closes #3918, review by
odersky,extempore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another exciting development in the world of -Y options which I and
three other people will use. Today's is -Yrich-exceptions. Use it like
so:
SOURCEPATH=/path/to/src scalac -Yrich-exceptions a.scala
In the repl, -Yrich-exceptions will cause lastException to be bound to
an Exceptional instead of old rusty Throwable. That spins up new powers:
scala> Nil.head
[Nil.head] (List.scala:389)
(access lastException for the full trace)
scala> lastException.show
/* The repl internal portion of the stack trace is elided. */
[Nil.head]
386: override def isEmpty = true
387: override def head: Nothing =
388: throw new NoSuchElementException("head of empty list")
*389: override def tail: List[Nothing] =
390: throw new UnsupportedOperationException("tail of empty list")
391: // Removal of equals method here might lead to an infinite recursion similar to IntMap.equals.
392: override def equals(that: Any) = that match {
[line0.<init>] (<console>:6)
[line0.<clinit>] (<console>:-1)
Also try "lastException.showTable" but this is getting a little long for
more excerpt. No review.
|
|
|
|
|
|
|
|
| |
This should fix java signatures when they refer to
method type parameters. I unrolled Adriaans previous fix
for #3249, as this one is more general. Closes #3249,
review by moors.
|
|
|
|
|
|
| |
A revival of r21442, which I had reverted based on the mistaken belief
it was causing mysterious trunk issues of the day. No review.
|
|
|
|
|
|
|
|
|
| |
Half of an implementation of sealedness for java enums. Since it's only
half it's behind -Xexperimental, but it works like a charm for the half
where it works (that being compiling against bytecode.) Need input on
how to approach the source half. References ticket #2442. Review by
moors.
|
|
|
|
|
| |
A slight performance improvement for parallel sets. No review.
|
|
|
|
|
|
|
| |
Solved a performance problem in parallel hash table sets.
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some more work on options related to showing compiler structures during
compilation. The pickler knew more than was healthy about things like
compiler settings, so I let the pickler worry about pickling and moved
that logic somewhere closer to the surface. Some convenience oriented
tweaks to command line phase parsing. The end result is as follows (some
output trimmed for brevity.)
// dippy.scala
class Dippy {
def f[T <: Dippy](x: T) = (x, x)
object DingusDippy extends util.Random { }
}
// className@phaseString should be reliably unambiguous
% scalac -Xshow-class Dippy@typer,erasure,jvm dippy.scala
<<-- class Dippy after phase 'typer' -->>
Members (excluding Any/AnyRef unless overridden):
final object DingusDippy extends object Dippy.this.DingusDippy
def f[T <: Dippy](x: T): (T, T)
<<-- class Dippy after phase 'erasure' -->>
Members (excluding Any/AnyRef unless overridden):
private lazy var DingusDippy$module: object Dippy#DingusDippy
lazy val DingusDippy(): object Dippy#DingusDippy
def f(x: Dippy): Tuple2
<<-- class Dippy after phase 'jvm' -->>
Members (excluding Any/AnyRef unless overridden):
protected var bitmap$0: Int
private lazy var DingusDippy$module: object Dippy$DingusDippy
lazy val DingusDippy(): object Dippy$DingusDippy
def f(x: Dippy): Tuple2
No review.
|
| |
|
|
|
|
|
|
| |
Unsuppressed generic signatures for members with expanded names. Closes
#3897, review by dragos.
|
|
|
|
|
|
|
|
| |
Introduces "Origins" for all your superhero backstory needs. It logs
where all the calls are coming from: that's all for the moment. It's
explained in the comments and test case, so I'm sure you don't need it
all repeated here. No review.
|
|
|
|
|
| |
No review.
|
| |
|
|
|
|
|
|
| |
protected[this] members should be accessible to super.x calls. Closes
#464, review by odersky.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While investigating the cause of #3984, discovered that set hashcodes
were being calculated like:
elems map (_.hashCode) sum
This looks totally correct, except that because of set+map semantics it
drops all the duplicate hashcodes and therefore calculates the wrong
sum anytime there are unequal elements with equal hashcodes. If we're
married to the set+map semantics (and I don't know what could be done
about it) I had better get a proper -Xlint going because this is one of
those traps which shoots bees out of its mouth. No review.
|