| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
|/
|
|
|
|
|
|
| |
Multiple minor fixes to Martin's implementation of reflection infrastructure.
Dominating theme is allowing for the fact that compilation via reflection
involves numerous exports/imports between various reflection universes.
Fixes SI-5230. Review by @odersky.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If extempore is going to fix the hard bugs then first he is going to
make them less hard to fix. The major work of interest in here is the
decomplification of the bitmap logic. Hopefully this will come in handy
for anyone wishing to try out other encodings.
|
| |
|
|
|
|
|
|
|
|
| |
Don't want to chase NPEs around for the rest of my life. Created
"NoCompilationUnit" and "NoSourceFile" objects to represent not-present
versions of these items. Seems a lot better than null. References
SI-4859, got past NPE only to uncover the actual problem. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attacked classpaths to get "." off of it when it's not actually
specified. The commit makes me nervous, but there's no invisible way to
fix something like this.
** Attention, this commit changes classpath handling **
We desperately need some way of testing that the classpath has certain
qualities and does not have others; partest is not that way. Closes
SI-4857, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output generation (but only then, since otherwise we're not creating the
jar):
1) -Xmain-class foo.Bar will give the jar a Main-Class of foo.Bar 2)
Alternatively, if there is only one runnable program, that will be
the Main-Class 3) Always, the jar's manifest will have an entry for
Scala-Compiler-Version.
Not very relatedly, a warning is now issued when a module has a main
method but a runnable program will not be generated. Closes SI-4861.
This represents an opening step toward automatically recognizing
mismatched bytecode situations: coarse, but useful and safe. Review by
mirco.
|
|
|
|
|
| |
Moved test out of pending, closes SI-3628, no review.
|
|
|
|
|
| |
A few tests for pending and non-pending, no review.
|
|
|
|
|
|
| |
Bounded wildcard types arising during pattern type inference can cause
unnecessary crashes. Closes #1048, review by odersky.
|
|
|
|
|
|
|
|
| |
A response to adriaan's last lub commit of the housekeeping and pretty
printing variety. Non-invasive surgery, don't worry martin. Simplified
the input to lublist a bit. Includes illustrative test case for current
brand of lub failures. Review by moors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added sanity check to lub calculation to prevent invalid lubs from
emerging. The underlying cause of said lubs is that higher-order
type parameters are not handled correctly: this is why the issue
is seen so frequently in the collections. See pending test
pending/pos/those-kinds-are-high.scala for a demonstration. Until that's
fixed, we can at least raise the bar a bit.
Closes #2094, #2322, #4501. Also, some test cases in neg have been
promoted into working programs: #2179, #3774. (They're not in neg for
the "shouldn't work" reason, but out of despair.)
In some cases, such as the original reported ticket in #3528, this
only pushes the problem downfield: it still fails due to inferred type
parameters not conforming to bounds. I believe a similar issue with
higher-order type parameters underlies that.
Look at how far this takes us though. All kinds of stuff which did not
work, now works. None of these even compiled until now:
scala> :type List(mutable.Map(1 -> 1), immutable.Map(1 -> 1))
List[scala.collection.Map[Int,Int]]
scala> :type Set(List(1), mutable.Map(1 -> 1))
scala.collection.Set[Iterable[Any] with PartialFunction[Int,Int]]
scala> :type Stream(List(1), Set(1), 1 to 5)
Stream[Iterable[Int] with Int => AnyVal{def getClass(): Class[_ >: Int with Boolean <: AnyVal]}]
scala> :type Map(1 -> (1 to 10), 2 -> (1 to 10).toList)
scala.collection.immutable.Map[Int,scala.collection.immutable.Seq[Int]
]
PERFORMANCE: compiling quick.lib and quick.comp, this patch results in
an extra 27 subtype tests. Total. Time difference too small to measure.
However to be on the safe side I made it really easy to disable.
private final val verifyLubs = true // set to false
Review by moors, odersky.
|
| |
|
| |
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
test in r25038, so closes #4512, no review.
|
|
|
|
|
|
|
|
|
|
|
| |
Each of the three commits preceding this are to correct regressions
which would have been caught by the interpreter test and never checked
in in the first place, were it not disabled. The windows tax claims
another victim. Or three victims.
Re-enabled the interpreter test. No way for me to know if it will pass
everywhere without trying it. No review.
|
|
|
|
|
| |
Finished reverting the misbegotten r23262, no review.
|
|
|
|
|
|
|
|
| |
Temporarily sending lisp.scala to be interpreter.scala's equally memory
hungry buddy in pending. References #4512. This should be straightened
out imminently, but I will solve this more easily by looking forward,
not backward. No review.
|
| |
|
|
|
|
|
|
|
|
|
| |
Working my way through pattern matcher sequence issues mostly caused by
the special handling of Lists. Also deleting all kinds of useless or
almost useless code which is presently only clutter.
Closes #2756, #2800, #3050, #3530, #3972, no review.
|
|
|
|
|
|
|
| |
Fixes my part of #4283 by inserting another cast pre-emptively when an
IllegalAccess error is possible in an erasure-inserted cast. Review by
extempore.
|
| |
|
|
|
|
|
|
|
|
| |
Moved failing tests to pending after having diagnosed that the only
problem is a difference in output between Java 1.5 and 1.6 reflection
libraries. Can we moved back once that's fixed. For now, it's more
important to ghet the build back.
|
|
|
|
|
|
| |
Spiced up the signature test infrastructure a bunch, wrote some more
tests, restored the tests in pending. No review.
|
|
|
|
|
|
| |
Moving signature tests to pending, because they operate under wrong
assumptions now that mixed in members are bridges. Review by extempore.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Some work on error messages, somewhat based on ideas in #3092. No
review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new totally safe signal manager, along with all the support code
needed for that. See the classes in scala.tools.reflect.* for
interesting new weapons. Also includes inaugural handy usage:
scala> val x = 10
x: Int = 10
scala> while (true) ()
[ctrl-C]
Execution interrupted by signal.
scala> x
res1: Int = 10
No review, but feedback welcome.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Changed javasigs test to use new javaccmd system property.
|
|
|
|
|
|
| |
Moved failing test to pending until I figure out how hudson is running
on chara
|
|
|
|
|
|
|
| |
protected and its bevy of corner cases. Closes #3939, #3947. This patch
is intended for both trunk and 2.8.1. Already reviewed and co-authored
by moors, and review by oderksy.
|
| |
|
|
|
|
|
|
|
|
| |
contributed by "archontophoenix", following in the grand tradition of
code by people whose actual names I don't know. References #2537, but it
doesn't close until some sensible hashcode is used by default. Review by
community.
|
|
|
|
|
|
| |
Another batch of busywork shuffling the contents of pending around. Can
almost see some daylight. No review.
|
|
|
|
|
|
|
| |
One last batch of test cleanups and I think I'll call it a day. If
you're worried I didn't leave any for anyone else, let me put your fears
to rest. PLENTY left to sift through. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next batch of tests put up a little more struggle, but only a
little. See test/pending/pos/unappgadteval.scala (the changes for which
were in the previous commit) for an example of a test which might be on
to something. Any idea what it would take to get it working?
// the key lines
case i @ Suc() => { (y: Int) => y + 1 } // a = Int => Int
case f @ Lam[b,c](x, e) => { (y: b) => eval(e, env.extend(x, y)) } // a = b=>c
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sorting through the tests in pending from oldest to newest because I
don't believe in having useless appendages. The verdict on the oldest
fifteen tests is: 15/15 are fixed. Many were already in files under a
different name. I moved a few and deleted the rest. Fun fact of the
day: apparently there was a time when to call into java varargs with no
arguments you might have to write something like:
getClass().getMethod("getCount", Array[java.lang.Class[T] forSome { type T }]())
On this basis I retract any complaints I've ever had about anything.
There is one question mark outlined in pos/testCoercionThis.scala, a
file formerly called pos/moors.scala and therefore... review by moors.
|
|
|
|
|
|
|
|
|
|
|
| |
including "CheckEither", written against scalacheck 1.2 in the year 471
AD. Removed all the duplicates I could find, mostly between pending
and files. Renamed a bunch of tests so they wouldn't look like likely
duplicates next time around. Nominated somebody else to do this once in
a while.
No review.
|
| |
|
| |
|
| |
|