| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New jline: BSD licensed, based on [ https://github.com/jdillon/jline2 ]
with additional code thanks to [ https://github.com/huynhjl/jline2 ].
Replaces lib/jline.jar with build of these sources, and modifies trunk
code to work with the new jar.
Hopeful improvements including baseline functionality on cygwin
and 64bit windows, as well as more accurate line wrapping / cursor
positioning on all platforms and ctrl-R history search.
For the time being the canonical source repository is this:
https://github.com/paulp/jline2
The enclosed sources are a mirror of that repository, and should be
treated as read-only in the scala svn repository.
No review, codewise, but people are very strongly encouraged to try it
out and report any regressions.
|
|
|
|
|
|
| |
again: relax access boundry check for overriding protected java members.
review by eugenevigdorchik.
|
|
|
|
|
|
|
| |
Moved ClassfileAnnotation/StaticAnnotation/Annotation/TypeConstraint
into scala.annotation and enabled the deprecated type aliases in scala.*
to point there. Also enclosed is a new starr to bootstrap. No review.
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Reverted previous commit as I think it is wedging under -optimise. No
review.
|
|
|
|
|
|
|
|
| |
Made some changes to fjbg so when people run into #1133 at least it will
tell them what method was the cause. The fact that ten files are touched
in this commit instead of one or two is a testament to the wonder of
checked exceptions. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ldc being used instead of bipush or sipush. The cheaper instructions
were only being used when the argument was typed as byte or short, but
an Int in the byte or short range can as easily use them. This also
saves an entry in the constant pool.
iconst_n not being used except on Ints. Same issue in reverse: pushing
short 3 on the stack is cheaper with iconst_3 than with sipush.
Example:
class A {
def f1: Int = 100 // was ldc #X, now bipush 100
def f2: Int = 5000 // was ldc #X, now sipush 5000
def f3: Byte = 2 // was bipush 2, now iconst_2
def f4: Short = 2 // was sipush 2, now iconst_2
}
Review by dragos.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restoring negative literal parsing behavior to what should be the least
surprising option. Thanks much to Johannes Rudolph for identifying the
bug in the bytecode generator which needed addressing for us to arrive
at proper -0.0 behavior, and for writing the majority of this patch.
A '-' followed immediately by either a number or a period should now
always be treated as a single numeric literal, which means the minus
binds more tightly than anything else. A specific example of how this
differs from 2.8 final is:
-5.+(10) == 5.0 // and not -15.0
The full range of potentially ambiguous parses involving prefix
operators, numbers, and dots is quite large and still needs to be
completely and clearly specified.
Closes #2378 and #3657, review by odersky, jrudolph.
|
| |
|
|
|
|
|
| |
for MSIL: now based on the latest ch.epfl.lamp.compiler.msil sources.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(a) The bytecode that Scala.NET emitted had a tough time in
passing peverify due to valuetypes (aka structs) and their related
managed-pointer types. With these changes (details in [1] and [2])
external APIs exposing valuetypes can be used, yet the extra step of
supporting defining valuetypes in Scala programs has been left for
later. Supporting the unsigned integral valuetypes (used, among others,
by IKVM) is also pending.
(b) A very first step towards generics can be found in
TypeParser.parseClass, for the time being commented out (search for
the label "TODO CLR generics"). It's commented out because without
CLRManifests codegen won't work as expected. Details in [3].
review by rytz
Refs:
[1]
http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2010Q3/Bootstr
apping3.pdf
[2]
http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2010Q3/Bootstr
apping4.pdf
[3]
http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2010Q2/SigToTy
pe.pdf
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
for MSIL: Previous changesets were applied more-or-less incrementally to
scala-msil, this changeset brings them all together to scala trunk. Next
stop will be supporting CLR valuetypes (another big one). Afterwards
(once emitted .NET bytecode passes peverify) changesets will become more
manageable in size. Well, no, there's generics coming. But believe me,
soon MSIL changesets will get smaller in size.
|
|
|
|
|
| |
First version of SBT build for Scala compiler/library (see README)
|
| |
|
|
|
|
|
|
| |
Fixed problem with static initializer in ForkJoinTask on Android.
Replaces forkjoin.jar. Addresses see #3359. Review by plocinic.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
changes necessary to plug it back in while preserving everything which
has happened since then in tests and such, but we should be the lookout
for overreversion. Review by phaller (but as a formality, I don't think
it requires direct review.)
|
|
|
|
|
|
| |
revert the revert of r21791 (fix constructor parameter annotations).
close #3390. together with a new starr it builds. no review.
|
|
|
|
|
|
| |
Closes #3310 (very large Scala class is compiled to invalid classfile
because Scala signature can't fit into constant pool). Review by dragos.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If I work on this patch any longer without checking in I will go
stark raving mad. It is broken up into a couple pieces. This one is
the changes to test/. It includes fixing a bunch of tests, removing
deprecated constructs, moving jars used by tests to the most specific
plausible location rather than having all jars on the classpath of all
tests, and some filesystem layout change (continuations get their whole
own srcpath.) This would be the world's most tedious review, so let's
say no review.
[Note: after this commit, I doubt things will build very smoothly until
the rest of the partest changes follow. Which should only be seconds,
but just in case.]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Scala signature is generated as an annotation (that is accessible
through Java reflection).
- compiler generates all pickled Scala signatures as annotations to class files.
- compiler can read class files with signature as annotations or old-style signatures as attributes.
- Scalap has also been updated to new signatures (contributed by Ilya Sergey: thanks a lot).
- FJBG updated to allow entering constant pool strings as byte arrays.
- ByteCodecs decode method returns the length of the decoded array.
Review by ilyas. Already mostly reviewed by odersky.
|
|
|
|
|
|
| |
Removed the symlinks between scalacheck jars to satisfy windows. Tweaked
partest to accomodate. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added ## method to Any as our scala hashCode method which provides
consistent answers for primitive types. And I'm sure we're all tired of
new starrs, but it's hard to add a method to Any without one. This patch
only brings ## into existence, but nothing calls it yet.
// some true assertions
scala> assert(5.5f.## == 5.5f.hashCode)
scala> assert(5.0f.## != 5.0f.hashCode && 5.0f.## == 5L.##)
No review. (Already reviewed by odersky.)
|
|
|
|
|
|
|
|
|
| |
It turns out some of the weirdness lately is because changes to
classpath handling have a way of not taking effect until they're
installed via starr, and presently we have a starr with different logic
than trunk. No choice but to roll up one more starr based on r20984. No
review.
|
|
|
|
|
|
|
|
|
| |
not being used. Updated partest with a --scalacheck option. Added
scalacheck tests to the ant build target. Still struggling with
ant/partest/classpaths so it's not on by default yet, but at least
./partest --scalacheck works. We... will... use... scalacheck. And we
will like it! No review.
|
|
|
|
|
|
|
| |
Having some challenges confirming the validity of the bootstrap process
given starr's slightly dated classpath code, so this is a new starr
based on r20934. No review.
|
| |
|
|
|
|
|
| |
new starr to bag performance improvements and fixes to companion objects
|
| |
|
| |
|
|
|
|
|
| |
Rebuilt forkjoin.jar in preparation for the new rc. No review.
|
|
|
|
|
|
|
| |
Took advantage of package object fix to factor the duplicated code out
of scala.Math and scala.math.`package`. This required a new starr which
exposes inherited package object members (starr is based on r20110.)
|
| |
|
| |
|
| |
|
|
|
|
|
| |
re-compiled msil.jar (scala.Math / scala.math business)
|
| |
|
|
|
|
|
|
| |
New starr based on r19717 since I'm finding the current starr doesn't
have TupleN.zipped fully working.
|
|
|
|
|
|
| |
Finally completed the incredibly tedious task of removing the lower case
primitive aliases from Predef. Had to rebuild msil.jar along the way.
|
| |
|